-------------------------------------------------------------------------------
--- Testing MUMlow "github.com/vnmakarov/mum-hash" GOOD

[[[ Sanity Tests ]]]

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

[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  3.240 bytes/cycle - 9269.73 MiB/sec @ 3 ghz
Alignment  6 -  3.239 bytes/cycle - 9268.22 MiB/sec @ 3 ghz
Alignment  5 -  3.235 bytes/cycle - 9255.13 MiB/sec @ 3 ghz
Alignment  4 -  3.234 bytes/cycle - 9253.70 MiB/sec @ 3 ghz
Alignment  3 -  3.239 bytes/cycle - 9267.45 MiB/sec @ 3 ghz
Alignment  2 -  3.239 bytes/cycle - 9268.13 MiB/sec @ 3 ghz
Alignment  1 -  3.239 bytes/cycle - 9267.61 MiB/sec @ 3 ghz
Alignment  0 -  3.231 bytes/cycle - 9245.16 MiB/sec @ 3 ghz
Average      -  3.237 bytes/cycle - 9261.89 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    33.00 cycles/hash
Small key speed test -    2-byte keys -    33.00 cycles/hash
Small key speed test -    3-byte keys -    36.56 cycles/hash
Small key speed test -    4-byte keys -    33.00 cycles/hash
Small key speed test -    5-byte keys -    34.00 cycles/hash
Small key speed test -    6-byte keys -    36.72 cycles/hash
Small key speed test -    7-byte keys -    37.00 cycles/hash
Small key speed test -    8-byte keys -    31.87 cycles/hash
Small key speed test -    9-byte keys -    32.99 cycles/hash
Small key speed test -   10-byte keys -    33.00 cycles/hash
Small key speed test -   11-byte keys -    37.75 cycles/hash
Small key speed test -   12-byte keys -    33.00 cycles/hash
Small key speed test -   13-byte keys -    36.00 cycles/hash
Small key speed test -   14-byte keys -    37.96 cycles/hash
Small key speed test -   15-byte keys -    39.00 cycles/hash
Small key speed test -   16-byte keys -    32.92 cycles/hash
Small key speed test -   17-byte keys -    34.99 cycles/hash
Small key speed test -   18-byte keys -    34.82 cycles/hash
Small key speed test -   19-byte keys -    38.00 cycles/hash
Small key speed test -   20-byte keys -    34.78 cycles/hash
Small key speed test -   21-byte keys -    35.87 cycles/hash
Small key speed test -   22-byte keys -    38.45 cycles/hash
Small key speed test -   23-byte keys -    39.94 cycles/hash
Small key speed test -   24-byte keys -    34.88 cycles/hash
Small key speed test -   25-byte keys -    36.99 cycles/hash
Small key speed test -   26-byte keys -    37.00 cycles/hash
Small key speed test -   27-byte keys -    40.95 cycles/hash
Small key speed test -   28-byte keys -    37.00 cycles/hash
Small key speed test -   29-byte keys -    37.26 cycles/hash
Small key speed test -   30-byte keys -    40.95 cycles/hash
Small key speed test -   31-byte keys -    41.66 cycles/hash
Average                                    36.171 cycles/hash

[[[ 'Hashmap' Speed Tests (when inlined) ]]]

std::unordered_map
Init std HashMapTest:     523.317 cycles/op (102401 inserts, 1% deletions)
Running std HashMapTest:  346.369 cycles/op (7.3 stdv)

greg7mdp/parallel-hashmap
Init fast HashMapTest:    411.675 cycles/op (102401 inserts, 1% deletions)
Running fast HashMapTest: 221.417 cycles/op (2.8 stdv)  ....... PASS


[[[ Avalanche Tests ]]]

Testing   24-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.632000%
Testing   32-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.621333%
Testing   40-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.696667%
Testing   48-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.664000%
Testing   56-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.646000%
Testing   64-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.802667%
Testing   72-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.739333%
Testing   80-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.689333%
Testing   96-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.632000%
Testing  112-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.628667%
Testing  128-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.651333%
Testing  160-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.646000%
Testing  512-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.680000%
Testing 1024-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.777333%

[[[ Keyset 'Sparse' Tests ]]]

Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys
Testing collisions ( 32-bit) - Expected    0.3, actual      0 (0.00x)
Testing collisions (high 19-25 bits) - Worst is 20 bits: 1200/1203 (1.00x)
Testing collisions (low  19-25 bits) - Worst is 23 bits: 167/152 (1.09x)
Testing distribution - Worst bias is the 13-bit window at bit 17 - 0.414%

Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys
Testing collisions ( 32-bit) - Expected  188.2, actual    179 (0.95x)
Testing distribution - Worst bias is the 17-bit window at bit 23 - 0.080%

Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys
Testing collisions ( 32-bit) - Expected 2372.2, actual   2443 (1.03x) (71)
Testing distribution - Worst bias is the 19-bit window at bit 16 - 0.045%

Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
Testing collisions ( 32-bit) - Expected 2460.8, actual   2497 (1.01x) (37)
Testing distribution - Worst bias is the 19-bit window at bit 13 - 0.050%

Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys
Testing collisions ( 32-bit) - Expected 23437.8, actual  23287 (0.99x) (-150)
Testing distribution - Worst bias is the 20-bit window at bit  5 - 0.025%

Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys
Testing collisions ( 32-bit) - Expected 2069.0, actual   2088 (1.01x) (20)
Testing distribution - Worst bias is the 19-bit window at bit 30 - 0.064%

Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys
Testing collisions ( 32-bit) - Expected 8021.7, actual   8109 (1.01x) (88)
Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.033%

Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys
Testing collisions ( 32-bit) - Expected 26451.8, actual  26362 (1.00x) (-89)
Testing distribution - Worst bias is the 20-bit window at bit 31 - 0.026%

Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
Testing collisions ( 32-bit) - Expected 1401.0, actual   1395 (1.00x) (-5)
Testing distribution - Worst bias is the 19-bit window at bit  2 - 0.085%

Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys
Testing collisions ( 32-bit) - Expected 84546.1, actual  84357 (1.00x) (-189)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.012%

Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
Testing collisions ( 32-bit) - Expected  910.2, actual    951 (1.04x) (41)
Testing distribution - Worst bias is the 19-bit window at bit  1 - 0.040%

Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys
Testing collisions ( 32-bit) - Expected 58155.4, actual  58649 (1.01x) (494)
Testing distribution - Worst bias is the 20-bit window at bit 15 - 0.010%

Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys
Testing collisions ( 32-bit) - Expected   32.1, actual     33 (1.03x) (1)
Testing distribution - Worst bias is the 16-bit window at bit 16 - 0.140%

Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys
Testing collisions ( 32-bit) - Expected  512.4, actual    490 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.053%


[[[ Keyset 'Permutation' Tests ]]]

Combination Lowbits Tests:
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 32-bit) - Expected  668.6, actual    655 (0.98x)
Testing distribution - Worst bias is the 18-bit window at bit  4 - 0.055%


