--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ Avalanche Tests ]]]

Testing   24-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.616000%
Testing   32-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.580667%
Testing   40-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.756000%
Testing   48-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.744667%
Testing   56-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.603333%
Testing   64-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.625333%
Testing   72-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.636000%
Testing   80-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.745333%
Testing   96-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.689333%
Testing  112-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.725333%
Testing  128-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.732667%
Testing  160-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.834000%
Testing  512-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.737333%
Testing 1024-bit keys ->  64-bit hashes, 300000 reps worst bias is 0.796000%


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 291.772237 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ BIC 'Bit Independence Criteria' Tests ]]]

...........
Max bias 0.008336 - (  1 :  40, 61)


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 241.295781 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 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        232.8, actual    116 (0.50x)
Testing collisions (high 24-35 bits) - Worst is 35 bits: 18/29 (0.62x)
Testing collisions (high 12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        232.8, actual     95 (0.41x)
Testing collisions (low  24-35 bits) - Worst is 26 bits: 7452/14901 (0.50x)
Testing collisions (low  12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit 27 - 0.086%

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        232.8, actual    125 (0.54x)
Testing collisions (high 24-35 bits) - Worst is 35 bits: 21/29 (0.72x)
Testing collisions (high 12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        232.8, actual    134 (0.58x)
Testing collisions (low  24-35 bits) - Worst is 34 bits: 39/58 (0.67x)
Testing collisions (low  12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit 18 - 0.095%

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        232.8, actual    116 (0.50x)
Testing collisions (high 24-35 bits) - Worst is 34 bits: 36/58 (0.62x)
Testing collisions (high 12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        232.8, actual    135 (0.58x)
Testing collisions (low  24-35 bits) - Worst is 35 bits: 24/29 (0.82x)
Testing collisions (low  12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit  6 - 0.106%

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        232.8, actual    110 (0.47x)
Testing collisions (high 24-35 bits) - Worst is 28 bits: 1904/3725 (0.51x)
Testing collisions (high 12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        232.8, actual    124 (0.53x)
Testing collisions (low  24-35 bits) - Worst is 34 bits: 32/58 (0.55x)
Testing collisions (low  12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit  4 - 0.116%

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        232.8, actual    114 (0.49x)
Testing collisions (high 24-35 bits) - Worst is 35 bits: 18/29 (0.62x)
Testing collisions (high 12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        232.8, actual    109 (0.47x)
Testing collisions (low  24-35 bits) - Worst is 31 bits: 260/465 (0.56x)
Testing collisions (low  12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit 18 - 0.129%

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        232.8, actual    115 (0.49x)
Testing collisions (high 24-35 bits) - Worst is 33 bits: 60/116 (0.52x)
Testing collisions (high 12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        232.8, actual    127 (0.55x)
Testing collisions (low  24-35 bits) - Worst is 35 bits: 20/29 (0.69x)
Testing collisions (low  12-bit) - Expected    1000000.0, actual 995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1000000.0, actual 999744 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit 54 - 0.096%



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 9.952394 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 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



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 673.055431 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

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

Testing bit 0
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    491 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 29 bits: 4191/8191 (0.51x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    482 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2105/4095 (0.51x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 1
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    505 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 33/63 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    473 (0.46x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 20/31 (0.63x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 2
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    481 (0.47x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 70/127 (0.55x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    503 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 20/31 (0.63x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 3
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    563 (0.55x)
Testing collisions (high 25-37 bits) - Worst is 33 bits: 284/511 (0.55x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    548 (0.54x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 21/31 (0.66x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 4
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    508 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 76/127 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    512 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 20/31 (0.63x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 5
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    528 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 18/31 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    513 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 68/127 (0.53x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 6
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    520 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 30 bits: 2108/4095 (0.51x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    529 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 23/31 (0.72x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 7
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    467 (0.46x)
Testing collisions (high 25-37 bits) - Worst is 27 bits: 16394/32767 (0.50x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    466 (0.46x)
Testing collisions (low  25-37 bits) - Worst is 27 bits: 16304/32767 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 8
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    530 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 41/63 (0.64x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    482 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 28 bits: 8087/16383 (0.49x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 9
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    521 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 32 bits: 521/1023 (0.51x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    539 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 32 bits: 539/1023 (0.53x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 10
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    522 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 75/127 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    525 (0.51x)
Testing collisions (low  25-37 bits) - Worst is 32 bits: 525/1023 (0.51x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 11
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    488 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 29/31 (0.91x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    511 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 20/31 (0.63x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 12
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    497 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 31 bits: 1078/2047 (0.53x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    501 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 39/63 (0.61x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 13
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    538 (0.53x)
Testing collisions (high 25-37 bits) - Worst is 32 bits: 538/1023 (0.53x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    546 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 145/255 (0.57x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 14
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    536 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 31 bits: 1095/2047 (0.53x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    455 (0.44x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 67/127 (0.52x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 15
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    498 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 137/255 (0.54x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    524 (0.51x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 34/63 (0.53x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 16
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    494 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 36/63 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    479 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 28 bits: 8178/16383 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 17
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    494 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 72/127 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    504 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2065/4095 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 18
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    534 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 77/127 (0.60x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    533 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 150/255 (0.59x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 19
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    520 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 72/127 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    524 (0.51x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 145/255 (0.57x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 20
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    520 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 18/31 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    512 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 32 bits: 512/1023 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 21
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    495 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 19/31 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    501 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 141/255 (0.55x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 22
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    515 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 22/31 (0.69x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    530 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 33 bits: 279/511 (0.54x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 23
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    519 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 19/31 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    486 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 38/63 (0.59x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 24
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    500 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 19/31 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    540 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 79/127 (0.62x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 25
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    487 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 33/63 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    545 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 41/63 (0.64x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 26
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    497 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 31 bits: 1052/2047 (0.51x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    515 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 27 bits: 16499/32767 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 27
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    481 (0.47x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 36/63 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    479 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 29 bits: 4084/8191 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 28
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    540 (0.53x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 74/127 (0.58x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    528 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 151/255 (0.59x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 29
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    555 (0.54x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 140/255 (0.55x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    479 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 26 bits: 32341/65535 (0.49x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 30
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    529 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 21/31 (0.66x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    504 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2073/4095 (0.51x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 31
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    501 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 72/127 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    516 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 83/127 (0.65x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 32
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    567 (0.55x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 20/31 (0.63x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    550 (0.54x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 22/31 (0.69x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 33
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    536 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 21/31 (0.66x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    517 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 75/127 (0.59x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 34
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    511 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 71/127 (0.55x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    524 (0.51x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 22/31 (0.69x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 35
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    510 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 30 bits: 2082/4095 (0.51x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    481 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2035/4095 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 36
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    482 (0.47x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 16/31 (0.50x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    504 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 65/127 (0.51x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 37
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    506 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 136/255 (0.53x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    495 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2052/4095 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 38
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    523 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 41/63 (0.64x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    541 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 19/31 (0.59x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 39
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    507 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 36/63 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    491 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2077/4095 (0.51x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 40
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    526 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 17/31 (0.53x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    473 (0.46x)
Testing collisions (low  25-37 bits) - Worst is 26 bits: 32186/65535 (0.49x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 41
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    520 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 33 bits: 287/511 (0.56x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    488 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 129/255 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 42
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    503 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 19/31 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    470 (0.46x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 129/255 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 43
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    511 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 24/31 (0.75x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    519 (0.51x)
Testing collisions (low  25-37 bits) - Worst is 31 bits: 1049/2047 (0.51x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 44
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    504 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 40/63 (0.63x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    532 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 80/127 (0.63x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 45
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    505 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 29 bits: 4125/8191 (0.50x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    488 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 21/31 (0.66x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 46
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    537 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 32 bits: 537/1023 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    509 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 31 bits: 1058/2047 (0.52x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 47
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    512 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 36 bits: 41/63 (0.64x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    506 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 40/63 (0.63x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 48
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    508 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 134/255 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    537 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 38/63 (0.59x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 49
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    515 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 21/31 (0.66x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    491 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 67/127 (0.52x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 50
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    528 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 31 bits: 1061/2047 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    486 (0.47x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 68/127 (0.53x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 51
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    531 (0.52x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 20/31 (0.63x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    543 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 39/63 (0.61x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 52
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    503 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 22/31 (0.69x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    494 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 39/63 (0.61x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 53
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    476 (0.46x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 128/255 (0.50x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    513 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 33 bits: 281/511 (0.55x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 54
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    493 (0.48x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 75/127 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    487 (0.48x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 18/31 (0.56x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 55
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    509 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 67/127 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    522 (0.51x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 142/255 (0.55x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 56
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    501 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 66/127 (0.52x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    507 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 21/31 (0.66x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 57
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    480 (0.47x)
Testing collisions (high 25-37 bits) - Worst is 30 bits: 2045/4095 (0.50x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    532 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 31 bits: 1074/2047 (0.52x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 58
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    514 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 147/255 (0.57x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    509 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 36 bits: 36/63 (0.56x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 59
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    520 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 19/31 (0.59x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    545 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 25/31 (0.78x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 60
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    501 (0.49x)
Testing collisions (high 25-37 bits) - Worst is 33 bits: 275/511 (0.54x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    499 (0.49x)
Testing collisions (low  25-37 bits) - Worst is 34 bits: 141/255 (0.55x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 61
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    513 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 82/127 (0.64x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    473 (0.46x)
Testing collisions (low  25-37 bits) - Worst is 35 bits: 68/127 (0.53x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 62
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    465 (0.45x)
Testing collisions (high 25-37 bits) - Worst is 34 bits: 129/255 (0.50x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    516 (0.50x)
Testing collisions (low  25-37 bits) - Worst is 32 bits: 516/1023 (0.50x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)

Testing bit 63
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1024.0, actual    519 (0.51x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 23/31 (0.72x)
Testing collisions (high 12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1024.0, actual    533 (0.52x)
Testing collisions (low  25-37 bits) - Worst is 30 bits: 2148/4095 (0.52x)
Testing collisions (low  12-bit) - Expected    2097152.0, actual 2093056 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2097152.0, actual 2096896 (1.00x) (-256)



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 39.098494 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 'Hashmap' Speed Tests ]]]

std::unordered_map
Init std HashMapTest:     608.545 cycles/op (102401 inserts, 1% deletions)
Running std HashMapTest:  393.450 cycles/op (36.1 stdv)

greg7mdp/parallel-hashmap
Init fast HashMapTest:    373.919 cycles/op (102401 inserts, 1% deletions)
Running fast HashMapTest: 262.193 cycles/op (13.2 stdv)  ....... PASS


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 1.782741 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ MomentChi2 Tests ]]]

Running 1st unseeded MomentChi2 for the low 32bits/step 3 ... 38918933.060616 - 410490.576669
Running 2nd   seeded MomentChi2 for the low 32bits/step 3 ... 38917708.697537 - 410487.007379
KeySeedMomentChi2:	1.82595	PASS


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 232.038575 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 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       1337.5, actual    693 (0.52x)
Testing collisions (high 25-38 bits) - Worst is 37 bits: 22/41 (0.53x)
Testing collisions (high 12-bit) - Expected    2396744.0, actual 2392648 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2396744.0, actual 2396488 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1337.5, actual    682 (0.51x)
Testing collisions (low  25-38 bits) - Worst is 35 bits: 100/167 (0.60x)
Testing collisions (low  12-bit) - Expected    2396744.0, actual 2392648 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2396744.0, actual 2396488 (1.00x) (-256)
Testing distribution - Worst bias is the 18-bit window at bit 60 - 0.054%


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       1337.5, actual    698 (0.52x)
Testing collisions (high 25-38 bits) - Worst is 32 bits: 698/1337 (0.52x)
Testing collisions (high 12-bit) - Expected    2396744.0, actual 2392648 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2396744.0, actual 2396488 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1337.5, actual    682 (0.51x)
Testing collisions (low  25-38 bits) - Worst is 37 bits: 23/41 (0.55x)
Testing collisions (low  12-bit) - Expected    2396744.0, actual 2392648 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2396744.0, actual 2396488 (1.00x) (-256)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.088%


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      34678.6, actual  17393 (0.50x)
Testing collisions (high 27-42 bits) - Worst is 38 bits: 286/541 (0.53x)
Testing collisions (high 12-bit) - Expected   12204240.0, actual 12200144 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   12204240.0, actual 12203984 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      34678.6, actual  17379 (0.50x)
Testing collisions (low  27-42 bits) - Worst is 42 bits: 22/33 (0.65x)
Testing collisions (low  12-bit) - Expected   12204240.0, actual 12200144 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   12204240.0, actual 12203984 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 49 - 0.032%


Combination 0x8000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8195 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 37/63 (0.58x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8186 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 41 bits: 17/31 (0.53x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.047%


Combination 0x0000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8337 (0.51x)
Testing collisions (high 27-41 bits) - Worst is 36 bits: 524/1023 (0.51x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8175 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 41 bits: 23/31 (0.72x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 54 - 0.044%


Combination 0x800000000000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8041 (0.49x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 38/63 (0.59x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8273 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 39 bits: 75/127 (0.59x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 54 - 0.028%


Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8139 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 37 bits: 269/511 (0.53x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8210 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 33 bits: 4164/8191 (0.51x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit  5 - 0.036%


Combination 16-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8287 (0.51x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 37/63 (0.58x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8147 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 41 bits: 17/31 (0.53x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 39 - 0.032%


Combination 16-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8191 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 38/63 (0.59x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8044 (0.49x)
Testing collisions (low  27-41 bits) - Worst is 39 bits: 66/127 (0.52x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 57 - 0.035%


Combination 32-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8066 (0.49x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 35/63 (0.55x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8275 (0.51x)
Testing collisions (low  27-41 bits) - Worst is 40 bits: 44/63 (0.69x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit  7 - 0.028%


Combination 32-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8249 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 41 bits: 23/31 (0.72x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8169 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 41 bits: 21/31 (0.66x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 48 - 0.049%


Combination 64-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8098 (0.49x)
Testing collisions (high 27-41 bits) - Worst is 39 bits: 74/127 (0.58x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8103 (0.49x)
Testing collisions (low  27-41 bits) - Worst is 33 bits: 4116/8191 (0.50x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit  9 - 0.041%


Combination 64-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8137 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 35 bits: 1094/2047 (0.53x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8012 (0.49x)
Testing collisions (low  27-41 bits) - Worst is 37 bits: 277/511 (0.54x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.032%


Combination 128-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8172 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 41 bits: 21/31 (0.66x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8089 (0.49x)
Testing collisions (low  27-41 bits) - Worst is 41 bits: 21/31 (0.66x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.050%


Combination 128-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      16384.0, actual   8112 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 32/63 (0.50x)
Testing collisions (high 12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16384.0, actual   8156 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 40 bits: 42/63 (0.66x)
Testing collisions (low  12-bit) - Expected    8388606.0, actual 8384510 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8388606.0, actual 8388350 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 37 - 0.041%



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 230.962621 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ Sanity Tests ]]]

Verification value 0xCBB93D6C ....... FAIL! (Expected 0xF00DACCA)
Running sanity check 1     .......... PASS
Running AppendedZeroesTest .......... PASS


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 10.734202 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ Keyset 'Seed' Tests ]]]

Keyset 'Seed' - 5000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       5820.8, actual   2825 (0.49x)
Testing collisions (high 26-40 bits) - Worst is 38 bits: 50/90 (0.55x)
Testing collisions (high 12-bit) - Expected    5000000.0, actual 4995904 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    5000000.0, actual 4999744 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       5820.8, actual   2901 (0.50x)
Testing collisions (low  26-40 bits) - Worst is 40 bits: 13/22 (0.57x)
Testing collisions (low  12-bit) - Expected    5000000.0, actual 4995904 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    5000000.0, actual 4999744 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 50 - 0.052%



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 8.153211 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 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.6, actual      1 (1.67x) (1)
Testing collisions (high 19-26 bits) - Worst is 25 bits: 42/76 (0.55x)
Testing collisions (high 12-bit) - Expected      50643.0, actual  46547 (0.92x)
Testing collisions (high  8-bit) - Expected      50643.0, actual  50387 (0.99x) (-256)
Testing collisions (low  32-bit) - Expected          0.6, actual      0 (0.00x)
Testing collisions (low  19-26 bits) - Worst is 21 bits: 608/1222 (0.50x)
Testing collisions (low  12-bit) - Expected      50643.0, actual  46547 (0.92x)
Testing collisions (low   8-bit) - Expected      50643.0, actual  50387 (0.99x) (-256)
Testing distribution - Worst bias is the 13-bit window at bit 46 - 0.461%

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        376.5, actual    205 (0.54x)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 52/94 (0.55x)
Testing collisions (high 12-bit) - Expected    1271626.0, actual 1267530 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    1271626.0, actual 1271370 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected        376.5, actual    201 (0.53x)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 27/47 (0.57x)
Testing collisions (low  12-bit) - Expected    1271626.0, actual 1267530 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    1271626.0, actual 1271370 (1.00x) (-256)
Testing distribution - Worst bias is the 17-bit window at bit 61 - 0.112%

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       4746.0, actual   2317 (0.49x)
Testing collisions (high 26-39 bits) - Worst is 39 bits: 28/37 (0.76x)
Testing collisions (high 12-bit) - Expected    4514873.0, actual 4510777 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    4514873.0, actual 4514617 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       4746.0, actual   2395 (0.50x)
Testing collisions (low  26-39 bits) - Worst is 36 bits: 162/296 (0.55x)
Testing collisions (low  12-bit) - Expected    4514873.0, actual 4510777 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    4514873.0, actual 4514617 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 21 - 0.035%

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       4923.4, actual   2395 (0.49x)
Testing collisions (high 26-39 bits) - Worst is 39 bits: 27/38 (0.70x)
Testing collisions (high 12-bit) - Expected    4598479.0, actual 4594383 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    4598479.0, actual 4598223 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       4923.4, actual   2490 (0.51x)
Testing collisions (low  26-39 bits) - Worst is 33 bits: 1256/2461 (0.51x)
Testing collisions (low  12-bit) - Expected    4598479.0, actual 4594383 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    4598479.0, actual 4598223 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 46 - 0.048%

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      46927.3, actual  23559 (0.50x)
Testing collisions (high 28-43 bits) - Worst is 38 bits: 376/733 (0.51x)
Testing collisions (high 12-bit) - Expected   14196869.0, actual 14192773 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   14196869.0, actual 14196613 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      46927.3, actual  23379 (0.50x)
Testing collisions (low  28-43 bits) - Worst is 40 bits: 96/183 (0.52x)
Testing collisions (low  12-bit) - Expected   14196869.0, actual 14192773 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   14196869.0, actual 14196613 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 34 - 0.029%

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       4139.3, actual   2038 (0.49x)
Testing collisions (high 26-39 bits) - Worst is 34 bits: 519/1034 (0.50x)
Testing collisions (high 12-bit) - Expected    4216423.0, actual 4212327 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    4216423.0, actual 4216167 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       4139.3, actual   2116 (0.51x)
Testing collisions (low  26-39 bits) - Worst is 38 bits: 46/64 (0.71x)
Testing collisions (low  12-bit) - Expected    4216423.0, actual 4212327 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    4216423.0, actual 4216167 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 21 - 0.056%

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      16053.7, actual   8065 (0.50x)
Testing collisions (high 27-41 bits) - Worst is 40 bits: 35/62 (0.56x)
Testing collisions (high 12-bit) - Expected    8303633.0, actual 8299537 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    8303633.0, actual 8303377 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      16053.7, actual   7985 (0.50x)
Testing collisions (low  27-41 bits) - Worst is 40 bits: 34/62 (0.54x)
Testing collisions (low  12-bit) - Expected    8303633.0, actual 8299537 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    8303633.0, actual 8303377 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 42 - 0.036%

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      52965.5, actual  26589 (0.50x)
Testing collisions (high 28-43 bits) - Worst is 43 bits: 16/25 (0.62x)
Testing collisions (high 12-bit) - Expected   15082603.0, actual 15078507 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   15082603.0, actual 15082347 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      52965.5, actual  26393 (0.50x)
Testing collisions (low  28-43 bits) - Worst is 43 bits: 16/25 (0.62x)
Testing collisions (low  12-bit) - Expected   15082603.0, actual 15078507 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   15082603.0, actual 15082347 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 25 - 0.024%

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       2802.7, actual   1375 (0.49x)
Testing collisions (high 26-39 bits) - Worst is 39 bits: 16/21 (0.73x)
Testing collisions (high 12-bit) - Expected    3469497.0, actual 3465401 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    3469497.0, actual 3469241 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       2802.7, actual   1447 (0.52x)
Testing collisions (low  26-39 bits) - Worst is 35 bits: 186/350 (0.53x)
Testing collisions (low  12-bit) - Expected    3469497.0, actual 3465401 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    3469497.0, actual 3469241 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 13 - 0.060%

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     169446.5, actual  84648 (0.50x)
Testing collisions (high 29-45 bits) - Worst is 45 bits: 16/20 (0.77x)
Testing collisions (high 12-bit) - Expected   26977161.0, actual 26973065 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   26977161.0, actual 26976905 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected     169446.5, actual  84248 (0.50x)
Testing collisions (low  29-45 bits) - Worst is 45 bits: 15/20 (0.73x)
Testing collisions (low  12-bit) - Expected   26977161.0, actual 26973065 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   26977161.0, actual 26976905 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.012%

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       1820.7, actual    926 (0.51x)
Testing collisions (high 25-38 bits) - Worst is 32 bits: 926/1820 (0.51x)
Testing collisions (high 12-bit) - Expected    2796417.0, actual 2792321 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2796417.0, actual 2796161 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1820.7, actual    899 (0.49x)
Testing collisions (low  25-38 bits) - Worst is 37 bits: 31/56 (0.54x)
Testing collisions (low  12-bit) - Expected    2796417.0, actual 2792321 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2796417.0, actual 2796161 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 31 - 0.064%

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     116512.9, actual  58278 (0.50x)
Testing collisions (high 28-44 bits) - Worst is 37 bits: 1853/3641 (0.51x)
Testing collisions (high 12-bit) - Expected   22370049.0, actual 22365953 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   22370049.0, actual 22369793 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected     116512.9, actual  58017 (0.50x)
Testing collisions (low  28-44 bits) - Worst is 43 bits: 32/56 (0.56x)
Testing collisions (low  12-bit) - Expected   22370049.0, actual 22365953 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   22370049.0, actual 22369793 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 47 - 0.018%

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         64.1, actual     26 (0.41x)
Testing collisions (high 23-33 bits) - Worst is 28 bits: 546/1026 (0.53x)
Testing collisions (high 12-bit) - Expected     524801.0, actual 520705 (0.99x) (-4096)
Testing collisions (high  8-bit) - Expected     524801.0, actual 524545 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected         64.1, actual     37 (0.58x)
Testing collisions (low  23-33 bits) - Worst is 31 bits: 80/128 (0.62x)
Testing collisions (low  12-bit) - Expected     524801.0, actual 520705 (0.99x) (-4096)
Testing collisions (low   8-bit) - Expected     524801.0, actual 524545 (1.00x) (-256)
Testing distribution - Worst bias is the 16-bit window at bit 62 - 0.179%

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       1025.0, actual    511 (0.50x)
Testing collisions (high 25-37 bits) - Worst is 37 bits: 18/32 (0.56x)
Testing collisions (high 12-bit) - Expected    2098177.0, actual 2094081 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    2098177.0, actual 2097921 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       1025.0, actual    540 (0.53x)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 21/32 (0.66x)
Testing collisions (low  12-bit) - Expected    2098177.0, actual 2094081 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    2098177.0, actual 2097921 (1.00x) (-256)
Testing distribution - Worst bias is the 18-bit window at bit 12 - 0.102%



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 185.201458 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  1.315 bytes/cycle - 3763.39 MiB/sec @ 3 ghz
Alignment  6 -  1.316 bytes/cycle - 3763.81 MiB/sec @ 3 ghz
Alignment  5 -  1.315 bytes/cycle - 3763.21 MiB/sec @ 3 ghz
Alignment  4 -  1.315 bytes/cycle - 3763.12 MiB/sec @ 3 ghz
Alignment  3 -  1.315 bytes/cycle - 3763.54 MiB/sec @ 3 ghz
Alignment  2 -  1.315 bytes/cycle - 3763.44 MiB/sec @ 3 ghz
Alignment  1 -  1.315 bytes/cycle - 3762.99 MiB/sec @ 3 ghz
Alignment  0 -  1.324 bytes/cycle - 3787.47 MiB/sec @ 3 ghz
Average      -  1.316 bytes/cycle - 3766.37 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    61.00 cycles/hash
Small key speed test -    2-byte keys -    86.00 cycles/hash
Small key speed test -    3-byte keys -   111.00 cycles/hash
Small key speed test -    4-byte keys -   136.00 cycles/hash
Small key speed test -    5-byte keys -   161.70 cycles/hash
Small key speed test -    6-byte keys -   187.00 cycles/hash
Small key speed test -    7-byte keys -   212.00 cycles/hash
Small key speed test -    8-byte keys -    48.76 cycles/hash
Small key speed test -    9-byte keys -    69.00 cycles/hash
Small key speed test -   10-byte keys -    91.00 cycles/hash
Small key speed test -   11-byte keys -   113.85 cycles/hash
Small key speed test -   12-byte keys -   135.99 cycles/hash
Small key speed test -   13-byte keys -   158.00 cycles/hash
Small key speed test -   14-byte keys -   180.00 cycles/hash
Small key speed test -   15-byte keys -   202.00 cycles/hash
Small key speed test -   16-byte keys -    59.90 cycles/hash
Small key speed test -   17-byte keys -    85.72 cycles/hash
Small key speed test -   18-byte keys -   111.00 cycles/hash
Small key speed test -   19-byte keys -   136.00 cycles/hash
Small key speed test -   20-byte keys -   161.00 cycles/hash
Small key speed test -   21-byte keys -   186.53 cycles/hash
Small key speed test -   22-byte keys -   211.99 cycles/hash
Small key speed test -   23-byte keys -   237.00 cycles/hash
Small key speed test -   24-byte keys -    62.99 cycles/hash
Small key speed test -   25-byte keys -    83.00 cycles/hash
Small key speed test -   26-byte keys -   107.00 cycles/hash
Small key speed test -   27-byte keys -   128.94 cycles/hash
Small key speed test -   28-byte keys -   150.96 cycles/hash
Small key speed test -   29-byte keys -   172.77 cycles/hash
Small key speed test -   30-byte keys -   194.90 cycles/hash
Small key speed test -   31-byte keys -   217.00 cycles/hash
Average                                    137.419 cycles/hash


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 58.595351 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ Keyset 'Text' Tests ]]]

Keyset 'Text' - keys of form "Foo[XXXX]Bar" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      50836.3, actual  25236 (0.50x)
Testing collisions (high 28-43 bits) - Worst is 42 bits: 27/49 (0.54x)
Testing collisions (high 12-bit) - Expected   14776336.0, actual 14772240 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   14776336.0, actual 14776080 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      50836.3, actual  25549 (0.50x)
Testing collisions (low  28-43 bits) - Worst is 43 bits: 18/24 (0.73x)
Testing collisions (low  12-bit) - Expected   14776336.0, actual 14772240 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   14776336.0, actual 14776080 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit  2 - 0.020%

Keyset 'Text' - keys of form "FooBar[XXXX]" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      50836.3, actual  25352 (0.50x)
Testing collisions (high 28-43 bits) - Worst is 38 bits: 399/794 (0.50x)
Testing collisions (high 12-bit) - Expected   14776336.0, actual 14772240 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   14776336.0, actual 14776080 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      50836.3, actual  25309 (0.50x)
Testing collisions (low  28-43 bits) - Worst is 38 bits: 440/794 (0.55x)
Testing collisions (low  12-bit) - Expected   14776336.0, actual 14772240 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   14776336.0, actual 14776080 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.023%

Keyset 'Text' - keys of form "[XXXX]FooBar" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      50836.3, actual  25440 (0.50x)
Testing collisions (high 28-43 bits) - Worst is 34 bits: 6404/12709 (0.50x)
Testing collisions (high 12-bit) - Expected   14776336.0, actual 14772240 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   14776336.0, actual 14776080 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      50836.3, actual  25157 (0.49x)
Testing collisions (low  28-43 bits) - Worst is 33 bits: 12710/25418 (0.50x)
Testing collisions (low  12-bit) - Expected   14776336.0, actual 14772240 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   14776336.0, actual 14776080 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 39 - 0.020%



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 75.005459 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 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         99.1, actual     57 (0.57x)
Testing collisions (high 23-34 bits) - Worst is 33 bits: 31/49 (0.63x)
Testing collisions (high 12-bit) - Expected     652545.0, actual 648449 (0.99x) (-4096)
Testing collisions (high  8-bit) - Expected     652545.0, actual 652289 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected         99.1, actual     53 (0.53x)
Testing collisions (low  23-34 bits) - Worst is 33 bits: 28/49 (0.56x)
Testing collisions (low  12-bit) - Expected     652545.0, actual 648449 (0.99x) (-4096)
Testing collisions (low   8-bit) - Expected     652545.0, actual 652289 (1.00x) (-256)
Testing distribution - Worst bias is the 16-bit window at bit 48 - 0.128%

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       6969.1, actual   3629 (0.52x)
Testing collisions (high 26-40 bits) - Worst is 40 bits: 19/27 (0.70x)
Testing collisions (high 12-bit) - Expected    5471025.0, actual 5466929 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected    5471025.0, actual 5470769 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected       6969.1, actual   3563 (0.51x)
Testing collisions (low  26-40 bits) - Worst is 38 bits: 70/108 (0.64x)
Testing collisions (low  12-bit) - Expected    5471025.0, actual 5466929 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected    5471025.0, actual 5470769 (1.00x) (-256)
Testing distribution - Worst bias is the 19-bit window at bit 47 - 0.061%

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      80695.5, actual  40579 (0.50x)
Testing collisions (high 28-43 bits) - Worst is 42 bits: 53/78 (0.67x)
Testing collisions (high 12-bit) - Expected   18616785.0, actual 18612689 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   18616785.0, actual 18616529 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected      80695.5, actual  40131 (0.50x)
Testing collisions (low  28-43 bits) - Worst is 38 bits: 649/1260 (0.51x)
Testing collisions (low  12-bit) - Expected   18616785.0, actual 18612689 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   18616785.0, actual 18616529 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 32 - 0.028%

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     455926.3, actual 226576 (0.50x)
Testing collisions (high 29-46 bits) - Worst is 46 bits: 18/27 (0.65x)
Testing collisions (high 12-bit) - Expected   44251425.0, actual 44247329 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   44251425.0, actual 44251169 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected     455926.3, actual 226582 (0.50x)
Testing collisions (low  29-46 bits) - Worst is 39 bits: 1817/3561 (0.51x)
Testing collisions (low  12-bit) - Expected   44251425.0, actual 44247329 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   44251425.0, actual 44251169 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.007%

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    1743569.4, actual 866168 (0.50x)
Testing collisions (high 30-48 bits) - Worst is 41 bits: 1748/3405 (0.51x)
Testing collisions (high 12-bit) - Expected   86536545.0, actual 86532449 (1.00x) (-4096)
Testing collisions (high  8-bit) - Expected   86536545.0, actual 86536289 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected    1743569.4, actual 866357 (0.50x)
Testing collisions (low  30-48 bits) - Worst is 37 bits: 27379/54486 (0.50x)
Testing collisions (low  12-bit) - Expected   86536545.0, actual 86532449 (1.00x) (-4096)
Testing collisions (low   8-bit) - Expected   86536545.0, actual 86536289 (1.00x) (-256)
Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.005%



Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 262.420164 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ 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)
Window at   1 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   2 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   3 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   4 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   5 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   6 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   7 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   8 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at   9 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  10 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  11 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  12 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  13 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  14 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  15 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  16 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  17 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  18 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  19 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  20 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  21 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  22 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  23 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  24 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  25 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  26 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  27 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  28 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  29 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  30 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  31 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Window at  32 - Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 225.018501 seconds
--- Testing discohash "Spin the discoball with tha ARX hash" GOOD

[[[ Keyset 'Zeroes' Tests ]]]

Keyset 'Zeroes' - 204800 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected          9.8, actual      3 (0.31x)
Testing collisions (high 21-30 bits) - Worst is 24 bits: 1243/2499 (0.50x)
Testing collisions (high 12-bit) - Expected     204800.0, actual 200704 (0.98x)
Testing collisions (high  8-bit) - Expected     204800.0, actual 204544 (1.00x) (-256)
Testing collisions (low  32-bit) - Expected          9.8, actual      2 (0.20x)
Testing collisions (low  21-30 bits) - Worst is 27 bits: 172/312 (0.55x)
Testing collisions (low  12-bit) - Expected     204800.0, actual 200704 (0.98x)
Testing collisions (low   8-bit) - Expected     204800.0, actual 204544 (1.00x) (-256)
Testing distribution - Worst bias is the 15-bit window at bit 38 - 0.251%



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