Hey guys, so apparently there's a discrepancy between the search length in the README and the actual search length.
The README says that there's a 125-but search limit, but this is apparently wrong and there's a
126-bit search limit according to the code for hashtable entries in Hashtable.h:
// We store only 128 (+18) bit a the x value which give a probabilty a wrong collision after 2^73 entries
typedef struct {
int128_t x; // Poisition of kangaroo (128bit LSB)
int128_t d; // Travelled distance (b127=sign b126=kangaroo type, b125..b0 distance
} ENTRY;
While the
class Int is 256 bits wide but the top half are going unused. Actually, the hash entry IF is shoved into the third int64 of kangaroo position (x)!
Anyhow, I'm working on extending the search interval to 256 bits (full disclosure: I'm being paid to do this) and I'll upload the code when it's done so you guys can check it out too. There's really no point in extending it longer than that because all other arithmetic is in 256 bits.
There is also apparently a constant in the code that changes the Int size from 256 to 512 bits (this does not change the interval size which is still locked to 126 bits), but who's going to use 512 bit public keys unless you're using some non bitcoin curve like secp512k1 [I forgot, is that really a curve?

]
Cheers all.