Combination Highbits Tests
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 32-bit) - Expected  668.6, actual    687 (1.03x) (19)
Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.049%


Combination Hi-Lo Tests:
Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys
Testing collisions ( 32-bit) - Expected 17322.9, actual  17235 (0.99x) (-87)
Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.025%


Combination 0x8000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8160 (1.00x) (-26)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.032%


Combination 0x0000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8032 (0.98x) (-154)
Testing distribution - Worst bias is the 20-bit window at bit 12 - 0.037%


Combination 0x800000000000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8307 (1.01x) (121)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.031%


Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8159 (1.00x) (-27)
Testing distribution - Worst bias is the 20-bit window at bit 11 - 0.039%


Combination 16-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8109 (0.99x) (-77)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.037%


Combination 16-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8114 (0.99x) (-72)
Testing distribution - Worst bias is the 20-bit window at bit 17 - 0.028%


Combination 32-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8139 (0.99x) (-47)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 0.030%


Combination 32-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8111 (0.99x) (-75)
Testing distribution - Worst bias is the 20-bit window at bit  2 - 0.039%


Combination 64-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   7955 (0.97x)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 0.031%


Combination 64-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8357 (1.02x) (171)
Testing distribution - Worst bias is the 20-bit window at bit 14 - 0.028%


Combination 128-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8337 (1.02x) (151)
Testing distribution - Worst bias is the 20-bit window at bit 28 - 0.032%


Combination 128-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8030 (0.98x) (-156)
Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.026%


[[[ Keyset 'Window' Tests ]]]

