>>607
やっとわかってきました。ありがとうございます。
あとは自分で考えてみることにします。

#define fixnump(p) (3&(long)(p)==3)
は
#define fixnump(p) ((long)(p)&3==3)
にしないと正しい結果が出なかったんですが、理由はよくわかりません(汗