# Collision-verifier smoke checks Date: 2026-09-19 Host: Apple M2 Pro (arm64), Apple Clang Sources copied from the published verify/ package to an isolated directory. These checks validate recorded deterministic counts, not historical rare-event rates. $ make -j2 all Build completed successfully. $ make -j1 check ok a5hash: 0 156800 0 7291 1048576 ok cityhash-64: 1048576 1048576 1048576 1048576 0 ok farmhash-64: 1048576 1048576 1048576 1048576 1048576 1048576 ok gxhash-64: 1048576 1048576 1048576 1048576 ok highwayhash: 0 0 1 1 ok komihash: 954642 674611 280031 0 ok murmurhash3-128: 1048576 0 1048576 0 1048576 ok museair: 1048576 1048576 1048576 1048576 1048576 1048576 1048576 1048576 0 ok museair-v2: 3 3 0 0 ok rust-ahash: 0 2 0 2 1 0 1 2 0 0 ok spookyhash2-64: 524207 524207 524369 524369 1048576 524103 524103 524103 ok t1ha2-64: 0 57150 0 65785 0 65084 ok pengyhash: 1048576 1048576 ok nmhash32: 262968 ok nmhash32x: 1048576 ok mx3: 1048576 1048576 ok mir: 1048576 1048576 1048576 1048576 ok fasthash: 1048576 1048576 1048576 1048576 1048576 1048576 ok mum: 1048576 1048576 ok rapidhash-v3: 0 0 0 0 0 0 ok wyhash: 0 ok rapidhash-v1: 0 ok xxh3-64: 0 725 725 ok xxh3-128: 1 ok dotnet-marvin: 2274 0 ok abseil-hash: 32 1048576 32 1048576 32 1048576 ok go-maphash: 65536 65536 0 0 make check: every program reproduces the README counts # foldhash-fast $ cc -O2 -std=c11 -pthread -o foldhash_verify foldhash_verify.c $ ./foldhash_verify 20 1 0xc0ffee1234567890 == Part 1: cross-check against real foldhash 0.2.0 (Rust) == case 0 len= 8 fast_raw C=76515ea1a03101fb rust=76515ea1a03101fb OK case 0 len= 8 fast_vec C=66ca112256c774fa rust=66ca112256c774fa OK case 0 len= 8 fast_str C=9ac395840828b9ae rust=9ac395840828b9ae OK case 0 len= 8 qual_raw C=6608bc5df43f5b74 rust=6608bc5df43f5b74 OK case 0 len= 8 qual_vec C=647e5b7098fa10de rust=647e5b7098fa10de OK case 1 len= 8 fast_raw C=84165e99364de5f4 rust=84165e99364de5f4 OK case 1 len= 8 fast_vec C=1126871eba2b7a20 rust=1126871eba2b7a20 OK case 1 len= 8 fast_str C=a612287b16657ff7 rust=a612287b16657ff7 OK case 1 len= 8 qual_raw C=757e226dd898e948 rust=757e226dd898e948 OK case 1 len= 8 qual_vec C=c9a03fd89c1af7fa rust=c9a03fd89c1af7fa OK case 2 len= 11 fast_raw C=9cac4433811168a2 rust=9cac4433811168a2 OK case 2 len= 11 fast_vec C=9e731322f0728b3f rust=9e731322f0728b3f OK case 2 len= 11 fast_str C=92d7b847ace9dd11 rust=92d7b847ace9dd11 OK case 2 len= 11 qual_raw C=1748bcd35d9a46d4 rust=1748bcd35d9a46d4 OK case 2 len= 11 qual_vec C=c4f0e6fce3f1277d rust=c4f0e6fce3f1277d OK case 3 len= 0 fast_raw C=0000000000000000 rust=0000000000000000 OK case 3 len= 0 fast_vec C=0000000000000000 rust=0000000000000000 OK case 3 len= 0 fast_str C=8000007f80000080 rust=8000007f80000080 OK case 3 len= 0 qual_raw C=0000000000000000 rust=0000000000000000 OK case 3 len= 0 qual_vec C=0000000000000000 rust=0000000000000000 OK case 4 len= 40 fast_raw C=0de58c94102bd10e rust=0de58c94102bd10e OK case 4 len= 40 fast_vec C=f3a8f69ee5d0f760 rust=f3a8f69ee5d0f760 OK case 4 len= 40 fast_str C=d3bad978ef5051ed rust=d3bad978ef5051ed OK case 4 len= 40 qual_raw C=347ad077f49083bf rust=347ad077f49083bf OK case 4 len= 40 qual_vec C=8c1b5510a56851c4 rust=8c1b5510a56851c4 OK -> all reference vectors reproduced (0 mismatches) note: SharedSeed::from_u64(0x0123456789abcdef) = [b71654dcbdd7f7d7 8982b3bfe970484f 8583c957fc66f729 b6a3be12a0d61ba7 d907ce168d66889d a23f3cf1dc026f35] (all six derived from ONE u64; bits 0, 31, 63 forced on. The measurement below instead draws the words independently uniform -- the model generous to foldhash.) == Part 2: 2^20 uniformly random hidden seeds, 1 threads == seeds = 1048576 (2^20) hits accumulator = 0 hits fast raw = 0 hits fast Vec= 0 hits fast str = 0 hits quality Vec = 0 elapsed = 0.0 s # foldhash-quality $ cc -O2 -std=c11 -pthread -o foldhash_verify foldhash_verify.c $ ./foldhash_verify verify ./foldhash_verify measure 0000000000000000 ffffffffffffffff 20 1 0 0xa11ce001 case 0 len=8 : MATCH case 1 len=8 : MATCH case 2 len=8 : MATCH case 3 len=8 : MATCH case 4 len=8 : MATCH case 5 len=46 : MATCH case 6 len=3 : MATCH case 7 len=0 : MATCH case 8 len=17 : MATCH VERIFY: all 9 cases match the real Rust crate case 0 len=8 : MATCH case 1 len=8 : MATCH case 2 len=8 : MATCH case 3 len=8 : MATCH case 4 len=8 : MATCH case 5 len=46 : MATCH case 6 len=3 : MATCH case 7 len=0 : MATCH case 8 len=17 : MATCH VERIFY: all 9 cases match the real Rust crate measure: m1=0000000000000000 (len 8) m2=ffffffffffffffff (len 8) N=2^20 threads=1 model=0 rngseed=0x00000000a11ce001 N=2^20 hits: fast_write=0 quality_write=0 fast_vec(HashMap>)=0 quality_vec=0 quality_only=0 (0.0 s)