Keyset 'Window' -  72-bit key,  20-bit window - 72 tests, 1048576 keys per test
Window at   0 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at   1 - Testing collisions ( 32-bit) - Expected  128.0, actual    125 (0.98x)
Window at   2 - Testing collisions ( 32-bit) - Expected  128.0, actual    127 (0.99x)
Window at   3 - Testing collisions ( 32-bit) - Expected  128.0, actual    123 (0.96x)
Window at   4 - Testing collisions ( 32-bit) - Expected  128.0, actual    125 (0.98x)
Window at   5 - Testing collisions ( 32-bit) - Expected  128.0, actual    131 (1.02x) (4)
Window at   6 - Testing collisions ( 32-bit) - Expected  128.0, actual    111 (0.87x)
Window at   7 - Testing collisions ( 32-bit) - Expected  128.0, actual    109 (0.85x)
Window at   8 - Testing collisions ( 32-bit) - Expected  128.0, actual    117 (0.91x)
Window at   9 - Testing collisions ( 32-bit) - Expected  128.0, actual    130 (1.02x) (3)
Window at  10 - Testing collisions ( 32-bit) - Expected  128.0, actual    152 (1.19x) (25)
Window at  11 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  12 - Testing collisions ( 32-bit) - Expected  128.0, actual    114 (0.89x)
Window at  13 - Testing collisions ( 32-bit) - Expected  128.0, actual    130 (1.02x) (3)
Window at  14 - Testing collisions ( 32-bit) - Expected  128.0, actual    133 (1.04x) (6)
Window at  15 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  16 - Testing collisions ( 32-bit) - Expected  128.0, actual    116 (0.91x)
Window at  17 - Testing collisions ( 32-bit) - Expected  128.0, actual    135 (1.05x) (8)
Window at  18 - Testing collisions ( 32-bit) - Expected  128.0, actual    136 (1.06x) (9)
Window at  19 - Testing collisions ( 32-bit) - Expected  128.0, actual    111 (0.87x)
Window at  20 - Testing collisions ( 32-bit) - Expected  128.0, actual    123 (0.96x)
Window at  21 - Testing collisions ( 32-bit) - Expected  128.0, actual    123 (0.96x)
Window at  22 - Testing collisions ( 32-bit) - Expected  128.0, actual    112 (0.88x)
Window at  23 - Testing collisions ( 32-bit) - Expected  128.0, actual    131 (1.02x) (4)
Window at  24 - Testing collisions ( 32-bit) - Expected  128.0, actual    130 (1.02x) (3)
Window at  25 - Testing collisions ( 32-bit) - Expected  128.0, actual    120 (0.94x)
Window at  26 - Testing collisions ( 32-bit) - Expected  128.0, actual    137 (1.07x) (10)
Window at  27 - Testing collisions ( 32-bit) - Expected  128.0, actual    138 (1.08x) (11)
Window at  28 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  29 - Testing collisions ( 32-bit) - Expected  128.0, actual    119 (0.93x)
Window at  30 - Testing collisions ( 32-bit) - Expected  128.0, actual    114 (0.89x)
Window at  31 - Testing collisions ( 32-bit) - Expected  128.0, actual    120 (0.94x)
Window at  32 - Testing collisions ( 32-bit) - Expected  128.0, actual    138 (1.08x) (11)
Window at  33 - Testing collisions ( 32-bit) - Expected  128.0, actual    136 (1.06x) (9)
Window at  34 - Testing collisions ( 32-bit) - Expected  128.0, actual    137 (1.07x) (10)
Window at  35 - Testing collisions ( 32-bit) - Expected  128.0, actual    124 (0.97x)
Window at  36 - Testing collisions ( 32-bit) - Expected  128.0, actual    120 (0.94x)
Window at  37 - Testing collisions ( 32-bit) - Expected  128.0, actual    130 (1.02x) (3)
Window at  38 - Testing collisions ( 32-bit) - Expected  128.0, actual    123 (0.96x)
Window at  39 - Testing collisions ( 32-bit) - Expected  128.0, actual    137 (1.07x) (10)
Window at  40 - Testing collisions ( 32-bit) - Expected  128.0, actual    145 (1.13x) (18)
Window at  41 - Testing collisions ( 32-bit) - Expected  128.0, actual    160 (1.25x) (33)
Window at  42 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  43 - Testing collisions ( 32-bit) - Expected  128.0, actual    118 (0.92x)
Window at  44 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  45 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  46 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  47 - Testing collisions ( 32-bit) - Expected  128.0, actual    120 (0.94x)
Window at  48 - Testing collisions ( 32-bit) - Expected  128.0, actual    116 (0.91x)
Window at  49 - Testing collisions ( 32-bit) - Expected  128.0, actual    121 (0.95x)
Window at  50 - Testing collisions ( 32-bit) - Expected  128.0, actual    119 (0.93x)
Window at  51 - Testing collisions ( 32-bit) - Expected  128.0, actual    111 (0.87x)
Window at  52 - Testing collisions ( 32-bit) - Expected  128.0, actual    140 (1.09x) (13)
Window at  53 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  54 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  55 - Testing collisions ( 32-bit) - Expected  128.0, actual    111 (0.87x)
Window at  56 - Testing collisions ( 32-bit) - Expected  128.0, actual    112 (0.88x)
Window at  57 - Testing collisions ( 32-bit) - Expected  128.0, actual    124 (0.97x)
Window at  58 - Testing collisions ( 32-bit) - Expected  128.0, actual    140 (1.09x) (13)
Window at  59 - Testing collisions ( 32-bit) - Expected  128.0, actual    118 (0.92x)
Window at  60 - Testing collisions ( 32-bit) - Expected  128.0, actual    113 (0.88x)
Window at  61 - Testing collisions ( 32-bit) - Expected  128.0, actual    136 (1.06x) (9)
Window at  62 - Testing collisions ( 32-bit) - Expected  128.0, actual    141 (1.10x) (14)
Window at  63 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  64 - Testing collisions ( 32-bit) - Expected  128.0, actual    161 (1.26x) (34)
Window at  65 - Testing collisions ( 32-bit) - Expected  128.0, actual    153 (1.20x) (26)
Window at  66 - Testing collisions ( 32-bit) - Expected  128.0, actual    127 (0.99x)
Window at  67 - Testing collisions ( 32-bit) - Expected  128.0, actual    130 (1.02x) (3)
Window at  68 - Testing collisions ( 32-bit) - Expected  128.0, actual    133 (1.04x) (6)
Window at  69 - Testing collisions ( 32-bit) - Expected  128.0, actual    122 (0.95x)
Window at  70 - Testing collisions ( 32-bit) - Expected  128.0, actual    129 (1.01x) (2)
Window at  71 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)
Window at  72 - Testing collisions ( 32-bit) - Expected  128.0, actual    134 (1.05x) (7)

