-------------------------------------------------------------------------------
--- Testing PMPML_32 "PMP_Multilinear 32bit" POOR

[[[ Sanity Tests ]]]

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

[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  2.313 bytes/cycle - 6617.88 MiB/sec @ 3 ghz
Alignment  6 -  2.315 bytes/cycle - 6622.92 MiB/sec @ 3 ghz
Alignment  5 -  2.316 bytes/cycle - 6626.12 MiB/sec @ 3 ghz
Alignment  4 -  2.317 bytes/cycle - 6628.65 MiB/sec @ 3 ghz
Alignment  3 -  2.318 bytes/cycle - 6630.74 MiB/sec @ 3 ghz
Alignment  2 -  2.317 bytes/cycle - 6630.36 MiB/sec @ 3 ghz
Alignment  1 -  2.315 bytes/cycle - 6622.11 MiB/sec @ 3 ghz
Alignment  0 -  2.355 bytes/cycle - 6738.64 MiB/sec @ 3 ghz
Average      -  2.321 bytes/cycle - 6639.68 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    38.24 cycles/hash
Small key speed test -    2-byte keys -    40.00 cycles/hash
Small key speed test -    3-byte keys -    40.00 cycles/hash
Small key speed test -    4-byte keys -    38.31 cycles/hash
Small key speed test -    5-byte keys -    39.00 cycles/hash
Small key speed test -    6-byte keys -    40.24 cycles/hash
Small key speed test -    7-byte keys -    41.00 cycles/hash
Small key speed test -    8-byte keys -    41.32 cycles/hash
Small key speed test -    9-byte keys -    41.33 cycles/hash
Small key speed test -   10-byte keys -    43.00 cycles/hash
Small key speed test -   11-byte keys -    42.00 cycles/hash
Small key speed test -   12-byte keys -    42.95 cycles/hash
Small key speed test -   13-byte keys -    43.00 cycles/hash
Small key speed test -   14-byte keys -    44.00 cycles/hash
Small key speed test -   15-byte keys -    44.00 cycles/hash
Small key speed test -   16-byte keys -    45.00 cycles/hash
Small key speed test -   17-byte keys -    45.99 cycles/hash
Small key speed test -   18-byte keys -    46.00 cycles/hash
Small key speed test -   19-byte keys -    45.00 cycles/hash
Small key speed test -   20-byte keys -    48.00 cycles/hash
Small key speed test -   21-byte keys -    48.96 cycles/hash
Small key speed test -   22-byte keys -    48.00 cycles/hash
Small key speed test -   23-byte keys -    49.21 cycles/hash
Small key speed test -   24-byte keys -    50.00 cycles/hash
Small key speed test -   25-byte keys -    49.15 cycles/hash
Small key speed test -   26-byte keys -    51.00 cycles/hash
Small key speed test -   27-byte keys -    49.60 cycles/hash
Small key speed test -   28-byte keys -    53.00 cycles/hash
Small key speed test -   29-byte keys -    52.00 cycles/hash
Small key speed test -   30-byte keys -    54.00 cycles/hash
Small key speed test -   31-byte keys -    52.00 cycles/hash
Average                                    45.333 cycles/hash

[[[ 'Hashmap' Speed Tests ]]]

std::unordered_map
Init std HashMapTest:     505.581 cycles/op (102401 inserts, 1% deletions)
Running std HashMapTest:  332.766 cycles/op (9.0 stdv)

greg7mdp/parallel-hashmap
Init fast HashMapTest:    333.903 cycles/op (102401 inserts, 1% deletions)
Running fast HashMapTest: 227.470 cycles/op (8.2 stdv)  ....... PASS

[[[ Avalanche Tests ]]]

Testing   24-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.584667%
Testing   32-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.563333%
Testing   40-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.618000%
Testing   48-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.838667%
Testing   56-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.658667%
Testing   64-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.718000%
Testing   72-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.630667%
Testing   80-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.756667%
Testing   96-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.723333%
Testing  112-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.667333%
Testing  128-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.713333%
Testing  160-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 0.708667%
Testing  512-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 1.589333% !!!!!
Testing 1024-bit keys ->  32-bit hashes, 300000 reps.......... worst bias is 6.455333% !!!!!
*********FAIL*********

[[[ 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 23 bits: 170/152 (1.11x)
Testing collisions (low  19-25 bits) - Worst is 19 bits: 2369/2368 (1.00x)
Testing distribution - Worst bias is the 13-bit window at bit 16 - 0.468%

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

Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys
Testing collisions ( 32-bit) - Expected 2372.2, actual      0 (0.00x)
Testing distribution - Worst bias is the 19-bit window at bit 11 - 0.035%

Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
Testing collisions ( 32-bit) - Expected 2460.8, actual   1168 (0.47x)
Testing distribution - Worst bias is the 18-bit window at bit 26 - 0.036%

Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys
Testing collisions ( 32-bit) - Expected 23437.8, actual  27438 (1.17x) (4001)
Testing distribution - Worst bias is the 20-bit window at bit  1 - 0.023%

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

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

Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys
Testing collisions ( 32-bit) - Expected 26451.8, actual  25877 (0.98x)
Testing distribution - Worst bias is the 20-bit window at bit 14 - 0.029%

Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
Testing collisions ( 32-bit) - Expected 1401.0, actual    968 (0.69x)
Testing distribution - Worst bias is the 19-bit window at bit 18 - 0.058%

Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys
Testing collisions ( 32-bit) - Expected 84546.1, actual  79054 (0.94x)
Testing distribution - Worst bias is the 20-bit window at bit 16 - 0.008%

Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
Testing collisions ( 32-bit) - Expected  910.2, actual    727 (0.80x)
Testing distribution - Worst bias is the 19-bit window at bit  4 - 0.080%

Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys
Testing collisions ( 32-bit) - Expected 58155.4, actual  67233 (1.16x) (9078)
Testing distribution - Worst bias is the 20-bit window at bit  6 - 0.013%

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

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


[[[ 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      0 (0.00x)
Testing distribution - Worst bias is the 18-bit window at bit 20 - 0.040%


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


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  18050 (1.04x) (728)
Testing distribution - Worst bias is the 20-bit window at bit 15 - 0.030%


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


Combination 0x0000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8896 (1.09x) (710)
Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.033%


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


Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 32-bit) - Expected 8186.7, actual   8224 (1.00x) (38)
Testing distribution - Worst bias is the 18-bit window at bit 23 - 0.018%


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   9856 (1.20x) (1670)
Testing distribution - Worst bias is the 20-bit window at bit  1 - 0.032%


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   7536 (0.92x)
Testing distribution - Worst bias is the 20-bit window at bit 26 - 0.034%


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   1971 (0.24x)
Testing distribution - Worst bias is the 20-bit window at bit  7 - 0.012%


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  11196 (1.37x) (3010)
Testing distribution - Worst bias is the 20-bit window at bit 29 - 0.035%


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   2896 (0.35x)
Testing distribution - Worst bias is the 20-bit window at bit 14 - 0.014%


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  13866 (1.69x) (5680)
Testing distribution - Worst bias is the 20-bit window at bit 18 - 0.043%


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   6172 (0.75x)
Testing distribution - Worst bias is the 19-bit window at bit 15 - 0.035%


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   5448 (0.67x)
Testing distribution - Worst bias is the 20-bit window at bit  3 - 0.034%


[[[ 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      0 (0.00x)
Window at   1 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   2 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   3 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   4 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   5 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   6 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   7 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   8 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at   9 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  10 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  11 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  12 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  13 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  14 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  15 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  16 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  17 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  18 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  19 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  20 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  21 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  22 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  23 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  24 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  25 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  26 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  27 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  28 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  29 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  30 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  31 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  32 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  33 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  34 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  35 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  36 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  37 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  38 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  39 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  40 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  41 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  42 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  43 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  44 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  45 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  46 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  47 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  48 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  49 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  50 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  51 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  52 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  53 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  54 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  55 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  56 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  57 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  58 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  59 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  60 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  61 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  62 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  63 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  64 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  65 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  66 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  67 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  68 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  69 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  70 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  71 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)
Window at  72 - Testing collisions ( 32-bit) - Expected  128.0, actual      0 (0.00x)

[[[ Keyset 'Cyclic' Tests ]]]

Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual      0 (0.00x)
Testing distribution - Worst bias is the 17-bit window at bit 25 - 0.104%

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

Keyset 'Cyclic' - 8 cycles of 6 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    101 (0.87x)
Testing distribution - Worst bias is the 17-bit window at bit  3 - 0.091%

Keyset 'Cyclic' - 8 cycles of 7 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    124 (1.07x) (8)
Testing distribution - Worst bias is the 17-bit window at bit 20 - 0.160%

Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    115 (0.99x) (-1)
Testing distribution - Worst bias is the 17-bit window at bit 29 - 0.070%

Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys
Testing collisions ( 32-bit) - Expected  116.4, actual    123 (1.06x) (7)
Testing distribution - Worst bias is the 17-bit window at bit 13 - 0.074%


[[[ Keyset 'TwoBytes' Tests ]]]

Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
Testing collisions ( 32-bit) - Expected   49.6, actual      4 (0.08x)
Testing distribution - Worst bias is the 15-bit window at bit  7 - 0.102%

Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
Testing collisions ( 32-bit) - Expected 3483.1, actual   2415 (0.69x)
Testing distribution - Worst bias is the 20-bit window at bit 10 - 0.033%

Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
Testing collisions ( 32-bit) - Expected 40289.5, actual  36698 (0.91x)
Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.018%

Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
Testing collisions ( 32-bit) - Expected 227182.3, actual 220479 (0.97x)
Testing distribution - Worst bias is the 20-bit window at bit 21 - 0.008%

Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
Testing collisions ( 32-bit) - Expected 865959.1, actual 850898 (0.98x) (-15061)
Testing distribution - Worst bias is the 20-bit window at bit 19 - 0.005%

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


[[[ Keyset 'Text' Tests ]]]

Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 19-bit window at bit 13 - 0.055%

Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys
Testing collisions ( 32-bit) - Expected 25389.0, actual      0 (0.00x)
Testing distribution - Worst bias is the 20-bit window at bit 17 - 0.039%

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

Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset
Testing collisions ( 32-bit) - Expected 1862.1, actual   1853 (1.00x) (-9)
Testing distribution - Worst bias is the 19-bit window at bit 27 - 0.040%

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

Keyset 'Words' - 104334 dict words
Testing collisions ( 32-bit) - Expected    1.3, actual      0 (0.00x)
Testing collisions (high 20-28 bits) - Worst is 20 bits: 4992/5022 (0.99x)
Testing collisions (low  20-28 bits) - Worst is 21 bits: 2566/2552 (1.01x)
Testing distribution - Worst bias is the 14-bit window at bit 23 - 0.210%


[[[ Keyset 'Zeroes' Tests ]]]

Keyset 'Zeroes' - 204800 keys
Testing collisions ( 32-bit) - Expected    4.9, actual      1 (0.20x)
Testing collisions (high 21-29 bits) - Worst is 29 bits: 43/39 (1.10x)
Testing collisions (low  21-29 bits) - Worst is 26 bits: 342/312 (1.10x)
Testing distribution - Worst bias is the 15-bit window at bit 16 - 0.234%


[[[ Keyset 'Seed' Tests ]]]

Keyset 'Seed' - 5000000 keys
Testing collisions ( 32-bit) - Expected 2909.3, actual 4999999 (1718.65x) (4997090) !!!!!

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

[[[ Keyset 'PerlinNoise' Tests ]]]

Testing 16777216 coordinates (L2) : 
Testing collisions ( 32-bit) - Expected 32725.4, actual 16773120 (512.54x) (16740395) !!!!!

Testing AV variant, 128 count with 4 spacing, 4-12:
Testing collisions ( 32-bit) - Expected 1116.2, actual 3072384 (2752.66x) (3071268) !!!!!

*********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..........
0 total collisions, of which 0 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..........
0 total collisions, of which 0 single collisions were ignored


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

Testing bit 0
Testing collisions ( 32-bit) - Expected  511.9, actual  32731 (63.94x) (32220) !!!!!

Testing bit 1
Testing collisions ( 32-bit) - Expected  511.9, actual  34406 (67.21x) (33895) !!!!!

Testing bit 2
Testing collisions ( 32-bit) - Expected  511.9, actual  30599 (59.77x) (30088) !!!!!

Testing bit 3
Testing collisions ( 32-bit) - Expected  511.9, actual  29021 (56.69x) (28510) !!!!!

Testing bit 4
Testing collisions ( 32-bit) - Expected  511.9, actual  17256 (33.71x) (16745) !!!!!

Testing bit 5
Testing collisions ( 32-bit) - Expected  511.9, actual  32374 (63.24x) (31863) !!!!!

Testing bit 6
Testing collisions ( 32-bit) - Expected  511.9, actual  25001 (48.84x) (24490) !!!!!

Testing bit 7
Testing collisions ( 32-bit) - Expected  511.9, actual  12790 (24.98x) (12279) !!!!!

Testing bit 8
Testing collisions ( 32-bit) - Expected  511.9, actual  12544 (24.50x) (12033) !!!!!

Testing bit 9
Testing collisions ( 32-bit) - Expected  511.9, actual   7633 (14.91x) (7122) !!!!!

Testing bit 10
Testing collisions ( 32-bit) - Expected  511.9, actual   6662 (13.01x) (6151) !!!!!

Testing bit 11
Testing collisions ( 32-bit) - Expected  511.9, actual  12895 (25.19x) (12384) !!!!!

Testing bit 12
Testing collisions ( 32-bit) - Expected  511.9, actual  13022 (25.44x) (12511) !!!!!

Testing bit 13
Testing collisions ( 32-bit) - Expected  511.9, actual   9975 (19.49x) (9464) !!!!!

Testing bit 14
Testing collisions ( 32-bit) - Expected  511.9, actual   9520 (18.60x) (9009) !!!!!

Testing bit 15
Testing collisions ( 32-bit) - Expected  511.9, actual  13233 (25.85x) (12722) !!!!!

Testing bit 16
Testing collisions ( 32-bit) - Expected  511.9, actual  15430 (30.14x) (14919) !!!!!

Testing bit 17
Testing collisions ( 32-bit) - Expected  511.9, actual  19004 (37.12x) (18493) !!!!!

Testing bit 18
Testing collisions ( 32-bit) - Expected  511.9, actual  21302 (41.61x) (20791) !!!!!

Testing bit 19
Testing collisions ( 32-bit) - Expected  511.9, actual  18178 (35.51x) (17667) !!!!!

Testing bit 20
Testing collisions ( 32-bit) - Expected  511.9, actual  19396 (37.89x) (18885) !!!!!

Testing bit 21
Testing collisions ( 32-bit) - Expected  511.9, actual   9923 (19.38x) (9412) !!!!!

Testing bit 22
Testing collisions ( 32-bit) - Expected  511.9, actual  16988 (33.19x) (16477) !!!!!

Testing bit 23
Testing collisions ( 32-bit) - Expected  511.9, actual  12262 (23.95x) (11751) !!!!!

Testing bit 24
Testing collisions ( 32-bit) - Expected  511.9, actual   8013 (15.65x) (7502) !!!!!

Testing bit 25
Testing collisions ( 32-bit) - Expected  511.9, actual   7120 (13.91x) (6609) !!!!!

Testing bit 26
Testing collisions ( 32-bit) - Expected  511.9, actual   7546 (14.74x) (7035) !!!!!

Testing bit 27
Testing collisions ( 32-bit) - Expected  511.9, actual  10840 (21.18x) (10329) !!!!!

Testing bit 28
Testing collisions ( 32-bit) - Expected  511.9, actual   9234 (18.04x) (8723) !!!!!

Testing bit 29
Testing collisions ( 32-bit) - Expected  511.9, actual   7096 (13.86x) (6585) !!!!!

Testing bit 30
Testing collisions ( 32-bit) - Expected  511.9, actual   6432 (12.56x) (5921) !!!!!

Testing bit 31
Testing collisions ( 32-bit) - Expected  511.9, actual   7288 (14.24x) (6777) !!!!!

Testing bit 32
Testing collisions ( 32-bit) - Expected  511.9, actual   5988 (11.70x) (5477) !!!!!

Testing bit 33
Testing collisions ( 32-bit) - Expected  511.9, actual   5369 (10.49x) (4858) !!!!!

Testing bit 34
Testing collisions ( 32-bit) - Expected  511.9, actual  10805 (21.11x) (10294) !!!!!

Testing bit 35
Testing collisions ( 32-bit) - Expected  511.9, actual  10294 (20.11x) (9783) !!!!!

Testing bit 36
Testing collisions ( 32-bit) - Expected  511.9, actual   6998 (13.67x) (6487) !!!!!

Testing bit 37
Testing collisions ( 32-bit) - Expected  511.9, actual   8567 (16.74x) (8056) !!!!!

Testing bit 38
Testing collisions ( 32-bit) - Expected  511.9, actual   7306 (14.27x) (6795) !!!!!

Testing bit 39
Testing collisions ( 32-bit) - Expected  511.9, actual   7808 (15.25x) (7297) !!!!!

Testing bit 40
Testing collisions ( 32-bit) - Expected  511.9, actual   8244 (16.10x) (7733) !!!!!

Testing bit 41
Testing collisions ( 32-bit) - Expected  511.9, actual   6284 (12.28x) (5773) !!!!!

Testing bit 42
Testing collisions ( 32-bit) - Expected  511.9, actual   4090 (7.99x) (3579) !!!!!

Testing bit 43
Testing collisions ( 32-bit) - Expected  511.9, actual   4475 (8.74x) (3964) !!!!!

Testing bit 44
Testing collisions ( 32-bit) - Expected  511.9, actual  12807 (25.02x) (12296) !!!!!

Testing bit 45
Testing collisions ( 32-bit) - Expected  511.9, actual  10604 (20.71x) (10093) !!!!!

Testing bit 46
Testing collisions ( 32-bit) - Expected  511.9, actual  14561 (28.44x) (14050) !!!!!

Testing bit 47
Testing collisions ( 32-bit) - Expected  511.9, actual  14192 (27.72x) (13681) !!!!!

Testing bit 48
Testing collisions ( 32-bit) - Expected  511.9, actual   9871 (19.28x) (9360) !!!!!

Testing bit 49
Testing collisions ( 32-bit) - Expected  511.9, actual  10822 (21.14x) (10311) !!!!!

Testing bit 50
Testing collisions ( 32-bit) - Expected  511.9, actual  17766 (34.70x) (17255) !!!!!

Testing bit 51
Testing collisions ( 32-bit) - Expected  511.9, actual  16648 (32.52x) (16137) !!!!!

Testing bit 52
Testing collisions ( 32-bit) - Expected  511.9, actual  18459 (36.06x) (17948) !!!!!

Testing bit 53
Testing collisions ( 32-bit) - Expected  511.9, actual  13319 (26.02x) (12808) !!!!!

Testing bit 54
Testing collisions ( 32-bit) - Expected  511.9, actual  12481 (24.38x) (11970) !!!!!

Testing bit 55
Testing collisions ( 32-bit) - Expected  511.9, actual  11338 (22.15x) (10827) !!!!!

Testing bit 56
Testing collisions ( 32-bit) - Expected  511.9, actual  14294 (27.92x) (13783) !!!!!

Testing bit 57
Testing collisions ( 32-bit) - Expected  511.9, actual  10056 (19.64x) (9545) !!!!!

Testing bit 58
Testing collisions ( 32-bit) - Expected  511.9, actual   6274 (12.26x) (5763) !!!!!

Testing bit 59
Testing collisions ( 32-bit) - Expected  511.9, actual   5734 (11.20x) (5223) !!!!!

Testing bit 60
Testing collisions ( 32-bit) - Expected  511.9, actual   6565 (12.82x) (6054) !!!!!

Testing bit 61
Testing collisions ( 32-bit) - Expected  511.9, actual   6524 (12.74x) (6013) !!!!!

Testing bit 62
Testing collisions ( 32-bit) - Expected  511.9, actual   5924 (11.57x) (5413) !!!!!

Testing bit 63
Testing collisions ( 32-bit) - Expected  511.9, actual   6444 (12.59x) (5933) !!!!!

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

[[[ 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 : 1391301.061718 - 687.272673
Popcount 0 stats : 1391290.705194 - 687.301374
MomentChi2 for bits 1 :  0.089059 
MomentChi2 for bits 0 :  0.000361943 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 1372545.116520 - 634.864927
Popcount 0 stats : 1374678.574744 - 639.728793
MomentChi2 for deriv b1 :    265881 
MomentChi2 for deriv b0 :    208037 

  FAIL !!!! 


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

[[[ Prng Tests ]]]

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

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

...........
Max bias 0.854642 - ( 15 :   1, 17)

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


[[[ BadSeeds Tests ]]]

Testing 0 internal secrets:
0x0 PASS


