-------------------------------------------------------------------------------
--- Testing wyhash "wyhash (64-bit)" GOOD

[[[ Sanity Tests ]]]

Verification value 0x8323EB7E ....... PASS
Running sanity check 1     .......... PASS
Running AppendedZeroesTest .......... PASS

[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  6.175 bytes/cycle - 17666.16 MiB/sec @ 3 ghz
Alignment  6 -  6.175 bytes/cycle - 17666.02 MiB/sec @ 3 ghz
Alignment  5 -  6.175 bytes/cycle - 17667.14 MiB/sec @ 3 ghz
Alignment  4 -  6.199 bytes/cycle - 17734.75 MiB/sec @ 3 ghz
Alignment  3 -  6.644 bytes/cycle - 19007.85 MiB/sec @ 3 ghz
Alignment  2 -  6.643 bytes/cycle - 19007.18 MiB/sec @ 3 ghz
Alignment  1 -  6.643 bytes/cycle - 19004.56 MiB/sec @ 3 ghz
Alignment  0 -  6.804 bytes/cycle - 19465.09 MiB/sec @ 3 ghz
Average      -  6.432 bytes/cycle - 18402.34 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    18.00 cycles/hash
Small key speed test -    2-byte keys -    18.00 cycles/hash
Small key speed test -    3-byte keys -    18.00 cycles/hash
Small key speed test -    4-byte keys -    16.28 cycles/hash
Small key speed test -    5-byte keys -    16.31 cycles/hash
Small key speed test -    6-byte keys -    16.29 cycles/hash
Small key speed test -    7-byte keys -    16.29 cycles/hash
Small key speed test -    8-byte keys -    16.24 cycles/hash
Small key speed test -    9-byte keys -    17.00 cycles/hash
Small key speed test -   10-byte keys -    17.00 cycles/hash
Small key speed test -   11-byte keys -    17.00 cycles/hash
Small key speed test -   12-byte keys -    17.00 cycles/hash
Small key speed test -   13-byte keys -    17.00 cycles/hash
Small key speed test -   14-byte keys -    17.00 cycles/hash
Small key speed test -   15-byte keys -    17.00 cycles/hash
Small key speed test -   16-byte keys -    17.00 cycles/hash
Small key speed test -   17-byte keys -    20.00 cycles/hash
Small key speed test -   18-byte keys -    20.00 cycles/hash
Small key speed test -   19-byte keys -    20.00 cycles/hash
Small key speed test -   20-byte keys -    21.00 cycles/hash
Small key speed test -   21-byte keys -    21.00 cycles/hash
Small key speed test -   22-byte keys -    21.00 cycles/hash
Small key speed test -   23-byte keys -    21.00 cycles/hash
Small key speed test -   24-byte keys -    21.00 cycles/hash
Small key speed test -   25-byte keys -    21.00 cycles/hash
Small key speed test -   26-byte keys -    21.00 cycles/hash
Small key speed test -   27-byte keys -    21.00 cycles/hash
Small key speed test -   28-byte keys -    21.00 cycles/hash
Small key speed test -   29-byte keys -    21.00 cycles/hash
Small key speed test -   30-byte keys -    21.00 cycles/hash
Small key speed test -   31-byte keys -    21.00 cycles/hash
Average                                    18.820 cycles/hash

[[[ 'Hashmap' Speed Tests ]]]

std::unordered_map
Init std HashMapTest:     272.753 cycles/op (102305 inserts, 1% deletions)
Running std HashMapTest:  128.213 cycles/op (0.2 stdv)

greg7mdp/parallel-hashmap
Init fast HashMapTest:    128.008 cycles/op (102305 inserts, 1% deletions)
Running fast HashMapTest: 68.944 cycles/op (0.1 stdv)  ....... PASS

[[[ Avalanche Tests ]]]

Testing   24-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.763333%
Testing   32-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.690667%
Testing   40-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.614667%
Testing   48-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.669333%
Testing   56-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.653333%
Testing   64-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.628000%
Testing   72-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.674000%
Testing   80-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.679333%
Testing   96-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.734000%
Testing  112-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.670667%
Testing  128-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.810000%
Testing  160-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.699333%
Testing  192-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.815333%
Testing  224-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.788000%
Testing  256-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.738667%
Testing  320-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.782000%
Testing  384-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.779333%
Testing  448-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.764000%
Testing  512-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.753333%
Testing  640-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.723333%
Testing  768-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.777333%
Testing  896-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.805333%
Testing 1024-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.797333%
Testing 1280-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.764000%
Testing 1536-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.814000%

[[[ Keyset 'Sparse' Tests ]]]

Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected          0.3, actual      0 (0.00x)
Testing collisions (high 19-25 bits) - Worst is 24 bits: 93/76 (1.22x)
Testing collisions (high 12-bit) - Expected      46547.0, actual  46547 (1.00x)
Testing collisions (high  8-bit) - Expected      50387.0, actual  50387 (1.00x)
Testing collisions (low  32-bit) - Expected          0.3, actual      0 (0.00x)
Testing collisions (low  19-25 bits) - Worst is 23 bits: 157/152 (1.03x)
Testing collisions (low  12-bit) - Expected      46547.0, actual  46547 (1.00x)
Testing collisions (low   8-bit) - Expected      50387.0, actual  50387 (1.00x)
Testing distribution - Worst bias is the 13-bit window at bit 29 - 0.569%

Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        188.2, actual    188 (1.00x)
Testing collisions (high 24-35 bits) - Worst is 35 bits: 25/23 (1.06x)
Testing collisions (high 12-bit) - Expected    1267530.0, actual 1267530 (1.00x)
Testing collisions (high  8-bit) - Expected    1271370.0, actual 1271370 (1.00x)
Testing collisions (low  32-bit) - Expected        188.2, actual    187 (0.99x) (-1)
Testing collisions (low  24-35 bits) - Worst is 32 bits: 187/188 (0.99x)
Testing collisions (low  12-bit) - Expected    1267530.0, actual 1267530 (1.00x)
Testing collisions (low   8-bit) - Expected    1271370.0, actual 1271370 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 31 - 0.093%

Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2373.0, actual   2379 (1.00x) (6)
Testing collisions (high 25-38 bits) - Worst is 31 bits: 4789/4746 (1.01x)
Testing collisions (high 12-bit) - Expected    4510777.0, actual 4510777 (1.00x)
Testing collisions (high  8-bit) - Expected    4514617.0, actual 4514617 (1.00x)
Testing collisions (low  32-bit) - Expected       2373.0, actual   2331 (0.98x) (-42)
Testing collisions (low  25-38 bits) - Worst is 35 bits: 303/296 (1.02x)
Testing collisions (low  12-bit) - Expected    4510777.0, actual 4510777 (1.00x)
Testing collisions (low   8-bit) - Expected    4514617.0, actual 4514617 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 22 - 0.049%

Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2461.7, actual   2531 (1.03x) (70)
Testing collisions (high 25-38 bits) - Worst is 34 bits: 642/615 (1.04x)
Testing collisions (high 12-bit) - Expected    4594383.0, actual 4594383 (1.00x)
Testing collisions (high  8-bit) - Expected    4598223.0, actual 4598223 (1.00x)
Testing collisions (low  32-bit) - Expected       2461.7, actual   2535 (1.03x) (74)
Testing collisions (low  25-38 bits) - Worst is 37 bits: 97/76 (1.26x)
Testing collisions (low  12-bit) - Expected    4594383.0, actual 4594383 (1.00x)
Testing collisions (low   8-bit) - Expected    4598223.0, actual 4598223 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 11 - 0.058%

Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      23463.6, actual  23540 (1.00x) (77)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 33/22 (1.44x)
Testing collisions (high 12-bit) - Expected   14192773.0, actual 14192773 (1.00x)
Testing collisions (high  8-bit) - Expected   14196613.0, actual 14196613 (1.00x)
Testing collisions (low  32-bit) - Expected      23463.6, actual  23420 (1.00x) (-43)
Testing collisions (low  27-42 bits) - Worst is 35 bits: 2941/2932 (1.00x)
Testing collisions (low  12-bit) - Expected   14192773.0, actual 14192773 (1.00x)
Testing collisions (low   8-bit) - Expected   14196613.0, actual 14196613 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.022%

Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2069.7, actual   2019 (0.98x)
Testing collisions (high 25-38 bits) - Worst is 28 bits: 32798/33114 (0.99x)
Testing collisions (high 12-bit) - Expected    4212327.0, actual 4212327 (1.00x)
Testing collisions (high  8-bit) - Expected    4216167.0, actual 4216167 (1.00x)
Testing collisions (low  32-bit) - Expected       2069.7, actual   2060 (1.00x) (-9)
Testing collisions (low  25-38 bits) - Worst is 35 bits: 277/258 (1.07x)
Testing collisions (low  12-bit) - Expected    4212327.0, actual 4212327 (1.00x)
Testing collisions (low   8-bit) - Expected    4216167.0, actual 4216167 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 40 - 0.044%

Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8026.9, actual   8001 (1.00x) (-25)
Testing collisions (high 26-40 bits) - Worst is 33 bits: 4123/4013 (1.03x)
Testing collisions (high 12-bit) - Expected    8299537.0, actual 8299537 (1.00x)
Testing collisions (high  8-bit) - Expected    8303377.0, actual 8303377 (1.00x)
Testing collisions (low  32-bit) - Expected       8026.9, actual   8082 (1.01x) (56)
Testing collisions (low  26-40 bits) - Worst is 38 bits: 154/125 (1.23x)
Testing collisions (low  12-bit) - Expected    8299537.0, actual 8299537 (1.00x)
Testing collisions (low   8-bit) - Expected    8303377.0, actual 8303377 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.024%

Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      26482.7, actual  26406 (1.00x) (-76)
Testing collisions (high 27-42 bits) - Worst is 39 bits: 214/206 (1.03x)
Testing collisions (high 12-bit) - Expected   15078507.0, actual 15078507 (1.00x)
Testing collisions (high  8-bit) - Expected   15082347.0, actual 15082347 (1.00x)
Testing collisions (low  32-bit) - Expected      26482.7, actual  26278 (0.99x) (-204)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 29/25 (1.12x)
Testing collisions (low  12-bit) - Expected   15078507.0, actual 15078507 (1.00x)
Testing collisions (low   8-bit) - Expected   15082347.0, actual 15082347 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 39 - 0.018%

Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1401.3, actual   1339 (0.96x)
Testing collisions (high 25-38 bits) - Worst is 28 bits: 22376/22421 (1.00x)
Testing collisions (high 12-bit) - Expected    3465401.0, actual 3465401 (1.00x)
Testing collisions (high  8-bit) - Expected    3469241.0, actual 3469241 (1.00x)
Testing collisions (low  32-bit) - Expected       1401.3, actual   1390 (0.99x) (-11)
Testing collisions (low  25-38 bits) - Worst is 38 bits: 30/21 (1.37x)
Testing collisions (low  12-bit) - Expected    3465401.0, actual 3465401 (1.00x)
Testing collisions (low   8-bit) - Expected    3469241.0, actual 3469241 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 32 - 0.058%

Keyset 'Sparse' - 112-bit keys with up to 4 bits set - 6445069 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       4835.8, actual   4807 (0.99x) (-28)
Testing collisions (high 26-39 bits) - Worst is 37 bits: 164/151 (1.09x)
Testing collisions (high 12-bit) - Expected    6440973.0, actual 6440973 (1.00x)
Testing collisions (high  8-bit) - Expected    6444813.0, actual 6444813 (1.00x)
Testing collisions (low  32-bit) - Expected       4835.8, actual   4831 (1.00x) (-4)
Testing collisions (low  26-39 bits) - Worst is 38 bits: 77/75 (1.02x)
Testing collisions (low  12-bit) - Expected    6440973.0, actual 6440973 (1.00x)
Testing collisions (low   8-bit) - Expected    6444813.0, actual 6444813 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.069%

Keyset 'Sparse' - 128-bit keys with up to 4 bits set - 11017633 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      14131.4, actual  14197 (1.00x) (66)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 70/55 (1.27x)
Testing collisions (high 12-bit) - Expected   11013537.0, actual 11013537 (1.00x)
Testing collisions (high  8-bit) - Expected   11017377.0, actual 11017377 (1.00x)
Testing collisions (low  32-bit) - Expected      14131.4, actual  14166 (1.00x) (35)
Testing collisions (low  27-41 bits) - Worst is 39 bits: 121/110 (1.10x)
Testing collisions (low  12-bit) - Expected   11013537.0, actual 11013537 (1.00x)
Testing collisions (low   8-bit) - Expected   11017377.0, actual 11017377 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 62 - 0.033%

Keyset 'Sparse' - 144-bit keys with up to 4 bits set - 17676661 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      36375.6, actual  36249 (1.00x) (-126)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 45/35 (1.27x)
Testing collisions (high 12-bit) - Expected   17672565.0, actual 17672565 (1.00x)
Testing collisions (high  8-bit) - Expected   17676405.0, actual 17676405 (1.00x)
Testing collisions (low  32-bit) - Expected      36375.6, actual  36276 (1.00x) (-99)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 37/35 (1.04x)
Testing collisions (low  12-bit) - Expected   17672565.0, actual 17672565 (1.00x)
Testing collisions (low   8-bit) - Expected   17676405.0, actual 17676405 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.017%

Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      84723.3, actual  84486 (1.00x) (-237)
Testing collisions (high 28-44 bits) - Worst is 44 bits: 27/20 (1.31x)
Testing collisions (high 12-bit) - Expected   26973065.0, actual 26973065 (1.00x)
Testing collisions (high  8-bit) - Expected   26976905.0, actual 26976905 (1.00x)
Testing collisions (low  32-bit) - Expected      84723.3, actual  84910 (1.00x) (187)
Testing collisions (low  28-44 bits) - Worst is 44 bits: 26/20 (1.26x)
Testing collisions (low  12-bit) - Expected   26973065.0, actual 26973065 (1.00x)
Testing collisions (low   8-bit) - Expected   26976905.0, actual 26976905 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 17 - 0.010%

Keyset 'Sparse' - 192-bit keys with up to 4 bits set - 56050289 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     365734.4, actual 363771 (0.99x) (-1963)
Testing collisions (high 29-46 bits) - Worst is 46 bits: 25/22 (1.12x)
Testing collisions (high 12-bit) - Expected   56046193.0, actual 56046193 (1.00x)
Testing collisions (high  8-bit) - Expected   56050033.0, actual 56050033 (1.00x)
Testing collisions (low  32-bit) - Expected     365734.4, actual 364210 (1.00x) (-1524)
Testing collisions (low  29-46 bits) - Worst is 39 bits: 2856/2857 (1.00x)
Testing collisions (low  12-bit) - Expected   56046193.0, actual 56046193 (1.00x)
Testing collisions (low   8-bit) - Expected   56050033.0, actual 56050033 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 40 - 0.006%

Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        910.4, actual    860 (0.94x)
Testing collisions (high 25-37 bits) - Worst is 29 bits: 7267/7282 (1.00x)
Testing collisions (high 12-bit) - Expected    2792321.0, actual 2792321 (1.00x)
Testing collisions (high  8-bit) - Expected    2796161.0, actual 2796161 (1.00x)
Testing collisions (low  32-bit) - Expected        910.4, actual    876 (0.96x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 29/28 (1.02x)
Testing collisions (low  12-bit) - Expected    2792321.0, actual 2792321 (1.00x)
Testing collisions (low   8-bit) - Expected    2796161.0, actual 2796161 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 22 - 0.079%

Keyset 'Sparse' - 288-bit keys with up to 3 bits set - 3981553 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1845.5, actual   1817 (0.98x) (-28)
Testing collisions (high 25-38 bits) - Worst is 35 bits: 258/230 (1.12x)
Testing collisions (high 12-bit) - Expected    3977457.0, actual 3977457 (1.00x)
Testing collisions (high  8-bit) - Expected    3981297.0, actual 3981297 (1.00x)
Testing collisions (low  32-bit) - Expected       1845.5, actual   1814 (0.98x) (-31)
Testing collisions (low  25-38 bits) - Worst is 31 bits: 3694/3691 (1.00x)
Testing collisions (low  12-bit) - Expected    3977457.0, actual 3977457 (1.00x)
Testing collisions (low   8-bit) - Expected    3981297.0, actual 3981297 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 63 - 0.046%

Keyset 'Sparse' - 320-bit keys with up to 3 bits set - 5461601 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       3472.6, actual   3632 (1.05x) (160)
Testing collisions (high 26-39 bits) - Worst is 38 bits: 57/54 (1.05x)
Testing collisions (high 12-bit) - Expected    5457505.0, actual 5457505 (1.00x)
Testing collisions (high  8-bit) - Expected    5461345.0, actual 5461345 (1.00x)
Testing collisions (low  32-bit) - Expected       3472.6, actual   3479 (1.00x) (7)
Testing collisions (low  26-39 bits) - Worst is 36 bits: 259/217 (1.19x)
Testing collisions (low  12-bit) - Expected    5457505.0, actual 5457505 (1.00x)
Testing collisions (low   8-bit) - Expected    5461345.0, actual 5461345 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 62 - 0.050%

Keyset 'Sparse' - 384-bit keys with up to 3 bits set - 9437505 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      10368.7, actual  10394 (1.00x) (26)
Testing collisions (high 26-41 bits) - Worst is 41 bits: 22/20 (1.09x)
Testing collisions (high 12-bit) - Expected    9433409.0, actual 9433409 (1.00x)
Testing collisions (high  8-bit) - Expected    9437249.0, actual 9437249 (1.00x)
Testing collisions (low  32-bit) - Expected      10368.7, actual  10407 (1.00x) (39)
Testing collisions (low  26-41 bits) - Worst is 40 bits: 50/40 (1.23x)
Testing collisions (low  12-bit) - Expected    9433409.0, actual 9433409 (1.00x)
Testing collisions (low   8-bit) - Expected    9437249.0, actual 9437249 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit  2 - 0.029%

Keyset 'Sparse' - 448-bit keys with up to 3 bits set - 14986273 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      26145.5, actual  26059 (1.00x) (-86)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 31/25 (1.21x)
Testing collisions (high 12-bit) - Expected   14982177.0, actual 14982177 (1.00x)
Testing collisions (high  8-bit) - Expected   14986017.0, actual 14986017 (1.00x)
Testing collisions (low  32-bit) - Expected      26145.5, actual  26002 (0.99x) (-143)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 28/25 (1.10x)
Testing collisions (low  12-bit) - Expected   14982177.0, actual 14982177 (1.00x)
Testing collisions (low   8-bit) - Expected   14986017.0, actual 14986017 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.024%

Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      58256.4, actual  58202 (1.00x) (-54)
Testing collisions (high 28-43 bits) - Worst is 43 bits: 32/28 (1.12x)
Testing collisions (high 12-bit) - Expected   22365953.0, actual 22365953 (1.00x)
Testing collisions (high  8-bit) - Expected   22369793.0, actual 22369793 (1.00x)
Testing collisions (low  32-bit) - Expected      58256.4, actual  58508 (1.00x) (252)
Testing collisions (low  28-43 bits) - Worst is 37 bits: 1878/1820 (1.03x)
Testing collisions (low  12-bit) - Expected   22365953.0, actual 22365953 (1.00x)
Testing collisions (low   8-bit) - Expected   22369793.0, actual 22369793 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit  5 - 0.014%

Keyset 'Sparse' - 640-bit keys with up to 3 bits set - 43691201 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     222227.7, actual 221945 (1.00x) (-282)
Testing collisions (high 29-45 bits) - Worst is 40 bits: 872/868 (1.00x)
Testing collisions (high 12-bit) - Expected   43687105.0, actual 43687105 (1.00x)
Testing collisions (high  8-bit) - Expected   43690945.0, actual 43690945 (1.00x)
Testing collisions (low  32-bit) - Expected     222227.7, actual 221334 (1.00x) (-893)
Testing collisions (low  29-45 bits) - Worst is 39 bits: 1778/1736 (1.02x)
Testing collisions (low  12-bit) - Expected   43687105.0, actual 43687105 (1.00x)
Testing collisions (low   8-bit) - Expected   43690945.0, actual 43690945 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 51 - 0.006%

Keyset 'Sparse' - 768-bit keys with up to 3 bits set - 75498113 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     663563.3, actual 660745 (1.00x) (-2818)
Testing collisions (high 29-47 bits) - Worst is 46 bits: 42/40 (1.04x)
Testing collisions (high 12-bit) - Expected   75494017.0, actual 75494017 (1.00x)
Testing collisions (high  8-bit) - Expected   75497857.0, actual 75497857 (1.00x)
Testing collisions (low  32-bit) - Expected     663563.3, actual 659610 (0.99x) (-3953)
Testing collisions (low  29-47 bits) - Worst is 44 bits: 172/162 (1.06x)
Testing collisions (low  12-bit) - Expected   75494017.0, actual 75494017 (1.00x)
Testing collisions (low   8-bit) - Expected   75497857.0, actual 75497857 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 62 - 0.004%

Keyset 'Sparse' - 896-bit keys with up to 2 bits set - 401857 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         18.8, actual     19 (1.01x) (1)
Testing collisions (high 22-31 bits) - Worst is 31 bits: 39/37 (1.04x)
Testing collisions (high 12-bit) - Expected     397761.0, actual 397761 (1.00x)
Testing collisions (high  8-bit) - Expected     401601.0, actual 401601 (1.00x)
Testing collisions (low  32-bit) - Expected         18.8, actual     22 (1.17x) (4)
Testing collisions (low  22-31 bits) - Worst is 30 bits: 86/75 (1.14x)
Testing collisions (low  12-bit) - Expected     397761.0, actual 397761 (1.00x)
Testing collisions (low   8-bit) - Expected     401601.0, actual 401601 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit  8 - 0.274%

Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         32.1, actual     25 (0.78x)
Testing collisions (high 22-32 bits) - Worst is 25 bits: 4072/4104 (0.99x)
Testing collisions (high 12-bit) - Expected     520705.0, actual 520705 (1.00x)
Testing collisions (high  8-bit) - Expected     524545.0, actual 524545 (1.00x)
Testing collisions (low  32-bit) - Expected         32.1, actual     26 (0.81x)
Testing collisions (low  22-32 bits) - Worst is 26 bits: 2082/2052 (1.01x)
Testing collisions (low  12-bit) - Expected     520705.0, actual 520705 (1.00x)
Testing collisions (low   8-bit) - Expected     524545.0, actual 524545 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 34 - 0.150%

Keyset 'Sparse' - 1280-bit keys with up to 2 bits set - 819841 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         78.2, actual     81 (1.04x) (3)
Testing collisions (high 23-33 bits) - Worst is 30 bits: 340/312 (1.09x)
Testing collisions (high 12-bit) - Expected     815745.0, actual 815745 (1.00x)
Testing collisions (high  8-bit) - Expected     819585.0, actual 819585 (1.00x)
Testing collisions (low  32-bit) - Expected         78.2, actual     79 (1.01x) (1)
Testing collisions (low  23-33 bits) - Worst is 33 bits: 42/39 (1.07x)
Testing collisions (low  12-bit) - Expected     815745.0, actual 815745 (1.00x)
Testing collisions (low   8-bit) - Expected     819585.0, actual 819585 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 29 - 0.151%

Keyset 'Sparse' - 1536-bit keys with up to 2 bits set - 1180417 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        162.2, actual    170 (1.05x) (8)
Testing collisions (high 23-35 bits) - Worst is 35 bits: 25/20 (1.23x)
Testing collisions (high 12-bit) - Expected    1176321.0, actual 1176321 (1.00x)
Testing collisions (high  8-bit) - Expected    1180161.0, actual 1180161 (1.00x)
Testing collisions (low  32-bit) - Expected        162.2, actual    167 (1.03x) (5)
Testing collisions (low  23-35 bits) - Worst is 31 bits: 335/324 (1.03x)
Testing collisions (low  12-bit) - Expected    1176321.0, actual 1176321 (1.00x)
Testing collisions (low   8-bit) - Expected    1180161.0, actual 1180161 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 43 - 0.125%

Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.5, actual    507 (0.99x) (-5)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1028/1025 (1.00x)
Testing collisions (high 12-bit) - Expected    2094081.0, actual 2094081 (1.00x)
Testing collisions (high  8-bit) - Expected    2097921.0, actual 2097921 (1.00x)
Testing collisions (low  32-bit) - Expected        512.5, actual    551 (1.08x) (39)
Testing collisions (low  24-36 bits) - Worst is 34 bits: 147/128 (1.15x)
Testing collisions (low  12-bit) - Expected    2094081.0, actual 2094081 (1.00x)
Testing collisions (low   8-bit) - Expected    2097921.0, actual 2097921 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 19 - 0.047%

Keyset 'Sparse' - 3072-bit keys with up to 2 bits set - 4720129 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2593.7, actual   2552 (0.98x) (-41)
Testing collisions (high 25-39 bits) - Worst is 31 bits: 5167/5187 (1.00x)
Testing collisions (high 12-bit) - Expected    4716033.0, actual 4716033 (1.00x)
Testing collisions (high  8-bit) - Expected    4719873.0, actual 4719873 (1.00x)
Testing collisions (low  32-bit) - Expected       2593.7, actual   2708 (1.04x) (115)
Testing collisions (low  25-39 bits) - Worst is 39 bits: 28/20 (1.38x)
Testing collisions (low  12-bit) - Expected    4716033.0, actual 4716033 (1.00x)
Testing collisions (low   8-bit) - Expected    4719873.0, actual 4719873 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 30 - 0.035%

Keyset 'Sparse' - 4096-bit keys with up to 2 bits set - 8390657 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8196.0, actual   8131 (0.99x) (-65)
Testing collisions (high 26-40 bits) - Worst is 36 bits: 534/512 (1.04x)
Testing collisions (high 12-bit) - Expected    8386561.0, actual 8386561 (1.00x)
Testing collisions (high  8-bit) - Expected    8390401.0, actual 8390401 (1.00x)
Testing collisions (low  32-bit) - Expected       8196.0, actual   8321 (1.02x) (125)
Testing collisions (low  26-40 bits) - Worst is 37 bits: 265/256 (1.03x)
Testing collisions (low  12-bit) - Expected    8386561.0, actual 8386561 (1.00x)
Testing collisions (low   8-bit) - Expected    8390401.0, actual 8390401 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 46 - 0.044%

Keyset 'Sparse' - 6144-bit keys with up to 2 bits set - 18877441 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      41485.5, actual  41805 (1.01x) (320)
Testing collisions (high 27-43 bits) - Worst is 41 bits: 84/81 (1.04x)
Testing collisions (high 12-bit) - Expected   18873345.0, actual 18873345 (1.00x)
Testing collisions (high  8-bit) - Expected   18877185.0, actual 18877185 (1.00x)
Testing collisions (low  32-bit) - Expected      41485.5, actual  40988 (0.99x) (-497)
Testing collisions (low  27-43 bits) - Worst is 37 bits: 1296/1296 (1.00x)
Testing collisions (low  12-bit) - Expected   18873345.0, actual 18873345 (1.00x)
Testing collisions (low   8-bit) - Expected   18877185.0, actual 18877185 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 60 - 0.025%

Keyset 'Sparse' - 8192-bit keys with up to 2 bits set - 33558529 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     131104.0, actual 130868 (1.00x) (-236)
Testing collisions (high 28-44 bits) - Worst is 41 bits: 280/256 (1.09x)
Testing collisions (high 12-bit) - Expected   33554433.0, actual 33554433 (1.00x)
Testing collisions (high  8-bit) - Expected   33558273.0, actual 33558273 (1.00x)
Testing collisions (low  32-bit) - Expected     131104.0, actual 130948 (1.00x) (-156)
Testing collisions (low  28-44 bits) - Worst is 42 bits: 142/128 (1.11x)
Testing collisions (low  12-bit) - Expected   33554433.0, actual 33554433 (1.00x)
Testing collisions (low   8-bit) - Expected   33558273.0, actual 33558273 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit  8 - 0.011%

Keyset 'Sparse' - 9992-bit keys with up to 2 bits set - 49925029 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     290166.2, actual 289332 (1.00x) (-834)
Testing collisions (high 29-45 bits) - Worst is 33 bits: 145093/145083 (1.00x)
Testing collisions (high 12-bit) - Expected   49920933.0, actual 49920933 (1.00x)
Testing collisions (high  8-bit) - Expected   49924773.0, actual 49924773 (1.00x)
Testing collisions (low  32-bit) - Expected     290166.2, actual 289155 (1.00x) (-1011)
Testing collisions (low  29-45 bits) - Worst is 45 bits: 40/35 (1.13x)
Testing collisions (low  12-bit) - Expected   49920933.0, actual 49920933 (1.00x)
Testing collisions (low   8-bit) - Expected   49924773.0, actual 49924773 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 62 - 0.006%


[[[ Keyset 'Permutation' Tests ]]]

Combination Lowbits Tests:
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        668.7, actual    647 (0.97x)
Testing collisions (high 25-37 bits) - Worst is 33 bits: 335/334 (1.00x)
Testing collisions (high 12-bit) - Expected    2392648.0, actual 2392648 (1.00x)
Testing collisions (high  8-bit) - Expected    2396488.0, actual 2396488 (1.00x)
Testing collisions (low  32-bit) - Expected        668.7, actual    705 (1.05x) (37)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 54/41 (1.29x)
Testing collisions (low  12-bit) - Expected    2392648.0, actual 2392648 (1.00x)
Testing collisions (low   8-bit) - Expected    2396488.0, actual 2396488 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 29 - 0.043%


Combination Highbits Tests
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        668.7, actual    677 (1.01x) (9)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 24/20 (1.15x)
Testing collisions (high 12-bit) - Expected    2392648.0, actual 2392648 (1.00x)
Testing collisions (high  8-bit) - Expected    2396488.0, actual 2396488 (1.00x)
Testing collisions (low  32-bit) - Expected        668.7, actual    653 (0.98x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 173/167 (1.03x)
Testing collisions (low  12-bit) - Expected    2392648.0, actual 2392648 (1.00x)
Testing collisions (low   8-bit) - Expected    2396488.0, actual 2396488 (1.00x)
Testing distribution - Worst bias is the 18-bit window at bit 44 - 0.078%


Combination Hi-Lo Tests:
Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      17339.3, actual  17417 (1.00x) (78)
Testing collisions (high 27-41 bits) - Worst is 41 bits: 40/33 (1.18x)
Testing collisions (high 12-bit) - Expected   12200144.0, actual 12200144 (1.00x)
Testing collisions (high  8-bit) - Expected   12203984.0, actual 12203984 (1.00x)
Testing collisions (low  32-bit) - Expected      17339.3, actual  17393 (1.00x) (54)
Testing collisions (low  27-41 bits) - Worst is 32 bits: 17393/17339 (1.00x)
Testing collisions (low  12-bit) - Expected   12200144.0, actual 12200144 (1.00x)
Testing collisions (low   8-bit) - Expected   12203984.0, actual 12203984 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.024%


Combination 0x8000000 Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32798 (1.00x) (31)
Testing collisions (high 27-42 bits) - Worst is 35 bits: 4125/4095 (1.01x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32478 (0.99x) (-289)
Testing collisions (low  27-42 bits) - Worst is 40 bits: 136/127 (1.06x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit  7 - 0.015%


Combination 0x0000001 Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32846 (1.00x) (79)
Testing collisions (high 27-42 bits) - Worst is 34 bits: 8319/8191 (1.02x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32636 (1.00x) (-131)
Testing collisions (low  27-42 bits) - Worst is 41 bits: 77/63 (1.20x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 54 - 0.016%


Combination 0x800000000000000 Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32932 (1.01x) (165)
Testing collisions (high 27-42 bits) - Worst is 40 bits: 132/127 (1.03x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32810 (1.00x) (43)
Testing collisions (low  27-42 bits) - Worst is 38 bits: 525/511 (1.03x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 24 - 0.022%


Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32635 (1.00x) (-132)
Testing collisions (high 27-42 bits) - Worst is 38 bits: 535/511 (1.04x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32215 (0.98x) (-552)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 35/31 (1.09x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.021%


Combination 16-bytes [0-1] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32478 (0.99x) (-289)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 33/31 (1.03x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32662 (1.00x) (-105)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 34/31 (1.06x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 37 - 0.017%


Combination 16-bytes [0-last] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32835 (1.00x) (68)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 36/31 (1.13x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32792 (1.00x) (25)
Testing collisions (low  27-42 bits) - Worst is 41 bits: 78/63 (1.22x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 32 - 0.018%


Combination 32-bytes [0-1] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32558 (0.99x) (-209)
Testing collisions (high 27-42 bits) - Worst is 41 bits: 69/63 (1.08x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32962 (1.01x) (195)
Testing collisions (low  27-42 bits) - Worst is 36 bits: 2096/2047 (1.02x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.018%


Combination 32-bytes [0-last] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32952 (1.01x) (185)
Testing collisions (high 27-42 bits) - Worst is 37 bits: 1087/1023 (1.06x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32821 (1.00x) (54)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 38/31 (1.19x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 24 - 0.017%


Combination 64-bytes [0-1] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32688 (1.00x) (-79)
Testing collisions (high 27-42 bits) - Worst is 40 bits: 146/127 (1.14x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32810 (1.00x) (43)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 39/31 (1.22x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.020%


Combination 64-bytes [0-last] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  33091 (1.01x) (324)
Testing collisions (high 27-42 bits) - Worst is 33 bits: 16625/16383 (1.01x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  33047 (1.01x) (280)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 41/31 (1.28x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.017%


Combination 128-bytes [0-1] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32425 (0.99x) (-342)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 35/31 (1.09x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32787 (1.00x) (20)
Testing collisions (low  27-42 bits) - Worst is 37 bits: 1042/1023 (1.02x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit  6 - 0.023%


Combination 128-bytes [0-last] Tests:
Keyset 'Combination' - up to 23 blocks from a set of 2 - 16777214 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32943 (1.01x) (176)
Testing collisions (high 27-42 bits) - Worst is 39 bits: 287/255 (1.12x)
Testing collisions (high 12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (high  8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32623 (1.00x) (-144)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 39/31 (1.22x)
Testing collisions (low  12-bit) - Expected   16773118.0, actual 16773118 (1.00x)
Testing collisions (low   8-bit) - Expected   16776958.0, actual 16776958 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 34 - 0.024%


[[[ Keyset 'Window' Tests ]]]

Keyset 'Window' -  32-bit key,  25-bit window - 32 tests, 33554432 keys per test
Window at   0 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 54 - 0.008%
Window at   1 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit  7 - 0.012%
Window at   2 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.010%
Window at   3 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 61 - 0.011%
Window at   4 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit  4 - 0.009%
Window at   5 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.006%
Window at   6 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 51 - 0.009%
Window at   7 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.009%
Window at   8 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 48 - 0.010%
Window at   9 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 19-bit window at bit 49 - 0.006%
Window at  10 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 32 - 0.008%
Window at  11 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 19-bit window at bit 40 - 0.008%
Window at  12 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.009%
Window at  13 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 52 - 0.009%
Window at  14 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 53 - 0.010%
Window at  15 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit  2 - 0.011%
Window at  16 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.015%
Window at  17 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 19-bit window at bit 19 - 0.009%
Window at  18 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.012%
Window at  19 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.012%
Window at  20 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 44 - 0.008%
Window at  21 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit  7 - 0.006%
Window at  22 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.008%
Window at  23 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 24 - 0.009%
Window at  24 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 48 - 0.010%
Window at  25 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.013%
Window at  26 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 37 - 0.011%
Window at  27 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 41 - 0.009%
Window at  28 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 0.009%
Window at  29 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 19-bit window at bit 56 - 0.008%
Window at  30 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.010%
Window at  31 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 34 - 0.008%
Window at  32 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 54 - 0.008%

[[[ Keyset 'Cyclic' Tests ]]]

Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    125 (1.07x) (9)
Testing collisions (high 23-34 bits) - Worst is 34 bits: 36/29 (1.24x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual     88 (0.76x)
Testing collisions (low  23-34 bits) - Worst is 26 bits: 7311/7450 (0.98x)
Testing collisions (low  12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit  8 - 0.067%

Keyset 'Cyclic' - 8 cycles of 9 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    100 (0.86x)
Testing collisions (high 23-34 bits) - Worst is 29 bits: 949/931 (1.02x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual    110 (0.94x)
Testing collisions (low  23-34 bits) - Worst is 31 bits: 247/232 (1.06x)
Testing collisions (low  12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 47 - 0.122%

Keyset 'Cyclic' - 8 cycles of 10 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    125 (1.07x) (9)
Testing collisions (high 23-34 bits) - Worst is 32 bits: 125/116 (1.07x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual    116 (1.00x)
Testing collisions (low  23-34 bits) - Worst is 30 bits: 518/465 (1.11x)
Testing collisions (low  12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 36 - 0.104%

Keyset 'Cyclic' - 8 cycles of 11 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    129 (1.11x) (13)
Testing collisions (high 23-34 bits) - Worst is 32 bits: 129/116 (1.11x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual    121 (1.04x) (5)
Testing collisions (low  23-34 bits) - Worst is 33 bits: 62/58 (1.07x)
Testing collisions (low  12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 15 - 0.154%

Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    110 (0.94x)
Testing collisions (high 23-34 bits) - Worst is 34 bits: 30/29 (1.03x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual    102 (0.88x)
Testing collisions (low  23-34 bits) - Worst is 28 bits: 1911/1862 (1.03x)
Testing collisions (low  12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit  6 - 0.100%

Keyset 'Cyclic' - 8 cycles of 16 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    101 (0.87x)
Testing collisions (high 23-34 bits) - Worst is 30 bits: 463/465 (0.99x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual    118 (1.01x) (2)
Testing collisions (low  23-34 bits) - Worst is 31 bits: 243/232 (1.04x)
Testing collisions (low  12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit  6 - 0.105%


[[[ Keyset 'TwoBytes' Tests ]]]

Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         49.6, actual     39 (0.79x)
Testing collisions (high 23-33 bits) - Worst is 28 bits: 799/793 (1.01x)
Testing collisions (high 12-bit) - Expected     648449.0, actual 648449 (1.00x)
Testing collisions (high  8-bit) - Expected     652289.0, actual 652289 (1.00x)
Testing collisions (low  32-bit) - Expected         49.6, actual     45 (0.91x)
Testing collisions (low  23-33 bits) - Worst is 26 bits: 3179/3172 (1.00x)
Testing collisions (low  12-bit) - Expected     648449.0, actual 648449 (1.00x)
Testing collisions (low   8-bit) - Expected     652289.0, actual 652289 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 49 - 0.131%

Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       3484.6, actual   3331 (0.96x)
Testing collisions (high 26-39 bits) - Worst is 29 bits: 27749/27876 (1.00x)
Testing collisions (high 12-bit) - Expected    5466929.0, actual 5466929 (1.00x)
Testing collisions (high  8-bit) - Expected    5470769.0, actual 5470769 (1.00x)
Testing collisions (low  32-bit) - Expected       3484.6, actual   3488 (1.00x) (4)
Testing collisions (low  26-39 bits) - Worst is 38 bits: 60/54 (1.10x)
Testing collisions (low  12-bit) - Expected    5466929.0, actual 5466929 (1.00x)
Testing collisions (low   8-bit) - Expected    5470769.0, actual 5470769 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 61 - 0.067%

Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      40347.8, actual  40129 (0.99x) (-218)
Testing collisions (high 27-42 bits) - Worst is 32 bits: 40129/40347 (0.99x)
Testing collisions (high 12-bit) - Expected   18612689.0, actual 18612689 (1.00x)
Testing collisions (high  8-bit) - Expected   18616529.0, actual 18616529 (1.00x)
Testing collisions (low  32-bit) - Expected      40347.8, actual  40443 (1.00x) (96)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 50/39 (1.27x)
Testing collisions (low  12-bit) - Expected   18612689.0, actual 18612689 (1.00x)
Testing collisions (low   8-bit) - Expected   18616529.0, actual 18616529 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 24 - 0.021%

Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     227963.2, actual 227278 (1.00x) (-685)
Testing collisions (high 29-45 bits) - Worst is 36 bits: 14516/14247 (1.02x)
Testing collisions (high 12-bit) - Expected   44247329.0, actual 44247329 (1.00x)
Testing collisions (high  8-bit) - Expected   44251169.0, actual 44251169 (1.00x)
Testing collisions (low  32-bit) - Expected     227963.2, actual 227828 (1.00x) (-135)
Testing collisions (low  29-45 bits) - Worst is 44 bits: 65/55 (1.17x)
Testing collisions (low  12-bit) - Expected   44247329.0, actual 44247329 (1.00x)
Testing collisions (low   8-bit) - Expected   44251169.0, actual 44251169 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.009%

Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     871784.7, actual 866292 (0.99x) (-5492)
Testing collisions (high 30-47 bits) - Worst is 47 bits: 28/26 (1.05x)
Testing collisions (high 12-bit) - Expected   86532449.0, actual 86532449 (1.00x)
Testing collisions (high  8-bit) - Expected   86536289.0, actual 86536289 (1.00x)
Testing collisions (low  32-bit) - Expected     871784.7, actual 867436 (1.00x) (-4348)
Testing collisions (low  30-47 bits) - Worst is 46 bits: 63/53 (1.18x)
Testing collisions (low  12-bit) - Expected   86532449.0, actual 86532449 (1.00x)
Testing collisions (low   8-bit) - Expected   86536289.0, actual 86536289 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 38 - 0.004%

Keyset 'TwoBytes' - up-to-24-byte keys, 149633745 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected    2606569.0, actual 2575049 (0.99x) (-31520)
Testing collisions (high 30-48 bits) - Worst is 43 bits: 1317/1272 (1.03x)
Testing collisions (high 12-bit) - Expected  149629649.0, actual 149629649 (1.00x)
Testing collisions (high  8-bit) - Expected  149633489.0, actual 149633489 (1.00x)
Testing collisions (low  32-bit) - Expected    2606569.0, actual 2577069 (0.99x) (-29500)
Testing collisions (low  30-48 bits) - Worst is 46 bits: 174/159 (1.09x)
Testing collisions (low  12-bit) - Expected  149629649.0, actual 149629649 (1.00x)
Testing collisions (low   8-bit) - Expected  149633489.0, actual 149633489 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.002%


[[[ Keyset 'Text' Tests ]]]

Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      25418.1, actual  25599 (1.01x) (181)
Testing collisions (high 27-42 bits) - Worst is 32 bits: 25599/25418 (1.01x)
Testing collisions (high 12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (high  8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing collisions (low  32-bit) - Expected      25418.1, actual  25268 (0.99x) (-150)
Testing collisions (low  27-42 bits) - Worst is 39 bits: 203/198 (1.02x)
Testing collisions (low  12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (low   8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 57 - 0.021%

Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      25418.1, actual  25599 (1.01x) (181)
Testing collisions (high 27-42 bits) - Worst is 40 bits: 114/99 (1.15x)
Testing collisions (high 12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (high  8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing collisions (low  32-bit) - Expected      25418.1, actual  25541 (1.00x) (123)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 30/24 (1.21x)
Testing collisions (low  12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (low   8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.023%

Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      25418.1, actual  25662 (1.01x) (244)
Testing collisions (high 27-42 bits) - Worst is 36 bits: 1662/1588 (1.05x)
Testing collisions (high 12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (high  8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing collisions (low  32-bit) - Expected      25418.1, actual  25320 (1.00x) (-98)
Testing collisions (low  27-42 bits) - Worst is 37 bits: 855/794 (1.08x)
Testing collisions (low  12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (low   8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 63 - 0.021%

Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1862.6, actual   1901 (1.02x) (39)
Testing collisions (high 25-38 bits) - Worst is 38 bits: 38/29 (1.31x)
Testing collisions (high 12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (high  8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing collisions (low  32-bit) - Expected       1862.6, actual   1861 (1.00x) (-1)
Testing collisions (low  25-38 bits) - Worst is 38 bits: 41/29 (1.41x)
Testing collisions (low  12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (low   8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 62 - 0.048%

Keyset 'Words' - 4000000 random keys of len 6-16 from password charset
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1862.6, actual   1881 (1.01x) (19)
Testing collisions (high 25-38 bits) - Worst is 32 bits: 1881/1862 (1.01x)
Testing collisions (high 12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (high  8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing collisions (low  32-bit) - Expected       1862.6, actual   1850 (0.99x) (-12)
Testing collisions (low  25-38 bits) - Worst is 36 bits: 133/116 (1.14x)
Testing collisions (low  12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (low   8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 37 - 0.064%

Keyset 'Words' - 102305 dict words
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected          1.2, actual      1 (0.82x)
Testing collisions (high 20-27 bits) - Worst is 25 bits: 158/155 (1.01x)
Testing collisions (high 12-bit) - Expected      98209.0, actual  98209 (1.00x)
Testing collisions (high  8-bit) - Expected     102049.0, actual 102049 (1.00x)
Testing collisions (low  32-bit) - Expected          1.2, actual      2 (1.64x) (1)
Testing collisions (low  20-27 bits) - Worst is 27 bits: 40/38 (1.03x)
Testing collisions (low  12-bit) - Expected      98209.0, actual  98209 (1.00x)
Testing collisions (low   8-bit) - Expected     102049.0, actual 102049 (1.00x)
Testing distribution - Worst bias is the 14-bit window at bit 22 - 0.449%


[[[ Keyset 'Zeroes' Tests ]]]

Keyset 'Zeroes' - 204800 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected          4.9, actual      4 (0.82x)
Testing collisions (high 21-29 bits) - Worst is 27 bits: 164/156 (1.05x)
Testing collisions (high 12-bit) - Expected     200704.0, actual 200704 (1.00x)
Testing collisions (high  8-bit) - Expected     204544.0, actual 204544 (1.00x)
Testing collisions (low  32-bit) - Expected          4.9, actual      2 (0.41x)
Testing collisions (low  21-29 bits) - Worst is 23 bits: 2485/2499 (0.99x)
Testing collisions (low  12-bit) - Expected     200704.0, actual 200704 (1.00x)
Testing collisions (low   8-bit) - Expected     204544.0, actual 204544 (1.00x)
Testing distribution - Worst bias is the 15-bit window at bit 33 - 0.293%


[[[ Keyset 'Seed' Tests ]]]

Keyset 'Seed' - 5000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2910.4, actual   2933 (1.01x) (23)
Testing collisions (high 26-39 bits) - Worst is 39 bits: 25/22 (1.10x)
Testing collisions (high 12-bit) - Expected    4995904.0, actual 4995904 (1.00x)
Testing collisions (high  8-bit) - Expected    4999744.0, actual 4999744 (1.00x)
Testing collisions (low  32-bit) - Expected       2910.4, actual   2915 (1.00x) (5)
Testing collisions (low  26-39 bits) - Worst is 35 bits: 409/363 (1.12x)
Testing collisions (low  12-bit) - Expected    4995904.0, actual 4995904 (1.00x)
Testing collisions (low   8-bit) - Expected    4999744.0, actual 4999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 53 - 0.041%


[[[ Keyset 'PerlinNoise' Tests ]]]

Testing 16777216 coordinates (L2) : 
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32732 (1.00x) (-35)
Testing collisions (high 27-42 bits) - Worst is 40 bits: 130/127 (1.02x)
Testing collisions (high 12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (high  8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32668 (1.00x) (-99)
Testing collisions (low  27-42 bits) - Worst is 40 bits: 151/127 (1.18x)
Testing collisions (low  12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (low   8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 38 - 0.020%

Testing 16777216 coordinates (L4) : 
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32636 (1.00x) (-131)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 35/31 (1.09x)
Testing collisions (high 12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (high  8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32394 (0.99x) (-373)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 35/31 (1.09x)
Testing collisions (low  12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (low   8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 60 - 0.022%

Testing 16777216 coordinates (L8) : 
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32581 (0.99x) (-186)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 38/31 (1.19x)
Testing collisions (high 12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (high  8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32672 (1.00x) (-95)
Testing collisions (low  27-42 bits) - Worst is 41 bits: 71/63 (1.11x)
Testing collisions (low  12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (low   8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 56 - 0.023%

Testing 16777216 coordinates (L16) : 
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      32768.0, actual  32777 (1.00x) (10)
Testing collisions (high 27-42 bits) - Worst is 42 bits: 37/31 (1.16x)
Testing collisions (high 12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (high  8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing collisions (low  32-bit) - Expected      32768.0, actual  32672 (1.00x) (-95)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 34/31 (1.06x)
Testing collisions (low  12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (low   8-bit) - Expected   16776960.0, actual 16776960 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 27 - 0.015%


[[[ Diff 'Differential' Tests ]]]

Testing 8303632 up-to-5-bit differentials in 64-bit keys -> 64 bit hashes.
1000 reps, 8303632000 total tests, expecting 0.00 random collisions..........
0 total collisions, of which 0 single collisions were ignored

Testing 11017632 up-to-4-bit differentials in 128-bit keys -> 64 bit hashes.
1000 reps, 11017632000 total tests, expecting 0.00 random collisions..........
0 total collisions, of which 0 single collisions were ignored

Testing 2796416 up-to-3-bit differentials in 256-bit keys -> 64 bit hashes.
1000 reps, 2796416000 total tests, expecting 0.00 random collisions..........
0 total collisions, of which 0 single collisions were ignored


[[[ DiffDist 'Differential Distribution' Tests ]]]

Testing bit 0
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    456 (0.89x)
Testing collisions (high 24-36 bits) - Worst is 27 bits: 16305/16383 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    529 (1.03x) (18)
Testing collisions (low  24-36 bits) - Worst is 32 bits: 529/511 (1.03x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 1
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    510 (1.00x) (-1)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 68/63 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    523 (1.02x) (12)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 274/255 (1.07x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 2
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    539 (1.05x) (28)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1089/1023 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    511 (1.00x)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 266/255 (1.04x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 3
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    513 (1.00x) (2)
Testing collisions (high 24-36 bits) - Worst is 33 bits: 259/255 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    519 (1.01x) (8)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 268/255 (1.05x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 4
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    502 (0.98x) (-9)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 33/31 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    541 (1.06x) (30)
Testing collisions (low  24-36 bits) - Worst is 34 bits: 142/127 (1.11x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 5
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    489 (0.96x)
Testing collisions (high 24-36 bits) - Worst is 28 bits: 8299/8191 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    511 (1.00x)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 77/63 (1.20x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 6
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    545 (1.06x) (34)
Testing collisions (high 24-36 bits) - Worst is 32 bits: 545/511 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    516 (1.01x) (5)
Testing collisions (low  24-36 bits) - Worst is 30 bits: 2098/2047 (1.02x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 7
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    479 (0.94x)
Testing collisions (high 24-36 bits) - Worst is 28 bits: 8157/8191 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    520 (1.02x) (9)
Testing collisions (low  24-36 bits) - Worst is 34 bits: 137/127 (1.07x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 8
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    570 (1.11x) (59)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 40/31 (1.25x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    536 (1.05x) (25)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 80/63 (1.25x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 9
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    522 (1.02x) (11)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1105/1023 (1.08x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    518 (1.01x) (7)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 261/255 (1.02x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 10
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    502 (0.98x) (-9)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 134/127 (1.05x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    548 (1.07x) (37)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 35/31 (1.09x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 11
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    500 (0.98x)
Testing collisions (high 24-36 bits) - Worst is 29 bits: 4147/4095 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    469 (0.92x)
Testing collisions (low  24-36 bits) - Worst is 26 bits: 32303/32767 (0.99x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 12
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    483 (0.94x)
Testing collisions (high 24-36 bits) - Worst is 33 bits: 268/255 (1.05x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    547 (1.07x) (36)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 41/31 (1.28x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 13
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    455 (0.89x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 33/31 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    521 (1.02x) (10)
Testing collisions (low  24-36 bits) - Worst is 34 bits: 137/127 (1.07x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 14
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    543 (1.06x) (32)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 141/127 (1.10x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    494 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 258/255 (1.01x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 15
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    516 (1.01x) (5)
Testing collisions (high 24-36 bits) - Worst is 32 bits: 516/511 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    507 (0.99x) (-4)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 46/31 (1.44x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 16
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    499 (0.97x)
Testing collisions (high 24-36 bits) - Worst is 29 bits: 4066/4095 (0.99x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    501 (0.98x)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 38/31 (1.19x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 17
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    507 (0.99x) (-4)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1023/1023 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    543 (1.06x) (32)
Testing collisions (low  24-36 bits) - Worst is 32 bits: 543/511 (1.06x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 18
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    490 (0.96x)
Testing collisions (high 24-36 bits) - Worst is 30 bits: 2035/2047 (0.99x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    491 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 68/63 (1.06x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 19
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    477 (0.93x)
Testing collisions (high 24-36 bits) - Worst is 30 bits: 2032/2047 (0.99x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    551 (1.08x) (40)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 293/255 (1.14x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 20
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    519 (1.01x) (8)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 67/63 (1.05x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    492 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 258/255 (1.01x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 21
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    523 (1.02x) (12)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    535 (1.04x) (24)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 36/31 (1.13x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 22
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    523 (1.02x) (12)
Testing collisions (high 24-36 bits) - Worst is 30 bits: 2120/2047 (1.04x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    477 (0.93x)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 38/31 (1.19x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 23
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    540 (1.05x) (29)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 80/63 (1.25x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    520 (1.02x) (9)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 274/255 (1.07x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 24
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    504 (0.98x) (-7)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 40/31 (1.25x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    552 (1.08x) (41)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 44/31 (1.38x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 25
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    536 (1.05x) (25)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 136/127 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    504 (0.98x) (-7)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 35/31 (1.09x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 26
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    512 (1.00x) (1)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 45/31 (1.41x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    492 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 67/63 (1.05x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 27
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    487 (0.95x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 42/31 (1.31x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    515 (1.01x) (4)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 36/31 (1.13x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 28
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    517 (1.01x) (6)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 36/31 (1.13x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    479 (0.94x)
Testing collisions (low  24-36 bits) - Worst is 27 bits: 16099/16383 (0.98x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 29
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    502 (0.98x) (-9)
Testing collisions (high 24-36 bits) - Worst is 28 bits: 8232/8191 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    576 (1.13x) (65)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 289/255 (1.13x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 30
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    499 (0.97x)
Testing collisions (high 24-36 bits) - Worst is 30 bits: 2105/2047 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    532 (1.04x) (21)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 295/255 (1.15x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 31
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    481 (0.94x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 33/31 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    492 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 34 bits: 136/127 (1.06x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 32
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    474 (0.93x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 34/31 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    485 (0.95x)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 66/63 (1.03x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 33
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    536 (1.05x) (25)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 136/127 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    499 (0.97x)
Testing collisions (low  24-36 bits) - Worst is 29 bits: 4101/4095 (1.00x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 34
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    484 (0.95x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 46/31 (1.44x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    536 (1.05x) (25)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 86/63 (1.34x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 35
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    513 (1.00x) (2)
Testing collisions (high 24-36 bits) - Worst is 33 bits: 258/255 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    480 (0.94x)
Testing collisions (low  24-36 bits) - Worst is 31 bits: 1038/1023 (1.01x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 36
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    487 (0.95x)
Testing collisions (high 24-36 bits) - Worst is 28 bits: 8212/8191 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    540 (1.05x) (29)
Testing collisions (low  24-36 bits) - Worst is 31 bits: 1087/1023 (1.06x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 37
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    486 (0.95x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 43/31 (1.34x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    521 (1.02x) (10)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 33/31 (1.03x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 38
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    483 (0.94x)
Testing collisions (high 24-36 bits) - Worst is 29 bits: 4180/4095 (1.02x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    519 (1.01x) (8)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 38/31 (1.19x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 39
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    519 (1.01x) (8)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 133/127 (1.04x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    535 (1.04x) (24)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 282/255 (1.10x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 40
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    557 (1.09x) (46)
Testing collisions (high 24-36 bits) - Worst is 32 bits: 557/511 (1.09x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    494 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 29 bits: 4076/4095 (1.00x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 41
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    497 (0.97x)
Testing collisions (high 24-36 bits) - Worst is 30 bits: 2083/2047 (1.02x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    531 (1.04x) (20)
Testing collisions (low  24-36 bits) - Worst is 33 bits: 268/255 (1.05x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 42
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    531 (1.04x) (20)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1068/1023 (1.04x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    505 (0.99x) (-6)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 36/31 (1.13x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 43
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    495 (0.97x)
Testing collisions (high 24-36 bits) - Worst is 28 bits: 8316/8191 (1.02x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    528 (1.03x) (17)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 73/63 (1.14x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 44
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    517 (1.01x) (6)
Testing collisions (high 24-36 bits) - Worst is 33 bits: 276/255 (1.08x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    527 (1.03x) (16)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 74/63 (1.16x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 45
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    516 (1.01x) (5)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 73/63 (1.14x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    493 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 28 bits: 8291/8191 (1.01x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 46
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    487 (0.95x)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 32/31 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    512 (1.00x) (1)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 44/31 (1.38x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 47
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    534 (1.04x) (23)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 138/127 (1.08x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    477 (0.93x)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 35/31 (1.09x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 48
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    503 (0.98x) (-8)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 65/63 (1.02x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    484 (0.95x)
Testing collisions (low  24-36 bits) - Worst is 29 bits: 4148/4095 (1.01x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 49
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    479 (0.94x)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    487 (0.95x)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 76/63 (1.19x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 50
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    542 (1.06x) (31)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 79/63 (1.23x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    527 (1.03x) (16)
Testing collisions (low  24-36 bits) - Worst is 32 bits: 527/511 (1.03x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 51
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    503 (0.98x) (-8)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 38/31 (1.19x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    496 (0.97x)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 37/31 (1.16x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 52
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    508 (0.99x) (-3)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 69/63 (1.08x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    504 (0.98x) (-7)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 43/31 (1.34x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 53
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    500 (0.98x)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1051/1023 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    501 (0.98x)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 41/31 (1.28x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 54
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    527 (1.03x) (16)
Testing collisions (high 24-36 bits) - Worst is 32 bits: 527/511 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    509 (0.99x) (-2)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 35/31 (1.09x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 55
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    519 (1.01x) (8)
Testing collisions (high 24-36 bits) - Worst is 32 bits: 519/511 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    509 (0.99x) (-2)
Testing collisions (low  24-36 bits) - Worst is 31 bits: 1067/1023 (1.04x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 56
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    517 (1.01x) (6)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 131/127 (1.02x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    516 (1.01x) (5)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 36/31 (1.13x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 57
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    539 (1.05x) (28)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 35/31 (1.09x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    527 (1.03x) (16)
Testing collisions (low  24-36 bits) - Worst is 32 bits: 527/511 (1.03x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 58
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    508 (0.99x) (-3)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1053/1023 (1.03x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    511 (1.00x)
Testing collisions (low  24-36 bits) - Worst is 28 bits: 8348/8191 (1.02x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 59
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    448 (0.88x)
Testing collisions (high 24-36 bits) - Worst is 28 bits: 8130/8191 (0.99x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    512 (1.00x) (1)
Testing collisions (low  24-36 bits) - Worst is 32 bits: 512/511 (1.00x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 60
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    530 (1.04x) (19)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 43/31 (1.34x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    536 (1.05x) (25)
Testing collisions (low  24-36 bits) - Worst is 36 bits: 34/31 (1.06x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 61
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    525 (1.03x) (14)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 34/31 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    551 (1.08x) (40)
Testing collisions (low  24-36 bits) - Worst is 32 bits: 551/511 (1.08x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 62
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    511 (1.00x)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 82/63 (1.28x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    492 (0.96x)
Testing collisions (low  24-36 bits) - Worst is 30 bits: 2115/2047 (1.03x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)

Testing bit 63
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    537 (1.05x) (26)
Testing collisions (high 24-36 bits) - Worst is 33 bits: 269/255 (1.05x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual    484 (0.95x)
Testing collisions (low  24-36 bits) - Worst is 30 bits: 2071/2047 (1.01x)
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2096896 (1.00x)


[[[ MomentChi2 Tests ]]]

Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 3 ... 
Target values to approximate : 38918200.000000 - 410450.000000 
Popcount 1 stats : 38919000.580223 - 410466.402304
Popcount 0 stats : 38918889.159114 - 410476.961527
MomentChi2 for bits 1 :  0.780748 
MomentChi2 for bits 0 :  0.578541 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 38918151.443401 - 410423.685222
Popcount 0 stats : 38919071.828834 - 410456.124675
MomentChi2 for deriv b1 :  0.00287224 
MomentChi2 for deriv b0 :   0.92591 

  Great !! 

Analyze hashes produced from a serie of linearly increasing numbers of 64-bit, using a step of 3 ... 
Target values to approximate : 38918200.000000 - 410450.000000 
Popcount 1 stats : 38919270.099769 - 410486.338379
Popcount 0 stats : 38918428.471109 - 410416.124925
MomentChi2 for bits 1 :   1.39489 
MomentChi2 for bits 0 :  0.0635902 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 38920151.194920 - 410486.209740
Popcount 0 stats : 38917663.692127 - 410436.498298
MomentChi2 for deriv b1 :   4.63759 
MomentChi2 for deriv b0 :  0.350385 

  Great !! 

Analyze hashes produced from a serie of linearly increasing numbers of 128-bit, using a step of 3 ... 
Target values to approximate : 38918200.000000 - 410450.000000 
Popcount 1 stats : 38918066.015215 - 410425.616060
Popcount 0 stats : 38919376.739015 - 410466.963383
MomentChi2 for bits 1 :  0.0218692 
MomentChi2 for bits 0 :   1.68679 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 38918657.259873 - 410471.356864
Popcount 0 stats : 38919394.737186 - 410480.631228
MomentChi2 for deriv b1 :  0.254697 
MomentChi2 for deriv b0 :   1.73875 

  Great !! 


[[[ Prng Tests ]]]

Generating 33554432 random numbers : 
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     131072.0, actual 130819 (1.00x) (-252)
Testing collisions (high 28-44 bits) - Worst is 43 bits: 66/63 (1.03x)
Testing collisions (high 12-bit) - Expected   33550336.0, actual 33550336 (1.00x)
Testing collisions (high  8-bit) - Expected   33554176.0, actual 33554176 (1.00x)
Testing collisions (low  32-bit) - Expected     131072.0, actual 130228 (0.99x) (-843)
Testing collisions (low  28-44 bits) - Worst is 32 bits: 130228/131071 (0.99x)
Testing collisions (low  12-bit) - Expected   33550336.0, actual 33550336 (1.00x)
Testing collisions (low   8-bit) - Expected   33554176.0, actual 33554176 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 33 - 0.008%


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 1919.317562 seconds
-------------------------------------------------------------------------------