[[[ Keyset 'Cyclic' Tests ]]]

Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    224 (1.92x) (108)
Testing distribution - Worst bias is the 17-bit window at bit 30 - 0.116%

Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    126 (1.08x) (10)
Testing distribution - Worst bias is the 17-bit window at bit 17 - 0.148%

Keyset 'Cyclic' - 8 cycles of 6 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    122 (1.05x) (6)
Testing distribution - Worst bias is the 17-bit window at bit  5 - 0.089%

Keyset 'Cyclic' - 8 cycles of 7 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual     99 (0.85x)
Testing distribution - Worst bias is the 17-bit window at bit 10 - 0.091%

Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    121 (1.04x) (5)
Testing distribution - Worst bias is the 17-bit window at bit  9 - 0.083%

Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    133 (1.14x) (17)
Testing distribution - Worst bias is the 17-bit window at bit 20 - 0.118%


[[[ Keyset 'TwoBytes' Tests ]]]

Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
Testing collisions ( 32-bit) - Expected   49.6, actual     45 (0.91x)
Testing distribution - Worst bias is the 16-bit window at bit 23 - 0.110%

Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
Testing collisions ( 32-bit) - Expected 3483.1, actual   3414 (0.98x) (-69)
Testing distribution - Worst bias is the 20-bit window at bit 23 - 0.037%

Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
Testing collisions ( 32-bit) - Expected 40289.5, actual  40240 (1.00x) (-49)
Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.021%

Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
Testing collisions ( 32-bit) - Expected 227182.3, actual 227396 (1.00x) (214)
Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.005%

Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
Testing collisions ( 32-bit) - Expected 865959.1, actual 866103 (1.00x) (144)
Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.005%

Keyset 'TwoBytes' - up-to-24-byte keys, 149633745 total keys
Testing collisions ( 32-bit) - Expected 2576560.5, actual 2577099 (1.00x) (539)
Testing distribution - Worst bias is the 20-bit window at bit 13 - 0.002%


[[[ MomentChi2 Tests ]]]

Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 2 ... 
Target values to approximate : 1391290.000000 - 686.666667 
4 threads starting...  done
Popcount 1 stats : 1391286.797754 - 687.253864
Popcount 0 stats : 1391320.729049 - 687.395035
MomentChi2 for bits 1 :  0.00746359 
MomentChi2 for bits 0 :  0.687214 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 1391282.924407 - 687.271272
Popcount 0 stats : 1391308.844202 - 687.310875
MomentChi2 for deriv b1 :  0.0364383 
MomentChi2 for deriv b0 :   0.25845 

  Great 


