I say "effective length" as the base length in the first attempt was 64 bits, but nine are dropped to make way for storing draft and entry occupation data and several are added due to using the otherwise unused bits for generating a transposition table entry index. The replacement scheme fiddles with the length, eating two or three bits. Two tables are used; one for each color and that adds a bit.
With some 124 bits in play, I think the odds of a false positive from a hash space collision are about the same as disruption from cosmic rays.
Results so far with Perft(11) on nine of the 20 ply one subtrees:
Code: Select all
Na3 2,101,612,201,748,156
Nc3 2,731,501,636,365,779
Nf3 2,704,348,041,301,604
Nh3 2,133,059,306,892,947
a3 1,825,396,176,881,632
a4 2,572,564,331,526,038
b3 2,407,514,849,528,875
b4 2,412,357,918,298,534
c3 2,751,675,948,507,059