Bonanzaの定跡ファイルを使おうと思って

bona同梱のprobe.cを参考にして、ハッシュを求めて、
その値をもとに、定跡ファイルのインデックス部をアクセスし、DB部を参照しているのですが、
値がオカシイらしく、うまく読めません。
ハッシュの求め方が間違っているのか? それとも途中の処理が違うのか?
probe.cをコンパイルして動かしてみたら、それもエラーになりました(´・ω・`)ショボーン

2手目 後手
▼
 9 8 7 6 5 4 3 2 1
---------------------------+
v香v桂v銀v金v玉v金v銀v桂v香|一
 ・v飛 ・ ・ ・ ・ ・v角 ・|二
v歩v歩v歩v歩v歩v歩v歩v歩v歩|三
 ・ ・ ・ ・ ・ ・ ・ ・ ・|四
 ・ ・ ・ ・ ・ ・ ・ ・ ・|五
 ・ ・ 歩 ・ ・ ・ ・ ・ ・|六
 歩 歩 ・ 歩 歩 歩 歩 歩 歩|七
 ・ 角 ・ ・ ・ ・ ・ 飛 ・|八
 香 桂 銀 金 王 金 銀 桂 香|九
---------------------------+
△
hashVal=294d4826ca505010 bonaHash=1a1b415cdc66b6a2

ibook_section=0x36a2
position=0x2632d7 u16=0x9c ERROR:2: line 1347

この局面から、bonaのHashを求めて、それの0x3fffのANDの値を使ってindex部をゲットして、
それからDBの位置とサイズをゲットして、

  if ( fread( book_section, 1, (size_t)size_section,
		 pf_book ) != (size_t)size_section )
    {
      fprintf( stderr, "ERROR:2: line %d\n", __LINE__ );
      exit( 1 );
    }

ここでエラー。


bonaのハッシュを求めるコードを見ていて面白いのが、
左右反転、上下反転のハッシュも求めている。もしかして、定跡上、統合しているのかな?
さすがに探索中に左右反転の局面が出てくることないけど、定跡をサーチするならうまい方法かも。
先後同形なら、上下反転も有効かもしれない。
オセロなんかは左右・上下反転、裏返しなどでも、探索局面を減らせるらしい