[[[ Keyset 'Text' Tests ]]]

Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual  25459 (1.00x) (70)
Testing distribution - Worst bias is the 20-bit window at bit 22 - 0.013%

Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual  25189 (0.99x) (-200)
Testing distribution - Worst bias is the 20-bit window at bit  8 - 0.013%

Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual  25342 (1.00x) (-47)
Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.035%

Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset
Testing collisions ( 32-bit) - Expected 1862.1, actual   1960 (1.05x) (98)
Testing distribution - Worst bias is the 19-bit window at bit 14 - 0.099%

Keyset 'Words' - 4000000 random keys of len 6-16 from password charset
Testing collisions ( 32-bit) - Expected 1862.1, actual   1911 (1.03x) (49)
Testing distribution - Worst bias is the 19-bit window at bit 12 - 0.049%

Keyset 'Words' - 104334 dict words
Testing collisions ( 32-bit) - Expected    1.3, actual      1 (0.79x)
Testing collisions (high 20-28 bits) - Worst is 28 bits: 21/20 (1.04x)
Testing collisions (low  20-28 bits) - Worst is 26 bits: 90/81 (1.11x)
Testing distribution - Worst bias is the 14-bit window at bit  9 - 0.370%


[[[ Keyset 'Zeroes' Tests ]]]

Keyset 'Zeroes' - 204800 keys
Testing collisions ( 32-bit) - Expected    4.9, actual      4 (0.82x)
Testing collisions (high 21-29 bits) - Worst is 29 bits: 48/39 (1.23x)
Testing collisions (low  21-29 bits) - Worst is 28 bits: 95/78 (1.22x)
Testing distribution - Worst bias is the 15-bit window at bit 27 - 0.138%


[[[ Keyset 'Seed' Tests ]]]

Keyset 'Seed' - 5000000 keys
Testing collisions ( 32-bit) - Expected 2909.3, actual   2914 (1.00x) (5)
Testing distribution - Worst bias is the 19-bit window at bit 15 - 0.047%


[[[ Keyset 'PerlinNoise' Tests ]]]

Testing 16777216 coordinates (L2) : 
Testing collisions ( 32-bit) - Expected 32725.4, actual  32641 (1.00x) (-84)

Testing AV variant, 128 count with 4 spacing, 4-12:
Testing collisions ( 32-bit) - Expected 1116.2, actual 768720 (688.72x) (767604) !!!!!

*********FAIL*********

[[[ Diff 'Differential' Tests ]]]

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

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

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


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

Testing bit 0
Testing collisions ( 32-bit) - Expected  511.9, actual    514 (1.00x) (3)
Testing distribution - Worst bias is the 18-bit window at bit  5 - 0.043%

Testing bit 1
Testing collisions ( 32-bit) - Expected  511.9, actual    494 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.080%

Testing bit 2
Testing collisions ( 32-bit) - Expected  511.9, actual    499 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.064%

Testing bit 3
Testing collisions ( 32-bit) - Expected  511.9, actual    492 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.051%

Testing bit 4
Testing collisions ( 32-bit) - Expected  511.9, actual    537 (1.05x) (26)
Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.082%

Testing bit 5
Testing collisions ( 32-bit) - Expected  511.9, actual    502 (0.98x) (-9)
Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.086%

Testing bit 6
Testing collisions ( 32-bit) - Expected  511.9, actual    474 (0.93x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.061%

Testing bit 7
Testing collisions ( 32-bit) - Expected  511.9, actual    524 (1.02x) (13)
Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.039%

Testing bit 8
Testing collisions ( 32-bit) - Expected  511.9, actual    531 (1.04x) (20)
Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.043%

Testing bit 9
Testing collisions ( 32-bit) - Expected  511.9, actual    479 (0.94x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.069%

Testing bit 10
Testing collisions ( 32-bit) - Expected  511.9, actual    506 (0.99x) (-5)
Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.063%

Testing bit 11
Testing collisions ( 32-bit) - Expected  511.9, actual    506 (0.99x) (-5)
Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.069%

Testing bit 12
Testing collisions ( 32-bit) - Expected  511.9, actual    534 (1.04x) (23)
Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.052%

Testing bit 13
Testing collisions ( 32-bit) - Expected  511.9, actual    569 (1.11x) (58)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.077%

Testing bit 14
Testing collisions ( 32-bit) - Expected  511.9, actual    509 (0.99x) (-2)
Testing distribution - Worst bias is the 18-bit window at bit  2 - 0.080%

Testing bit 15
Testing collisions ( 32-bit) - Expected  511.9, actual    497 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.066%

Testing bit 16
Testing collisions ( 32-bit) - Expected  511.9, actual    499 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.097%

Testing bit 17
Testing collisions ( 32-bit) - Expected  511.9, actual    494 (0.97x)
Testing distribution - Worst bias is the 17-bit window at bit 23 - 0.050%

Testing bit 18
Testing collisions ( 32-bit) - Expected  511.9, actual    518 (1.01x) (7)
Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.084%

Testing bit 19
Testing collisions ( 32-bit) - Expected  511.9, actual    509 (0.99x) (-2)
Testing distribution - Worst bias is the 17-bit window at bit 29 - 0.041%

Testing bit 20
Testing collisions ( 32-bit) - Expected  511.9, actual    510 (1.00x) (-1)
Testing distribution - Worst bias is the 18-bit window at bit  9 - 0.085%

Testing bit 21
Testing collisions ( 32-bit) - Expected  511.9, actual    532 (1.04x) (21)
Testing distribution - Worst bias is the 18-bit window at bit 18 - 0.072%

Testing bit 22
Testing collisions ( 32-bit) - Expected  511.9, actual    486 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.053%

Testing bit 23
Testing collisions ( 32-bit) - Expected  511.9, actual    524 (1.02x) (13)
Testing distribution - Worst bias is the 18-bit window at bit  3 - 0.049%

Testing bit 24
Testing collisions ( 32-bit) - Expected  511.9, actual    508 (0.99x) (-3)
Testing distribution - Worst bias is the 18-bit window at bit 29 - 0.059%

Testing bit 25
Testing collisions ( 32-bit) - Expected  511.9, actual    510 (1.00x) (-1)
Testing distribution - Worst bias is the 18-bit window at bit 27 - 0.061%

Testing bit 26
Testing collisions ( 32-bit) - Expected  511.9, actual    526 (1.03x) (15)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.094%

Testing bit 27
Testing collisions ( 32-bit) - Expected  511.9, actual    477 (0.93x)
Testing distribution - Worst bias is the 18-bit window at bit 16 - 0.081%

Testing bit 28
Testing collisions ( 32-bit) - Expected  511.9, actual    533 (1.04x) (22)
Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.091%

Testing bit 29
Testing collisions ( 32-bit) - Expected  511.9, actual    497 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.063%

Testing bit 30
Testing collisions ( 32-bit) - Expected  511.9, actual    524 (1.02x) (13)
Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.095%

Testing bit 31
Testing collisions ( 32-bit) - Expected  511.9, actual    473 (0.92x)
Testing distribution - Worst bias is the 18-bit window at bit 13 - 0.075%

Testing bit 32
Testing collisions ( 32-bit) - Expected  511.9, actual    478 (0.93x)
Testing distribution - Worst bias is the 18-bit window at bit 21 - 0.096%

Testing bit 33
Testing collisions ( 32-bit) - Expected  511.9, actual    498 (0.97x)
Testing distribution - Worst bias is the 17-bit window at bit 11 - 0.050%

Testing bit 34
Testing collisions ( 32-bit) - Expected  511.9, actual    512 (1.00x) (1)
Testing distribution - Worst bias is the 18-bit window at bit  7 - 0.071%

Testing bit 35
Testing collisions ( 32-bit) - Expected  511.9, actual    497 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 18 - 0.072%

Testing bit 36
Testing collisions ( 32-bit) - Expected  511.9, actual    525 (1.03x) (14)
Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.078%

Testing bit 37
Testing collisions ( 32-bit) - Expected  511.9, actual    522 (1.02x) (11)
Testing distribution - Worst bias is the 18-bit window at bit 14 - 0.053%

Testing bit 38
Testing collisions ( 32-bit) - Expected  511.9, actual    513 (1.00x) (2)
Testing distribution - Worst bias is the 18-bit window at bit 12 - 0.062%

Testing bit 39
Testing collisions ( 32-bit) - Expected  511.9, actual    492 (0.96x)
Testing distribution - Worst bias is the 18-bit window at bit  5 - 0.074%

Testing bit 40
Testing collisions ( 32-bit) - Expected  511.9, actual    550 (1.07x) (39)
Testing distribution - Worst bias is the 18-bit window at bit  6 - 0.083%

Testing bit 41
Testing collisions ( 32-bit) - Expected  511.9, actual    485 (0.95x)
Testing distribution - Worst bias is the 18-bit window at bit 24 - 0.053%

Testing bit 42
Testing collisions ( 32-bit) - Expected  511.9, actual    535 (1.05x) (24)
Testing distribution - Worst bias is the 17-bit window at bit 28 - 0.050%

Testing bit 43
Testing collisions ( 32-bit) - Expected  511.9, actual    494 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit  2 - 0.056%

Testing bit 44
Testing collisions ( 32-bit) - Expected  511.9, actual    500 (0.98x)
Testing distribution - Worst bias is the 18-bit window at bit 28 - 0.051%

Testing bit 45
Testing collisions ( 32-bit) - Expected  511.9, actual    498 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit  4 - 0.054%

Testing bit 46
Testing collisions ( 32-bit) - Expected  511.9, actual    508 (0.99x) (-3)
Testing distribution - Worst bias is the 18-bit window at bit 11 - 0.073%

Testing bit 47
Testing collisions ( 32-bit) - Expected  511.9, actual    500 (0.98x)
Testing distribution - Worst bias is the 18-bit window at bit 25 - 0.091%

Testing bit 48
Testing collisions ( 32-bit) - Expected  511.9, actual    504 (0.98x) (-7)
Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.063%

Testing bit 49
Testing collisions ( 32-bit) - Expected  511.9, actual    477 (0.93x)
Testing distribution - Worst bias is the 18-bit window at bit  5 - 0.044%

Testing bit 50
Testing collisions ( 32-bit) - Expected  511.9, actual    534 (1.04x) (23)
Testing distribution - Worst bias is the 18-bit window at bit 10 - 0.081%

Testing bit 51
Testing collisions ( 32-bit) - Expected  511.9, actual    541 (1.06x) (30)
Testing distribution - Worst bias is the 18-bit window at bit 20 - 0.072%

Testing bit 52
Testing collisions ( 32-bit) - Expected  511.9, actual    514 (1.00x) (3)
Testing distribution - Worst bias is the 18-bit window at bit  8 - 0.067%

Testing bit 53
Testing collisions ( 32-bit) - Expected  511.9, actual    495 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.074%

Testing bit 54
Testing collisions ( 32-bit) - Expected  511.9, actual    528 (1.03x) (17)
Testing distribution - Worst bias is the 18-bit window at bit 15 - 0.065%

Testing bit 55
Testing collisions ( 32-bit) - Expected  511.9, actual    534 (1.04x) (23)
Testing distribution - Worst bias is the 18-bit window at bit  1 - 0.074%

Testing bit 56
Testing collisions ( 32-bit) - Expected  511.9, actual    550 (1.07x) (39)
Testing distribution - Worst bias is the 18-bit window at bit 31 - 0.081%

Testing bit 57
Testing collisions ( 32-bit) - Expected  511.9, actual    521 (1.02x) (10)
Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.075%

Testing bit 58
Testing collisions ( 32-bit) - Expected  511.9, actual    543 (1.06x) (32)
Testing distribution - Worst bias is the 18-bit window at bit 19 - 0.091%

Testing bit 59
Testing collisions ( 32-bit) - Expected  511.9, actual    470 (0.92x)
Testing distribution - Worst bias is the 17-bit window at bit 27 - 0.057%

Testing bit 60
Testing collisions ( 32-bit) - Expected  511.9, actual    529 (1.03x) (18)
Testing distribution - Worst bias is the 18-bit window at bit  0 - 0.079%

Testing bit 61
Testing collisions ( 32-bit) - Expected  511.9, actual    497 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit 30 - 0.048%

Testing bit 62
Testing collisions ( 32-bit) - Expected  511.9, actual    497 (0.97x)
Testing distribution - Worst bias is the 18-bit window at bit  7 - 0.062%

Testing bit 63
Testing collisions ( 32-bit) - Expected  511.9, actual    515 (1.01x) (4)
Testing distribution - Worst bias is the 18-bit window at bit 22 - 0.048%


Input vcode 0x00000001, Output vcode 0x00000001, Result vcode 0x00000001
Verification value is 0x00000001 - Testing took 1292.039101 seconds
-------------------------------------------------------------------------------
[[[ Prng Tests ]]]

Skipping PRNG test; it is designed for hashes >= 64-bits

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

...........
Max bias 0.005648 - ( 34 :  20, 31)


[[[ BadSeeds Tests ]]]

Testing 5 internal secrets:
0x11fb062a  !!!!!
 Bad seed 0x11fb062a for len 16 confirmed => hashes: 526c3140 55a189aa 9b127f86 db9e984d db9e984d db9e984d 
Testing collisions ( 32-bit) - Expected    0.0, actual      2 (572662306.13x) (2) !!!!!
 !!!!!
 Bad seed 0x11fb062a for len 32 confirmed => hashes: 17659ac 1ef341d0 2b397dfb 2b397dfb 97382196 eaa03ff8 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x11fb062a for len 64 confirmed => hashes: 8d3665a1 bdd080c9 cce126ca e238b6c6 f6280d90 f6280d90 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x11fb062a for len 128 confirmed => hashes: b300c20 70e3f1c7 80959bc0 d244e6ad e43ce029 e43ce029 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
0x3ca9411b  !!!!!
 Bad seed 0x3ca9411b for len 8 confirmed => hashes: b0085c7 5cf4583f 609726bb ac5870e7 ac5870e7 ddf74464 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x3ca9411b for len 16 confirmed => hashes: 8ca8e26 4828ebe0 5801f54f 5801f54f 5801f54f af7538d6 
Testing collisions ( 32-bit) - Expected    0.0, actual      2 (572662306.13x) (2) !!!!!
 !!!!!
 Bad seed 0x3ca9411b for len 32 confirmed => hashes: 1a7eac24 1a7eac24 2144f46a 7c43deea 9c1ce120 eebe0efa 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x3ca9411b for len 64 confirmed => hashes: 2657d0c6 9a41e59f b3d68794 bfb2805f bfb2805f d4856786 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x3ca9411b for len 128 confirmed => hashes: 3fde4466 6a68278f 6a68278f 79f189ca b3090ce9 d49a6c0e 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
0x3edd9a7d  !!!!!
 Bad seed 0x3edd9a7d for len 16 confirmed => hashes: 42b27283 42b27283 7f9e9ba1 8f4b243f c8ea91d6 c8ea91d6 
Testing collisions ( 32-bit) - Expected    0.0, actual      2 (572662306.13x) (2) !!!!!
 !!!!!
 Bad seed 0x3edd9a7d for len 32 confirmed => hashes: 12c6989a 12c6989a 14596e41 c2ac6545 c6c990a4 ce12162c 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x3edd9a7d for len 64 confirmed => hashes: 591fdd39 8473ac7e 8473ac7e a048e76c a74ae019 b956a321 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x3edd9a7d for len 128 confirmed => hashes: 462ef135 5cf56841 655fc4cc c95c6aa2 f9c21ba0 f9c21ba0 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
0x41f18860 Broken seed 0x41f18860 => 0 with key[16] of all 0 bytes confirmed => hash 0
 !!!!!
 Bad seed 0x41f18860 for len 16 confirmed => hashes: 0 0 20d29fc9 241f991f 4a59afca 717f591c 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x41f18860 for len 32 confirmed => hashes: 47b5d5a4 51d5e44a 814f3ee5 814f3ee5 f9bdf5df fd7227ef 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x41f18860 for len 64 confirmed => hashes: c5daf2d 3fb07ca4 9e6c05d6 d9dfdecd dc3db1b4 dc3db1b4 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x41f18860 for len 128 confirmed => hashes: 98425584 b168e8aa d28cb4ff e10c6376 f17c1f55 f17c1f55 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
0x691457ba Broken seed 0x691457ba => 0 with key[16] of all 0 bytes confirmed => hash 0
 !!!!!
 Bad seed 0x691457ba for len 16 confirmed => hashes: 0 0 2b5a0ce3 4a27e9f6 8771a61d fb05b89e 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x691457ba for len 32 confirmed => hashes: 2c6158cf 49cddfdf 49cddfdf 5db0deda 80ec5393 e15e711c 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x691457ba for len 64 confirmed => hashes: 4443f8fa 494d1f85 494d1f85 7a00135f 9833be6b b1dbae5a 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!
 !!!!!
 Bad seed 0x691457ba for len 128 confirmed => hashes: 42afad95 42afad95 474a43fe 50d26aa9 b7dca364 c14c918b 
Testing collisions ( 32-bit) - Expected    0.0, actual      1 (286331153.07x) (1) !!!!!

*********FAIL*********


