diff --git a/smhasher3/MurmurHash3-128-snapraid.txt b/smhasher3/MurmurHash3-128-snapraid.txt new file mode 100644 index 00000000..00a97eb4 --- /dev/null +++ b/smhasher3/MurmurHash3-128-snapraid.txt @@ -0,0 +1,3777 @@ +WARNING: Hash with verification code 4a6673e7 was already registered: MetroHash-128 + Are you certain MetroHash-128.snapraid is a unique implementation? +WARNING: Hash with verification code d5f2cd8c was already registered: MetroHash-128 + Are you certain MetroHash-128.snapraid is a unique implementation? +------------------------------------------------------------------------------- +--- Testing MurmurHash3-128.snapraid "MurmurHash3 x86_128 with SnapRAID 128-bit seed interface" + +[[[ Sanity Tests ]]] + +Verification value LE 0x260E7FCF ...... PASS +Running sanity check 1 .......... PASS +Running sanity check 2 .......... PASS +Running append zeroes test .......... PASS +Running prepend zeroes test .......... PASS +Running thread-safety test 1 .......... PASS +Running thread-safety test 2 .......... PASS + +[[[ Avalanche Tests ]]] + +Testing 3-byte keys, 300000 reps..................max is 0.675% at bit 11 -> out 50 (^ 1) +Testing 4-byte keys, 300000 reps..................max is 0.631% at bit 8 -> out 8 (^ 0) +Testing 5-byte keys, 300000 reps..................max is 0.653% at bit 24 -> out 15 (^ 0) +Testing 6-byte keys, 300000 reps..................max is 0.779% at bit 24 -> out 52 (^ 3) +Testing 7-byte keys, 300000 reps..................max is 0.713% at bit 26 -> out 35 (^ 1) +Testing 8-byte keys, 300000 reps..................max is 0.663% at bit 48 -> out 25 (^ 0) +Testing 9-byte keys, 300000 reps..................max is 0.782% at bit 38 -> out 70 (^ 2) +Testing 10-byte keys, 300000 reps..................max is 0.737% at bit 22 -> out 36 (^ 1) +Testing 12-byte keys, 300000 reps..................max is 0.741% at bit 50 -> out 42 (^ 1) +Testing 16-byte keys, 300000 reps..................max is 0.810% at bit 67 -> out 71 (^ 2) +Testing 20-byte keys, 300000 reps..................max is 0.754% at bit 142 -> out 59 (^ 0) +Testing 24-byte keys, 300000 reps..................max is 0.808% at bit 9 -> out 35 (^ 2) +Testing 28-byte keys, 300000 reps..................max is 0.829% at bit 209 -> out 33 (^ 2) +Testing 32-byte keys, 300000 reps..................max is 0.705% at bit 99 -> out 47 (^ 0) +Testing 40-byte keys, 300000 reps..................max is 0.811% at bit 130 -> out 86 (^ 1) +Testing 48-byte keys, 300000 reps..................max is 0.854% at bit 16 -> out 80 (^ 2) +Testing 56-byte keys, 300000 reps..................max is 0.775% at bit 195 -> out 87 (^ 0) +Testing 64-byte keys, 300000 reps..................max is 0.771% at bit 252 -> out 110 (^ 0) +Testing 128-byte keys, 300000 reps..................max is 0.818% at bit 318 -> out 73 (^ 0) +Testing 160-byte keys, 300000 reps..................max is 0.817% at bit 1140 -> out 67 (^ 0) +Testing 192-byte keys, 300000 reps..................max is 1.005% at bit 655 -> out 43 (^ 7) + + +[[[ BIC 'Bit Independence Criteria' Tests ]]] + +Testing 3-byte keys, 1200000 reps............max 1.0000 at bit 0 -> out ( 32, 64) (^99) !!!!! +Testing 4-byte keys, 1200000 reps............max 1.0000 at bit 0 -> out ( 43, 75) (^99) !!!!! +Testing 6-byte keys, 1200000 reps............max 1.0000 at bit 0 -> out ( 65, 97) (^99) !!!!! +Testing 8-byte keys, 1200000 reps............max 1.0000 at bit 1 -> out ( 65, 97) (^99) !!!!! +Testing 11-byte keys, 1200000 reps............max 0.0043 at bit 78 -> out ( 7,107) (^ 0) +Testing 15-byte keys, 1200000 reps............max 0.0046 at bit 59 -> out ( 26, 56) (^ 1) +Testing 28-byte keys, 600000 reps............max 0.0065 at bit 13 -> out ( 15, 44) (^ 0) +Testing 52-byte keys, 600000 reps............max 0.0073 at bit 110 -> out ( 9, 86) (^ 4) + +*********FAIL********* + +[[[ Keyset 'Zeroes' Tests ]]] + +Keyset 'Zeroes' - 204800 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.9, actual 3 (0.614x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.9, actual 2 (0.410x) (^ 0) +Testing all collisions (high 27-bit) - Expected 156.2, actual 155 (0.993x) (^ 0) +Testing all collisions (low 27-bit) - Expected 156.2, actual 156 (1.000x) (^ 0) +Testing all collisions (high 16..30 bits) - Worst is 20 bits: 18815/18759 (1.003x) (^ 0) +Testing all collisions (low 16..30 bits) - Worst is 23 bits: 2559/2480 (1.032x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 13 bits at bit 16: 0.791x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.9, actual 6 (1.229x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4.9, actual 7 (1.434x) (^ 2) +Testing all collisions (high 27-bit) - Expected 156.2, actual 137 (0.877x) (^ 0) +Testing all collisions (low 27-bit) - Expected 156.2, actual 163 (1.044x) (^ 1) +Testing all collisions (high 16..30 bits) - Worst is 20 bits: 19053/18759 (1.016x) (^ 2) +Testing all collisions (low 16..30 bits) - Worst is 20 bits: 18951/18759 (1.010x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 8 bits at bit 84: 0.861x (^ 1) + + +[[[ Keyset 'Cyclic' Tests ]]] + +Keyset 'Cyclic' - 4 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 108 (0.928x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 98 (0.842x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 29 bits: 977/931 (1.050x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 20 bits: 355811/355464 (1.001x) (^ 0) + +Keyset 'Cyclic' - 4 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 124 (1.065x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 124 (1.065x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 29 bits: 990/931 (1.064x) (^ 1) +Testing all collisions (low 16..35 bits) - Worst is 23 bits: 57470/57305 (1.003x) (^ 0) + +Keyset 'Cyclic' - 4 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 116 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 27 bits: 3803/3716 (1.023x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 28 bits: 1909/1860 (1.026x) (^ 0) + +Keyset 'Cyclic' - 4 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 105 (0.902x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 109 (0.936x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 110410/110274 (1.001x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 20 bits: 356185/355464 (1.002x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 120 (1.031x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 135 (1.160x) (^ 4) +Testing all collisions (high 16..35 bits) - Worst is 31 bits: 251/233 (1.078x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 32 bits: 135/116 (1.160x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 117 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 35 bits: 22/15 (1.512x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 26 bits: 7520/7414 (1.014x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 129 (1.108x) (^ 2) +Testing all collisions (high 16..35 bits) - Worst is 31 bits: 243/233 (1.044x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 33 bits: 70/58 (1.203x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 92 (0.790x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 25 bits: 14815/14754 (1.004x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 23 bits: 57640/57305 (1.006x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 91 (0.782x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 103 (0.885x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 29 bits: 951/931 (1.022x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 22 bits: 110658/110274 (1.003x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 125 (1.074x) (^ 2) +Testing all collisions (low 32-bit) - Expected 116.4, actual 106 (0.911x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 35 bits: 21/15 (1.443x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 23 bits: 57758/57305 (1.008x) (^ 1) + +Keyset 'Cyclic' - 12 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 112 (0.962x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 128 (1.100x) (^ 2) +Testing all collisions (high 16..35 bits) - Worst is 28 bits: 1864/1860 (1.002x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 35 bits: 21/15 (1.443x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 103 (0.885x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 130 (1.117x) (^ 3) +Testing all collisions (high 16..35 bits) - Worst is 24 bits: 29347/29219 (1.004x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 28 bits: 1919/1860 (1.032x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 112 (0.962x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 112 (0.962x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 23 bits: 57615/57305 (1.005x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 27 bits: 3722/3716 (1.002x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 118 (1.014x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 122 (1.048x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 33 bits: 65/58 (1.117x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 28 bits: 1943/1860 (1.044x) (^ 1) + +Keyset 'Cyclic' - 16 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 102 (0.876x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 110 (0.945x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 18 bits: 743723/743635 (1.000x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 25 bits: 14879/14754 (1.008x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 119 (1.022x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 97 (0.833x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 31 bits: 241/233 (1.035x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 27 bits: 3833/3716 (1.031x) (^ 1) + + +[[[ Keyset 'Sparse' Tests ]]] + +Keyset 'Sparse' - 2-byte keys with up to 6 bits set - 14893 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 105.3, actual 104 (0.988x) (^ 0) +Testing all collisions (low 20-bit) - Expected 105.3, actual 112 (1.064x) (^ 1) +Testing all collisions (high 10..23 bits) - Worst is 23 bits: 17/13 (1.287x) (^ 0) +Testing all collisions (low 10..23 bits) - Worst is 19 bits: 241/210 (1.150x) (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 105.3, actual 108 (1.026x) (^ 1) +Testing all collisions (low 20-bit) - Expected 105.3, actual 102 (0.969x) (^ 0) +Testing all collisions (high 10..23 bits) - Worst is 16 bits: 1615/1571 (1.028x) (^ 0) +Testing all collisions (low 10..23 bits) - Worst is 23 bits: 21/13 (1.590x) (^ 1) + +Keyset 'Sparse' - 3-byte keys with up to 4 bits set - 12951 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 19-bit) - Expected 158.6, actual 150 (0.946x) (^ 0) +Testing all collisions (low 19-bit) - Expected 158.6, actual 134 (0.845x) (^ 0) +Testing all collisions (high 10..22 bits) - Worst is 12 bits: 9037/9028 (1.001x) (^ 0) +Testing all collisions (low 10..22 bits) - Worst is 17 bits: 631/619 (1.019x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 19-bit) - Expected 158.6, actual 146 (0.920x) (^ 0) +Testing all collisions (low 19-bit) - Expected 158.6, actual 150 (0.946x) (^ 0) +Testing all collisions (high 10..22 bits) - Worst is 21 bits: 45/40 (1.128x) (^ 0) +Testing all collisions (low 10..22 bits) - Worst is 16 bits: 1240/1199 (1.034x) (^ 0) + +Keyset 'Sparse' - 4-byte keys with up to 4 bits set - 41449 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 102.2, actual 102 (1.000x) (^ 0) +Testing all collisions (low 23-bit) - Expected 102.2, actual 96 (0.939x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 15 bits: 17977/17930 (1.003x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 18 bits: 3146/3111 (1.011x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 1 (------) (^19) ! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 102.2, actual 84 (0.822x) (^ 0) +Testing all collisions (low 23-bit) - Expected 102.2, actual 115 (1.125x) (^ 3) +Testing all collisions (high 12..26 bits) - Worst is 19 bits: 1604/1596 (1.005x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 16 bits: 10901/10731 (1.016x) (^ 0) + +Keyset 'Sparse' - 5-byte keys with up to 4 bits set - 102091 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 155.1, actual 190 (1.225x) (^ 8) +Testing all collisions (low 25-bit) - Expected 155.1, actual 158 (1.018x) (^ 1) +Testing all collisions (high 13..28 bits) - Worst is 26 bits: 107/78 (1.379x) (^ 6) +Testing all collisions (low 13..28 bits) - Worst is 20 bits: 4845/4812 (1.007x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 3 (------) (^83) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.2, actual 3 (2.473x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1.2, actual 1 (1.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 155.1, actual 155 (1.000x) (^ 0) +Testing all collisions (low 25-bit) - Expected 155.1, actual 169 (1.089x) (^ 2) +Testing all collisions (high 13..28 bits) - Worst is 18 bits: 17621/17532 (1.005x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 24 bits: 350/310 (1.129x) (^ 2) + +Keyset 'Sparse' - 6-byte keys with up to 3 bits set - 18473 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 161.8, actual 158 (0.977x) (^ 0) +Testing all collisions (low 20-bit) - Expected 161.8, actual 173 (1.069x) (^ 2) +Testing all collisions (high 11..24 bits) - Worst is 24 bits: 15/10 (1.476x) (^ 0) +Testing all collisions (low 11..24 bits) - Worst is 20 bits: 173/162 (1.069x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 161.8, actual 169 (1.045x) (^ 1) +Testing all collisions (low 20-bit) - Expected 161.8, actual 174 (1.076x) (^ 2) +Testing all collisions (high 11..24 bits) - Worst is 14 bits: 7493/7395 (1.013x) (^ 0) +Testing all collisions (low 11..24 bits) - Worst is 21 bits: 94/81 (1.159x) (^ 0) + +Keyset 'Sparse' - 7-byte keys with up to 3 bits set - 29317 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (high 22-bit) - Expected 102.2, actual 111 (1.086x) (^ 2) +Testing all collisions (low 22-bit) - Expected 102.2, actual 99 (0.969x) (^ 0) +Testing all collisions (high 11..25 bits) - Worst is 16 bits: 5771/5680 (1.016x) (^ 0) +Testing all collisions (low 11..25 bits) - Worst is 16 bits: 5779/5680 (1.017x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (high 22-bit) - Expected 102.2, actual 115 (1.125x) (^ 3) +Testing all collisions (low 22-bit) - Expected 102.2, actual 86 (0.841x) (^ 0) +Testing all collisions (high 11..25 bits) - Worst is 20 bits: 431/406 (1.062x) (^ 0) +Testing all collisions (low 11..25 bits) - Worst is 25 bits: 15/13 (1.172x) (^ 0) + +Keyset 'Sparse' - 8-byte keys with up to 3 bits set - 43745 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 1 (------) (^19) ! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 113.9, actual 141 (1.238x) (^ 6) +Testing all collisions (low 23-bit) - Expected 113.9, actual 106 (0.931x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 23 bits: 141/114 (1.238x) (^ 3) +Testing all collisions (low 12..26 bits) - Worst is 18 bits: 3519/3455 (1.019x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 113.9, actual 122 (1.071x) (^ 2) +Testing all collisions (low 23-bit) - Expected 113.9, actual 106 (0.931x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 22 bits: 242/227 (1.065x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 26 bits: 16/14 (1.122x) (^ 0) + +Keyset 'Sparse' - 9-byte keys with up to 3 bits set - 62269 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.5, actual 2 (4.431x) (^ 3) +Testing all collisions (high 24-bit) - Expected 115.4, actual 116 (1.000x) (^ 1) +Testing all collisions (low 24-bit) - Expected 115.4, actual 121 (1.048x) (^ 1) +Testing all collisions (high 12..27 bits) - Worst is 26 bits: 35/29 (1.212x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 27 bits: 19/14 (1.316x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.5, actual 2 (4.431x) (^ 3) +Testing all collisions (low 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 115.4, actual 126 (1.092x) (^ 2) +Testing all collisions (low 24-bit) - Expected 115.4, actual 109 (0.944x) (^ 0) +Testing all collisions (high 12..27 bits) - Worst is 27 bits: 23/14 (1.593x) (^ 1) +Testing all collisions (low 12..27 bits) - Worst is 22 bits: 487/460 (1.059x) (^ 0) + +Keyset 'Sparse' - 10-byte keys with up to 3 bits set - 85401 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.8, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.8, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 108.6, actual 101 (0.930x) (^ 0) +Testing all collisions (low 25-bit) - Expected 108.6, actual 115 (1.059x) (^ 1) +Testing all collisions (high 13..28 bits) - Worst is 17 bits: 22814/22648 (1.007x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 21 bits: 1779/1715 (1.037x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.8, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.8, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 108.6, actual 92 (0.847x) (^ 0) +Testing all collisions (low 25-bit) - Expected 108.6, actual 98 (0.903x) (^ 0) +Testing all collisions (high 13..28 bits) - Worst is 18 bits: 12599/12516 (1.007x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 20 bits: 3461/3385 (1.022x) (^ 0) + +Keyset 'Sparse' - 11-byte keys with up to 3 bits set - 113653 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.5, actual 1 (0.665x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 192.3, actual 183 (0.952x) (^ 0) +Testing all collisions (low 25-bit) - Expected 192.3, actual 197 (1.025x) (^ 1) +Testing all collisions (high 13..29 bits) - Worst is 21 bits: 3154/3025 (1.043x) (^ 2) +Testing all collisions (low 13..29 bits) - Worst is 23 bits: 799/766 (1.042x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.5, actual 3 (1.995x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1.5, actual 2 (1.000x) (^ 1) +Testing all collisions (high 25-bit) - Expected 192.3, actual 195 (1.014x) (^ 1) +Testing all collisions (low 25-bit) - Expected 192.3, actual 204 (1.061x) (^ 2) +Testing all collisions (high 13..29 bits) - Worst is 23 bits: 829/766 (1.082x) (^ 2) +Testing all collisions (low 13..29 bits) - Worst is 23 bits: 810/766 (1.057x) (^ 0) + +Keyset 'Sparse' - 12-byte keys with up to 3 bits set - 147537 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 1 (------) (^17) ! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2.5, actual 4 (1.579x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2.5, actual 2 (0.789x) (^ 0) +Testing all collisions (high 26-bit) - Expected 162.1, actual 157 (0.969x) (^ 0) +Testing all collisions (low 26-bit) - Expected 162.1, actual 155 (0.956x) (^ 0) +Testing all collisions (high 13..30 bits) - Worst is 17 bits: 59104/58991 (1.002x) (^ 0) +Testing all collisions (low 13..30 bits) - Worst is 25 bits: 336/324 (1.037x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2.5, actual 1 (0.395x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2.5, actual 3 (1.000x) (^ 1) +Testing all collisions (high 26-bit) - Expected 162.1, actual 167 (1.030x) (^ 1) +Testing all collisions (low 26-bit) - Expected 162.1, actual 169 (1.043x) (^ 1) +Testing all collisions (high 13..30 bits) - Worst is 20 bits: 10103/9909 (1.020x) (^ 1) +Testing all collisions (low 13..30 bits) - Worst is 28 bits: 49/41 (1.209x) (^ 0) + +Keyset 'Sparse' - 13-byte keys with up to 3 bits set - 187565 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.1, actual 5 (1.221x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4.1, actual 4 (1.000x) (^ 0) +Testing all collisions (high 27-bit) - Expected 131.0, actual 138 (1.053x) (^ 1) +Testing all collisions (low 27-bit) - Expected 131.0, actual 139 (1.061x) (^ 1) +Testing all collisions (high 14..30 bits) - Worst is 30 bits: 23/16 (1.404x) (^ 0) +Testing all collisions (low 14..30 bits) - Worst is 24 bits: 1070/1045 (1.024x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.1, actual 4 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.1, actual 6 (1.465x) (^ 1) +Testing all collisions (high 27-bit) - Expected 131.0, actual 145 (1.107x) (^ 3) +Testing all collisions (low 27-bit) - Expected 131.0, actual 138 (1.053x) (^ 1) +Testing all collisions (high 14..30 bits) - Worst is 29 bits: 46/33 (1.404x) (^ 1) +Testing all collisions (low 14..30 bits) - Worst is 27 bits: 138/131 (1.053x) (^ 0) + +Keyset 'Sparse' - 14-byte keys with up to 3 bits set - 234249 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6.4, actual 4 (0.626x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6.4, actual 9 (1.409x) (^ 2) +Testing all collisions (high 28-bit) - Expected 102.2, actual 114 (1.116x) (^ 2) +Testing all collisions (low 28-bit) - Expected 102.2, actual 102 (1.000x) (^ 0) +Testing all collisions (high 14..31 bits) - Worst is 27 bits: 221/204 (1.082x) (^ 0) +Testing all collisions (low 14..31 bits) - Worst is 25 bits: 843/816 (1.033x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6.4, actual 13 (2.035x) (^ 5) +Testing all collisions (low 32-bit) - Expected 6.4, actual 7 (1.000x) (^ 1) +Testing all collisions (high 28-bit) - Expected 102.2, actual 96 (0.940x) (^ 0) +Testing all collisions (low 28-bit) - Expected 102.2, actual 104 (1.018x) (^ 1) +Testing all collisions (high 14..31 bits) - Worst is 31 bits: 24/13 (1.879x) (^ 3) +Testing all collisions (low 14..31 bits) - Worst is 23 bits: 3342/3240 (1.031x) (^ 0) + +Keyset 'Sparse' - 2-byte keys with up to 10 bits set - 58651 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 102.4, actual 103 (1.000x) (^ 1) +Testing all collisions (low 24-bit) - Expected 102.4, actual 93 (0.908x) (^ 0) +Testing all collisions (high 12..27 bits) - Worst is 25 bits: 55/51 (1.074x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 16 bits: 19996/19895 (1.005x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 102.4, actual 96 (0.938x) (^ 0) +Testing all collisions (low 24-bit) - Expected 102.4, actual 107 (1.045x) (^ 1) +Testing all collisions (high 12..27 bits) - Worst is 16 bits: 20038/19895 (1.007x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 26 bits: 34/26 (1.327x) (^ 0) + +Keyset 'Sparse' - 3-byte keys with up to 20 bits set - 16774891 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 32895 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 32895 (257.1x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 128.0, actual 224 (1.750x) (^46) !!!!! +Testing all collisions (high 32-bit) - Expected 32716.3, actual 32895 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32716.3, actual 33369 (1.020x) (^12) +Testing all collisions (high 20..43 bits) - Worst is 33 bits: 32895/16369 (2.010x) (^99) !!!!! +Testing all collisions (low 20..43 bits) - Worst is 25 bits: 3607906/3573661 (1.010x) (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 32786 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 32786 (256.2x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 128.0, actual 143 (1.118x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32716.3, actual 32786 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32716.3, actual 32732 (1.000x) (^ 1) +Testing all collisions (high 20..43 bits) - Worst is 33 bits: 32786/16369 (2.003x) (^99) !!!!! +Testing all collisions (low 20..43 bits) - Worst is 41 bits: 76/64 (1.188x) (^ 0) + +Keyset 'Sparse' - 4-byte keys with up to 9 bits set - 43081973 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 216108 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 105.5, actual 216108 (------) (^99) !!!!! +Testing all collisions (low 43-bit) - Expected 105.5, actual 1472 (13.95x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 215352.7, actual 216108 (1.004x) (^ 4) +Testing all collisions (low 32-bit) - Expected 215352.7, actual 218153 (1.013x) (^30) !!!!! +Testing all collisions (high 21..46 bits) - Worst is 33 bits: 216108/107856 (2.004x) (^99) !!!!! +Testing all collisions (low 21..46 bits) - Worst is 40 bits: 2213/844 (2.622x) (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 215716 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 105.5, actual 215716 (------) (^99) !!!!! +Testing all collisions (low 43-bit) - Expected 105.5, actual 117 (1.109x) (^ 2) +Testing all collisions (high 32-bit) - Expected 215352.7, actual 215716 (1.002x) (^ 2) +Testing all collisions (low 32-bit) - Expected 215352.7, actual 215391 (1.000x) (^ 1) +Testing all collisions (high 21..46 bits) - Worst is 33 bits: 215716/107856 (2.000x) (^99) !!!!! +Testing all collisions (low 21..46 bits) - Worst is 41 bits: 470/422 (1.114x) (^ 1) + +Keyset 'Sparse' - 5-byte keys with up to 7 bits set - 23242039 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 62900 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 122.8, actual 62900 (512.1x) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 122.8, actual 120 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 62773.4, actual 62900 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 62773.4, actual 62734 (0.999x) (^ 0) +Testing all collisions (high 20..44 bits) - Worst is 33 bits: 62900/31415 (2.002x) (^99) !!!!! +Testing all collisions (low 20..44 bits) - Worst is 37 bits: 2035/1965 (1.036x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 62851 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 122.8, actual 62851 (511.7x) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 122.8, actual 128 (1.042x) (^ 1) +Testing all collisions (high 32-bit) - Expected 62773.4, actual 62851 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 62773.4, actual 62175 (0.990x) (^ 0) +Testing all collisions (high 20..44 bits) - Worst is 33 bits: 62851/31415 (2.001x) (^99) !!!!! +Testing all collisions (low 20..44 bits) - Worst is 36 bits: 4008/3930 (1.020x) (^ 0) + +Keyset 'Sparse' - 6-byte keys with up to 7 bits set - 87825941 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 890622 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 109.6, actual 890622 (------) (^99) !!!!! +Testing all collisions (low 45-bit) - Expected 109.6, actual 139 (1.268x) (^ 7) +Testing all collisions (high 32-bit) - Expected 891868.0, actual 890622 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 891868.0, actual 891148 (0.999x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 33 bits: 890622/447452 (1.990x) (^99) !!!!! +Testing all collisions (low 22..48 bits) - Worst is 44 bits: 261/219 (1.191x) (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 891880 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 109.6, actual 891880 (------) (^99) !!!!! +Testing all collisions (low 45-bit) - Expected 109.6, actual 111 (1.013x) (^ 1) +Testing all collisions (high 32-bit) - Expected 891868.0, actual 891880 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 891868.0, actual 892474 (1.001x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 33 bits: 891880/447452 (1.993x) (^99) !!!!! +Testing all collisions (low 22..48 bits) - Worst is 28 bits: 12924458/12920646 (1.000x) (^ 0) + +Keyset 'Sparse' - 7-byte keys with up to 6 bits set - 36684859 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 156317 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 153.0, actual 156317 (------) (^99) !!!!! +Testing all collisions (low 42-bit) - Expected 153.0, actual 149 (0.974x) (^ 0) +Testing all collisions (high 32-bit) - Expected 156224.2, actual 156317 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 156224.2, actual 155980 (0.998x) (^ 0) +Testing all collisions (high 21..45 bits) - Worst is 33 bits: 156317/78223 (1.998x) (^99) !!!!! +Testing all collisions (low 21..45 bits) - Worst is 39 bits: 1262/1224 (1.031x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 156409 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 153.0, actual 156409 (------) (^99) !!!!! +Testing all collisions (low 42-bit) - Expected 153.0, actual 159 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 156224.2, actual 156409 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 156224.2, actual 156008 (0.999x) (^ 0) +Testing all collisions (high 21..45 bits) - Worst is 33 bits: 156409/78223 (2.000x) (^99) !!!!! +Testing all collisions (low 21..45 bits) - Worst is 44 bits: 53/38 (1.386x) (^ 1) + +Keyset 'Sparse' - 8-byte keys with up to 6 bits set - 83278001 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 803148 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 197.1, actual 803148 (------) (^99) !!!!! +Testing all collisions (low 44-bit) - Expected 197.1, actual 209 (1.060x) (^ 2) +Testing all collisions (high 32-bit) - Expected 802173.5, actual 803148 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 802173.5, actual 801894 (1.000x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 33 bits: 803148/402382 (1.996x) (^99) !!!!! +Testing all collisions (low 22..48 bits) - Worst is 41 bits: 1632/1577 (1.035x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 802942 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 197.1, actual 802942 (------) (^99) !!!!! +Testing all collisions (low 44-bit) - Expected 197.1, actual 218 (1.106x) (^ 3) +Testing all collisions (high 32-bit) - Expected 802173.5, actual 802942 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 802173.5, actual 802202 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 33 bits: 802942/402382 (1.995x) (^99) !!!!! +Testing all collisions (low 22..48 bits) - Worst is 43 bits: 439/394 (1.114x) (^ 1) + +Keyset 'Sparse' - 9-byte keys with up to 5 bits set - 15082603 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 7898 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 103.4, actual 7959 (76.94x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 103.4, actual 112 (1.083x) (^ 2) +Testing all collisions (high 32-bit) - Expected 26451.8, actual 26195 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 26451.8, actual 26496 (1.002x) (^ 1) +Testing all collisions (high 20..43 bits) - Worst is 34 bits: 12432/6619 (1.878x) (^99) !!!!! +Testing all collisions (low 20..43 bits) - Worst is 38 bits: 454/414 (1.097x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 6842 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 103.4, actual 6916 (66.86x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 103.4, actual 96 (0.928x) (^ 0) +Testing all collisions (high 32-bit) - Expected 26451.8, actual 26582 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 26451.8, actual 26425 (0.999x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 34 bits: 11759/6619 (1.777x) (^99) !!!!! +Testing all collisions (low 20..43 bits) - Worst is 36 bits: 1713/1655 (1.035x) (^ 0) + +Keyset 'Sparse' - 12-byte keys with up to 5 bits set - 64593561 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 8014 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 118.6, actual 8146 (68.69x) (^99) !!!!! +Testing all collisions (low 44-bit) - Expected 118.6, actual 126 (1.063x) (^ 1) +Testing all collisions (high 32-bit) - Expected 483297.1, actual 482871 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 483297.1, actual 482424 (0.998x) (^ 0) +Testing all collisions (high 22..47 bits) - Worst is 36 bits: 37988/30348 (1.252x) (^99) !!!!! +Testing all collisions (low 22..47 bits) - Worst is 40 bits: 1966/1897 (1.036x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 6867 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 118.6, actual 6971 (58.79x) (^99) !!!!! +Testing all collisions (low 44-bit) - Expected 118.6, actual 134 (1.130x) (^ 3) +Testing all collisions (high 32-bit) - Expected 483297.1, actual 483855 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 483297.1, actual 483368 (1.000x) (^ 1) +Testing all collisions (high 22..47 bits) - Worst is 37 bits: 21957/15176 (1.447x) (^99) !!!!! +Testing all collisions (low 22..47 bits) - Worst is 47 bits: 21/15 (1.417x) (^ 0) + +Keyset 'Sparse' - 14-byte keys with up to 4 bits set - 6445069 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 49 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 151.1, actual 195 (1.290x) (^11) +Testing all collisions (low 37-bit) - Expected 151.1, actual 141 (0.933x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4833.3, actual 4877 (1.009x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4833.3, actual 4800 (0.993x) (^ 0) +Testing all collisions (high 18..40 bits) - Worst is 40 bits: 69/19 (3.653x) (^55) !!!!! +Testing all collisions (low 18..40 bits) - Worst is 34 bits: 1229/1209 (1.017x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 48 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 151.1, actual 194 (1.284x) (^11) +Testing all collisions (low 37-bit) - Expected 151.1, actual 145 (0.960x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4833.3, actual 4875 (1.009x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4833.3, actual 4854 (1.004x) (^ 1) +Testing all collisions (high 18..40 bits) - Worst is 40 bits: 65/19 (3.441x) (^48) !!!!! +Testing all collisions (low 18..40 bits) - Worst is 29 bits: 38829/38532 (1.008x) (^ 0) + +Keyset 'Sparse' - 16-byte keys with up to 4 bits set - 11017633 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 110.4, actual 107 (0.969x) (^ 0) +Testing all collisions (low 39-bit) - Expected 110.4, actual 109 (0.987x) (^ 0) +Testing all collisions (high 32-bit) - Expected 14119.4, actual 14316 (1.014x) (^ 4) +Testing all collisions (low 32-bit) - Expected 14119.4, actual 14060 (0.996x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 34 bits: 3633/3532 (1.029x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 40 bits: 61/55 (1.105x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 110.4, actual 118 (1.069x) (^ 1) +Testing all collisions (low 39-bit) - Expected 110.4, actual 114 (1.033x) (^ 1) +Testing all collisions (high 32-bit) - Expected 14119.4, actual 14113 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 14119.4, actual 13942 (0.987x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 42 bits: 20/14 (1.449x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 37 bits: 476/442 (1.078x) (^ 0) + +Keyset 'Sparse' - 18-byte keys with up to 4 bits set - 17676661 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 142.1, actual 149 (1.049x) (^ 1) +Testing all collisions (low 40-bit) - Expected 142.1, actual 142 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 36325.8, actual 36514 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 36325.8, actual 36671 (1.010x) (^ 4) +Testing all collisions (high 20..43 bits) - Worst is 30 bits: 145597/144707 (1.006x) (^ 2) +Testing all collisions (low 20..43 bits) - Worst is 36 bits: 2366/2273 (1.041x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 142.1, actual 124 (0.873x) (^ 0) +Testing all collisions (low 40-bit) - Expected 142.1, actual 153 (1.077x) (^ 2) +Testing all collisions (high 32-bit) - Expected 36325.8, actual 36303 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 36325.8, actual 36417 (1.003x) (^ 1) +Testing all collisions (high 20..43 bits) - Worst is 25 bits: 3937803/3935727 (1.001x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 31 bits: 73089/72552 (1.007x) (^ 1) + +Keyset 'Sparse' - 24-byte keys with up to 4 bits set - 56050289 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 57 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 57 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 57 (------) (^99) !!!!! +Testing all collisions (high 43-bit) - Expected 178.6, actual 257 (1.439x) (^25) !!!!! +Testing all collisions (low 43-bit) - Expected 178.6, actual 232 (1.299x) (^13) +Testing all collisions (high 32-bit) - Expected 364148.6, actual 364127 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 364148.6, actual 363829 (0.999x) (^ 0) +Testing all collisions (high 21..47 bits) - Worst is 47 bits: 75/11 (6.720x) (^99) !!!!! +Testing all collisions (low 21..47 bits) - Worst is 47 bits: 68/11 (6.092x) (^94) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 178.6, actual 190 (1.064x) (^ 2) +Testing all collisions (low 43-bit) - Expected 178.6, actual 165 (0.924x) (^ 0) +Testing all collisions (high 32-bit) - Expected 364148.6, actual 363674 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 364148.6, actual 364515 (1.001x) (^ 1) +Testing all collisions (high 21..47 bits) - Worst is 38 bits: 5849/5714 (1.024x) (^ 0) +Testing all collisions (low 21..47 bits) - Worst is 36 bits: 23105/22852 (1.011x) (^ 0) + +Keyset 'Sparse' - 26-byte keys with up to 4 bits set - 77260613 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 60 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 60 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 60 (------) (^99) !!!!! +Testing all collisions (high 44-bit) - Expected 169.7, actual 213 (1.255x) (^10) +Testing all collisions (low 44-bit) - Expected 169.7, actual 210 (1.238x) (^ 9) +Testing all collisions (high 32-bit) - Expected 690758.5, actual 690278 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 690758.5, actual 691243 (1.001x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 48 bits: 65/11 (6.130x) (^90) !!!!! +Testing all collisions (low 22..48 bits) - Worst is 48 bits: 74/11 (6.979x) (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 169.7, actual 181 (1.067x) (^ 2) +Testing all collisions (low 44-bit) - Expected 169.7, actual 176 (1.037x) (^ 1) +Testing all collisions (high 32-bit) - Expected 690758.5, actual 689435 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 690758.5, actual 690993 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 46 bits: 54/42 (1.273x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 42 bits: 710/679 (1.046x) (^ 0) + +Keyset 'Sparse' - 32-byte keys with up to 3 bits set - 2796417 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 113.8, actual 112 (0.984x) (^ 0) +Testing all collisions (low 35-bit) - Expected 113.8, actual 109 (0.958x) (^ 0) +Testing all collisions (high 32-bit) - Expected 910.2, actual 911 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 910.2, actual 900 (0.989x) (^ 0) +Testing all collisions (high 17..38 bits) - Worst is 23 bits: 419486/418356 (1.003x) (^ 0) +Testing all collisions (low 17..38 bits) - Worst is 31 bits: 1869/1820 (1.027x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 113.8, actual 132 (1.160x) (^ 4) +Testing all collisions (low 35-bit) - Expected 113.8, actual 109 (0.958x) (^ 0) +Testing all collisions (high 32-bit) - Expected 910.2, actual 921 (1.012x) (^ 1) +Testing all collisions (low 32-bit) - Expected 910.2, actual 959 (1.054x) (^ 4) +Testing all collisions (high 17..38 bits) - Worst is 25 bits: 113912/113356 (1.005x) (^ 0) +Testing all collisions (low 17..38 bits) - Worst is 29 bits: 7453/7270 (1.025x) (^ 1) + +Keyset 'Sparse' - 48-byte keys with up to 3 bits set - 9437505 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 162.0, actual 171 (1.055x) (^ 1) +Testing all collisions (low 38-bit) - Expected 162.0, actual 182 (1.123x) (^ 3) +Testing all collisions (high 32-bit) - Expected 10361.1, actual 10445 (1.008x) (^ 2) +Testing all collisions (low 32-bit) - Expected 10361.1, actual 10328 (0.997x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 40 bits: 59/41 (1.457x) (^ 3) +Testing all collisions (low 19..42 bits) - Worst is 40 bits: 72/41 (1.778x) (^12) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 162.0, actual 159 (0.981x) (^ 0) +Testing all collisions (low 38-bit) - Expected 162.0, actual 168 (1.037x) (^ 1) +Testing all collisions (high 32-bit) - Expected 10361.1, actual 10344 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 10361.1, actual 10427 (1.006x) (^ 1) +Testing all collisions (high 19..42 bits) - Worst is 31 bits: 20898/20707 (1.009x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 29 bits: 82872/82466 (1.005x) (^ 0) + +Keyset 'Sparse' - 64-byte keys with up to 3 bits set - 22370049 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 113.8, actual 115 (1.011x) (^ 1) +Testing all collisions (low 41-bit) - Expected 113.8, actual 128 (1.125x) (^ 3) +Testing all collisions (high 32-bit) - Expected 58155.4, actual 58256 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 58155.4, actual 58250 (1.002x) (^ 1) +Testing all collisions (high 20..44 bits) - Worst is 42 bits: 64/57 (1.125x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 43 bits: 42/28 (1.477x) (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 113.8, actual 113 (0.993x) (^ 0) +Testing all collisions (low 41-bit) - Expected 113.8, actual 117 (1.028x) (^ 1) +Testing all collisions (high 32-bit) - Expected 58155.4, actual 58289 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 58155.4, actual 58081 (0.999x) (^ 0) +Testing all collisions (high 20..44 bits) - Worst is 31 bits: 116669/116109 (1.005x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 27 bits: 1766626/1764813 (1.001x) (^ 0) + +Keyset 'Sparse' - 96-byte keys with up to 3 bits set - 75498113 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 151 (0.932x) (^ 0) +Testing all collisions (low 44-bit) - Expected 162.0, actual 180 (1.111x) (^ 3) +Testing all collisions (high 32-bit) - Expected 659692.2, actual 660023 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 659692.2, actual 659834 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 47 bits: 27/20 (1.333x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 46 bits: 53/41 (1.309x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 169 (1.043x) (^ 1) +Testing all collisions (low 44-bit) - Expected 162.0, actual 178 (1.099x) (^ 3) +Testing all collisions (high 32-bit) - Expected 659692.2, actual 659108 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 659692.2, actual 659277 (0.999x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 45 bits: 96/81 (1.185x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 44 bits: 178/162 (1.099x) (^ 0) + +Keyset 'Sparse' - 128-byte keys with up to 2 bits set - 524801 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.1, actual 29 (0.905x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32.1, actual 32 (1.000x) (^ 0) +Testing all collisions (high 30-bit) - Expected 128.2, actual 114 (0.889x) (^ 0) +Testing all collisions (low 30-bit) - Expected 128.2, actual 132 (1.029x) (^ 1) +Testing all collisions (high 15..33 bits) - Worst is 21 bits: 60758/60513 (1.004x) (^ 0) +Testing all collisions (low 15..33 bits) - Worst is 26 bits: 2145/2047 (1.048x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.1, actual 32 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32.1, actual 30 (0.936x) (^ 0) +Testing all collisions (high 30-bit) - Expected 128.2, actual 123 (0.959x) (^ 0) +Testing all collisions (low 30-bit) - Expected 128.2, actual 116 (0.905x) (^ 0) +Testing all collisions (high 15..33 bits) - Worst is 31 bits: 66/64 (1.029x) (^ 0) +Testing all collisions (low 15..33 bits) - Worst is 26 bits: 2117/2047 (1.034x) (^ 0) + +Keyset 'Sparse' - 256-byte keys with up to 2 bits set - 2098177 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.1, actual 117 (0.913x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.1, actual 121 (0.944x) (^ 0) +Testing all collisions (high 32-bit) - Expected 512.4, actual 513 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 512.4, actual 508 (0.991x) (^ 0) +Testing all collisions (high 17..37 bits) - Worst is 23 bits: 242578/241825 (1.003x) (^ 0) +Testing all collisions (low 17..37 bits) - Worst is 30 bits: 2108/2049 (1.029x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.1, actual 126 (0.983x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.1, actual 135 (1.054x) (^ 1) +Testing all collisions (high 32-bit) - Expected 512.4, actual 516 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 512.4, actual 468 (0.913x) (^ 0) +Testing all collisions (high 17..37 bits) - Worst is 27 bits: 16566/16315 (1.015x) (^ 1) +Testing all collisions (low 17..37 bits) - Worst is 37 bits: 22/16 (1.374x) (^ 0) + +Keyset 'Sparse' - 512-byte keys with up to 2 bits set - 8390657 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 128.1, actual 118 (0.921x) (^ 0) +Testing all collisions (low 38-bit) - Expected 128.1, actual 128 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8190.7, actual 8107 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8190.7, actual 8200 (1.001x) (^ 1) +Testing all collisions (high 19..41 bits) - Worst is 26 bits: 504071/503349 (1.001x) (^ 0) +Testing all collisions (low 19..41 bits) - Worst is 27 bits: 257441/256891 (1.002x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 128.1, actual 99 (0.773x) (^ 0) +Testing all collisions (low 38-bit) - Expected 128.1, actual 124 (0.968x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8190.7, actual 7921 (0.967x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8190.7, actual 8222 (1.004x) (^ 1) +Testing all collisions (high 19..41 bits) - Worst is 23 bits: 3089161/3087292 (1.001x) (^ 0) +Testing all collisions (low 19..41 bits) - Worst is 25 bits: 969115/966847 (1.002x) (^ 2) + +Keyset 'Sparse' - 1024-byte keys with up to 2 bits set - 33558529 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 42-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 130763.2, actual 130401 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 130763.2, actual 130927 (1.001x) (^ 1) +Testing all collisions (high 21..45 bits) - Worst is 28 bits: 2014430/2012916 (1.001x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 31 bits: 261531/260847 (1.003x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 42-bit) - Expected 128.0, actual 141 (1.101x) (^ 2) +Testing all collisions (high 32-bit) - Expected 130763.2, actual 130708 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 130763.2, actual 130991 (1.002x) (^ 1) +Testing all collisions (high 21..45 bits) - Worst is 29 bits: 1028849/1027316 (1.001x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 41 bits: 288/256 (1.125x) (^ 1) + +Keyset 'Sparse' - 1280-byte keys with up to 2 bits set - 52433921 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 156.3, actual 146 (0.934x) (^ 0) +Testing all collisions (low 43-bit) - Expected 156.3, actual 145 (0.928x) (^ 0) +Testing all collisions (high 32-bit) - Expected 318764.0, actual 318763 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 318764.0, actual 319130 (1.001x) (^ 1) +Testing all collisions (high 21..46 bits) - Worst is 46 bits: 29/20 (1.485x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 30 bits: 1261548/1259663 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 156.3, actual 169 (1.081x) (^ 2) +Testing all collisions (low 43-bit) - Expected 156.3, actual 141 (0.902x) (^ 0) +Testing all collisions (high 32-bit) - Expected 318764.0, actual 318510 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 318764.0, actual 319399 (1.002x) (^ 2) +Testing all collisions (high 21..46 bits) - Worst is 38 bits: 5120/5001 (1.024x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 34 bits: 80299/79934 (1.005x) (^ 0) + +Keyset 'Sparse' - 1536-byte keys with up to 2 bits set - 75503617 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 166 (1.025x) (^ 1) +Testing all collisions (low 44-bit) - Expected 162.0, actual 177 (1.092x) (^ 2) +Testing all collisions (high 32-bit) - Expected 659788.1, actual 661137 (1.002x) (^ 4) +Testing all collisions (low 32-bit) - Expected 659788.1, actual 659496 (1.000x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 37 bits: 21041/20736 (1.015x) (^ 1) +Testing all collisions (low 22..48 bits) - Worst is 35 bits: 83471/82897 (1.007x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 154 (0.950x) (^ 0) +Testing all collisions (low 44-bit) - Expected 162.0, actual 169 (1.043x) (^ 1) +Testing all collisions (high 32-bit) - Expected 659788.1, actual 660325 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 659788.1, actual 660112 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 39 bits: 5281/5185 (1.019x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 40 bits: 2731/2592 (1.053x) (^ 3) + +Keyset 'Sparse' - 2048-byte keys with up to 2 bits set - 134225921 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 46-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 46-bit) - Expected 128.0, actual 141 (1.101x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2075728.3, actual 2075020 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2075728.3, actual 2074137 (0.999x) (^ 0) +Testing all collisions (high 23..49 bits) - Worst is 28 bits: 28610142/28599830 (1.000x) (^ 0) +Testing all collisions (low 23..49 bits) - Worst is 42 bits: 2138/2048 (1.044x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 46-bit) - Expected 128.0, actual 128 (1.000x) (^ 0) +Testing all collisions (low 46-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2075728.3, actual 2075690 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2075728.3, actual 2077628 (1.001x) (^ 3) +Testing all collisions (high 23..49 bits) - Worst is 33 bits: 1044410/1043263 (1.001x) (^ 0) +Testing all collisions (low 23..49 bits) - Worst is 31 bits: 4112396/4108767 (1.001x) (^ 0) + +*********FAIL********* + +[[[ Keyset 'Permutation' Tests ]]] + +Keyset 'Combination 4-bytes [3 low bits; LE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 167 (1.000x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 184 (1.101x) (^ 3) +Testing all collisions (high 32-bit) - Expected 668.6, actual 646 (0.966x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 659 (0.986x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 25 bits: 84067/83596 (1.006x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 36 bits: 57/42 (1.364x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 114: 0.784x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 174 (1.041x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 171 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 668.6, actual 682 (1.020x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 660 (0.987x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 35 bits: 99/84 (1.184x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 37 bits: 30/21 (1.436x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 16 bits at bit 35: 0.518x (^ 0) + +Keyset 'Combination 4-bytes [3 low bits; BE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 175 (1.047x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 165 (0.987x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 711 (1.063x) (^ 4) +Testing all collisions (low 32-bit) - Expected 668.6, actual 646 (0.966x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 32 bits: 711/669 (1.063x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 38 bits: 15/10 (1.436x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 100: 0.892x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 191 (1.143x) (^ 4) +Testing all collisions (low 34-bit) - Expected 167.2, actual 173 (1.035x) (^ 1) +Testing all collisions (high 32-bit) - Expected 668.6, actual 687 (1.028x) (^ 2) +Testing all collisions (low 32-bit) - Expected 668.6, actual 642 (0.960x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 34 bits: 191/167 (1.143x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 26 bits: 42637/42294 (1.008x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 10 bits at bit 70: 0.694x (^ 0) + +Keyset 'Combination 4-bytes [3 high bits; LE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 173 (1.035x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 134 (0.802x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 706 (1.056x) (^ 3) +Testing all collisions (low 32-bit) - Expected 668.6, actual 653 (0.977x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 38 bits: 19/10 (1.818x) (^ 2) +Testing all collisions (low 19..38 bits) - Worst is 28 bits: 10771/10668 (1.010x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 105: 0.675x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 174 (1.041x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 169 (1.011x) (^ 1) +Testing all collisions (high 32-bit) - Expected 668.6, actual 689 (1.030x) (^ 2) +Testing all collisions (low 32-bit) - Expected 668.6, actual 684 (1.023x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 31 bits: 1369/1337 (1.024x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 29 bits: 5466/5342 (1.023x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 17 bits at bit 118: 0.534x (^ 0) + +Keyset 'Combination 4-bytes [3 high bits; BE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 175 (1.047x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 166 (0.993x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 674 (1.008x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 663 (0.992x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 27 bits: 21422/21273 (1.007x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 31 bits: 1359/1337 (1.016x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 8: 0.664x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 145 (0.867x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 165 (0.987x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 660 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 636 (0.951x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 28 bits: 10755/10668 (1.008x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 26 bits: 42559/42294 (1.006x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 82: 0.581x (^ 1) + +Keyset 'Combination 4-bytes [3 high+low bits; LE]' - up to 6 blocks from a set of 15 - 12204240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 136 (1.004x) (^ 1) +Testing all collisions (low 39-bit) - Expected 135.5, actual 131 (0.967x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17468 (1.008x) (^ 2) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17253 (0.996x) (^ 0) +Testing all collisions (high 22..42 bits) - Worst is 33 bits: 8829/8666 (1.019x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 42 bits: 21/17 (1.240x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 57: 0.508x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 125 (0.923x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 128 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17204 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17499 (1.010x) (^ 3) +Testing all collisions (high 22..42 bits) - Worst is 42 bits: 22/17 (1.299x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 32 bits: 17499/17323 (1.010x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 108: 0.545x (^ 0) + +Keyset 'Combination 4-bytes [3 high+low bits; BE]' - up to 6 blocks from a set of 15 - 12204240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 135 (1.000x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 150 (1.107x) (^ 3) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17323 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17368 (1.003x) (^ 1) +Testing all collisions (high 22..42 bits) - Worst is 34 bits: 4417/4334 (1.019x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 39 bits: 150/135 (1.107x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 92: 0.614x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 130 (0.960x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 129 (0.952x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17477 (1.009x) (^ 3) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17251 (0.996x) (^ 0) +Testing all collisions (high 22..42 bits) - Worst is 32 bits: 17477/17323 (1.009x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 25 bits: 1975557/1973141 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 40: 0.476x (^ 0) + +Keyset 'Combination 4-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 148 (1.156x) (^ 4) +Testing all collisions (low 40-bit) - Expected 128.0, actual 105 (0.820x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32712 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32469 (0.992x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 285/256 (1.113x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007163/1006217 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 5: 0.590x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32699 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32250 (0.985x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 2075/2048 (1.013x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 25 bits: 3576934/3574575 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 112: 0.740x (^ 4) + +Keyset 'Combination 4-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32821 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32474 (0.992x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 138/128 (1.078x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514118/513534 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 73: 0.672x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32893 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32609 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3578851/3574575 (1.001x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16537/16373 (1.010x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 120: 0.569x (^ 0) + +Keyset 'Combination 4-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32966 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32784 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 32966/32725 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 259900/259434 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 17: 0.792x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32878 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32714 (1.000x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 2100/2048 (1.025x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 40 bits: 139/128 (1.086x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 2: 1.046x (^ 5) + +Keyset 'Combination 4-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32815 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32419 (0.991x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3578948/3574575 (1.001x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 26/16 (1.625x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 0: 0.544x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32735 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32780 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3577181/3574575 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16612/16373 (1.015x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 35: 0.700x (^ 0) + +Keyset 'Combination 8-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32756 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32604 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 65772/65366 (1.006x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 40 bits: 140/128 (1.094x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 74: 0.617x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 114 (0.891x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32910 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32767 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 32910/32725 (1.006x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16538/16373 (1.010x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 25: 0.937x (^ 2) + +Keyset 'Combination 8-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33039 (1.010x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32652 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260567/259434 (1.004x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 36/32 (1.125x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 89: 0.462x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32639 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33075 (1.011x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3576428/3574575 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16710/16373 (1.021x) (^ 3) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 20: 0.460x (^ 0) + +Keyset 'Combination 8-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 141 (1.102x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33173 (1.014x) (^ 7) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32489 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 33173/32725 (1.014x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 265/256 (1.035x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 25: 0.714x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32561 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32622 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 35/32 (1.094x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 546/512 (1.066x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 29: 0.581x (^ 1) + +Keyset 'Combination 8-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32541 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32769 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 514394/513534 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007785/1006217 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 32: 0.631x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 105 (0.820x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32837 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32651 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16569/16373 (1.012x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 65591/65366 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 50: 0.415x (^ 0) + +Keyset 'Combination 16-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32870 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32813 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 515462/513534 (1.004x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 2128/2048 (1.039x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 109: 0.466x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32501 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32992 (1.008x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 78/64 (1.219x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 32992/32725 (1.008x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 119: 0.637x (^ 1) + +Keyset 'Combination 16-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32701 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32595 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 514918/513534 (1.003x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 2119/2048 (1.035x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 25: 0.618x (^ 4) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 173 (1.352x) (^13) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32947 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33058 (1.010x) (^ 4) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 173/128 (1.352x) (^ 8) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4218/4095 (1.030x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 50: 0.671x (^ 0) + +Keyset 'Combination 16-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32690 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32889 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 24 bits: 6175412/6171991 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 23/16 (1.438x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 106: 0.535x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32653 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32957 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8313/8189 (1.015x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16632/16373 (1.016x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 113: 0.654x (^ 1) + +Keyset 'Combination 16-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32823 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32704 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 130712/130392 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514024/513534 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 8: 0.478x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32854 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32997 (1.008x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260766/259434 (1.005x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 32997/32725 (1.008x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 46: 0.821x (^ 7) + +Keyset 'Combination 32-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32974 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32764 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 32974/32725 (1.008x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 131223/130392 (1.006x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 114: 0.998x (^ 7) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 145 (1.133x) (^ 3) +Testing all collisions (low 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32689 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32757 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1087/1024 (1.062x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4211/4095 (1.028x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 60: 0.414x (^ 0) + +Keyset 'Combination 32-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 152 (1.188x) (^ 5) +Testing all collisions (low 40-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32771 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32535 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 564/512 (1.102x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 25 bits: 3576019/3574575 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 7: 0.465x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 114 (0.891x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32769 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32836 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260394/259434 (1.004x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 26 bits: 1934633/1932787 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 67: 0.652x (^ 0) + +Keyset 'Combination 32-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32942 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32854 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 1008601/1006217 (1.002x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 32854/32725 (1.004x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 62: 0.816x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 143 (1.117x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32940 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32516 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 514817/513534 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 40 bits: 143/128 (1.117x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 103: 0.573x (^ 2) + +Keyset 'Combination 32-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32823 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32644 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 80/64 (1.250x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1008032/1006217 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 12: 0.718x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32581 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32486 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 49/32 (1.531x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4115/4095 (1.005x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 48: 0.431x (^ 0) + +Keyset 'Combination 64-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32616 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32903 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260157/259434 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 65904/65366 (1.008x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 83: 0.753x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32702 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32606 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 134/128 (1.047x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 24/16 (1.500x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 14: 0.885x (^ 1) + +Keyset 'Combination 64-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33146 (1.013x) (^ 6) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33031 (1.009x) (^ 4) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 33146/32725 (1.013x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33031/32725 (1.009x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 87: 0.651x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32666 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32878 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 24 bits: 6173520/6171991 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4162/4095 (1.016x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 47: 0.653x (^ 1) + +Keyset 'Combination 64-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 109 (0.852x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32674 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32684 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 259939/259434 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260286/259434 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 96: 0.728x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32623 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32601 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 1008523/1006217 (1.002x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007138/1006217 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 108: 0.806x (^ 0) + +Keyset 'Combination 64-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32746 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32799 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 136/128 (1.063x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1009246/1006217 (1.003x) (^ 5) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 23: 0.627x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 102 (0.797x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 106 (0.828x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32941 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32570 (0.995x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 32941/32725 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 23 bits: 9524403/9523881 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 42: 0.541x (^ 0) + + +[[[ Keyset 'Text' Tests ]]] + +Keyset 'Dict' - dictionary words - 528194 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 11 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.5, actual 43 (1.324x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32.5, actual 36 (1.108x) (^ 1) +Testing all collisions (high 30-bit) - Expected 129.9, actual 133 (1.024x) (^ 1) +Testing all collisions (low 30-bit) - Expected 129.9, actual 142 (1.093x) (^ 2) +Testing all collisions (high 17..33 bits) - Worst is 32 bits: 43/32 (1.324x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 29 bits: 278/260 (1.070x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 16 bits at bit 37: 0.498x (^ 0) + +Keyset 'TextNum' - numbers in text form without commas - 10000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 11748 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 181.9, actual 11748 (64.59x) (^99) !!!!! +Testing all collisions (low 38-bit) - Expected 181.9, actual 159 (0.874x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11632.5, actual 11748 (1.010x) (^ 2) +Testing all collisions (low 32-bit) - Expected 11632.5, actual 11747 (1.010x) (^ 2) +Testing all collisions (high 21..42 bits) - Worst is 33 bits: 11748/5819 (2.019x) (^99) !!!!! +Testing all collisions (low 21..42 bits) - Worst is 32 bits: 11747/11633 (1.010x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 13: 0.671x (^ 0) + +Keyset 'TextNum' - numbers in text form with commas - 10000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 116 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 181.9, actual 293 (1.611x) (^45) !!!!! +Testing all collisions (low 38-bit) - Expected 181.9, actual 219 (1.204x) (^ 7) +Testing all collisions (high 32-bit) - Expected 11632.5, actual 11765 (1.011x) (^ 3) +Testing all collisions (low 32-bit) - Expected 11632.5, actual 11918 (1.025x) (^ 7) +Testing all collisions (high 21..42 bits) - Worst is 42 bits: 130/11 (11.43x) (^99) !!!!! +Testing all collisions (low 21..42 bits) - Worst is 32 bits: 11918/11633 (1.025x) (^ 3) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 39: 0.572x (^ 0) + +Keyset 'Text' - keys of form "FXXXXB" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 29103 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 29103 (257.9x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 112.8, actual 106 (0.939x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29103 (1.009x) (^ 3) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28668 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 29103/14436 (2.016x) (^99) !!!!! +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115203/114993 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 13: 0.718x (^ 5) + +Keyset 'Text' - keys of form "FBXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 29085 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 29085 (257.7x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 112.8, actual 111 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29085 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28771 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 29085/14436 (2.015x) (^99) !!!!! +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 890540/889322 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 84: 0.578x (^ 2) + +Keyset 'Text' - keys of form "XXXXFB" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 28849 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 28849 (255.6x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 112.8, actual 122 (1.081x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28849 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29060 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 28849/14436 (1.998x) (^99) !!!!! +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 58066/57637 (1.007x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 90: 0.674x (^ 0) + +Keyset 'Text' - keys of form "FooXXXXBar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 107 (0.948x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 110 (0.975x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28699 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29265 (1.014x) (^ 6) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3183752/3181142 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 14787/14436 (1.024x) (^ 4) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 120: 0.644x (^ 5) + +Keyset 'Text' - keys of form "FooBarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 112 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 114 (1.010x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28791 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29007 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 890823/889322 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 891138/889322 (1.002x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 27: 0.555x (^ 1) + +Keyset 'Text' - keys of form "XXXXFooBar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 106 (0.939x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 91 (0.806x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29093 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28587 (0.991x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 58016/57637 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 229168/228869 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 27: 0.683x (^ 0) + +Keyset 'Text' - keys of form "FooooXXXXBaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 102 (0.904x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 108 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28931 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29063 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3183700/3181142 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115553/114993 (1.005x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 127: 0.481x (^ 0) + +Keyset 'Text' - keys of form "FooooBaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 129 (1.143x) (^ 3) +Testing all collisions (low 40-bit) - Expected 112.8, actual 118 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29169 (1.011x) (^ 4) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28868 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 496/451 (1.099x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 263/226 (1.165x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 28: 0.712x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooooBaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 99 (0.877x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 124 (1.099x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28713 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28960 (1.004x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 229374/228869 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 40 bits: 124/113 (1.099x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 51: 0.555x (^ 0) + +Keyset 'Text' - keys of form "FooooooXXXXBaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 117 (1.037x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 117 (1.037x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28993 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28333 (0.982x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 7373/7220 (1.021x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 16/14 (1.134x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 76: 0.759x (^ 0) + +Keyset 'Text' - keys of form "FooooooBaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 107 (0.948x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 122 (1.081x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28829 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28718 (0.995x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1714085/1712342 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 487/451 (1.079x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 81: 0.843x (^ 4) + +Keyset 'Text' - keys of form "XXXXFooooooBaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 120 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 118 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28950 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28940 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 71/56 (1.258x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 960/903 (1.063x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 127: 0.512x (^ 0) + +Keyset 'Text' - keys of form "FooooooooXXXXBaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 120 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 120 (1.063x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28869 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29038 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 1912/1805 (1.059x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 14750/14436 (1.022x) (^ 3) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 0: 0.465x (^ 0) + +Keyset 'Text' - keys of form "FooooooooBaaaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 124 (1.099x) (^ 2) +Testing all collisions (low 40-bit) - Expected 112.8, actual 99 (0.877x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28883 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28641 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 124/113 (1.099x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 15/14 (1.063x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 79: 0.516x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooooooooBaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 128 (1.134x) (^ 3) +Testing all collisions (low 40-bit) - Expected 112.8, actual 100 (0.886x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28718 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28954 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 41/28 (1.453x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 14651/14436 (1.015x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 35: 0.575x (^ 1) + +Keyset 'Text' - keys of form "FooooooooooXXXXBaaaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 109 (0.966x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 97 (0.860x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28644 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29203 (1.012x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 3696/3611 (1.024x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 58510/57637 (1.015x) (^ 8) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 57: 0.603x (^ 1) + +Keyset 'Text' - keys of form "FooooooooooBaaaaaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 106 (0.939x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 102 (0.904x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29042 (1.007x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28905 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 14662/14436 (1.016x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 57817/57637 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 50: 0.668x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooooooooooBaaaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 116 (1.028x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 122 (1.081x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28756 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28660 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1714364/1712342 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 21/14 (1.489x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 70: 0.759x (^ 1) + +Keyset 'Words' - 1-4 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 116 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 116 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 112 (0.962x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 35 bits: 116/15 (7.972x) (^99) !!!!! +Testing all collisions (low 18..35 bits) - Worst is 20 bits: 356018/355464 (1.002x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 10 bits at bit 30: 0.936x (^ 5) + +Keyset 'Words' - 5-8 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 109 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 109 (0.936x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 142 (1.220x) (^ 6) +Testing all collisions (high 18..35 bits) - Worst is 35 bits: 109/15 (7.491x) (^99) !!!!! +Testing all collisions (low 18..35 bits) - Worst is 32 bits: 142/116 (1.220x) (^ 2) +Testing distribution (any 8..17 bits) - Worst bias is 14 bits at bit 2: 0.613x (^ 0) + +Keyset 'Words' - 1-16 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 22 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 120 (1.031x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 35 bits: 37/15 (2.543x) (^16) ! +Testing all collisions (low 18..35 bits) - Worst is 22 bits: 110741/110274 (1.004x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 12 bits at bit 47: 0.738x (^ 2) + +Keyset 'Words' - 1-32 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 4 (------) (^94) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 119 (1.022x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 111 (0.954x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 34 bits: 36/29 (1.237x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 27 bits: 3769/3716 (1.014x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 14 bits at bit 80: 0.615x (^ 0) + +Keyset 'Long' - 1968-2128 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 197 (1.101x) (^ 3) +Testing all collisions (low 36-bit) - Expected 179.0, actual 185 (1.034x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2888 (1.009x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2889 (1.009x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 28 bits: 45902/45543 (1.008x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 30 bits: 11536/11438 (1.009x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 45: 0.527x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 161 (0.899x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 171 (0.955x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2860 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2803 (0.979x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 22 bits: 2051771/2051226 (1.000x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 24 bits: 666310/665971 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 62: 0.545x (^ 1) + +Keyset 'Long' - 1968-2128 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 160 (0.894x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 199 (1.112x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2812 (0.982x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2882 (1.007x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 23 bits: 1216786/1215487 (1.001x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 36 bits: 199/179 (1.112x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 109: 0.748x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 183 (1.022x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 188 (1.050x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2735 (0.955x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2855 (0.997x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 37 bits: 101/89 (1.129x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 35 bits: 406/358 (1.134x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 60: 0.745x (^ 3) + +Keyset 'Long' - 4016-4176 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 163 (0.911x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 162 (0.905x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2861 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2851 (0.996x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 30 bits: 11632/11438 (1.017x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 40 bits: 16/11 (1.430x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 69: 0.666x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 186 (1.039x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 186 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2791 (0.975x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2767 (0.967x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 38 bits: 58/45 (1.296x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 37 bits: 106/89 (1.184x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 36: 0.577x (^ 0) + +Keyset 'Long' - 4016-4176 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 173 (0.967x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 186 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2875 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2914 (1.018x) (^ 2) +Testing all collisions (high 20..40 bits) - Worst is 26 bits: 179670/178863 (1.005x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 39 bits: 32/22 (1.430x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 45: 0.482x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 179 (1.000x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 182 (1.017x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2855 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2812 (0.982x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 21 bits: 3060134/3059852 (1.000x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 35 bits: 379/358 (1.059x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 42: 0.507x (^ 0) + +Keyset 'Long' - 8112-8272 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 190 (1.061x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 180 (1.006x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2845 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2866 (1.001x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 40 bits: 16/11 (1.430x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 23 bits: 1217246/1215487 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 12: 0.875x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 177 (0.989x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 192 (1.073x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2818 (0.984x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2941 (1.027x) (^ 3) +Testing all collisions (high 20..40 bits) - Worst is 40 bits: 18/11 (1.609x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 35 bits: 411/358 (1.148x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 93: 0.756x (^ 0) + +Keyset 'Long' - 8112-8272 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 171 (0.955x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 192 (1.073x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2860 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2812 (0.982x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 33 bits: 1455/1432 (1.016x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 35 bits: 390/358 (1.089x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 15: 0.518x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 173 (0.967x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 167 (0.933x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2765 (0.966x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2863 (1.000x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 26 bits: 179425/178863 (1.003x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 23 bits: 1216936/1215487 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 12: 0.691x (^ 0) + +*********FAIL********* + +[[[ Keyset 'TwoBytes' Tests ]]] + +Keyset 'TwoBytes' - all [2, 20]-byte keys with 1 or 2 non-zero bytes - 86536545 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 38779 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 22 (------) (^99) !!!!! +Testing all collisions (high 45-bit) - Expected 106.4, actual 38879 (365.3x) (^99) !!!!! +Testing all collisions (low 45-bit) - Expected 106.4, actual 128 (1.203x) (^ 5) +Testing all collisions (high 32-bit) - Expected 865959.1, actual 867384 (1.002x) (^ 3) +Testing all collisions (low 32-bit) - Expected 865959.1, actual 867277 (1.002x) (^ 3) +Testing all collisions (high 25..48 bits) - Worst is 34 bits: 246349/217581 (1.132x) (^99) !!!!! +Testing all collisions (low 25..48 bits) - Worst is 48 bits: 36/13 (2.706x) (^17) ! +Testing distribution (any 8..24 bits) - Worst bias is 22 bits at bit 34: 0.575x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 38752 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 106.4, actual 38846 (365.0x) (^99) !!!!! +Testing all collisions (low 45-bit) - Expected 106.4, actual 106 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 865959.1, actual 866173 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 865959.1, actual 866231 (1.000x) (^ 1) +Testing all collisions (high 25..48 bits) - Worst is 34 bits: 246750/217581 (1.134x) (^99) !!!!! +Testing all collisions (low 25..48 bits) - Worst is 44 bits: 230/213 (1.081x) (^ 0) +Testing distribution (any 8..24 bits) - Worst bias is 17 bits at bit 54: 0.627x (^ 2) + +Keyset 'TwoBytes' - all 32-byte keys with 1 or 2 non-zero bytes - 32260560 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 118.3, actual 141 (1.192x) (^ 5) +Testing all collisions (low 42-bit) - Expected 118.3, actual 135 (1.141x) (^ 3) +Testing all collisions (high 32-bit) - Expected 120855.7, actual 120731 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 120855.7, actual 120826 (1.000x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 42 bits: 141/118 (1.192x) (^ 1) +Testing all collisions (low 23..45 bits) - Worst is 31 bits: 241923/241108 (1.003x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 10 bits at bit 30: 0.650x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 118.3, actual 125 (1.056x) (^ 1) +Testing all collisions (low 42-bit) - Expected 118.3, actual 113 (0.955x) (^ 0) +Testing all collisions (high 32-bit) - Expected 120855.7, actual 120970 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 120855.7, actual 121053 (1.002x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 41 bits: 259/237 (1.095x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 40 bits: 519/473 (1.097x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 19 bits at bit 33: 0.505x (^ 0) + +Keyset 'TwoBytes' - all 48-byte keys with 1 or 2 non-zero bytes - 73360440 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 153.0, actual 144 (0.941x) (^ 0) +Testing all collisions (low 44-bit) - Expected 153.0, actual 167 (1.092x) (^ 2) +Testing all collisions (high 32-bit) - Expected 622966.7, actual 621879 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 622966.7, actual 622155 (0.999x) (^ 0) +Testing all collisions (high 24..47 bits) - Worst is 35 bits: 78646/78259 (1.005x) (^ 0) +Testing all collisions (low 24..47 bits) - Worst is 41 bits: 1265/1224 (1.034x) (^ 0) +Testing distribution (any 8..23 bits) - Worst bias is 23 bits at bit 122: 0.500x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 153.0, actual 161 (1.053x) (^ 1) +Testing all collisions (low 44-bit) - Expected 153.0, actual 162 (1.059x) (^ 2) +Testing all collisions (high 32-bit) - Expected 622966.7, actual 622773 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 622966.7, actual 621701 (0.998x) (^ 0) +Testing all collisions (high 24..47 bits) - Worst is 46 bits: 48/38 (1.255x) (^ 0) +Testing all collisions (low 24..47 bits) - Worst is 43 bits: 341/306 (1.115x) (^ 1) +Testing distribution (any 8..23 bits) - Worst bias is 14 bits at bit 58: 0.569x (^ 0) + +Keyset 'OneByte ' - all 1024-byte keys with 1 non-zero byte - 261120 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 7.9, actual 8 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 7.9, actual 10 (1.260x) (^ 1) +Testing all collisions (high 28-bit) - Expected 127.0, actual 121 (0.953x) (^ 0) +Testing all collisions (low 28-bit) - Expected 127.0, actual 133 (1.048x) (^ 1) +Testing all collisions (high 16..31 bits) - Worst is 25 bits: 1039/1013 (1.025x) (^ 0) +Testing all collisions (low 16..31 bits) - Worst is 26 bits: 544/507 (1.072x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 15 bits at bit 57: 0.574x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 7.9, actual 6 (0.756x) (^ 0) +Testing all collisions (low 32-bit) - Expected 7.9, actual 7 (0.882x) (^ 0) +Testing all collisions (high 28-bit) - Expected 127.0, actual 123 (0.969x) (^ 0) +Testing all collisions (low 28-bit) - Expected 127.0, actual 138 (1.087x) (^ 2) +Testing all collisions (high 16..31 bits) - Worst is 21 bits: 15614/15602 (1.001x) (^ 0) +Testing all collisions (low 16..31 bits) - Worst is 29 bits: 79/63 (1.244x) (^ 1) +Testing distribution (any 8..15 bits) - Worst bias is 12 bits at bit 86: 0.838x (^ 5) + +Keyset 'OneByte ' - all 2048-byte keys with 1 non-zero byte - 522240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 31.7, actual 24 (0.756x) (^ 0) +Testing all collisions (low 32-bit) - Expected 31.7, actual 27 (0.850x) (^ 0) +Testing all collisions (high 30-bit) - Expected 127.0, actual 125 (0.984x) (^ 0) +Testing all collisions (low 30-bit) - Expected 127.0, actual 140 (1.103x) (^ 2) +Testing all collisions (high 17..33 bits) - Worst is 27 bits: 1088/1015 (1.072x) (^ 2) +Testing all collisions (low 17..33 bits) - Worst is 28 bits: 539/508 (1.062x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 16 bits at bit 44: 0.519x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 31.7, actual 43 (1.354x) (^ 4) +Testing all collisions (low 32-bit) - Expected 31.7, actual 21 (0.661x) (^ 0) +Testing all collisions (high 30-bit) - Expected 127.0, actual 130 (1.024x) (^ 1) +Testing all collisions (low 30-bit) - Expected 127.0, actual 119 (0.937x) (^ 0) +Testing all collisions (high 17..33 bits) - Worst is 32 bits: 43/32 (1.354x) (^ 1) +Testing all collisions (low 17..33 bits) - Worst is 17 bits: 393526/393606 (1.000x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 11 bits at bit 55: 0.658x (^ 0) + +Keyset 'OneByte ' - all 4096-byte keys with 1 non-zero byte - 1044480 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 127.0, actual 128 (1.008x) (^ 1) +Testing all collisions (low 32-bit) - Expected 127.0, actual 103 (0.811x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 28 bits: 2119/2029 (1.044x) (^ 1) +Testing all collisions (low 18..35 bits) - Worst is 21 bits: 222183/221802 (1.002x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 8 bits at bit 74: 0.867x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 127.0, actual 128 (1.008x) (^ 1) +Testing all collisions (low 32-bit) - Expected 127.0, actual 119 (0.937x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 23 bits: 62995/62408 (1.009x) (^ 2) +Testing all collisions (low 18..35 bits) - Worst is 34 bits: 39/32 (1.228x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 8 bits at bit 127: 0.825x (^ 1) + +*********FAIL********* + +[[[ Keyset 'PerlinNoise' Tests ]]] + +Generating coordinates from 2-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32749 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32654 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 277/256 (1.082x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 130750/130392 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 64: 0.848x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32833 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32659 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16496/16373 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4232/4095 (1.033x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 2: 0.687x (^ 4) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 1 (------) (^10) +Testing all collisions (high 40-bit) - Expected 128.0, actual 375 (2.930x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 128.0, actual 439 (3.430x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33013 (1.009x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32878 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 375/128 (2.930x) (^99) !!!!! +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 1956/1024 (1.910x) (^99) !!!!! +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 61: 478.1x (^99) !!!!! + +Generating coordinates from 4-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 98 (0.766x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32610 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32815 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3576310/3574576 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 25 bits: 3576178/3574576 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 13: 0.480x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32493 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32849 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 69/64 (1.078x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 29/16 (1.813x) (^ 4) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 12: 0.814x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 1 (------) (^10) +Testing all collisions (low 64-bit) - Expected 0.0, actual 1 (------) (^10) +Testing all collisions (high 40-bit) - Expected 128.0, actual 333 (2.602x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 128.0, actual 476 (3.719x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33081 (1.011x) (^ 5) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32789 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 227/64 (3.547x) (^99) !!!!! +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 3344/2048 (1.633x) (^99) !!!!! +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 59: 470.7x (^99) !!!!! + +Generating coordinates from 8-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32892 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32924 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8350/8189 (1.020x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 1078/1024 (1.053x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 58: 3.320x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32687 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32638 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8240/8189 (1.006x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 26 bits: 1934257/1932788 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 31: 0.691x (^ 1) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 1 (------) (^43) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 3 (------) (^46) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 3 (------) (^46) !!!!! +Testing all collisions (high 40-bit) - Expected 128.0, actual 372 (2.906x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 128.0, actual 503 (3.930x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32937 (1.006x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33149 (1.013x) (^ 6) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 250/64 (3.906x) (^99) !!!!! +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 2022/1024 (1.975x) (^99) !!!!! +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 58: 475.4x (^99) !!!!! + +*********FAIL********* + +[[[ Keyset 'Bitflip' Tests ]]] + +Testing 3-byte keys, 2097152 reps.................... 24 failed, worst is key bit 17 !!!!! +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 2052 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 2052 (16.03x) (^99) !!!!! +Testing all collisions (low 36-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2052 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2091 (1.021x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 2052/512 (4.008x) (^99) !!!!! +Testing all collisions (low 20..39 bits) - Worst is 23 bits: 902772/893644 (1.010x) (^67) !!!!! +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 0: 7.339x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 498 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 498 (3.891x) (^99) !!!!! +Testing all collisions (low 34-bit) - Expected 128.0, actual 146 (1.141x) (^ 3) +Testing all collisions (high 32-bit) - Expected 511.9, actual 498 (0.973x) (^ 0) +Testing all collisions (low 32-bit) - Expected 511.9, actual 535 (1.045x) (^ 2) +Testing all collisions (high 19..37 bits) - Worst is 36 bits: 498/32 (15.56x) (^99) !!!!! +Testing all collisions (low 19..37 bits) - Worst is 34 bits: 146/128 (1.141x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 122: 0.752x (^ 4) + +Testing 4-byte keys, 2097152 reps.................... 32 failed, worst is key bit 23 !!!!! +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 1986 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 1986 (15.52x) (^99) !!!!! +Testing all collisions (low 36-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1986 (0.970x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2086 (1.019x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 1986/512 (3.879x) (^99) !!!!! +Testing all collisions (low 20..39 bits) - Worst is 23 bits: 897865/893644 (1.005x) (^13) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 0: 2.076x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 530 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 530 (4.141x) (^99) !!!!! +Testing all collisions (low 34-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 511.9, actual 530 (1.035x) (^ 2) +Testing all collisions (low 32-bit) - Expected 511.9, actual 536 (1.047x) (^ 2) +Testing all collisions (high 19..37 bits) - Worst is 36 bits: 530/32 (16.56x) (^99) !!!!! +Testing all collisions (low 19..37 bits) - Worst is 28 bits: 8337/8171 (1.020x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 16 bits at bit 21: 0.901x (^12) + +Testing 8-byte keys, 2097152 reps.................... 64 failed, worst is key bit 34 !!!!! +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 2005 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 2005 (15.66x) (^99) !!!!! +Testing all collisions (low 36-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2005 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2054 (1.003x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 2005/512 (3.916x) (^99) !!!!! +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 22/16 (1.375x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 89: 0.463x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 566 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 566 (4.422x) (^99) !!!!! +Testing all collisions (low 34-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 511.9, actual 566 (1.106x) (^ 6) +Testing all collisions (low 32-bit) - Expected 511.9, actual 550 (1.074x) (^ 4) +Testing all collisions (high 19..37 bits) - Worst is 36 bits: 566/32 (17.69x) (^99) !!!!! +Testing all collisions (low 19..37 bits) - Worst is 27 bits: 16627/16299 (1.020x) (^ 3) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 4: 0.634x (^ 1) + +Testing 20-byte keys, 2097152 reps.................... 0 failed, worst is key bit 114 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 151 (1.180x) (^ 5) +Testing all collisions (low 36-bit) - Expected 128.0, actual 160 (1.250x) (^ 8) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2069 (1.011x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2147 (1.049x) (^ 6) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 563/512 (1.100x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 36 bits: 160/128 (1.250x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 60: 0.571x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 148 (1.156x) (^ 4) +Testing all collisions (low 34-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 511.9, actual 515 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 511.9, actual 531 (1.037x) (^ 2) +Testing all collisions (high 19..37 bits) - Worst is 34 bits: 148/128 (1.156x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 36 bits: 38/32 (1.188x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 13 bits at bit 120: 0.498x (^ 0) + +Testing 32-byte keys, 2097152 reps.................... 0 failed, worst is key bit 43 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2061 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2160 (1.055x) (^ 7) +Testing all collisions (high 20..39 bits) - Worst is 26 bits: 128937/128383 (1.004x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2160/2047 (1.055x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 39: 0.545x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 151 (1.180x) (^ 5) +Testing all collisions (low 34-bit) - Expected 128.0, actual 158 (1.234x) (^ 7) +Testing all collisions (high 32-bit) - Expected 511.9, actual 541 (1.057x) (^ 3) +Testing all collisions (low 32-bit) - Expected 511.9, actual 552 (1.078x) (^ 4) +Testing all collisions (high 19..37 bits) - Worst is 33 bits: 291/256 (1.137x) (^ 1) +Testing all collisions (low 19..37 bits) - Worst is 34 bits: 158/128 (1.234x) (^ 3) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 102: 0.783x (^ 1) + +*********FAIL********* + +[[[ Seed 'Zeroes' Tests ]]] + +Keyset 'SeedZeroes' - up to 1280-byte keys, seeds with up to 2 set bits - 4160 seeds - 5324800 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 7000 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 7000 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 7000 (------) (^99) !!!!! +Testing all collisions (high 37-bit) - Expected 103.1, actual 7103 (68.86x) (^99) !!!!! +Testing all collisions (low 37-bit) - Expected 103.1, actual 7099 (68.82x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 3299.4, actual 10239 (3.103x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 3299.4, actual 10350 (3.137x) (^99) !!!!! +Testing all collisions (high 21..40 bits) - Worst is 29 bits: 33482/26319 (1.272x) (^99) !!!!! +Testing all collisions (low 21..40 bits) - Worst is 29 bits: 33326/26319 (1.266x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 67: 2.395x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 4414 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 4414 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 4414 (------) (^99) !!!!! +Testing all collisions (high 37-bit) - Expected 103.1, actual 4510 (43.72x) (^99) !!!!! +Testing all collisions (low 37-bit) - Expected 103.1, actual 4513 (43.75x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 3299.4, actual 7706 (2.336x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 3299.4, actual 7707 (2.336x) (^99) !!!!! +Testing all collisions (high 21..40 bits) - Worst is 31 bits: 10989/6596 (1.666x) (^99) !!!!! +Testing all collisions (low 21..40 bits) - Worst is 31 bits: 11046/6596 (1.675x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 74: 2.073x (^99) !!!!! +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 196 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 196 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 196 (------) (^99) !!!!! +Testing all collisions (high 37-bit) - Expected 103.1, actual 295 (2.860x) (^99) !!!!! +Testing all collisions (low 37-bit) - Expected 103.1, actual 289 (2.802x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3515 (1.065x) (^13) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3498 (1.060x) (^11) +Testing all collisions (high 21..40 bits) - Worst is 40 bits: 214/13 (16.60x) (^99) !!!!! +Testing all collisions (low 21..40 bits) - Worst is 40 bits: 213/13 (16.52x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 69: 0.792x (^11) + +Keyset 'SeedZeroes' - up to 8448-byte keys, seeds with up to 2 set bits - 4160 seeds - 35143680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 7000 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 7000 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 7000 (------) (^99) !!!!! +Testing all collisions (high 42-bit) - Expected 140.4, actual 7131 (50.79x) (^99) !!!!! +Testing all collisions (low 42-bit) - Expected 140.4, actual 7137 (50.83x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 143390.7, actual 149907 (1.045x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 143390.7, actual 150852 (1.052x) (^99) !!!!! +Testing all collisions (high 23..45 bits) - Worst is 35 bits: 24826/17967 (1.382x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 35 bits: 24862/17967 (1.384x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 74: 0.880x (^17) ! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 4414 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 4414 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 4414 (------) (^99) !!!!! +Testing all collisions (high 42-bit) - Expected 140.4, actual 4573 (32.57x) (^99) !!!!! +Testing all collisions (low 42-bit) - Expected 140.4, actual 4563 (32.50x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 143390.7, actual 147389 (1.028x) (^84) !!!!! +Testing all collisions (low 32-bit) - Expected 143390.7, actual 147978 (1.032x) (^99) !!!!! +Testing all collisions (high 23..45 bits) - Worst is 36 bits: 13350/8985 (1.486x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 36 bits: 13454/8985 (1.497x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 75: 0.639x (^ 5) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 196 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 196 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 196 (------) (^99) !!!!! +Testing all collisions (high 42-bit) - Expected 140.4, actual 355 (2.528x) (^99) !!!!! +Testing all collisions (low 42-bit) - Expected 140.4, actual 331 (2.357x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 143390.7, actual 143803 (1.003x) (^ 2) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143485 (1.001x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 45 bits: 214/18 (12.19x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 45 bits: 209/18 (11.91x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 18 bits at bit 78: 0.539x (^ 0) + +*********FAIL********* + +[[[ Keyset 'SeedSparse' Tests ]]] + +Keyset 'SeedSparse' - 2-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 127 (1.013x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 123 (0.981x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8135 (1.014x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8102 (1.010x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 25 bits: 949748/947681 (1.002x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 32370/32025 (1.011x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 61: 8.981x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 1 (------) (^44) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 4 (------) (^72) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 3 (------) (^51) !!!!! +Testing all collisions (high 38-bit) - Expected 125.4, actual 736 (5.868x) (^99) !!!!! +Testing all collisions (low 38-bit) - Expected 125.4, actual 1103 (8.795x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 8021.7, actual 9935 (1.239x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 8021.7, actual 10005 (1.247x) (^99) !!!!! +Testing all collisions (high 21..41 bits) - Worst is 40 bits: 433/31 (13.81x) (^99) !!!!! +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 6727/4012 (1.677x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 57: 451.2x (^99) !!!!! + +Keyset 'SeedSparse' - 3-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 1 (------) (^11) +Testing all collisions (high 38-bit) - Expected 125.4, actual 140 (1.116x) (^ 3) +Testing all collisions (low 38-bit) - Expected 125.4, actual 136 (1.084x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7971 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7919 (0.987x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 26 bits: 494786/493171 (1.003x) (^ 2) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 494071/493171 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 77: 4.163x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 2 (------) (^31) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 296 (2.360x) (^99) !!!!! +Testing all collisions (low 38-bit) - Expected 125.4, actual 463 (3.692x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8626 (1.075x) (^36) !!!!! +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8754 (1.091x) (^51) !!!!! +Testing all collisions (high 21..41 bits) - Worst is 41 bits: 110/16 (7.016x) (^99) !!!!! +Testing all collisions (low 21..41 bits) - Worst is 40 bits: 243/31 (7.750x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 58: 222.4x (^99) !!!!! + +Keyset 'SeedSparse' - 6-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 106 (0.845x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 116 (0.925x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8253 (1.029x) (^ 7) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8071 (1.006x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8253/8022 (1.029x) (^ 3) +Testing all collisions (low 21..41 bits) - Worst is 31 bits: 16219/16033 (1.012x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 19: 0.633x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 22 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 20 (------) (^99) !!!!! +Testing all collisions (high 38-bit) - Expected 125.4, actual 3945 (31.45x) (^99) !!!!! +Testing all collisions (low 38-bit) - Expected 125.4, actual 5910 (47.12x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 8021.7, actual 24428 (3.045x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 8021.7, actual 24148 (3.010x) (^99) !!!!! +Testing all collisions (high 21..41 bits) - Worst is 25 bits: 996630/947681 (1.052x) (^99) !!!!! +Testing all collisions (low 21..41 bits) - Worst is 24 bits: 1819676/1753983 (1.037x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 60: 146.8x (^99) !!!!! + +Keyset 'SeedSparse' - 15-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 113 (0.901x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 132 (1.052x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7975 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8100 (1.010x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 28 bits: 127563/127116 (1.004x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 32417/32025 (1.012x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 63: 2.152x (^47) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 23 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 18 (------) (^99) !!!!! +Testing all collisions (high 38-bit) - Expected 125.4, actual 7932 (63.24x) (^99) !!!!! +Testing all collisions (low 38-bit) - Expected 125.4, actual 12662 (101.0x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 8021.7, actual 40393 (5.035x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 8021.7, actual 40719 (5.076x) (^99) !!!!! +Testing all collisions (high 21..41 bits) - Worst is 23 bits: 3110131/3032441 (1.026x) (^99) !!!!! +Testing all collisions (low 21..41 bits) - Worst is 23 bits: 3145507/3032441 (1.037x) (^99) !!!!! +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 64: 398.3x (^99) !!!!! + +Keyset 'SeedSparse' - 18-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 108 (0.861x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 143 (1.140x) (^ 3) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8044 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8061 (1.005x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 24 bits: 1756111/1753983 (1.001x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 39 bits: 79/63 (1.260x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 105: 0.688x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 139 (1.108x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 128 (1.021x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8076 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8037 (1.002x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 38 bits: 139/125 (1.108x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 4091/4012 (1.020x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 123: 0.560x (^ 0) + +Keyset 'SeedSparse' - 31-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 124 (0.989x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 128 (1.021x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8074 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7900 (0.985x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 36 bits: 534/502 (1.064x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 35 bits: 1019/1003 (1.016x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 84: 0.499x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 118 (0.941x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 131 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7941 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8035 (1.002x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 24 bits: 1755427/1753983 (1.001x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 39 bits: 74/63 (1.180x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 27: 0.501x (^ 0) + +Keyset 'SeedSparse' - 52-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 120 (0.957x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 117 (0.933x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8043 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7885 (0.983x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 31 bits: 16181/16033 (1.009x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 23 bits: 3033881/3032441 (1.000x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 13: 0.498x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 132 (1.052x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 140 (1.116x) (^ 3) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8163 (1.018x) (^ 4) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7997 (0.997x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 30 bits: 32499/32025 (1.015x) (^ 3) +Testing all collisions (low 21..41 bits) - Worst is 37 bits: 287/251 (1.144x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 61: 0.495x (^ 0) + +Keyset 'SeedSparse' - 80-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 147 (1.172x) (^ 4) +Testing all collisions (low 38-bit) - Expected 125.4, actual 138 (1.100x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8206 (1.023x) (^ 5) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8040 (1.002x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 31 bits: 16373/16033 (1.021x) (^ 3) +Testing all collisions (low 21..41 bits) - Worst is 41 bits: 23/16 (1.467x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 73: 0.754x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 111 (0.885x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 137 (1.092x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8082 (1.008x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8118 (1.012x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8082/8022 (1.008x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 32233/32025 (1.006x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 87: 0.711x (^ 0) + +Keyset 'SeedSparse' - 200-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 136 (1.084x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 130 (1.037x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7965 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8103 (1.010x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 27 bits: 252701/251644 (1.004x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 35 bits: 1055/1003 (1.052x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 75: 1.010x (^ 4) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 143 (1.140x) (^ 3) +Testing all collisions (low 38-bit) - Expected 125.4, actual 148 (1.180x) (^ 5) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7967 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8084 (1.008x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 38 bits: 143/125 (1.140x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 37 bits: 286/251 (1.140x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 95: 0.517x (^ 0) + +Keyset 'SeedSparse' - 1025-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 116 (0.925x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 139 (1.108x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7979 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7958 (0.992x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 26 bits: 494273/493171 (1.002x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 39 bits: 78/63 (1.244x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 10: 0.537x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 138 (1.100x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 124 (0.989x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7919 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8094 (1.009x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 23 bits: 3034365/3032441 (1.001x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 24 bits: 1755577/1753983 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 44: 0.492x (^ 0) + +*********FAIL********* + +[[[ Seed BlockLength Tests ]]] + +Seeds have up to 2 bits set, 4-byte blocks have up to 2 bits set + +Keyset 'SeedBlockLen' - 8-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 118 (0.840x) (^ 0) +Testing all collisions (low 34-bit) - Expected 140.4, actual 137 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 561.6, actual 551 (0.981x) (^ 0) +Testing all collisions (low 32-bit) - Expected 561.6, actual 602 (1.072x) (^ 4) +Testing all collisions (high 19..37 bits) - Worst is 20 bits: 1277359/1276988 (1.000x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 32 bits: 602/562 (1.072x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 76: 8.576x (^99) !!!!! + +Keyset 'SeedBlockLen' - 9-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 121 (0.862x) (^ 0) +Testing all collisions (low 34-bit) - Expected 140.4, actual 141 (1.004x) (^ 1) +Testing all collisions (high 32-bit) - Expected 561.6, actual 549 (0.978x) (^ 0) +Testing all collisions (low 32-bit) - Expected 561.6, actual 573 (1.020x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 30 bits: 2336/2245 (1.041x) (^ 1) +Testing all collisions (low 19..37 bits) - Worst is 37 bits: 23/18 (1.310x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 72: 8.752x (^99) !!!!! + +Keyset 'SeedBlockLen' - 10-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 1 (------) (^13) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 152 (1.083x) (^ 2) +Testing all collisions (low 34-bit) - Expected 140.4, actual 129 (0.919x) (^ 0) +Testing all collisions (high 32-bit) - Expected 561.6, actual 603 (1.074x) (^ 4) +Testing all collisions (low 32-bit) - Expected 561.6, actual 575 (1.024x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 30 bits: 2340/2245 (1.042x) (^ 1) +Testing all collisions (low 19..37 bits) - Worst is 26 bits: 35893/35557 (1.009x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 74: 8.665x (^99) !!!!! + +Keyset 'SeedBlockLen' - 11-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 131 (0.933x) (^ 0) +Testing all collisions (low 34-bit) - Expected 140.4, actual 144 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 561.6, actual 542 (0.965x) (^ 0) +Testing all collisions (low 32-bit) - Expected 561.6, actual 550 (0.979x) (^ 0) +Testing all collisions (high 19..37 bits) - Worst is 22 bits: 487139/486612 (1.001x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 33 bits: 295/281 (1.051x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 70: 8.824x (^99) !!!!! + +Keyset 'SeedBlockLen' - 12-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 184 (1.165x) (^ 5) +Testing all collisions (low 35-bit) - Expected 158.0, actual 160 (1.013x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1259 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1284 (1.016x) (^ 1) +Testing all collisions (high 20..38 bits) - Worst is 35 bits: 184/158 (1.165x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 31 bits: 2601/2526 (1.030x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 71: 8.054x (^99) !!!!! + +Keyset 'SeedBlockLen' - 13-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 171 (1.083x) (^ 2) +Testing all collisions (low 35-bit) - Expected 158.0, actual 166 (1.051x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1248 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1343 (1.063x) (^ 6) +Testing all collisions (high 20..38 bits) - Worst is 27 bits: 40455/40110 (1.009x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 32 bits: 1343/1263 (1.063x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 64: 7.973x (^99) !!!!! + +Keyset 'SeedBlockLen' - 14-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 154 (0.975x) (^ 0) +Testing all collisions (low 35-bit) - Expected 158.0, actual 166 (1.051x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1257 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1244 (0.985x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 31 bits: 2558/2526 (1.013x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 26 bits: 80197/79570 (1.008x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 76: 8.287x (^99) !!!!! + +Keyset 'SeedBlockLen' - 15-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 143 (0.905x) (^ 0) +Testing all collisions (low 35-bit) - Expected 158.0, actual 177 (1.121x) (^ 3) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1242 (0.983x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1233 (0.976x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 24 bits: 303567/303333 (1.001x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 35 bits: 177/158 (1.121x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 71: 7.852x (^99) !!!!! + +Keyset 'SeedBlockLen' - 16-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 153 (1.090x) (^ 2) +Testing all collisions (low 36-bit) - Expected 140.4, actual 121 (0.862x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2184 (0.972x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2144 (0.955x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 153/140 (1.090x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 566/562 (1.008x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 2: 0.559x (^ 0) + +Keyset 'SeedBlockLen' - 17-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 149 (1.061x) (^ 2) +Testing all collisions (low 36-bit) - Expected 140.4, actual 125 (0.890x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2317 (1.032x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2251 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 18316/17924 (1.022x) (^ 4) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 35913/35750 (1.005x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 2: 0.488x (^ 0) + +Keyset 'SeedBlockLen' - 18-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 130 (0.926x) (^ 0) +Testing all collisions (low 36-bit) - Expected 140.4, actual 145 (1.033x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2240 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2240 (0.997x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4543/4490 (1.012x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 91/70 (1.296x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 69: 0.667x (^ 0) + +Keyset 'SeedBlockLen' - 19-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 147 (1.047x) (^ 1) +Testing all collisions (low 36-bit) - Expected 140.4, actual 148 (1.054x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2293 (1.021x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2250 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2293/2246 (1.021x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 78/70 (1.111x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 54: 0.577x (^ 0) + +Keyset 'SeedBlockLen' - 20-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 108 (0.985x) (^ 0) +Testing all collisions (low 37-bit) - Expected 109.7, actual 109 (0.994x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3644 (1.039x) (^ 6) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3544 (1.010x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 32 bits: 3644/3509 (1.039x) (^ 2) +Testing all collisions (low 21..40 bits) - Worst is 39 bits: 35/27 (1.276x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 111: 0.552x (^ 0) + +Keyset 'SeedBlockLen' - 21-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 88 (0.802x) (^ 0) +Testing all collisions (low 37-bit) - Expected 109.7, actual 115 (1.048x) (^ 1) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3460 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3477 (0.991x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 29 bits: 28139/27987 (1.005x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 40 bits: 20/14 (1.459x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 2: 0.543x (^ 0) + +Keyset 'SeedBlockLen' - 22-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 99 (0.902x) (^ 0) +Testing all collisions (low 37-bit) - Expected 109.7, actual 106 (0.966x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3482 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3499 (0.997x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 28 bits: 55997/55784 (1.004x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 26 bits: 219406/218655 (1.003x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 38: 0.529x (^ 0) + +Keyset 'SeedBlockLen' - 23-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 117 (1.067x) (^ 1) +Testing all collisions (low 37-bit) - Expected 109.7, actual 125 (1.140x) (^ 3) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3550 (1.012x) (^ 2) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3533 (1.007x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 23 bits: 1464213/1461722 (1.002x) (^ 1) +Testing all collisions (low 21..40 bits) - Worst is 37 bits: 125/110 (1.140x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 43: 0.561x (^ 0) + +Keyset 'SeedBlockLen' - 24-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 154 (0.975x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 150 (0.950x) (^ 0) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5034 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5148 (1.019x) (^ 3) +Testing all collisions (high 21..40 bits) - Worst is 34 bits: 1300/1264 (1.029x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 33 bits: 2619/2527 (1.037x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 2: 0.737x (^ 0) + +Keyset 'SeedBlockLen' - 25-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 176 (1.114x) (^ 3) +Testing all collisions (low 37-bit) - Expected 158.0, actual 155 (0.981x) (^ 0) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5241 (1.037x) (^ 7) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5131 (1.016x) (^ 2) +Testing all collisions (high 21..40 bits) - Worst is 32 bits: 5241/5052 (1.037x) (^ 3) +Testing all collisions (low 21..40 bits) - Worst is 29 bits: 40514/40274 (1.006x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 8: 0.772x (^ 0) + +Keyset 'SeedBlockLen' - 26-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 161 (1.019x) (^ 1) +Testing all collisions (low 37-bit) - Expected 158.0, actual 156 (0.988x) (^ 0) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5076 (1.005x) (^ 1) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5096 (1.009x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 27 bits: 159688/159140 (1.003x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 30 bits: 20435/20178 (1.013x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 9: 0.692x (^ 3) + +Keyset 'SeedBlockLen' - 27-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 134 (0.848x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 159 (1.007x) (^ 1) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5070 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5091 (1.008x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 24 bits: 1141102/1140031 (1.001x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 40 bits: 26/20 (1.317x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 34: 0.557x (^ 0) + +Keyset 'SeedBlockLen' - 28-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 113 (1.051x) (^ 1) +Testing all collisions (low 38-bit) - Expected 107.5, actual 106 (0.986x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6973 (1.014x) (^ 3) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6857 (0.997x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 36 bits: 465/430 (1.081x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 425157/423989 (1.003x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 81: 0.617x (^ 0) + +Keyset 'SeedBlockLen' - 29-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 105 (0.977x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 102 (0.949x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6838 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6812 (0.991x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 29 bits: 54824/54780 (1.001x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 36 bits: 451/430 (1.049x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 35: 0.471x (^ 0) + +Keyset 'SeedBlockLen' - 30-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 101 (0.940x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 105 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6752 (0.982x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6757 (0.983x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 41 bits: 15/13 (1.116x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 28 bits: 109245/109040 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 16: 0.588x (^ 0) + +Keyset 'SeedBlockLen' - 31-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 130 (1.209x) (^ 5) +Testing all collisions (low 38-bit) - Expected 107.5, actual 95 (0.884x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6785 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6816 (0.991x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 38 bits: 130/108 (1.209x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 41 bits: 18/13 (1.339x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 88: 0.850x (^ 2) + +Keyset 'SeedBlockLen' - 32-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 147 (1.047x) (^ 1) +Testing all collisions (low 38-bit) - Expected 140.4, actual 147 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9102 (1.014x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 9006 (1.003x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 9102/8980 (1.014x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 552587/550830 (1.003x) (^ 2) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 100: 0.601x (^ 2) + +Keyset 'SeedBlockLen' - 33-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 142 (1.011x) (^ 1) +Testing all collisions (low 38-bit) - Expected 140.4, actual 139 (0.990x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 8925 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8818 (0.982x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 27 bits: 282352/281391 (1.003x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 40 bits: 43/35 (1.225x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 85: 0.607x (^ 2) + +Keyset 'SeedBlockLen' - 34-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 127 (0.904x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 135 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 8978 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8904 (0.992x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 25 bits: 1057730/1056104 (1.002x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 29 bits: 72287/71500 (1.011x) (^ 4) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 36: 0.585x (^ 1) + +Keyset 'SeedBlockLen' - 35-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 135 (0.961x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 137 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9142 (1.018x) (^ 4) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8958 (0.998x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 34 bits: 2328/2246 (1.036x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 34 bits: 2267/2246 (1.009x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 116: 0.660x (^ 2) + +Keyset 'SeedBlockLen' - 36-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 195 (1.097x) (^ 3) +Testing all collisions (low 38-bit) - Expected 177.7, actual 163 (0.917x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11381 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11272 (0.992x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 37 bits: 382/355 (1.075x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 27 bits: 355745/355176 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 70: 0.566x (^ 1) + +Keyset 'SeedBlockLen' - 37-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 189 (1.064x) (^ 2) +Testing all collisions (low 38-bit) - Expected 177.7, actual 190 (1.069x) (^ 2) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11413 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11468 (1.009x) (^ 2) +Testing all collisions (high 21..42 bits) - Worst is 28 bits: 180384/179761 (1.003x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 37 bits: 383/355 (1.078x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 90: 0.617x (^ 3) + +Keyset 'SeedBlockLen' - 38-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 194 (1.092x) (^ 3) +Testing all collisions (low 38-bit) - Expected 177.7, actual 196 (1.103x) (^ 3) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11277 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11140 (0.980x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 35 bits: 1494/1422 (1.051x) (^ 1) +Testing all collisions (low 21..42 bits) - Worst is 42 bits: 17/11 (1.531x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 49: 0.520x (^ 0) + +Keyset 'SeedBlockLen' - 39-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 180 (1.013x) (^ 1) +Testing all collisions (low 38-bit) - Expected 177.7, actual 177 (0.996x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11463 (1.009x) (^ 2) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11315 (0.996x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 39 bits: 105/89 (1.182x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 39 bits: 100/89 (1.125x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 31: 0.555x (^ 1) + +*********FAIL********* + +[[[ Seed BlockOffset Tests ]]] + +Seeds have up to 2 bits set, 4-byte blocks have up to 2 bits set + +Keyset 'SeedBlockOffset' - [4..31]-byte keys with block at offset 0 - 30750720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 1324224 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 1324227 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 1324224 (------) (^99) !!!!! +Testing all collisions (high 42-bit) - Expected 107.5, actual 1324323 (------) (^99) !!!!! +Testing all collisions (low 42-bit) - Expected 107.5, actual 1324329 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 109820.9, actual 1424883 (12.97x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 109820.9, actual 1425314 (12.98x) (^99) !!!!! +Testing all collisions (high 23..45 bits) - Worst is 24 bits: 16876463/16657042 (1.013x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 24 bits: 16876467/16657042 (1.013x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 65: 50.11x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [5..31]-byte keys with block at offset 1 - 29652480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 1128864 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 1128866 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 1128864 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 199.9, actual 1129039 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 199.9, actual 1129052 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 102125.3, actual 1223538 (11.98x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 102125.3, actual 1223957 (11.98x) (^99) !!!!! +Testing all collisions (high 23..45 bits) - Worst is 24 bits: 15936984/15740344 (1.012x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 24 bits: 15935184/15740344 (1.012x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 66: 34.84x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [6..31]-byte keys with block at offset 2 - 28554240 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 995808 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 995810 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 995808 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 185.4, actual 995995 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 185.4, actual 995978 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 94708.6, actual 1083999 (11.45x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 94708.6, actual 1084117 (11.45x) (^99) !!!!! +Testing all collisions (high 23..45 bits) - Worst is 24 bits: 15021795/14835927 (1.013x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 24 bits: 15023684/14835927 (1.013x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 66: 24.49x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [7..31]-byte keys with block at offset 3 - 27456000 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 862752 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 862754 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 862752 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 171.4, actual 862926 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 171.4, actual 862907 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 87570.9, actual 944576 (10.79x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 87570.9, actual 944868 (10.79x) (^99) !!!!! +Testing all collisions (high 23..45 bits) - Worst is 24 bits: 14115899/13944623 (1.012x) (^99) !!!!! +Testing all collisions (low 23..45 bits) - Worst is 24 bits: 14116492/13944623 (1.012x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 73: 17.43x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [8..31]-byte keys with block at offset 4 - 26357760 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 794112 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 794113 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 794112 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 158.0, actual 794269 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 158.0, actual 794257 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 80712.2, actual 869698 (10.78x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 80712.2, actual 869751 (10.78x) (^99) !!!!! +Testing all collisions (high 23..44 bits) - Worst is 24 bits: 13234094/13067317 (1.013x) (^99) !!!!! +Testing all collisions (low 23..44 bits) - Worst is 24 bits: 13235654/13067317 (1.013x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 118: 13.99x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [9..31]-byte keys with block at offset 5 - 25259520 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 599280 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 599280 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 599280 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 145.1, actual 599434 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 145.1, actual 599436 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 74132.6, actual 670036 (9.038x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 74132.6, actual 670039 (9.038x) (^99) !!!!! +Testing all collisions (high 23..44 bits) - Worst is 24 bits: 12341377/12204959 (1.011x) (^99) !!!!! +Testing all collisions (low 23..44 bits) - Worst is 24 bits: 12341013/12204959 (1.011x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 23: 11.11x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [10..31]-byte keys with block at offset 6 - 24161280 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 466752 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 466752 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 466752 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 132.7, actual 466884 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 132.7, actual 466904 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 67832.2, actual 531967 (7.842x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 67832.2, actual 532270 (7.847x) (^99) !!!!! +Testing all collisions (high 23..44 bits) - Worst is 25 bits: 7167292/6938527 (1.033x) (^99) !!!!! +Testing all collisions (low 23..44 bits) - Worst is 25 bits: 7165298/6938527 (1.033x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 23: 9.095x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [11..31]-byte keys with block at offset 7 - 23063040 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 334224 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 334224 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 334224 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 120.9, actual 334350 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 120.9, actual 334351 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 61811.1, actual 394244 (6.378x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 61811.1, actual 394602 (6.384x) (^99) !!!!! +Testing all collisions (high 23..44 bits) - Worst is 25 bits: 6552787/6383668 (1.026x) (^99) !!!!! +Testing all collisions (low 23..44 bits) - Worst is 25 bits: 6553137/6383668 (1.027x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 115: 6.858x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [12..31]-byte keys with block at offset 8 - 21964800 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 266112 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 266112 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 266112 (------) (^99) !!!!! +Testing all collisions (high 41-bit) - Expected 109.7, actual 266236 (------) (^99) !!!!! +Testing all collisions (low 41-bit) - Expected 109.7, actual 266216 (------) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 56069.2, actual 320834 (5.722x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 56069.2, actual 321398 (5.732x) (^99) !!!!! +Testing all collisions (high 23..44 bits) - Worst is 25 bits: 5988651/5846889 (1.024x) (^99) !!!!! +Testing all collisions (low 23..44 bits) - Worst is 25 bits: 5983645/5846889 (1.023x) (^99) !!!!! +Testing distribution (any 8..22 bits) - Worst bias is 22 bits at bit 57: 5.864x (^99) !!!!! + +Keyset 'SeedBlockOffset' - [13..31]-byte keys with block at offset 9 - 20866560 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 134112 (------) (^99) !!!!! +Testing all collisions (high 64-bit) - Expected 0.0, actual 134112 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 134112 (------) (^99) !!!!! +Testing all collisions (high 40-bit) - Expected 198.0, actual 134301 (678.3x) (^99) !!!!! +Testing all collisions (low 40-bit) - Expected 198.0, actual 134313 (678.3x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 50606.8, actual 184250 (3.641x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 50606.8, actual 184345 (3.643x) (^99) !!!!! +Testing all collisions (high 22..44 bits) - Worst is 26 bits: 3031549/2932440 (1.034x) (^99) !!!!! +Testing all collisions (low 22..44 bits) - Worst is 26 bits: 3031810/2932440 (1.034x) (^99) !!!!! +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 2: 2.405x (^99) !!!!! + +*********FAIL********* + +[[[ Keyset 'Seed' Tests ]]] + +Keyset 'Seed' - 2-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2048 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1953 (0.954x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4153/4093 (1.015x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 21 bits: 2381593/2380971 (1.000x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 109: 0.634x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2054 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2099 (1.025x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 525/512 (1.025x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 541/512 (1.057x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 12: 0.700x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 113 (0.883x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2142 (1.046x) (^ 5) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2060 (1.006x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2142/2047 (1.046x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252250/251554 (1.003x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 112: 0.753x (^ 0) + +Keyset 'Seed' - 3-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 104 (0.813x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1965 (0.960x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2115 (1.033x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 38 bits: 36/32 (1.125x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 29 bits: 16566/16341 (1.014x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 60: 3.596x (^99) !!!!! +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 2 (------) (^34) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 1 (------) (^12) +Testing all collisions (high 36-bit) - Expected 128.0, actual 549 (4.289x) (^99) !!!!! +Testing all collisions (low 36-bit) - Expected 128.0, actual 997 (7.789x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2419 (1.182x) (^50) !!!!! +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2547 (1.244x) (^86) !!!!! +Testing all collisions (high 20..39 bits) - Worst is 37 bits: 410/64 (6.406x) (^99) !!!!! +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 1846/512 (3.606x) (^99) !!!!! +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 59: 673.0x (^99) !!!!! +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 114 (0.891x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2027 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2031 (0.992x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 484594/483197 (1.003x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 19/16 (1.188x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 64: 6.998x (^99) !!!!! + +Keyset 'Seed' - 6-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1963 (0.959x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2080 (1.016x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 39 bits: 22/16 (1.375x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 46/32 (1.438x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 41: 0.518x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 22 (------) (^99) !!!!! +Testing all collisions (low 64-bit) - Expected 0.0, actual 25 (------) (^99) !!!!! +Testing all collisions (high 36-bit) - Expected 128.0, actual 6650 (51.95x) (^99) !!!!! +Testing all collisions (low 36-bit) - Expected 128.0, actual 9583 (74.87x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 2047.3, actual 18315 (8.946x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 2047.3, actual 18208 (8.894x) (^99) !!!!! +Testing all collisions (high 20..39 bits) - Worst is 22 bits: 1610320/1542998 (1.044x) (^99) !!!!! +Testing all collisions (low 20..39 bits) - Worst is 21 bits: 2474857/2380971 (1.039x) (^99) !!!!! +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 61: 673.4x (^99) !!!!! +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2098 (1.025x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2099 (1.025x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8315/8181 (1.016x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 552/512 (1.078x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 58: 1.664x (^25) !!!!! + +Keyset 'Seed' - 15-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 154 (1.203x) (^ 6) +Testing all collisions (low 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2012 (0.983x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2004 (0.979x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 154/128 (1.203x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 22/16 (1.375x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 47: 0.540x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1975 (0.965x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2065 (1.009x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8371/8181 (1.023x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 45/32 (1.406x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 118: 0.794x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 148 (1.156x) (^ 4) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2056 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2135 (1.043x) (^ 5) +Testing all collisions (high 20..39 bits) - Worst is 37 bits: 74/64 (1.156x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 567/512 (1.108x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 73: 0.489x (^ 0) + +Keyset 'Seed' - 18-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2102 (1.027x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1985 (0.970x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1072/1024 (1.047x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 64/64 (1.000x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 98: 0.676x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 156 (1.219x) (^ 6) +Testing all collisions (low 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2069 (1.011x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2052 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 35 bits: 300/256 (1.172x) (^ 3) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 32854/32598 (1.008x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 52: 0.766x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 108 (0.844x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2036 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1967 (0.961x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 38 bits: 41/32 (1.281x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 23 bits: 893950/893644 (1.000x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 90: 0.528x (^ 0) + +Keyset 'Seed' - 31-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2048 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2012 (0.983x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8294/8181 (1.014x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 251912/251554 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 6: 0.532x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 113 (0.883x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2094 (1.023x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2050 (1.001x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8312/8181 (1.016x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65011/64859 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 104: 0.842x (^ 4) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2023 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2103 (1.027x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 519/512 (1.014x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 30 bits: 8313/8181 (1.016x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 65: 0.615x (^ 0) + +Keyset 'Seed' - 52-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2098 (1.025x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2006 (0.980x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4185/4093 (1.022x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 64915/64859 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 18: 0.811x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2152 (1.051x) (^ 6) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2118 (1.035x) (^ 4) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65543/64859 (1.011x) (^ 3) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4262/4093 (1.041x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 14: 0.727x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2069 (1.011x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1978 (0.966x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1086/1024 (1.061x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 22 bits: 1543619/1542998 (1.000x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 31: 0.501x (^ 0) + +Keyset 'Seed' - 80-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2035 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1998 (0.976x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 138/128 (1.078x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 36 bits: 133/128 (1.039x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 24: 0.527x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2007 (0.980x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2028 (0.991x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 251918/251554 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 32725/32598 (1.004x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 53: 0.612x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 143 (1.117x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2086 (1.019x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2040 (0.996x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65463/64859 (1.009x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 539/512 (1.053x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 100: 0.714x (^ 2) + +Keyset 'Seed' - 200-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2021 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2084 (1.018x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 483928/483197 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 535/512 (1.045x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 61: 0.480x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2093 (1.022x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2028 (0.991x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 252262/251554 (1.003x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65001/64859 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 81: 0.479x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2066 (1.009x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2132 (1.041x) (^ 4) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8304/8181 (1.015x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 32986/32598 (1.012x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 120: 0.700x (^ 0) + +Keyset 'Seed' - 1025-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2024 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2032 (0.993x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 252481/251554 (1.004x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 276/256 (1.078x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 123: 0.753x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2096 (1.024x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2049 (1.001x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 549/512 (1.072x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 22/16 (1.375x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 78: 0.505x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2048 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2054 (1.003x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65171/64859 (1.005x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4132/4093 (1.009x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 29: 0.573x (^ 0) + +*********FAIL********* + +[[[ Seed Avalanche Tests ]]] + +Testing 3-byte keys, 300000 reps..................max is 100.0% at bit 31 -> out 64 (^99) !!!!! +Testing 4-byte keys, 300000 reps..................max is 100.0% at bit 31 -> out 64 (^99) !!!!! +Testing 6-byte keys, 300000 reps..................max is 100.0% at bit 31 -> out 64 (^99) !!!!! +Testing 8-byte keys, 300000 reps..................max is 100.0% at bit 31 -> out 64 (^99) !!!!! +Testing 12-byte keys, 300000 reps..................max is 100.0% at bit 31 -> out 64 (^99) !!!!! +Testing 16-byte keys, 300000 reps..................max is 0.764% at bit 51 -> out 112 (^ 2) +Testing 20-byte keys, 300000 reps..................max is 0.823% at bit 49 -> out 29 (^ 4) +Testing 24-byte keys, 300000 reps..................max is 0.647% at bit 15 -> out 29 (^ 0) +Testing 28-byte keys, 300000 reps..................max is 0.712% at bit 13 -> out 100 (^ 0) +Testing 32-byte keys, 300000 reps..................max is 0.678% at bit 34 -> out 8 (^ 0) +Testing 64-byte keys, 300000 reps..................max is 0.809% at bit 55 -> out 97 (^ 3) +Testing 128-byte keys, 300000 reps..................max is 0.729% at bit 27 -> out 102 (^ 1) + +*********FAIL********* + +[[[ Seed 'Bit Independence Criteria' Tests ]]] + +Testing 3-byte keys, 1200000 reps............max 1.0000 at bit 0 -> out ( 36,100) (^99) !!!!! +Testing 4-byte keys, 1200000 reps............max 1.0000 at bit 0 -> out ( 54,118) (^99) !!!!! +Testing 6-byte keys, 1200000 reps............max 1.0000 at bit 31 -> out ( 0, 32) (^99) !!!!! +Testing 8-byte keys, 1200000 reps............max 1.0000 at bit 31 -> out ( 0, 32) (^99) !!!!! +Testing 11-byte keys, 1200000 reps............max 1.0000 at bit 63 -> out ( 0, 64) (^99) !!!!! +Testing 15-byte keys, 1200000 reps............max 1.0000 at bit 31 -> out ( 0, 32) (^99) !!!!! +Testing 28-byte keys, 600000 reps............max 0.0071 at bit 11 -> out ( 0, 64) (^ 5) +Testing 52-byte keys, 600000 reps............max 0.0058 at bit 52 -> out (102,126) (^ 0) +Testing 1024-byte keys, 600000 reps............max 0.0062 at bit 49 -> out ( 6, 42) (^ 0) + +*********FAIL********* + +[[[ Seed Bitflip Tests ]]] + +Testing 3-byte keys, 64-bit seeds, 1572864 reps.......... 36 failed, worst is seed bit 31 !!!!! +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 145 (1.007x) (^ 1) +Testing all collisions (low 35-bit) - Expected 144.0, actual 141 (0.979x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1101 (0.956x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1143 (0.992x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 36 bits: 74/72 (1.028x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 38 bits: 24/18 (1.333x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 53: 0.583x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 465 (3.229x) (^99) !!!!! +Testing all collisions (low 33-bit) - Expected 144.0, actual 750 (5.209x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 288.0, actual 746 (2.591x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 288.0, actual 750 (2.604x) (^99) !!!!! +Testing all collisions (high 19..36 bits) - Worst is 34 bits: 343/72 (4.764x) (^99) !!!!! +Testing all collisions (low 19..36 bits) - Worst is 19 bits: 1210132/1074679 (1.126x) (^99) !!!!! +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 59: 437.9x (^99) !!!!! + +Testing 4-byte keys, 64-bit seeds, 1572864 reps.......... 35 failed, worst is seed bit 31 !!!!! +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 150 (1.042x) (^ 1) +Testing all collisions (low 35-bit) - Expected 144.0, actual 133 (0.924x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1191 (1.034x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1172 (1.018x) (^ 1) +Testing all collisions (high 20..38 bits) - Worst is 29 bits: 9368/9198 (1.018x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 24 bits: 277884/277313 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 98: 0.618x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 458 (3.181x) (^99) !!!!! +Testing all collisions (low 33-bit) - Expected 144.0, actual 744 (5.167x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 288.0, actual 715 (2.483x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 288.0, actual 744 (2.584x) (^99) !!!!! +Testing all collisions (high 19..36 bits) - Worst is 35 bits: 231/36 (6.417x) (^99) !!!!! +Testing all collisions (low 19..36 bits) - Worst is 19 bits: 1210686/1074679 (1.127x) (^99) !!!!! +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 59: 437.9x (^99) !!!!! + +Testing 8-byte keys, 64-bit seeds, 1572864 reps.......... 38 failed, worst is seed bit 31 !!!!! +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 168 (1.167x) (^ 5) +Testing all collisions (low 35-bit) - Expected 144.0, actual 148 (1.028x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1199 (1.041x) (^ 3) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1159 (1.006x) (^ 1) +Testing all collisions (high 20..38 bits) - Worst is 35 bits: 168/144 (1.167x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 36 bits: 85/72 (1.181x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 7: 0.815x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 484 (3.361x) (^99) !!!!! +Testing all collisions (low 33-bit) - Expected 144.0, actual 788 (5.473x) (^99) !!!!! +Testing all collisions (high 32-bit) - Expected 288.0, actual 785 (2.726x) (^99) !!!!! +Testing all collisions (low 32-bit) - Expected 288.0, actual 788 (2.736x) (^99) !!!!! +Testing all collisions (high 19..36 bits) - Worst is 32 bits: 785/288 (2.726x) (^99) !!!!! +Testing all collisions (low 19..36 bits) - Worst is 19 bits: 1210925/1074679 (1.127x) (^99) !!!!! +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 59: 437.9x (^99) !!!!! + +Testing 20-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 21 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 172 (1.194x) (^ 6) +Testing all collisions (low 35-bit) - Expected 144.0, actual 136 (0.944x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1129 (0.980x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1131 (0.982x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 36 bits: 97/72 (1.347x) (^ 4) +Testing all collisions (low 20..38 bits) - Worst is 22 bits: 932821/932673 (1.000x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 78: 0.470x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 151 (1.049x) (^ 1) +Testing all collisions (low 33-bit) - Expected 144.0, actual 175 (1.215x) (^ 7) +Testing all collisions (high 32-bit) - Expected 288.0, actual 264 (0.917x) (^ 0) +Testing all collisions (low 32-bit) - Expected 288.0, actual 336 (1.167x) (^ 8) +Testing all collisions (high 19..36 bits) - Worst is 36 bits: 28/18 (1.556x) (^ 1) +Testing all collisions (low 19..36 bits) - Worst is 32 bits: 336/288 (1.167x) (^ 4) +Testing distribution (any 8..18 bits) - Worst bias is 12 bits at bit 74: 0.448x (^ 0) + +Testing 32-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 36 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 160 (1.111x) (^ 3) +Testing all collisions (low 35-bit) - Expected 144.0, actual 138 (0.958x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1212 (1.052x) (^ 4) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1117 (0.970x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 36 bits: 99/72 (1.375x) (^ 5) +Testing all collisions (low 20..38 bits) - Worst is 29 bits: 9320/9198 (1.013x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 38: 0.845x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 173 (1.201x) (^ 6) +Testing all collisions (low 33-bit) - Expected 144.0, actual 128 (0.889x) (^ 0) +Testing all collisions (high 32-bit) - Expected 288.0, actual 310 (1.077x) (^ 3) +Testing all collisions (low 32-bit) - Expected 288.0, actual 272 (0.945x) (^ 0) +Testing all collisions (high 19..36 bits) - Worst is 27 bits: 9457/9180 (1.030x) (^ 4) +Testing all collisions (low 19..36 bits) - Worst is 23 bits: 139039/138656 (1.003x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 13 bits at bit 103: 0.720x (^ 2) + +*********FAIL********* + +---------------------------------------------------------------------------------------------- +-log2(p-value) summary: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 + ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- + 13091 2764 1306 693 341 198 127 62 39 25 32 22 11 + + 13 14 15 16 17 18 19 20 21 22 23 24 25+ + ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- + 24 15 9 10 7 9 10 5 8 6 5 5 1430 + +---------------------------------------------------------------------------------------------- +Summary for: MurmurHash3-128.snapraid +Overall result: FAIL ( 179 / 252 passed) +Failures: + BIC : [3, 4, 6, 8] + Sparse : [4/5, 20/3, 9/4, 7/5, 7/6, 6/7, 6/8, 5/9, 5/12, 4/14, 4/24, 4/26] + Text : [dictionary, numbers without commas, numbers with commas, FXXXXB, FBXXXX, XXXXFB, Words alnum 1-4, Words alnum 5-8, Words alnum 1-16, Words alnum 1-32] + TwoBytes : [20] + PerlinNoise : [2, 4, 8] + Bitflip : [3, 4, 8] + SeedZeroes : [1280, 8448] + SeedSparse : [2, 3, 6, 15] + SeedBlockLen : [8, 9, 10, 11, 12, 13, 14, 15] + SeedBlockOffset : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] + Seed : [3, 6] + SeedAvalanche : [3, 4, 6, 8, 12] + SeedBIC : [3, 4, 6, 8, 11, 15] + SeedBitflip : [3, 4, 8] + +---------------------------------------------------------------------------------------------- +Verification value is 0x00000001 - Testing took 3181.569761 seconds + diff --git a/smhasher3/MuseAir-128.bfast-snapraid.txt b/smhasher3/MuseAir-128.bfast-snapraid.txt new file mode 100644 index 00000000..9f053611 --- /dev/null +++ b/smhasher3/MuseAir-128.bfast-snapraid.txt @@ -0,0 +1,3744 @@ +------------------------------------------------------------------------------- +--- Testing MuseAir-128.bfast-snapraid "MuseAir v2, BFast-128, SnapRAID long-path short-input extension" + +[[[ Sanity Tests ]]] + +Verification value CE 0x427E5CD7 ...... PASS +Running sanity check 1 .......... PASS +Running sanity check 2 .......... PASS +Running append zeroes test .......... PASS +Running prepend zeroes test .......... PASS +Running thread-safety test 1 .......... PASS +Running thread-safety test 2 .......... PASS + +[[[ Avalanche Tests ]]] + +Testing 3-byte keys, 300000 reps..................max is 0.635% at bit 9 -> out 39 (^ 0) +Testing 4-byte keys, 300000 reps..................max is 0.693% at bit 9 -> out 118 (^ 1) +Testing 5-byte keys, 300000 reps..................max is 0.661% at bit 2 -> out 97 (^ 0) +Testing 6-byte keys, 300000 reps..................max is 0.723% at bit 1 -> out 36 (^ 1) +Testing 7-byte keys, 300000 reps..................max is 0.681% at bit 2 -> out 28 (^ 0) +Testing 8-byte keys, 300000 reps..................max is 0.682% at bit 4 -> out 82 (^ 0) +Testing 9-byte keys, 300000 reps..................max is 0.787% at bit 16 -> out 50 (^ 2) +Testing 10-byte keys, 300000 reps..................max is 0.691% at bit 37 -> out 55 (^ 0) +Testing 12-byte keys, 300000 reps..................max is 0.841% at bit 5 -> out 107 (^ 4) +Testing 16-byte keys, 300000 reps..................max is 0.737% at bit 19 -> out 41 (^ 0) +Testing 20-byte keys, 300000 reps..................max is 0.705% at bit 87 -> out 115 (^ 0) +Testing 24-byte keys, 300000 reps..................max is 0.779% at bit 39 -> out 6 (^ 1) +Testing 28-byte keys, 300000 reps..................max is 0.816% at bit 51 -> out 112 (^ 2) +Testing 32-byte keys, 300000 reps..................max is 0.797% at bit 18 -> out 68 (^ 1) +Testing 40-byte keys, 300000 reps..................max is 0.779% at bit 73 -> out 64 (^ 0) +Testing 48-byte keys, 300000 reps..................max is 0.752% at bit 364 -> out 124 (^ 0) +Testing 56-byte keys, 300000 reps..................max is 0.735% at bit 289 -> out 71 (^ 0) +Testing 64-byte keys, 300000 reps..................max is 0.853% at bit 224 -> out 98 (^ 2) +Testing 128-byte keys, 300000 reps..................max is 0.887% at bit 871 -> out 54 (^ 2) +Testing 160-byte keys, 300000 reps..................max is 0.829% at bit 678 -> out 121 (^ 0) +Testing 192-byte keys, 300000 reps..................max is 0.853% at bit 271 -> out 14 (^ 1) + + +[[[ BIC 'Bit Independence Criteria' Tests ]]] + +Testing 3-byte keys, 1200000 reps............max 0.0041 at bit 18 -> out ( 7, 43) (^ 0) +Testing 4-byte keys, 1200000 reps............max 0.0045 at bit 15 -> out ( 63,100) (^ 2) +Testing 6-byte keys, 1200000 reps............max 0.0044 at bit 41 -> out ( 5,104) (^ 0) +Testing 8-byte keys, 1200000 reps............max 0.0043 at bit 51 -> out ( 16, 24) (^ 0) +Testing 11-byte keys, 1200000 reps............max 0.0048 at bit 46 -> out ( 87, 98) (^ 3) +Testing 15-byte keys, 1200000 reps............max 0.0045 at bit 62 -> out ( 15, 77) (^ 0) +Testing 28-byte keys, 600000 reps............max 0.0063 at bit 124 -> out ( 22, 99) (^ 0) +Testing 52-byte keys, 600000 reps............max 0.0070 at bit 173 -> out ( 76, 90) (^ 2) + + +[[[ Keyset 'Zeroes' Tests ]]] + +Keyset 'Zeroes' - 204800 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.9, actual 2 (0.410x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.9, actual 8 (1.638x) (^ 2) +Testing all collisions (high 27-bit) - Expected 156.2, actual 134 (0.858x) (^ 0) +Testing all collisions (low 27-bit) - Expected 156.2, actual 155 (0.993x) (^ 0) +Testing all collisions (high 16..30 bits) - Worst is 24 bits: 1280/1245 (1.028x) (^ 0) +Testing all collisions (low 16..30 bits) - Worst is 30 bits: 27/20 (1.382x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 10 bits at bit 16: 0.550x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.9, actual 5 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4.9, actual 6 (1.229x) (^ 1) +Testing all collisions (high 27-bit) - Expected 156.2, actual 157 (1.000x) (^ 1) +Testing all collisions (low 27-bit) - Expected 156.2, actual 184 (1.178x) (^ 5) +Testing all collisions (high 16..30 bits) - Worst is 28 bits: 84/78 (1.075x) (^ 0) +Testing all collisions (low 16..30 bits) - Worst is 27 bits: 184/156 (1.178x) (^ 2) +Testing distribution (any 8..15 bits) - Worst bias is 14 bits at bit 42: 0.551x (^ 0) + + +[[[ Keyset 'Cyclic' Tests ]]] + +Keyset 'Cyclic' - 4 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 119 (1.022x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 138 (1.186x) (^ 5) +Testing all collisions (high 16..35 bits) - Worst is 26 bits: 7546/7414 (1.018x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 32 bits: 138/116 (1.186x) (^ 1) + +Keyset 'Cyclic' - 4 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 107 (0.919x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 131 (1.125x) (^ 3) +Testing all collisions (high 16..35 bits) - Worst is 27 bits: 3775/3716 (1.016x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 27 bits: 3872/3716 (1.042x) (^ 3) + +Keyset 'Cyclic' - 4 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 119 (1.022x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 28 bits: 1876/1860 (1.008x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 33 bits: 70/58 (1.203x) (^ 0) + +Keyset 'Cyclic' - 4 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 104 (0.893x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 109 (0.936x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 110759/110274 (1.004x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 33 bits: 70/58 (1.203x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 28 bits: 1926/1860 (1.035x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 34 bits: 33/29 (1.134x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 118 (1.014x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 110618/110274 (1.003x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 20 bits: 356116/355464 (1.002x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 123 (1.057x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 99 (0.850x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 31 bits: 253/233 (1.087x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 26 bits: 7471/7414 (1.008x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 122 (1.048x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 118 (1.014x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 34 bits: 37/29 (1.271x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 34 bits: 32/29 (1.100x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 103 (0.885x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 102 (0.876x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 20 bits: 355923/355464 (1.001x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 34 bits: 33/29 (1.134x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 103 (0.885x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 125 (1.074x) (^ 2) +Testing all collisions (high 16..35 bits) - Worst is 26 bits: 7442/7414 (1.004x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 26 bits: 7543/7414 (1.017x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 108 (0.928x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 89 (0.765x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 21 bits: 205089/204642 (1.002x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 26 bits: 7500/7414 (1.012x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 99 (0.850x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 35 bits: 22/15 (1.512x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 18 bits: 743711/743635 (1.000x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 105 (0.902x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 122 (1.048x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 16 bits: 934464/934464 (1.000x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 25 bits: 14883/14754 (1.009x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 120 (1.031x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 113 (0.971x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 34 bits: 34/29 (1.168x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 22 bits: 110576/110274 (1.003x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 112 (0.962x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 125 (1.074x) (^ 2) +Testing all collisions (high 16..35 bits) - Worst is 26 bits: 7523/7414 (1.015x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 24 bits: 29506/29219 (1.010x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 116 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 105 (0.902x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 26 bits: 7552/7414 (1.019x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 34 bits: 36/29 (1.237x) (^ 0) + + +[[[ Keyset 'Sparse' Tests ]]] + +Keyset 'Sparse' - 2-byte keys with up to 6 bits set - 14893 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 105.3, actual 92 (0.874x) (^ 0) +Testing all collisions (low 20-bit) - Expected 105.3, actual 112 (1.064x) (^ 1) +Testing all collisions (high 10..23 bits) - Worst is 14 bits: 5174/5110 (1.012x) (^ 0) +Testing all collisions (low 10..23 bits) - Worst is 15 bits: 2990/2925 (1.022x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 105.3, actual 104 (0.988x) (^ 0) +Testing all collisions (low 20-bit) - Expected 105.3, actual 102 (0.969x) (^ 0) +Testing all collisions (high 10..23 bits) - Worst is 21 bits: 56/53 (1.062x) (^ 0) +Testing all collisions (low 10..23 bits) - Worst is 15 bits: 2964/2925 (1.013x) (^ 0) + +Keyset 'Sparse' - 3-byte keys with up to 4 bits set - 12951 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 19-bit) - Expected 158.6, actual 139 (0.876x) (^ 0) +Testing all collisions (low 19-bit) - Expected 158.6, actual 170 (1.072x) (^ 2) +Testing all collisions (high 10..22 bits) - Worst is 10 bits: 11927/11927 (1.000x) (^ 0) +Testing all collisions (low 10..22 bits) - Worst is 19 bits: 170/159 (1.072x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 19-bit) - Expected 158.6, actual 145 (0.914x) (^ 0) +Testing all collisions (low 19-bit) - Expected 158.6, actual 172 (1.084x) (^ 2) +Testing all collisions (high 10..22 bits) - Worst is 13 bits: 6453/6445 (1.001x) (^ 0) +Testing all collisions (low 10..22 bits) - Worst is 21 bits: 49/40 (1.228x) (^ 0) + +Keyset 'Sparse' - 4-byte keys with up to 4 bits set - 41449 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (high 23-bit) - Expected 102.2, actual 113 (1.105x) (^ 2) +Testing all collisions (low 23-bit) - Expected 102.2, actual 84 (0.822x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 20 bits: 855/809 (1.058x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 15 bits: 17984/17930 (1.003x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (high 23-bit) - Expected 102.2, actual 100 (0.978x) (^ 0) +Testing all collisions (low 23-bit) - Expected 102.2, actual 97 (0.949x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 18 bits: 3128/3111 (1.006x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 17 bits: 5982/5914 (1.011x) (^ 0) + +Keyset 'Sparse' - 5-byte keys with up to 4 bits set - 102091 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.2, actual 1 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 155.1, actual 145 (0.935x) (^ 0) +Testing all collisions (low 25-bit) - Expected 155.1, actual 157 (1.012x) (^ 1) +Testing all collisions (high 13..28 bits) - Worst is 23 bits: 645/619 (1.042x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 24 bits: 327/310 (1.055x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.2, actual 3 (2.473x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 155.1, actual 173 (1.115x) (^ 3) +Testing all collisions (low 25-bit) - Expected 155.1, actual 138 (0.889x) (^ 0) +Testing all collisions (high 13..28 bits) - Worst is 27 bits: 50/39 (1.288x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 17 bits: 31281/31170 (1.004x) (^ 0) + +Keyset 'Sparse' - 6-byte keys with up to 3 bits set - 18473 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 1 (25.17x) (^ 3) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 161.8, actual 154 (0.952x) (^ 0) +Testing all collisions (low 20-bit) - Expected 161.8, actual 173 (1.069x) (^ 2) +Testing all collisions (high 11..24 bits) - Worst is 16 bits: 2450/2375 (1.032x) (^ 0) +Testing all collisions (low 11..24 bits) - Worst is 24 bits: 14/10 (1.377x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 161.8, actual 157 (0.971x) (^ 0) +Testing all collisions (low 20-bit) - Expected 161.8, actual 163 (1.008x) (^ 1) +Testing all collisions (high 11..24 bits) - Worst is 12 bits: 14423/14422 (1.000x) (^ 0) +Testing all collisions (low 11..24 bits) - Worst is 21 bits: 91/81 (1.122x) (^ 0) + +Keyset 'Sparse' - 7-byte keys with up to 3 bits set - 29317 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (high 22-bit) - Expected 102.2, actual 103 (1.000x) (^ 1) +Testing all collisions (low 22-bit) - Expected 102.2, actual 90 (0.880x) (^ 0) +Testing all collisions (high 11..25 bits) - Worst is 25 bits: 19/13 (1.484x) (^ 0) +Testing all collisions (low 11..25 bits) - Worst is 14 bits: 15712/15670 (1.003x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (high 22-bit) - Expected 102.2, actual 107 (1.047x) (^ 1) +Testing all collisions (low 22-bit) - Expected 102.2, actual 83 (0.812x) (^ 0) +Testing all collisions (high 11..25 bits) - Worst is 23 bits: 58/51 (1.134x) (^ 0) +Testing all collisions (low 11..25 bits) - Worst is 11 bits: 27269/27269 (1.000x) (^ 0) + +Keyset 'Sparse' - 8-byte keys with up to 3 bits set - 43745 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (high 23-bit) - Expected 113.9, actual 111 (0.975x) (^ 0) +Testing all collisions (low 23-bit) - Expected 113.9, actual 128 (1.124x) (^ 3) +Testing all collisions (high 12..26 bits) - Worst is 16 bits: 11982/11828 (1.013x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 25 bits: 40/29 (1.403x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 113.9, actual 112 (0.984x) (^ 0) +Testing all collisions (low 23-bit) - Expected 113.9, actual 97 (0.852x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 25 bits: 33/29 (1.158x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 26 bits: 15/14 (1.052x) (^ 0) + +Keyset 'Sparse' - 9-byte keys with up to 3 bits set - 62269 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 115.4, actual 111 (0.962x) (^ 0) +Testing all collisions (low 24-bit) - Expected 115.4, actual 122 (1.057x) (^ 1) +Testing all collisions (high 12..27 bits) - Worst is 26 bits: 33/29 (1.143x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 23 bits: 258/231 (1.119x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 115.4, actual 137 (1.187x) (^ 5) +Testing all collisions (low 24-bit) - Expected 115.4, actual 105 (0.910x) (^ 0) +Testing all collisions (high 12..27 bits) - Worst is 24 bits: 137/115 (1.187x) (^ 1) +Testing all collisions (low 12..27 bits) - Worst is 15 bits: 34422/34400 (1.001x) (^ 0) + +Keyset 'Sparse' - 10-byte keys with up to 3 bits set - 85401 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.8, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.8, actual 2 (2.356x) (^ 1) +Testing all collisions (high 25-bit) - Expected 108.6, actual 106 (0.976x) (^ 0) +Testing all collisions (low 25-bit) - Expected 108.6, actual 107 (0.985x) (^ 0) +Testing all collisions (high 13..28 bits) - Worst is 17 bits: 22715/22648 (1.003x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 24 bits: 224/217 (1.032x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.8, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.8, actual 1 (1.000x) (^ 1) +Testing all collisions (high 25-bit) - Expected 108.6, actual 106 (0.976x) (^ 0) +Testing all collisions (low 25-bit) - Expected 108.6, actual 105 (0.967x) (^ 0) +Testing all collisions (high 13..28 bits) - Worst is 22 bits: 885/864 (1.025x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 26 bits: 59/54 (1.086x) (^ 0) + +Keyset 'Sparse' - 11-byte keys with up to 3 bits set - 113653 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.5, actual 2 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1.5, actual 1 (0.665x) (^ 0) +Testing all collisions (high 25-bit) - Expected 192.3, actual 197 (1.025x) (^ 1) +Testing all collisions (low 25-bit) - Expected 192.3, actual 217 (1.129x) (^ 4) +Testing all collisions (high 13..29 bits) - Worst is 22 bits: 1563/1526 (1.024x) (^ 0) +Testing all collisions (low 13..29 bits) - Worst is 24 bits: 422/384 (1.099x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.5, actual 2 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1.5, actual 1 (0.665x) (^ 0) +Testing all collisions (high 25-bit) - Expected 192.3, actual 185 (0.962x) (^ 0) +Testing all collisions (low 25-bit) - Expected 192.3, actual 217 (1.129x) (^ 4) +Testing all collisions (high 13..29 bits) - Worst is 28 bits: 30/24 (1.247x) (^ 0) +Testing all collisions (low 13..29 bits) - Worst is 23 bits: 827/766 (1.079x) (^ 2) + +Keyset 'Sparse' - 12-byte keys with up to 3 bits set - 147537 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2.5, actual 4 (1.579x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2.5, actual 2 (0.789x) (^ 0) +Testing all collisions (high 26-bit) - Expected 162.1, actual 152 (0.938x) (^ 0) +Testing all collisions (low 26-bit) - Expected 162.1, actual 168 (1.037x) (^ 1) +Testing all collisions (high 13..30 bits) - Worst is 20 bits: 9982/9909 (1.007x) (^ 0) +Testing all collisions (low 13..30 bits) - Worst is 26 bits: 168/162 (1.037x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2.5, actual 3 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 26-bit) - Expected 162.1, actual 173 (1.068x) (^ 2) +Testing all collisions (low 26-bit) - Expected 162.1, actual 142 (0.876x) (^ 0) +Testing all collisions (high 13..30 bits) - Worst is 27 bits: 93/81 (1.147x) (^ 0) +Testing all collisions (low 13..30 bits) - Worst is 17 bits: 59135/58991 (1.002x) (^ 0) + +Keyset 'Sparse' - 13-byte keys with up to 3 bits set - 187565 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.1, actual 4 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.1, actual 3 (0.733x) (^ 0) +Testing all collisions (high 27-bit) - Expected 131.0, actual 121 (0.924x) (^ 0) +Testing all collisions (low 27-bit) - Expected 131.0, actual 123 (0.939x) (^ 0) +Testing all collisions (high 14..30 bits) - Worst is 24 bits: 1105/1045 (1.058x) (^ 1) +Testing all collisions (low 14..30 bits) - Worst is 23 bits: 2109/2081 (1.013x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.1, actual 4 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.1, actual 6 (1.465x) (^ 1) +Testing all collisions (high 27-bit) - Expected 131.0, actual 133 (1.015x) (^ 1) +Testing all collisions (low 27-bit) - Expected 131.0, actual 142 (1.084x) (^ 2) +Testing all collisions (high 14..30 bits) - Worst is 22 bits: 4216/4132 (1.020x) (^ 0) +Testing all collisions (low 14..30 bits) - Worst is 20 bits: 15946/15818 (1.008x) (^ 0) + +Keyset 'Sparse' - 14-byte keys with up to 3 bits set - 234249 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6.4, actual 5 (0.783x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6.4, actual 3 (0.470x) (^ 0) +Testing all collisions (high 28-bit) - Expected 102.2, actual 98 (0.959x) (^ 0) +Testing all collisions (low 28-bit) - Expected 102.2, actual 108 (1.057x) (^ 1) +Testing all collisions (high 14..31 bits) - Worst is 19 bits: 45511/45335 (1.004x) (^ 0) +Testing all collisions (low 14..31 bits) - Worst is 25 bits: 869/816 (1.065x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6.4, actual 7 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 6.4, actual 8 (1.252x) (^ 1) +Testing all collisions (high 28-bit) - Expected 102.2, actual 125 (1.223x) (^ 5) +Testing all collisions (low 28-bit) - Expected 102.2, actual 131 (1.282x) (^ 8) +Testing all collisions (high 14..31 bits) - Worst is 29 bits: 70/51 (1.370x) (^ 3) +Testing all collisions (low 14..31 bits) - Worst is 28 bits: 131/102 (1.282x) (^ 3) + +Keyset 'Sparse' - 2-byte keys with up to 10 bits set - 58651 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.4, actual 2 (4.994x) (^ 3) +Testing all collisions (high 24-bit) - Expected 102.4, actual 108 (1.055x) (^ 1) +Testing all collisions (low 24-bit) - Expected 102.4, actual 111 (1.084x) (^ 2) +Testing all collisions (high 12..27 bits) - Worst is 24 bits: 108/102 (1.055x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 25 bits: 62/51 (1.210x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.4, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 102.4, actual 107 (1.045x) (^ 1) +Testing all collisions (low 24-bit) - Expected 102.4, actual 98 (0.957x) (^ 0) +Testing all collisions (high 12..27 bits) - Worst is 25 bits: 55/51 (1.074x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 16 bits: 19962/19895 (1.003x) (^ 0) + +Keyset 'Sparse' - 3-byte keys with up to 20 bits set - 16774891 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32716.3, actual 32854 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32716.3, actual 32491 (0.993x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 43 bits: 21/16 (1.313x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 43 bits: 20/16 (1.250x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 143 (1.118x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32716.3, actual 32578 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32716.3, actual 32589 (0.996x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 39 bits: 268/256 (1.047x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 41 bits: 78/64 (1.219x) (^ 0) + +Keyset 'Sparse' - 4-byte keys with up to 9 bits set - 43081973 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 105.5, actual 113 (1.071x) (^ 1) +Testing all collisions (low 43-bit) - Expected 105.5, actual 111 (1.052x) (^ 1) +Testing all collisions (high 32-bit) - Expected 215352.7, actual 215100 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 215352.7, actual 215224 (0.999x) (^ 0) +Testing all collisions (high 21..46 bits) - Worst is 36 bits: 13736/13502 (1.017x) (^ 1) +Testing all collisions (low 21..46 bits) - Worst is 37 bits: 6843/6752 (1.014x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 105.5, actual 104 (0.986x) (^ 0) +Testing all collisions (low 43-bit) - Expected 105.5, actual 90 (0.853x) (^ 0) +Testing all collisions (high 32-bit) - Expected 215352.7, actual 215825 (1.002x) (^ 2) +Testing all collisions (low 32-bit) - Expected 215352.7, actual 214675 (0.997x) (^ 0) +Testing all collisions (high 21..46 bits) - Worst is 36 bits: 13755/13502 (1.019x) (^ 1) +Testing all collisions (low 21..46 bits) - Worst is 28 bits: 3281409/3279413 (1.001x) (^ 0) + +Keyset 'Sparse' - 5-byte keys with up to 7 bits set - 23242039 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 122.8, actual 119 (0.969x) (^ 0) +Testing all collisions (low 41-bit) - Expected 122.8, actual 122 (0.993x) (^ 0) +Testing all collisions (high 32-bit) - Expected 62773.4, actual 62930 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 62773.4, actual 62740 (0.999x) (^ 0) +Testing all collisions (high 20..44 bits) - Worst is 34 bits: 15953/15715 (1.015x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 42 bits: 65/61 (1.058x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 122.8, actual 118 (0.961x) (^ 0) +Testing all collisions (low 41-bit) - Expected 122.8, actual 132 (1.075x) (^ 2) +Testing all collisions (high 32-bit) - Expected 62773.4, actual 62348 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 62773.4, actual 62882 (1.002x) (^ 1) +Testing all collisions (high 20..44 bits) - Worst is 44 bits: 19/15 (1.238x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 39 bits: 550/491 (1.119x) (^ 3) + +Keyset 'Sparse' - 6-byte keys with up to 7 bits set - 87825941 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 109.6, actual 109 (0.994x) (^ 0) +Testing all collisions (low 45-bit) - Expected 109.6, actual 114 (1.040x) (^ 1) +Testing all collisions (high 32-bit) - Expected 891868.0, actual 892404 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 891868.0, actual 890338 (0.998x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 48 bits: 18/14 (1.314x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 43 bits: 455/438 (1.038x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 109.6, actual 114 (1.040x) (^ 1) +Testing all collisions (low 45-bit) - Expected 109.6, actual 105 (0.958x) (^ 0) +Testing all collisions (high 32-bit) - Expected 891868.0, actual 892563 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 891868.0, actual 891634 (1.000x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 29 bits: 6811809/6807448 (1.001x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 33 bits: 448140/447452 (1.002x) (^ 0) + +Keyset 'Sparse' - 7-byte keys with up to 6 bits set - 36684859 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 153.0, actual 162 (1.059x) (^ 2) +Testing all collisions (low 42-bit) - Expected 153.0, actual 140 (0.915x) (^ 0) +Testing all collisions (high 32-bit) - Expected 156224.2, actual 155936 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 156224.2, actual 156460 (1.002x) (^ 1) +Testing all collisions (high 21..45 bits) - Worst is 41 bits: 339/306 (1.108x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 45 bits: 24/19 (1.255x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 153.0, actual 139 (0.909x) (^ 0) +Testing all collisions (low 42-bit) - Expected 153.0, actual 157 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 156224.2, actual 155907 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 156224.2, actual 156424 (1.001x) (^ 1) +Testing all collisions (high 21..45 bits) - Worst is 40 bits: 647/612 (1.057x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 44 bits: 50/38 (1.307x) (^ 0) + +Keyset 'Sparse' - 8-byte keys with up to 6 bits set - 83278001 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 197.1, actual 196 (0.994x) (^ 0) +Testing all collisions (low 44-bit) - Expected 197.1, actual 208 (1.055x) (^ 2) +Testing all collisions (high 32-bit) - Expected 802173.5, actual 803375 (1.001x) (^ 3) +Testing all collisions (low 32-bit) - Expected 802173.5, actual 802424 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 30 bits: 3150875/3147569 (1.001x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 41 bits: 1647/1577 (1.044x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 197.1, actual 170 (0.862x) (^ 0) +Testing all collisions (low 44-bit) - Expected 197.1, actual 194 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 802173.5, actual 802431 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 802173.5, actual 801971 (1.000x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 31 bits: 1595397/1594061 (1.001x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 38 bits: 12753/12614 (1.011x) (^ 0) + +Keyset 'Sparse' - 9-byte keys with up to 5 bits set - 15082603 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 103.4, actual 105 (1.015x) (^ 1) +Testing all collisions (low 40-bit) - Expected 103.4, actual 111 (1.073x) (^ 2) +Testing all collisions (high 32-bit) - Expected 26451.8, actual 26557 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 26451.8, actual 26589 (1.005x) (^ 2) +Testing all collisions (high 20..43 bits) - Worst is 30 bits: 106276/105437 (1.008x) (^ 3) +Testing all collisions (low 20..43 bits) - Worst is 35 bits: 3378/3310 (1.021x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 103.4, actual 104 (1.005x) (^ 1) +Testing all collisions (low 40-bit) - Expected 103.4, actual 99 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 26451.8, actual 26507 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 26451.8, actual 26219 (0.991x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 33 bits: 13372/13234 (1.010x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 25 bits: 2935364/2934194 (1.000x) (^ 0) + +Keyset 'Sparse' - 12-byte keys with up to 5 bits set - 64593561 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 118.6, actual 124 (1.046x) (^ 1) +Testing all collisions (low 44-bit) - Expected 118.6, actual 145 (1.223x) (^ 6) +Testing all collisions (high 32-bit) - Expected 483297.1, actual 483148 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 483297.1, actual 483296 (1.000x) (^ 0) +Testing all collisions (high 22..47 bits) - Worst is 42 bits: 528/474 (1.113x) (^ 2) +Testing all collisions (low 22..47 bits) - Worst is 43 bits: 287/237 (1.210x) (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 118.6, actual 115 (0.970x) (^ 0) +Testing all collisions (low 44-bit) - Expected 118.6, actual 115 (0.970x) (^ 0) +Testing all collisions (high 32-bit) - Expected 483297.1, actual 481667 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 483297.1, actual 483308 (1.000x) (^ 1) +Testing all collisions (high 22..47 bits) - Worst is 29 bits: 3734954/3734521 (1.000x) (^ 0) +Testing all collisions (low 22..47 bits) - Worst is 35 bits: 61242/60677 (1.009x) (^ 1) + +Keyset 'Sparse' - 14-byte keys with up to 4 bits set - 6445069 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 151.1, actual 172 (1.138x) (^ 4) +Testing all collisions (low 37-bit) - Expected 151.1, actual 139 (0.920x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4833.3, actual 4834 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4833.3, actual 4716 (0.976x) (^ 0) +Testing all collisions (high 18..40 bits) - Worst is 39 bits: 51/38 (1.350x) (^ 1) +Testing all collisions (low 18..40 bits) - Worst is 26 bits: 300692/299815 (1.003x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 151.1, actual 161 (1.065x) (^ 2) +Testing all collisions (low 37-bit) - Expected 151.1, actual 143 (0.946x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4833.3, actual 4783 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4833.3, actual 4875 (1.009x) (^ 1) +Testing all collisions (high 18..40 bits) - Worst is 36 bits: 331/302 (1.095x) (^ 0) +Testing all collisions (low 18..40 bits) - Worst is 29 bits: 39011/38532 (1.012x) (^ 2) + +Keyset 'Sparse' - 16-byte keys with up to 4 bits set - 11017633 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 110.4, actual 103 (0.933x) (^ 0) +Testing all collisions (low 39-bit) - Expected 110.4, actual 99 (0.897x) (^ 0) +Testing all collisions (high 32-bit) - Expected 14119.4, actual 13953 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 14119.4, actual 14007 (0.992x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 41 bits: 31/28 (1.123x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 35 bits: 1820/1766 (1.030x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 110.4, actual 117 (1.060x) (^ 1) +Testing all collisions (low 39-bit) - Expected 110.4, actual 120 (1.087x) (^ 2) +Testing all collisions (high 32-bit) - Expected 14119.4, actual 13986 (0.991x) (^ 0) +Testing all collisions (low 32-bit) - Expected 14119.4, actual 14189 (1.005x) (^ 1) +Testing all collisions (high 19..42 bits) - Worst is 25 bits: 1627757/1626089 (1.001x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 37 bits: 481/442 (1.089x) (^ 0) + +Keyset 'Sparse' - 18-byte keys with up to 4 bits set - 17676661 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 142.1, actual 133 (0.936x) (^ 0) +Testing all collisions (low 40-bit) - Expected 142.1, actual 140 (0.985x) (^ 0) +Testing all collisions (high 32-bit) - Expected 36325.8, actual 36149 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 36325.8, actual 36305 (0.999x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 43 bits: 24/18 (1.351x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 43 bits: 24/18 (1.351x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 142.1, actual 145 (1.020x) (^ 1) +Testing all collisions (low 40-bit) - Expected 142.1, actual 145 (1.020x) (^ 1) +Testing all collisions (high 32-bit) - Expected 36325.8, actual 36303 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 36325.8, actual 36194 (0.996x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 36 bits: 2363/2273 (1.039x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 36 bits: 2330/2273 (1.025x) (^ 0) + +Keyset 'Sparse' - 24-byte keys with up to 4 bits set - 56050289 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 178.6, actual 174 (0.974x) (^ 0) +Testing all collisions (low 43-bit) - Expected 178.6, actual 156 (0.874x) (^ 0) +Testing all collisions (high 32-bit) - Expected 364148.6, actual 362471 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 364148.6, actual 363507 (0.998x) (^ 0) +Testing all collisions (high 21..47 bits) - Worst is 45 bits: 51/45 (1.142x) (^ 0) +Testing all collisions (low 21..47 bits) - Worst is 28 bits: 5467491/5464865 (1.000x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 178.6, actual 165 (0.924x) (^ 0) +Testing all collisions (low 43-bit) - Expected 178.6, actual 211 (1.182x) (^ 6) +Testing all collisions (high 32-bit) - Expected 364148.6, actual 364090 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 364148.6, actual 363669 (0.999x) (^ 0) +Testing all collisions (high 21..47 bits) - Worst is 30 bits: 1439600/1437811 (1.001x) (^ 0) +Testing all collisions (low 21..47 bits) - Worst is 42 bits: 415/357 (1.162x) (^ 4) + +Keyset 'Sparse' - 26-byte keys with up to 4 bits set - 77260613 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 169.7, actual 180 (1.061x) (^ 2) +Testing all collisions (low 44-bit) - Expected 169.7, actual 161 (0.949x) (^ 0) +Testing all collisions (high 32-bit) - Expected 690758.5, actual 691540 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 690758.5, actual 691137 (1.001x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 30 bits: 2718003/2714140 (1.001x) (^ 2) +Testing all collisions (low 22..48 bits) - Worst is 37 bits: 22004/21712 (1.013x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 169.7, actual 200 (1.179x) (^ 6) +Testing all collisions (low 44-bit) - Expected 169.7, actual 174 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 690758.5, actual 691312 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 690758.5, actual 691424 (1.001x) (^ 2) +Testing all collisions (high 22..48 bits) - Worst is 43 bits: 386/339 (1.138x) (^ 2) +Testing all collisions (low 22..48 bits) - Worst is 37 bits: 22001/21712 (1.013x) (^ 1) + +Keyset 'Sparse' - 32-byte keys with up to 3 bits set - 2796417 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 113.8, actual 122 (1.072x) (^ 2) +Testing all collisions (low 35-bit) - Expected 113.8, actual 99 (0.870x) (^ 0) +Testing all collisions (high 32-bit) - Expected 910.2, actual 885 (0.972x) (^ 0) +Testing all collisions (low 32-bit) - Expected 910.2, actual 877 (0.964x) (^ 0) +Testing all collisions (high 17..38 bits) - Worst is 34 bits: 241/228 (1.059x) (^ 0) +Testing all collisions (low 17..38 bits) - Worst is 23 bits: 419114/418356 (1.002x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 113.8, actual 120 (1.055x) (^ 1) +Testing all collisions (low 35-bit) - Expected 113.8, actual 127 (1.116x) (^ 3) +Testing all collisions (high 32-bit) - Expected 910.2, actual 880 (0.967x) (^ 0) +Testing all collisions (low 32-bit) - Expected 910.2, actual 949 (1.043x) (^ 3) +Testing all collisions (high 17..38 bits) - Worst is 34 bits: 243/228 (1.068x) (^ 0) +Testing all collisions (low 17..38 bits) - Worst is 28 bits: 14758/14515 (1.017x) (^ 1) + +Keyset 'Sparse' - 48-byte keys with up to 3 bits set - 9437505 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 162.0, actual 180 (1.111x) (^ 3) +Testing all collisions (low 38-bit) - Expected 162.0, actual 169 (1.043x) (^ 1) +Testing all collisions (high 32-bit) - Expected 10361.1, actual 10374 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 10361.1, actual 10368 (1.001x) (^ 1) +Testing all collisions (high 19..42 bits) - Worst is 40 bits: 54/41 (1.333x) (^ 1) +Testing all collisions (low 19..42 bits) - Worst is 34 bits: 2660/2592 (1.026x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 162.0, actual 138 (0.852x) (^ 0) +Testing all collisions (low 38-bit) - Expected 162.0, actual 158 (0.975x) (^ 0) +Testing all collisions (high 32-bit) - Expected 10361.1, actual 10245 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 10361.1, actual 10340 (0.998x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 20 bits: 8389059/8389058 (1.000x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 28 bits: 164254/163972 (1.002x) (^ 0) + +Keyset 'Sparse' - 64-byte keys with up to 3 bits set - 22370049 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 113.8, actual 116 (1.019x) (^ 1) +Testing all collisions (low 41-bit) - Expected 113.8, actual 131 (1.151x) (^ 3) +Testing all collisions (high 32-bit) - Expected 58155.4, actual 57994 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 58155.4, actual 58266 (1.002x) (^ 1) +Testing all collisions (high 20..44 bits) - Worst is 28 bits: 907907/906741 (1.001x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 43 bits: 38/28 (1.336x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 113.8, actual 121 (1.063x) (^ 1) +Testing all collisions (low 41-bit) - Expected 113.8, actual 129 (1.134x) (^ 3) +Testing all collisions (high 32-bit) - Expected 58155.4, actual 58064 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 58155.4, actual 58630 (1.008x) (^ 5) +Testing all collisions (high 20..44 bits) - Worst is 34 bits: 14705/14558 (1.010x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 38 bits: 989/910 (1.087x) (^ 3) + +Keyset 'Sparse' - 96-byte keys with up to 3 bits set - 75498113 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 149 (0.920x) (^ 0) +Testing all collisions (low 44-bit) - Expected 162.0, actual 157 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 659692.2, actual 660295 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 659692.2, actual 658731 (0.999x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 48 bits: 20/10 (1.975x) (^ 3) +Testing all collisions (low 22..48 bits) - Worst is 48 bits: 13/10 (1.284x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 169 (1.043x) (^ 1) +Testing all collisions (low 44-bit) - Expected 162.0, actual 165 (1.019x) (^ 1) +Testing all collisions (high 32-bit) - Expected 659692.2, actual 659521 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 659692.2, actual 659922 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 46 bits: 53/41 (1.309x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 33 bits: 331641/330812 (1.003x) (^ 0) + +Keyset 'Sparse' - 128-byte keys with up to 2 bits set - 524801 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.1, actual 35 (1.092x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32.1, actual 38 (1.185x) (^ 2) +Testing all collisions (high 30-bit) - Expected 128.2, actual 132 (1.029x) (^ 1) +Testing all collisions (low 30-bit) - Expected 128.2, actual 132 (1.029x) (^ 1) +Testing all collisions (high 15..33 bits) - Worst is 22 bits: 31784/31505 (1.009x) (^ 0) +Testing all collisions (low 15..33 bits) - Worst is 32 bits: 38/32 (1.185x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.1, actual 30 (0.936x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32.1, actual 45 (1.404x) (^ 5) +Testing all collisions (high 30-bit) - Expected 128.2, actual 129 (1.000x) (^ 1) +Testing all collisions (low 30-bit) - Expected 128.2, actual 157 (1.224x) (^ 6) +Testing all collisions (high 15..33 bits) - Worst is 27 bits: 1047/1025 (1.022x) (^ 0) +Testing all collisions (low 15..33 bits) - Worst is 31 bits: 86/64 (1.341x) (^ 3) + +Keyset 'Sparse' - 256-byte keys with up to 2 bits set - 2098177 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.1, actual 140 (1.093x) (^ 2) +Testing all collisions (low 34-bit) - Expected 128.1, actual 129 (1.007x) (^ 1) +Testing all collisions (high 32-bit) - Expected 512.4, actual 525 (1.025x) (^ 1) +Testing all collisions (low 32-bit) - Expected 512.4, actual 521 (1.017x) (^ 1) +Testing all collisions (high 17..37 bits) - Worst is 29 bits: 4203/4095 (1.026x) (^ 0) +Testing all collisions (low 17..37 bits) - Worst is 30 bits: 2111/2049 (1.030x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.1, actual 135 (1.054x) (^ 1) +Testing all collisions (low 34-bit) - Expected 128.1, actual 114 (0.890x) (^ 0) +Testing all collisions (high 32-bit) - Expected 512.4, actual 546 (1.066x) (^ 3) +Testing all collisions (low 32-bit) - Expected 512.4, actual 516 (1.007x) (^ 1) +Testing all collisions (high 17..37 bits) - Worst is 32 bits: 546/512 (1.066x) (^ 0) +Testing all collisions (low 17..37 bits) - Worst is 37 bits: 21/16 (1.311x) (^ 0) + +Keyset 'Sparse' - 512-byte keys with up to 2 bits set - 8390657 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 128.1, actual 130 (1.015x) (^ 1) +Testing all collisions (low 38-bit) - Expected 128.1, actual 130 (1.015x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8190.7, actual 8118 (0.991x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8190.7, actual 8031 (0.981x) (^ 0) +Testing all collisions (high 19..41 bits) - Worst is 36 bits: 516/512 (1.007x) (^ 0) +Testing all collisions (low 19..41 bits) - Worst is 26 bits: 503955/503349 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 128.1, actual 122 (0.953x) (^ 0) +Testing all collisions (low 38-bit) - Expected 128.1, actual 125 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8190.7, actual 8377 (1.023x) (^ 5) +Testing all collisions (low 32-bit) - Expected 8190.7, actual 8303 (1.014x) (^ 3) +Testing all collisions (high 19..41 bits) - Worst is 32 bits: 8377/8191 (1.023x) (^ 1) +Testing all collisions (low 19..41 bits) - Worst is 29 bits: 65657/65228 (1.007x) (^ 0) + +Keyset 'Sparse' - 1024-byte keys with up to 2 bits set - 33558529 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 42-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 130763.2, actual 130361 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 130763.2, actual 130500 (0.998x) (^ 0) +Testing all collisions (high 21..45 bits) - Worst is 38 bits: 2097/2048 (1.024x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 26 bits: 7151966/7150764 (1.000x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 42-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 130763.2, actual 130907 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 130763.2, actual 130679 (0.999x) (^ 0) +Testing all collisions (high 21..45 bits) - Worst is 27 bits: 3870088/3866482 (1.001x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 35 bits: 16598/16383 (1.013x) (^ 0) + +Keyset 'Sparse' - 1280-byte keys with up to 2 bits set - 52433921 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 156.3, actual 141 (0.902x) (^ 0) +Testing all collisions (low 43-bit) - Expected 156.3, actual 146 (0.934x) (^ 0) +Testing all collisions (high 32-bit) - Expected 318764.0, actual 319808 (1.003x) (^ 4) +Testing all collisions (low 32-bit) - Expected 318764.0, actual 318254 (0.998x) (^ 0) +Testing all collisions (high 21..46 bits) - Worst is 32 bits: 319808/318764 (1.003x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 30 bits: 1260680/1259663 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 156.3, actual 160 (1.024x) (^ 1) +Testing all collisions (low 43-bit) - Expected 156.3, actual 151 (0.966x) (^ 0) +Testing all collisions (high 32-bit) - Expected 318764.0, actual 319555 (1.002x) (^ 3) +Testing all collisions (low 32-bit) - Expected 318764.0, actual 319804 (1.003x) (^ 4) +Testing all collisions (high 21..46 bits) - Worst is 29 bits: 2481767/2479139 (1.001x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 31 bits: 636617/634947 (1.003x) (^ 1) + +Keyset 'Sparse' - 1536-byte keys with up to 2 bits set - 75503617 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 163 (1.006x) (^ 1) +Testing all collisions (low 44-bit) - Expected 162.0, actual 166 (1.025x) (^ 1) +Testing all collisions (high 32-bit) - Expected 659788.1, actual 658850 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 659788.1, actual 660811 (1.002x) (^ 3) +Testing all collisions (high 22..48 bits) - Worst is 42 bits: 666/648 (1.028x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 34 bits: 166584/165672 (1.006x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 172 (1.062x) (^ 2) +Testing all collisions (low 44-bit) - Expected 162.0, actual 142 (0.876x) (^ 0) +Testing all collisions (high 32-bit) - Expected 659788.1, actual 660512 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 659788.1, actual 659151 (0.999x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 48 bits: 16/10 (1.580x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 26 bits: 30182744/30179816 (1.000x) (^ 0) + +Keyset 'Sparse' - 2048-byte keys with up to 2 bits set - 134225921 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 46-bit) - Expected 128.0, actual 108 (0.844x) (^ 0) +Testing all collisions (low 46-bit) - Expected 128.0, actual 94 (0.734x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2075728.3, actual 2077142 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2075728.3, actual 2076203 (1.000x) (^ 1) +Testing all collisions (high 23..49 bits) - Worst is 31 bits: 4111562/4108767 (1.001x) (^ 0) +Testing all collisions (low 23..49 bits) - Worst is 28 bits: 28608854/28599830 (1.000x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 46-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 46-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2075728.3, actual 2072742 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2075728.3, actual 2076928 (1.001x) (^ 2) +Testing all collisions (high 23..49 bits) - Worst is 38 bits: 32943/32767 (1.005x) (^ 0) +Testing all collisions (low 23..49 bits) - Worst is 45 bits: 277/256 (1.082x) (^ 0) + + +[[[ Keyset 'Permutation' Tests ]]] + +Keyset 'Combination 4-bytes [3 low bits; LE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 178 (1.065x) (^ 2) +Testing all collisions (low 34-bit) - Expected 167.2, actual 184 (1.101x) (^ 3) +Testing all collisions (high 32-bit) - Expected 668.6, actual 656 (0.981x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 685 (1.025x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 25 bits: 84013/83596 (1.005x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 38 bits: 20/10 (1.914x) (^ 3) +Testing distribution (any 8..18 bits) - Worst bias is 13 bits at bit 52: 0.677x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 184 (1.101x) (^ 3) +Testing all collisions (low 34-bit) - Expected 167.2, actual 199 (1.190x) (^ 6) +Testing all collisions (high 32-bit) - Expected 668.6, actual 683 (1.022x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 695 (1.039x) (^ 2) +Testing all collisions (high 19..38 bits) - Worst is 37 bits: 34/21 (1.627x) (^ 3) +Testing all collisions (low 19..38 bits) - Worst is 34 bits: 199/167 (1.190x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 13 bits at bit 3: 0.573x (^ 0) + +Keyset 'Combination 4-bytes [3 low bits; BE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 161 (0.963x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 155 (0.927x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 661 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 622 (0.930x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 37 bits: 25/21 (1.196x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 21 bits: 969419/968388 (1.001x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 15 bits at bit 93: 0.550x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 182 (1.089x) (^ 2) +Testing all collisions (low 34-bit) - Expected 167.2, actual 167 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 709 (1.060x) (^ 3) +Testing all collisions (low 32-bit) - Expected 668.6, actual 671 (1.004x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 31 bits: 1405/1337 (1.051x) (^ 1) +Testing all collisions (low 19..38 bits) - Worst is 37 bits: 28/21 (1.340x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 41: 0.867x (^ 1) + +Keyset 'Combination 4-bytes [3 high bits; LE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 175 (1.047x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 187 (1.119x) (^ 3) +Testing all collisions (high 32-bit) - Expected 668.6, actual 643 (0.962x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 673 (1.007x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 24 bits: 164226/163327 (1.006x) (^ 2) +Testing all collisions (low 19..38 bits) - Worst is 33 bits: 369/334 (1.104x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 106: 0.558x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 156 (0.933x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 149 (0.891x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 664 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 594 (0.888x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 28 bits: 10891/10668 (1.021x) (^ 1) +Testing all collisions (low 19..38 bits) - Worst is 37 bits: 25/21 (1.196x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 28: 0.718x (^ 0) + +Keyset 'Combination 4-bytes [3 high bits; BE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 158 (0.945x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 189 (1.131x) (^ 4) +Testing all collisions (high 32-bit) - Expected 668.6, actual 652 (0.975x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 701 (1.048x) (^ 3) +Testing all collisions (high 19..38 bits) - Worst is 27 bits: 21613/21273 (1.016x) (^ 2) +Testing all collisions (low 19..38 bits) - Worst is 34 bits: 189/167 (1.131x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 16 bits at bit 68: 0.507x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 138 (0.825x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 176 (1.053x) (^ 1) +Testing all collisions (high 32-bit) - Expected 668.6, actual 673 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 670 (1.002x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 23 bits: 312360/311985 (1.001x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 37 bits: 27/21 (1.292x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 10 bits at bit 86: 0.817x (^ 2) + +Keyset 'Combination 4-bytes [3 high+low bits; LE]' - up to 6 blocks from a set of 15 - 12204240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 135 (1.000x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 126 (0.930x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17263 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17136 (0.989x) (^ 0) +Testing all collisions (high 22..42 bits) - Worst is 29 bits: 137687/137669 (1.000x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 26 bits: 1046620/1045396 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 28: 0.731x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 132 (0.974x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 152 (1.122x) (^ 3) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17417 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17498 (1.010x) (^ 3) +Testing all collisions (high 22..42 bits) - Worst is 31 bits: 34856/34613 (1.007x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 34 bits: 4452/4334 (1.027x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 108: 0.581x (^ 0) + +Keyset 'Combination 4-bytes [3 high+low bits; BE]' - up to 6 blocks from a set of 15 - 12204240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 152 (1.122x) (^ 3) +Testing all collisions (low 39-bit) - Expected 135.5, actual 139 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17387 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17372 (1.003x) (^ 1) +Testing all collisions (high 22..42 bits) - Worst is 39 bits: 152/135 (1.122x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 36 bits: 1162/1084 (1.072x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 23: 0.834x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 126 (0.930x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 143 (1.056x) (^ 1) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17391 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17263 (0.997x) (^ 0) +Testing all collisions (high 22..42 bits) - Worst is 31 bits: 34867/34613 (1.007x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 31 bits: 34768/34613 (1.004x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 72: 0.570x (^ 0) + +Keyset 'Combination 4-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32772 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32870 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 2111/2048 (1.031x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 275/256 (1.074x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 23: 0.547x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32820 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32723 (1.000x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4178/4095 (1.020x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 259866/259434 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 26: 0.743x (^ 0) + +Keyset 'Combination 4-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32722 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32939 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1934311/1932787 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 34 bits: 8329/8189 (1.017x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 106: 0.673x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32526 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32527 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 38/32 (1.188x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 1041/1024 (1.017x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 8: 0.515x (^ 0) + +Keyset 'Combination 4-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 102 (0.797x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32547 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32649 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 21/16 (1.313x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007328/1006217 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 93: 0.551x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 159 (1.242x) (^ 7) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32632 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32583 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 19/16 (1.188x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 2213/2048 (1.081x) (^ 8) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 63: 0.523x (^ 0) + +Keyset 'Combination 4-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32818 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32402 (0.990x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 558/512 (1.090x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 25 bits: 3577363/3574575 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 126: 0.954x (^ 4) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32921 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32820 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4230/4095 (1.033x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16595/16373 (1.014x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 13: 0.640x (^ 1) + +Keyset 'Combination 8-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32984 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32629 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16665/16373 (1.018x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514807/513534 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 30: 0.846x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32499 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32764 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 529/512 (1.033x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 65598/65366 (1.004x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 63: 0.521x (^ 0) + +Keyset 'Combination 8-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32785 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32729 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260339/259434 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 46/32 (1.438x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 127: 0.598x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32684 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32744 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1080/1024 (1.055x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 77/64 (1.203x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 40: 0.447x (^ 0) + +Keyset 'Combination 8-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33131 (1.012x) (^ 6) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32870 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16811/16373 (1.027x) (^ 7) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16495/16373 (1.007x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 63: 0.587x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32803 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32564 (0.995x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1122/1024 (1.096x) (^ 5) +Testing all collisions (low 22..43 bits) - Worst is 24 bits: 6173599/6171991 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 74: 0.669x (^ 0) + +Keyset 'Combination 8-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32669 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33134 (1.012x) (^ 6) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 281/256 (1.098x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33134/32725 (1.012x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 123: 0.677x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33002 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32858 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4218/4095 (1.030x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 2090/2048 (1.021x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 55: 0.554x (^ 0) + +Keyset 'Combination 16-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32914 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32512 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1087/1024 (1.062x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 69/64 (1.078x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 78: 0.559x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 112 (0.875x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32678 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32590 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 35/32 (1.094x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 130817/130392 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 70: 0.756x (^ 0) + +Keyset 'Combination 16-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 151 (1.180x) (^ 5) +Testing all collisions (low 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32748 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32543 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 131189/130392 (1.006x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260031/259434 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 101: 0.720x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33163 (1.013x) (^ 6) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32374 (0.989x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4281/4095 (1.045x) (^ 4) +Testing all collisions (low 22..43 bits) - Worst is 23 bits: 9524260/9523881 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 105: 0.435x (^ 0) + +Keyset 'Combination 16-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32699 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32332 (0.988x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260552/259434 (1.004x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 23 bits: 9524143/9523881 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 56: 0.594x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32742 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32774 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 291/256 (1.137x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 259887/259434 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 42: 0.601x (^ 0) + +Keyset 'Combination 16-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32729 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32953 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 65526/65366 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 556/512 (1.086x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 101: 0.514x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32696 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32513 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 514050/513534 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 19/16 (1.188x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 67: 0.597x (^ 1) + +Keyset 'Combination 32-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32739 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32913 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 16/16 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260526/259434 (1.004x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 93: 0.591x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 146 (1.141x) (^ 3) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32462 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32887 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 146/128 (1.141x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 26 bits: 1934197/1932787 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 23: 0.556x (^ 1) + +Keyset 'Combination 32-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32808 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32395 (0.990x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 46/32 (1.438x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1008042/1006217 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 107: 0.765x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32713 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32426 (0.991x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4224/4095 (1.031x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 71/64 (1.109x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 90: 0.665x (^ 0) + +Keyset 'Combination 32-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 114 (0.891x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32768 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32695 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 1008137/1006217 (1.002x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514934/513534 (1.003x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 93: 0.732x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 109 (0.852x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 145 (1.133x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32753 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32672 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 1006840/1006217 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 81/64 (1.266x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 108: 0.710x (^ 0) + +Keyset 'Combination 32-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32797 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32676 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16520/16373 (1.009x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514291/513534 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 13: 0.547x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 112 (0.875x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32789 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32894 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 23 bits: 9525614/9523881 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4203/4095 (1.026x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 125: 0.570x (^ 0) + +Keyset 'Combination 64-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32667 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33079 (1.011x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3576679/3574575 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16634/16373 (1.016x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 59: 0.633x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (low 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32702 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32750 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 78/64 (1.219x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514238/513534 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 125: 0.573x (^ 1) + +Keyset 'Combination 64-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32856 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32639 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 76/64 (1.188x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 130739/130392 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 62: 0.564x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32964 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32667 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 32964/32725 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 78/64 (1.219x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 41: 0.513x (^ 0) + +Keyset 'Combination 64-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 114 (0.891x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32948 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32715 (1.000x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 131201/130392 (1.006x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514355/513534 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 69: 0.643x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 143 (1.117x) (^ 3) +Testing all collisions (low 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32926 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32629 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16615/16373 (1.015x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 22/16 (1.375x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 68: 0.858x (^ 1) + +Keyset 'Combination 64-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32792 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32902 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3577077/3574575 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16594/16373 (1.013x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 39: 0.625x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33045 (1.010x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32598 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8390/8189 (1.025x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007392/1006217 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 43: 0.580x (^ 1) + + +[[[ Keyset 'Text' Tests ]]] + +Keyset 'Dict' - dictionary words - 528194 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.5, actual 31 (0.955x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32.5, actual 35 (1.078x) (^ 1) +Testing all collisions (high 30-bit) - Expected 129.9, actual 140 (1.078x) (^ 2) +Testing all collisions (low 30-bit) - Expected 129.9, actual 142 (1.093x) (^ 2) +Testing all collisions (high 17..33 bits) - Worst is 30 bits: 140/130 (1.078x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 23 bits: 16420/16285 (1.008x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 8 bits at bit 112: 0.699x (^ 0) + +Keyset 'TextNum' - numbers in text form without commas - 10000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 181.9, actual 181 (0.995x) (^ 0) +Testing all collisions (low 38-bit) - Expected 181.9, actual 176 (0.968x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11632.5, actual 11589 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11632.5, actual 11794 (1.014x) (^ 3) +Testing all collisions (high 21..42 bits) - Worst is 26 bits: 711340/709389 (1.003x) (^ 2) +Testing all collisions (low 21..42 bits) - Worst is 31 bits: 23643/23247 (1.017x) (^ 3) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 18: 0.431x (^ 0) + +Keyset 'TextNum' - numbers in text form with commas - 10000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 181.9, actual 184 (1.012x) (^ 1) +Testing all collisions (low 38-bit) - Expected 181.9, actual 201 (1.105x) (^ 3) +Testing all collisions (high 32-bit) - Expected 11632.5, actual 11602 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11632.5, actual 11433 (0.983x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 27 bits: 364108/363447 (1.002x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 38 bits: 201/182 (1.105x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 52: 0.684x (^ 0) + +Keyset 'Text' - keys of form "FXXXXB" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 137 (1.214x) (^ 6) +Testing all collisions (low 40-bit) - Expected 112.8, actual 108 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28822 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28959 (1.004x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 263/226 (1.165x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115579/114993 (1.005x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 27: 0.475x (^ 0) + +Keyset 'Text' - keys of form "FBXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 104 (0.922x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 113 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28962 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29003 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 890922/889322 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 26 bits: 1714695/1712342 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 36: 0.566x (^ 0) + +Keyset 'Text' - keys of form "XXXXFB" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 128 (1.134x) (^ 3) +Testing all collisions (low 40-bit) - Expected 112.8, actual 100 (0.886x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28624 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28798 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 492/451 (1.090x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115224/114993 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 88: 0.629x (^ 0) + +Keyset 'Text' - keys of form "FooXXXXBar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 113 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 107 (0.948x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28608 (0.991x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28783 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1714007/1712342 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 890145/889322 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 6: 0.655x (^ 0) + +Keyset 'Text' - keys of form "FooBarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 102 (0.904x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 104 (0.922x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28940 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28899 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 58035/57637 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 454032/453315 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 83: 0.773x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooBar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 117 (1.037x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 123 (1.090x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28962 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28949 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 454558/453315 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 3735/3611 (1.034x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 15: 0.511x (^ 0) + +Keyset 'Text' - keys of form "FooooXXXXBaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 107 (0.948x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 113 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28781 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28952 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 23 bits: 8648142/8647063 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115510/114993 (1.004x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 91: 0.514x (^ 0) + +Keyset 'Text' - keys of form "FooooBaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 114 (1.010x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 98 (0.868x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28922 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28877 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 14496/14436 (1.004x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115177/114993 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 32: 0.838x (^ 2) + +Keyset 'Text' - keys of form "XXXXFooooBaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 108 (0.957x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 97 (0.860x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28898 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28845 (1.000x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 454202/453315 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 24 bits: 5538437/5536280 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 105: 0.895x (^ 1) + +Keyset 'Text' - keys of form "FooooooXXXXBaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 112 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 112 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29081 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28882 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 58262/57637 (1.011x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 34 bits: 7287/7220 (1.009x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 94: 0.578x (^ 0) + +Keyset 'Text' - keys of form "FooooooBaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 117 (1.037x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 115 (1.019x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29031 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28670 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 115902/114993 (1.008x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 32/28 (1.134x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 2: 0.540x (^ 1) + +Keyset 'Text' - keys of form "XXXXFooooooBaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 127 (1.125x) (^ 3) +Testing all collisions (low 40-bit) - Expected 112.8, actual 118 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28800 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28722 (0.995x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 41 bits: 68/56 (1.205x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 66/56 (1.170x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 125: 0.461x (^ 0) + +Keyset 'Text' - keys of form "FooooooooXXXXBaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 142 (1.258x) (^ 7) +Testing all collisions (low 40-bit) - Expected 112.8, actual 108 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28970 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28859 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 142/113 (1.258x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 1870/1805 (1.036x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 3: 0.746x (^ 0) + +Keyset 'Text' - keys of form "FooooooooBaaaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 140 (1.241x) (^ 7) +Testing all collisions (low 40-bit) - Expected 112.8, actual 128 (1.134x) (^ 3) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28871 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28745 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 268/226 (1.187x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 21/14 (1.489x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 105: 0.510x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooooooooBaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 98 (0.868x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 118 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28959 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29271 (1.014x) (^ 7) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 454537/453315 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 58341/57637 (1.012x) (^ 4) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 95: 0.596x (^ 3) + +Keyset 'Text' - keys of form "FooooooooooXXXXBaaaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 105 (0.930x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 129 (1.143x) (^ 3) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28908 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28963 (1.004x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 14594/14436 (1.011x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 255/226 (1.130x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 38: 0.517x (^ 0) + +Keyset 'Text' - keys of form "FooooooooooBaaaaaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 116 (1.028x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 110 (0.975x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28970 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28756 (0.997x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 115579/114993 (1.005x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 950/903 (1.052x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 25: 0.632x (^ 1) + +Keyset 'Text' - keys of form "XXXXFooooooooooBaaaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 122 (1.081x) (^ 2) +Testing all collisions (low 40-bit) - Expected 112.8, actual 124 (1.099x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28674 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28889 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 122/113 (1.081x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115745/114993 (1.007x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 82: 0.836x (^ 3) + +Keyset 'Words' - 1-4 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 126 (1.082x) (^ 2) +Testing all collisions (low 32-bit) - Expected 116.4, actual 128 (1.100x) (^ 2) +Testing all collisions (high 18..35 bits) - Worst is 25 bits: 14926/14754 (1.012x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 33 bits: 67/58 (1.151x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 9 bits at bit 98: 0.771x (^ 1) + +Keyset 'Words' - 5-8 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 124 (1.065x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 123 (1.057x) (^ 1) +Testing all collisions (high 18..35 bits) - Worst is 32 bits: 124/116 (1.065x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 34 bits: 37/29 (1.271x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 15 bits at bit 30: 0.556x (^ 0) + +Keyset 'Words' - 1-16 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 123 (1.057x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 142 (1.220x) (^ 6) +Testing all collisions (high 18..35 bits) - Worst is 27 bits: 3796/3716 (1.022x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 32 bits: 142/116 (1.220x) (^ 2) +Testing distribution (any 8..17 bits) - Worst bias is 12 bits at bit 4: 0.742x (^ 2) + +Keyset 'Words' - 1-32 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 109 (0.936x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 130 (1.117x) (^ 3) +Testing all collisions (high 18..35 bits) - Worst is 18 bits: 743634/743635 (1.000x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 32 bits: 130/116 (1.117x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 9 bits at bit 118: 0.787x (^ 1) + +Keyset 'Long' - 1968-2128 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 167 (0.933x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 163 (0.911x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2868 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2865 (1.001x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 34 bits: 772/716 (1.078x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 29 bits: 22973/22842 (1.006x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 122: 0.500x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 196 (1.095x) (^ 3) +Testing all collisions (low 36-bit) - Expected 179.0, actual 177 (0.989x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2939 (1.027x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2819 (0.985x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 33 bits: 1503/1432 (1.050x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 40 bits: 17/11 (1.520x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 46: 0.624x (^ 0) + +Keyset 'Long' - 1968-2128 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 179 (1.000x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 180 (1.006x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2853 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2845 (0.994x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 40 bits: 21/11 (1.877x) (^ 2) +Testing all collisions (low 20..40 bits) - Worst is 25 bits: 349996/349177 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 67: 0.766x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 180 (1.006x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 185 (1.034x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2924 (1.021x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2928 (1.023x) (^ 3) +Testing all collisions (high 20..40 bits) - Worst is 27 bits: 91270/90529 (1.008x) (^ 2) +Testing all collisions (low 20..40 bits) - Worst is 33 bits: 1496/1432 (1.045x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 68: 0.744x (^ 0) + +Keyset 'Long' - 4016-4176 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 186 (1.039x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 201 (1.123x) (^ 4) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2841 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2893 (1.011x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 31 bits: 5808/5724 (1.015x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 36 bits: 201/179 (1.123x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 54: 0.773x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 172 (0.961x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 181 (1.011x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2790 (0.975x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2901 (1.013x) (^ 2) +Testing all collisions (high 20..40 bits) - Worst is 38 bits: 57/45 (1.274x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 31 bits: 5902/5724 (1.031x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 97: 0.467x (^ 0) + +Keyset 'Long' - 4016-4176 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 194 (1.084x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 178 (0.994x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2942 (1.028x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2807 (0.980x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 31 bits: 5879/5724 (1.027x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 30 bits: 11516/11438 (1.007x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 14: 0.559x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 191 (1.067x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 165 (0.922x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2926 (1.022x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2880 (1.006x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 31 bits: 5845/5724 (1.021x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 33 bits: 1480/1432 (1.034x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 27: 0.830x (^ 1) + +Keyset 'Long' - 8112-8272 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 178 (0.994x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 173 (0.967x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2848 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2903 (1.014x) (^ 2) +Testing all collisions (high 20..40 bits) - Worst is 39 bits: 34/22 (1.520x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 24 bits: 668320/665971 (1.004x) (^ 4) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 40: 0.686x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 194 (1.084x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 172 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2801 (0.978x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2924 (1.021x) (^ 2) +Testing all collisions (high 20..40 bits) - Worst is 27 bits: 91058/90529 (1.006x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 26 bits: 179588/178863 (1.004x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 99: 0.614x (^ 1) + +Keyset 'Long' - 8112-8272 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 199 (1.112x) (^ 3) +Testing all collisions (low 36-bit) - Expected 179.0, actual 168 (0.939x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2835 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2833 (0.990x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 36 bits: 199/179 (1.112x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 27 bits: 91134/90529 (1.007x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 20: 0.541x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 195 (1.089x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 187 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2824 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2853 (0.997x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 39 bits: 33/22 (1.475x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 39 bits: 34/22 (1.520x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 71: 0.524x (^ 0) + + +[[[ Keyset 'TwoBytes' Tests ]]] + +Keyset 'TwoBytes' - all [2, 20]-byte keys with 1 or 2 non-zero bytes - 86536545 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 106.4, actual 86 (0.808x) (^ 0) +Testing all collisions (low 45-bit) - Expected 106.4, actual 109 (1.024x) (^ 1) +Testing all collisions (high 32-bit) - Expected 865959.1, actual 865671 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 865959.1, actual 864753 (0.999x) (^ 0) +Testing all collisions (high 25..48 bits) - Worst is 27 bits: 22761150/22755614 (1.000x) (^ 0) +Testing all collisions (low 25..48 bits) - Worst is 41 bits: 1781/1703 (1.046x) (^ 0) +Testing distribution (any 8..24 bits) - Worst bias is 15 bits at bit 87: 0.572x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 106.4, actual 133 (1.250x) (^ 7) +Testing all collisions (low 45-bit) - Expected 106.4, actual 117 (1.099x) (^ 2) +Testing all collisions (high 32-bit) - Expected 865959.1, actual 866229 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 865959.1, actual 866586 (1.001x) (^ 1) +Testing all collisions (high 25..48 bits) - Worst is 45 bits: 133/106 (1.250x) (^ 2) +Testing all collisions (low 25..48 bits) - Worst is 45 bits: 117/106 (1.099x) (^ 0) +Testing distribution (any 8..24 bits) - Worst bias is 18 bits at bit 105: 0.609x (^ 2) + +Keyset 'TwoBytes' - all 32-byte keys with 1 or 2 non-zero bytes - 32260560 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 118.3, actual 105 (0.887x) (^ 0) +Testing all collisions (low 42-bit) - Expected 118.3, actual 102 (0.862x) (^ 0) +Testing all collisions (high 32-bit) - Expected 120855.7, actual 120693 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 120855.7, actual 120485 (0.997x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 34 bits: 30396/30271 (1.004x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 30 bits: 480619/479817 (1.002x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 13 bits at bit 9: 0.642x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 118.3, actual 105 (0.887x) (^ 0) +Testing all collisions (low 42-bit) - Expected 118.3, actual 125 (1.056x) (^ 1) +Testing all collisions (high 32-bit) - Expected 120855.7, actual 121569 (1.006x) (^ 5) +Testing all collisions (low 32-bit) - Expected 120855.7, actual 120855 (1.000x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 29 bits: 952393/950142 (1.002x) (^ 2) +Testing all collisions (low 23..45 bits) - Worst is 43 bits: 70/59 (1.183x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 21 bits at bit 109: 0.501x (^ 0) + +Keyset 'TwoBytes' - all 48-byte keys with 1 or 2 non-zero bytes - 73360440 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 153.0, actual 160 (1.046x) (^ 1) +Testing all collisions (low 44-bit) - Expected 153.0, actual 138 (0.902x) (^ 0) +Testing all collisions (high 32-bit) - Expected 622966.7, actual 623016 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 622966.7, actual 622593 (0.999x) (^ 0) +Testing all collisions (high 24..47 bits) - Worst is 34 bits: 157076/156407 (1.004x) (^ 0) +Testing all collisions (low 24..47 bits) - Worst is 28 bits: 9171932/9170251 (1.000x) (^ 0) +Testing distribution (any 8..23 bits) - Worst bias is 14 bits at bit 45: 0.662x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 153.0, actual 154 (1.007x) (^ 1) +Testing all collisions (low 44-bit) - Expected 153.0, actual 136 (0.889x) (^ 0) +Testing all collisions (high 32-bit) - Expected 622966.7, actual 623234 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 622966.7, actual 622090 (0.999x) (^ 0) +Testing all collisions (high 24..47 bits) - Worst is 46 bits: 45/38 (1.177x) (^ 0) +Testing all collisions (low 24..47 bits) - Worst is 28 bits: 9170557/9170251 (1.000x) (^ 0) +Testing distribution (any 8..23 bits) - Worst bias is 22 bits at bit 22: 0.442x (^ 0) + +Keyset 'OneByte ' - all 1024-byte keys with 1 non-zero byte - 261120 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 7.9, actual 10 (1.260x) (^ 1) +Testing all collisions (low 32-bit) - Expected 7.9, actual 7 (0.882x) (^ 0) +Testing all collisions (high 28-bit) - Expected 127.0, actual 123 (0.969x) (^ 0) +Testing all collisions (low 28-bit) - Expected 127.0, actual 135 (1.063x) (^ 1) +Testing all collisions (high 16..31 bits) - Worst is 20 bits: 30114/29974 (1.005x) (^ 0) +Testing all collisions (low 16..31 bits) - Worst is 31 bits: 22/16 (1.386x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 11 bits at bit 26: 0.618x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 7.9, actual 15 (1.890x) (^ 5) +Testing all collisions (low 32-bit) - Expected 7.9, actual 8 (1.000x) (^ 1) +Testing all collisions (high 28-bit) - Expected 127.0, actual 142 (1.118x) (^ 3) +Testing all collisions (low 28-bit) - Expected 127.0, actual 124 (0.977x) (^ 0) +Testing all collisions (high 16..31 bits) - Worst is 24 bits: 2144/2022 (1.061x) (^ 4) +Testing all collisions (low 16..31 bits) - Worst is 22 bits: 8101/7962 (1.017x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 12 bits at bit 29: 0.605x (^ 0) + +Keyset 'OneByte ' - all 2048-byte keys with 1 non-zero byte - 522240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 31.7, actual 33 (1.039x) (^ 1) +Testing all collisions (low 32-bit) - Expected 31.7, actual 38 (1.197x) (^ 2) +Testing all collisions (high 30-bit) - Expected 127.0, actual 123 (0.969x) (^ 0) +Testing all collisions (low 30-bit) - Expected 127.0, actual 133 (1.047x) (^ 1) +Testing all collisions (high 17..33 bits) - Worst is 24 bits: 8191/8044 (1.018x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 33 bits: 22/16 (1.386x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 16 bits at bit 110: 0.543x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 31.7, actual 32 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 31.7, actual 24 (0.756x) (^ 0) +Testing all collisions (high 30-bit) - Expected 127.0, actual 124 (0.977x) (^ 0) +Testing all collisions (low 30-bit) - Expected 127.0, actual 112 (0.882x) (^ 0) +Testing all collisions (high 17..33 bits) - Worst is 32 bits: 32/32 (1.008x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 17 bits: 393615/393606 (1.000x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 12 bits at bit 80: 0.701x (^ 1) + +Keyset 'OneByte ' - all 4096-byte keys with 1 non-zero byte - 1044480 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 127.0, actual 129 (1.016x) (^ 1) +Testing all collisions (low 32-bit) - Expected 127.0, actual 124 (0.976x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 34 bits: 43/32 (1.354x) (^ 1) +Testing all collisions (low 18..35 bits) - Worst is 35 bits: 26/16 (1.638x) (^ 2) +Testing distribution (any 8..17 bits) - Worst bias is 9 bits at bit 97: 1.138x (^10) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 127.0, actual 133 (1.047x) (^ 1) +Testing all collisions (low 32-bit) - Expected 127.0, actual 116 (0.913x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 25 bits: 16244/16089 (1.010x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 22 bits: 120366/119895 (1.004x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 17 bits at bit 101: 0.582x (^ 1) + + +[[[ Keyset 'PerlinNoise' Tests ]]] + +Generating coordinates from 2-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 114 (0.891x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32423 (0.991x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32894 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 259559/259435 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 2105/2048 (1.028x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 105: 0.569x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32543 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32846 (1.004x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260046/259435 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514411/513534 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 99: 0.568x (^ 1) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32509 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32679 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 1007039/1006217 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4200/4095 (1.026x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 112: 0.736x (^ 1) + +Generating coordinates from 4-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32771 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32733 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8326/8189 (1.017x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 277/256 (1.082x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 108: 0.623x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32885 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33066 (1.010x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 65597/65366 (1.004x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 131509/130392 (1.009x) (^ 5) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 92: 0.541x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32804 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32941 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 65763/65366 (1.006x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16605/16373 (1.014x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 11: 0.543x (^ 0) + +Generating coordinates from 8-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33086 (1.011x) (^ 5) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32728 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8381/8189 (1.023x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 41/32 (1.281x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 98: 0.633x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 103 (0.805x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32583 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32761 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260274/259435 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 130765/130392 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 79: 0.586x (^ 1) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 145 (1.133x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32296 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32704 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 21/16 (1.313x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 296/256 (1.156x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 24: 0.726x (^ 2) + + +[[[ Keyset 'Bitflip' Tests ]]] + +Testing 3-byte keys, 2097152 reps.................... 0 failed, worst is key bit 5 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2026 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2008 (0.981x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 16534/16341 (1.012x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65234/64859 (1.006x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 5: 0.552x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 163 (1.273x) (^ 9) +Testing all collisions (low 34-bit) - Expected 128.0, actual 150 (1.172x) (^ 4) +Testing all collisions (high 32-bit) - Expected 511.9, actual 566 (1.106x) (^ 6) +Testing all collisions (low 32-bit) - Expected 511.9, actual 513 (1.002x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 33 bits: 318/256 (1.242x) (^ 8) +Testing all collisions (low 19..37 bits) - Worst is 34 bits: 150/128 (1.172x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 4: 0.691x (^ 0) + +Testing 4-byte keys, 2097152 reps.................... 0 failed, worst is key bit 30 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 156 (1.219x) (^ 6) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2053 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2145 (1.048x) (^ 5) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1083/1024 (1.058x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 305/256 (1.191x) (^ 4) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 105: 0.655x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 34-bit) - Expected 128.0, actual 108 (0.844x) (^ 0) +Testing all collisions (high 32-bit) - Expected 511.9, actual 571 (1.115x) (^ 7) +Testing all collisions (low 32-bit) - Expected 511.9, actual 468 (0.914x) (^ 0) +Testing all collisions (high 19..37 bits) - Worst is 32 bits: 571/512 (1.115x) (^ 3) +Testing all collisions (low 19..37 bits) - Worst is 26 bits: 32450/32429 (1.001x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 23: 0.876x (^ 1) + +Testing 8-byte keys, 2097152 reps.................... 0 failed, worst is key bit 38 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2036 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2039 (0.996x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 32653/32598 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 23 bits: 894252/893644 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 91: 0.837x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.0, actual 160 (1.250x) (^ 8) +Testing all collisions (high 32-bit) - Expected 511.9, actual 528 (1.031x) (^ 2) +Testing all collisions (low 32-bit) - Expected 511.9, actual 577 (1.127x) (^ 8) +Testing all collisions (high 19..37 bits) - Worst is 31 bits: 1057/1024 (1.033x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 32 bits: 577/512 (1.127x) (^ 4) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 6: 0.806x (^ 1) + +Testing 20-byte keys, 2097152 reps.................... 0 failed, worst is key bit 73 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2113 (1.032x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2035 (0.994x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4245/4093 (1.037x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 24 bits: 484323/483197 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 8: 0.762x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 156 (1.219x) (^ 6) +Testing all collisions (low 34-bit) - Expected 128.0, actual 141 (1.102x) (^ 2) +Testing all collisions (high 32-bit) - Expected 511.9, actual 577 (1.127x) (^ 8) +Testing all collisions (low 32-bit) - Expected 511.9, actual 522 (1.020x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 31 bits: 1142/1024 (1.116x) (^ 8) +Testing all collisions (low 19..37 bits) - Worst is 37 bits: 23/16 (1.438x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 77: 0.823x (^ 1) + +Testing 32-byte keys, 2097152 reps.................... 0 failed, worst is key bit 73 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (low 36-bit) - Expected 128.0, actual 149 (1.164x) (^ 4) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2060 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2104 (1.028x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 37 bits: 79/64 (1.234x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 580/512 (1.133x) (^ 4) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 17: 0.696x (^ 4) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 34-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (high 32-bit) - Expected 511.9, actual 505 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 511.9, actual 506 (0.988x) (^ 0) +Testing all collisions (high 19..37 bits) - Worst is 26 bits: 32667/32429 (1.007x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 36 bits: 50/32 (1.563x) (^ 4) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 57: 0.816x (^ 0) + + +[[[ Seed 'Zeroes' Tests ]]] + +Keyset 'SeedZeroes' - up to 1280-byte keys, seeds with up to 2 set bits - 4160 seeds - 5324800 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 103.1, actual 117 (1.134x) (^ 3) +Testing all collisions (low 37-bit) - Expected 103.1, actual 99 (0.960x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3296 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3305 (1.002x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 39 bits: 35/26 (1.357x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 34 bits: 865/825 (1.048x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 111: 0.820x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 103.1, actual 109 (1.057x) (^ 1) +Testing all collisions (low 37-bit) - Expected 103.1, actual 122 (1.183x) (^ 4) +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3387 (1.027x) (^ 3) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3352 (1.016x) (^ 2) +Testing all collisions (high 21..40 bits) - Worst is 32 bits: 3387/3299 (1.027x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 37 bits: 122/103 (1.183x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 69: 0.815x (^ 1) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 103.1, actual 116 (1.125x) (^ 3) +Testing all collisions (low 37-bit) - Expected 103.1, actual 112 (1.086x) (^ 2) +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3377 (1.024x) (^ 3) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3327 (1.008x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 38 bits: 67/52 (1.299x) (^ 1) +Testing all collisions (low 21..40 bits) - Worst is 37 bits: 112/103 (1.086x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 97: 0.789x (^ 1) + +Keyset 'SeedZeroes' - up to 8448-byte keys, seeds with up to 2 set bits - 4160 seeds - 35143680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (low 42-bit) - Expected 140.4, actual 150 (1.068x) (^ 2) +Testing all collisions (high 32-bit) - Expected 143390.7, actual 143166 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143084 (0.998x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 41 bits: 291/281 (1.036x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 34 bits: 36242/35921 (1.009x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 18 bits at bit 42: 0.513x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 140.4, actual 126 (0.897x) (^ 0) +Testing all collisions (low 42-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 143390.7, actual 143165 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143570 (1.001x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 40 bits: 577/562 (1.027x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 34 bits: 36150/35921 (1.006x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 13 bits at bit 28: 0.731x (^ 2) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 140.4, actual 119 (0.848x) (^ 0) +Testing all collisions (low 42-bit) - Expected 140.4, actual 144 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 143390.7, actual 144266 (1.006x) (^ 6) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143166 (0.998x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 32 bits: 144266/143391 (1.006x) (^ 2) +Testing all collisions (low 23..45 bits) - Worst is 31 bits: 287143/286002 (1.004x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 12 bits at bit 31: 0.668x (^ 0) + + +[[[ Keyset 'SeedSparse' Tests ]]] + +Keyset 'SeedSparse' - 2-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 121 (0.965x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 133 (1.060x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8240 (1.027x) (^ 7) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7951 (0.991x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8240/8022 (1.027x) (^ 2) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 32368/32025 (1.011x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 40: 0.704x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 128 (1.021x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 116 (0.925x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7965 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8053 (1.004x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 39 bits: 67/63 (1.068x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 29 bits: 64200/63885 (1.005x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 25: 0.810x (^ 3) + +Keyset 'SeedSparse' - 3-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 136 (1.084x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 151 (1.204x) (^ 6) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7890 (0.984x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7981 (0.995x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 27 bits: 252199/251644 (1.002x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 38 bits: 151/125 (1.204x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 106: 0.520x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 132 (1.052x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 127 (1.013x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7934 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8011 (0.999x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 28 bits: 127434/127116 (1.003x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 40 bits: 43/31 (1.371x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 39: 0.764x (^ 0) + +Keyset 'SeedSparse' - 6-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 116 (0.925x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 128 (1.021x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7954 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8029 (1.001x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 27 bits: 252720/251644 (1.004x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 24 bits: 1754933/1753983 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 55: 0.532x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 137 (1.092x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 148 (1.180x) (^ 5) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7984 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7987 (0.996x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 35 bits: 1053/1003 (1.050x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 39 bits: 81/63 (1.292x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 68: 0.743x (^ 0) + +Keyset 'SeedSparse' - 15-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 129 (1.029x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 128 (1.021x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7930 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8104 (1.010x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 28 bits: 127520/127116 (1.003x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 4128/4012 (1.029x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 27: 0.509x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 118 (0.941x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 125 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8012 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7949 (0.991x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 33 bits: 4049/4012 (1.009x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 32309/32025 (1.009x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 71: 0.592x (^ 0) + +Keyset 'SeedSparse' - 18-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 122 (0.973x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 112 (0.893x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8044 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8022 (1.000x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 34 bits: 2041/2006 (1.017x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 27 bits: 252626/251644 (1.004x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 55: 0.608x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 113 (0.901x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 126 (1.005x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7786 (0.971x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7857 (0.979x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 23 bits: 3033019/3032441 (1.000x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 37 bits: 253/251 (1.009x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 39: 0.867x (^ 4) + +Keyset 'SeedSparse' - 31-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 118 (0.941x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 144 (1.148x) (^ 4) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7913 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8082 (1.008x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 35 bits: 1020/1003 (1.017x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 40 bits: 42/31 (1.340x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 81: 0.738x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 105 (0.837x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 129 (1.029x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8048 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8107 (1.011x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 25 bits: 948673/947681 (1.001x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 4106/4012 (1.023x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 69: 0.685x (^ 0) + +Keyset 'SeedSparse' - 52-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 126 (1.005x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 129 (1.029x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8126 (1.013x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8174 (1.019x) (^ 4) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8126/8022 (1.013x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 32 bits: 8174/8022 (1.019x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 101: 0.891x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 122 (0.973x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 115 (0.917x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8076 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7976 (0.994x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 41 bits: 25/16 (1.595x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 494504/493171 (1.003x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 8: 0.734x (^ 1) + +Keyset 'SeedSparse' - 80-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 123 (0.981x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 125 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8011 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7924 (0.988x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 27 bits: 252881/251644 (1.005x) (^ 2) +Testing all collisions (low 21..41 bits) - Worst is 29 bits: 64199/63885 (1.005x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 32: 0.526x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 125 (1.000x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 132 (1.052x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8083 (1.008x) (^ 2) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8077 (1.007x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 33 bits: 4125/4012 (1.028x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 36 bits: 552/502 (1.100x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 91: 0.624x (^ 1) + +Keyset 'SeedSparse' - 200-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 121 (0.965x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 104 (0.829x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7939 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7863 (0.980x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 37 bits: 256/251 (1.021x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 24 bits: 1756543/1753983 (1.001x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 85: 0.501x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 117 (0.933x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 131 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8079 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8013 (0.999x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 29 bits: 64117/63885 (1.004x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 39 bits: 76/63 (1.212x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 102: 0.631x (^ 1) + +Keyset 'SeedSparse' - 1025-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 112 (0.893x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 141 (1.124x) (^ 3) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7932 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7913 (0.986x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 36 bits: 528/502 (1.053x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 38 bits: 141/125 (1.124x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 29: 0.731x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 129 (1.029x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 126 (1.005x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8189 (1.021x) (^ 4) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7937 (0.989x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8189/8022 (1.021x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 29 bits: 64244/63885 (1.006x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 11: 0.527x (^ 0) + + +[[[ Seed BlockLength Tests ]]] + +Seeds have up to 2 bits set, 4-byte blocks have up to 2 bits set + +Keyset 'SeedBlockLen' - 8-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 162 (1.154x) (^ 4) +Testing all collisions (low 34-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 561.6, actual 595 (1.060x) (^ 3) +Testing all collisions (low 32-bit) - Expected 561.6, actual 590 (1.051x) (^ 3) +Testing all collisions (high 19..37 bits) - Worst is 34 bits: 162/140 (1.154x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 28 bits: 9234/8962 (1.030x) (^ 4) +Testing distribution (any 8..18 bits) - Worst bias is 10 bits at bit 114: 0.665x (^ 0) + +Keyset 'SeedBlockLen' - 9-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 173 (1.232x) (^ 7) +Testing all collisions (low 34-bit) - Expected 140.4, actual 146 (1.040x) (^ 1) +Testing all collisions (high 32-bit) - Expected 561.6, actual 600 (1.068x) (^ 4) +Testing all collisions (low 32-bit) - Expected 561.6, actual 573 (1.020x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 34 bits: 173/140 (1.232x) (^ 3) +Testing all collisions (low 19..37 bits) - Worst is 33 bits: 307/281 (1.093x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 15 bits at bit 25: 0.570x (^ 0) + +Keyset 'SeedBlockLen' - 10-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 167 (1.189x) (^ 5) +Testing all collisions (low 34-bit) - Expected 140.4, actual 150 (1.068x) (^ 2) +Testing all collisions (high 32-bit) - Expected 561.6, actual 637 (1.134x) (^ 9) +Testing all collisions (low 32-bit) - Expected 561.6, actual 570 (1.015x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 32 bits: 637/562 (1.134x) (^ 5) +Testing all collisions (low 19..37 bits) - Worst is 29 bits: 4597/4487 (1.025x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 15 bits at bit 3: 0.636x (^ 1) + +Keyset 'SeedBlockLen' - 11-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 156 (1.111x) (^ 3) +Testing all collisions (low 34-bit) - Expected 140.4, actual 166 (1.182x) (^ 5) +Testing all collisions (high 32-bit) - Expected 561.6, actual 568 (1.011x) (^ 1) +Testing all collisions (low 32-bit) - Expected 561.6, actual 558 (0.994x) (^ 0) +Testing all collisions (high 19..37 bits) - Worst is 37 bits: 26/18 (1.481x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 35 bits: 94/70 (1.339x) (^ 3) +Testing distribution (any 8..18 bits) - Worst bias is 15 bits at bit 45: 0.516x (^ 0) + +Keyset 'SeedBlockLen' - 12-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 184 (1.165x) (^ 5) +Testing all collisions (low 35-bit) - Expected 158.0, actual 148 (0.937x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1305 (1.033x) (^ 3) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1227 (0.971x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 35 bits: 184/158 (1.165x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 26 bits: 79703/79570 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 36: 0.504x (^ 0) + +Keyset 'SeedBlockLen' - 13-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 149 (0.943x) (^ 0) +Testing all collisions (low 35-bit) - Expected 158.0, actual 182 (1.152x) (^ 4) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1294 (1.024x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1230 (0.974x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 32 bits: 1294/1263 (1.024x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 35 bits: 182/158 (1.152x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 71: 0.541x (^ 0) + +Keyset 'SeedBlockLen' - 14-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 163 (1.032x) (^ 1) +Testing all collisions (low 35-bit) - Expected 158.0, actual 138 (0.874x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1236 (0.978x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1240 (0.981x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 23 bits: 570893/570016 (1.002x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 30 bits: 5162/5050 (1.022x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 93: 0.758x (^ 0) + +Keyset 'SeedBlockLen' - 15-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 168 (1.064x) (^ 2) +Testing all collisions (low 35-bit) - Expected 158.0, actual 165 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1286 (1.018x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1254 (0.993x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 31 bits: 2593/2526 (1.026x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 22 bits: 1013163/1012521 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 50: 0.505x (^ 0) + +Keyset 'SeedBlockLen' - 16-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 142 (1.011x) (^ 1) +Testing all collisions (low 36-bit) - Expected 140.4, actual 141 (1.004x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2258 (1.005x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2270 (1.011x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 18152/17924 (1.013x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 71567/71113 (1.006x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 31: 0.625x (^ 2) + +Keyset 'SeedBlockLen' - 17-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (low 36-bit) - Expected 140.4, actual 144 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2197 (0.978x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2187 (0.974x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 38 bits: 41/35 (1.168x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 50/35 (1.424x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 92: 0.620x (^ 0) + +Keyset 'SeedBlockLen' - 18-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 171 (1.218x) (^ 7) +Testing all collisions (low 36-bit) - Expected 140.4, actual 144 (1.026x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2285 (1.017x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2213 (0.985x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 629/562 (1.120x) (^ 4) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 293/281 (1.043x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 43: 0.558x (^ 0) + +Keyset 'SeedBlockLen' - 19-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 131 (0.933x) (^ 0) +Testing all collisions (low 36-bit) - Expected 140.4, actual 151 (1.075x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2206 (0.982x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2279 (1.015x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4573/4490 (1.018x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 71486/71113 (1.005x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 115: 0.533x (^ 0) + +Keyset 'SeedBlockLen' - 20-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 118 (1.076x) (^ 2) +Testing all collisions (low 37-bit) - Expected 109.7, actual 104 (0.948x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3533 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3502 (0.998x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 30 bits: 14268/14017 (1.018x) (^ 1) +Testing all collisions (low 21..40 bits) - Worst is 30 bits: 14063/14017 (1.003x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 2: 0.627x (^ 0) + +Keyset 'SeedBlockLen' - 21-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 108 (0.985x) (^ 0) +Testing all collisions (low 37-bit) - Expected 109.7, actual 119 (1.085x) (^ 2) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3483 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3477 (0.991x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 38 bits: 60/55 (1.094x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 37 bits: 119/110 (1.085x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 2: 0.694x (^ 1) + +Keyset 'SeedBlockLen' - 22-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 120 (1.094x) (^ 2) +Testing all collisions (low 37-bit) - Expected 109.7, actual 122 (1.112x) (^ 2) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3624 (1.033x) (^ 5) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3482 (0.992x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 31 bits: 7208/7015 (1.028x) (^ 2) +Testing all collisions (low 21..40 bits) - Worst is 34 bits: 923/877 (1.052x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 100: 0.474x (^ 0) + +Keyset 'SeedBlockLen' - 23-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 129 (1.176x) (^ 4) +Testing all collisions (low 37-bit) - Expected 109.7, actual 91 (0.830x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3593 (1.024x) (^ 3) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3458 (0.986x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 28 bits: 56344/55784 (1.010x) (^ 2) +Testing all collisions (low 21..40 bits) - Worst is 39 bits: 33/27 (1.203x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 12 bits at bit 60: 0.809x (^ 4) + +Keyset 'SeedBlockLen' - 24-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 141 (0.893x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 164 (1.038x) (^ 1) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 4955 (0.981x) (^ 0) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5122 (1.014x) (^ 2) +Testing all collisions (high 21..40 bits) - Worst is 24 bits: 1142405/1140031 (1.002x) (^ 2) +Testing all collisions (low 21..40 bits) - Worst is 34 bits: 1320/1264 (1.045x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 110: 0.600x (^ 2) + +Keyset 'SeedBlockLen' - 25-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 174 (1.102x) (^ 3) +Testing all collisions (low 37-bit) - Expected 158.0, actual 152 (0.962x) (^ 0) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 4970 (0.984x) (^ 0) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5161 (1.022x) (^ 3) +Testing all collisions (high 21..40 bits) - Worst is 24 bits: 1141903/1140031 (1.002x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 30 bits: 20464/20178 (1.014x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 80: 0.605x (^ 1) + +Keyset 'SeedBlockLen' - 26-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 131 (0.829x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 165 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5022 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5084 (1.006x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 24 bits: 1141177/1140031 (1.001x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 38 bits: 92/79 (1.165x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 16: 0.587x (^ 0) + +Keyset 'SeedBlockLen' - 27-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 151 (0.956x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 156 (0.988x) (^ 0) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5039 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5078 (1.005x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 21 bits: 4583635/4582869 (1.000x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 25 bits: 607673/606665 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 12: 0.605x (^ 0) + +Keyset 'SeedBlockLen' - 28-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 110 (1.023x) (^ 1) +Testing all collisions (low 38-bit) - Expected 107.5, actual 119 (1.107x) (^ 2) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6848 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 7007 (1.019x) (^ 4) +Testing all collisions (high 21..41 bits) - Worst is 39 bits: 64/54 (1.191x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 31 bits: 13967/13744 (1.016x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 125: 0.601x (^ 2) + +Keyset 'SeedBlockLen' - 29-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 117 (1.088x) (^ 2) +Testing all collisions (low 38-bit) - Expected 107.5, actual 91 (0.846x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6800 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6887 (1.002x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 37 bits: 241/215 (1.121x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 31 bits: 13862/13744 (1.009x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 123: 0.547x (^ 0) + +Keyset 'SeedBlockLen' - 30-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 124 (1.153x) (^ 3) +Testing all collisions (low 38-bit) - Expected 107.5, actual 93 (0.865x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6781 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6905 (1.004x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 38 bits: 124/108 (1.153x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 27744/27455 (1.011x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 28: 0.686x (^ 2) + +Keyset 'SeedBlockLen' - 31-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 105 (0.977x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 109 (1.014x) (^ 1) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6674 (0.971x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6907 (1.004x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 21 bits: 5643985/5644182 (1.000x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 41 bits: 21/13 (1.563x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 13: 0.746x (^ 0) + +Keyset 'SeedBlockLen' - 32-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 128 (0.912x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 147 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9045 (1.007x) (^ 2) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8944 (0.996x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 34 bits: 2302/2246 (1.025x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 41 bits: 27/18 (1.538x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 32: 0.531x (^ 0) + +Keyset 'SeedBlockLen' - 33-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 151 (1.075x) (^ 2) +Testing all collisions (low 38-bit) - Expected 140.4, actual 132 (0.940x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 8894 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8936 (0.995x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 41 bits: 24/18 (1.367x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 27 bits: 282756/281391 (1.005x) (^ 3) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 4: 0.425x (^ 0) + +Keyset 'SeedBlockLen' - 34-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 143 (1.018x) (^ 1) +Testing all collisions (low 38-bit) - Expected 140.4, actual 161 (1.147x) (^ 4) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9036 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8898 (0.991x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 37 bits: 293/281 (1.043x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 37 bits: 322/281 (1.147x) (^ 2) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 97: 0.856x (^ 6) + +Keyset 'SeedBlockLen' - 35-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 144 (1.026x) (^ 1) +Testing all collisions (low 38-bit) - Expected 140.4, actual 137 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 8977 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8961 (0.998x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 28 bits: 142742/142226 (1.004x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 41 bits: 22/18 (1.253x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 91: 0.768x (^ 0) + +Keyset 'SeedBlockLen' - 36-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 157 (0.883x) (^ 0) +Testing all collisions (low 38-bit) - Expected 177.7, actual 161 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11311 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11172 (0.983x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 24 bits: 2415997/2414997 (1.000x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 27 bits: 355614/355176 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 107: 0.535x (^ 0) + +Keyset 'SeedBlockLen' - 37-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 188 (1.058x) (^ 2) +Testing all collisions (low 38-bit) - Expected 177.7, actual 169 (0.951x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11426 (1.005x) (^ 1) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11257 (0.991x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 28 bits: 180502/179761 (1.004x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 26 bits: 694609/693438 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 32: 0.895x (^ 5) + +Keyset 'SeedBlockLen' - 38-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 173 (0.974x) (^ 0) +Testing all collisions (low 38-bit) - Expected 177.7, actual 169 (0.951x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11332 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11513 (1.013x) (^ 3) +Testing all collisions (high 21..42 bits) - Worst is 27 bits: 356084/355176 (1.003x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 30 bits: 45654/45354 (1.007x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 79: 0.668x (^ 0) + +Keyset 'SeedBlockLen' - 39-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 191 (1.075x) (^ 2) +Testing all collisions (low 38-bit) - Expected 177.7, actual 197 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11360 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11458 (1.008x) (^ 2) +Testing all collisions (high 21..42 bits) - Worst is 38 bits: 191/178 (1.075x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 40 bits: 58/44 (1.306x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 10: 0.656x (^ 2) + + +[[[ Seed BlockOffset Tests ]]] + +Seeds have up to 2 bits set, 4-byte blocks have up to 2 bits set + +Keyset 'SeedBlockOffset' - [4..31]-byte keys with block at offset 0 - 30750720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 107.5, actual 118 (1.098x) (^ 2) +Testing all collisions (low 42-bit) - Expected 107.5, actual 127 (1.181x) (^ 4) +Testing all collisions (high 32-bit) - Expected 109820.9, actual 109475 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 109820.9, actual 109879 (1.001x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 38 bits: 1789/1720 (1.040x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 42 bits: 127/108 (1.181x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 12 bits at bit 46: 0.640x (^ 0) + +Keyset 'SeedBlockOffset' - [5..31]-byte keys with block at offset 1 - 29652480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 199.9, actual 201 (1.005x) (^ 1) +Testing all collisions (low 41-bit) - Expected 199.9, actual 207 (1.035x) (^ 1) +Testing all collisions (high 32-bit) - Expected 102125.3, actual 101969 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 102125.3, actual 102461 (1.003x) (^ 2) +Testing all collisions (high 23..45 bits) - Worst is 38 bits: 1679/1599 (1.050x) (^ 1) +Testing all collisions (low 23..45 bits) - Worst is 33 bits: 51399/51121 (1.005x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 21 bits at bit 120: 0.464x (^ 0) + +Keyset 'SeedBlockOffset' - [6..31]-byte keys with block at offset 2 - 28554240 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 185.4, actual 182 (0.982x) (^ 0) +Testing all collisions (low 41-bit) - Expected 185.4, actual 178 (0.960x) (^ 0) +Testing all collisions (high 32-bit) - Expected 94708.6, actual 95145 (1.005x) (^ 3) +Testing all collisions (low 32-bit) - Expected 94708.6, actual 94915 (1.002x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 31 bits: 189814/188999 (1.004x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 34 bits: 23980/23717 (1.011x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 18 bits at bit 7: 0.561x (^ 0) + +Keyset 'SeedBlockOffset' - [7..31]-byte keys with block at offset 3 - 27456000 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 171.4, actual 152 (0.887x) (^ 0) +Testing all collisions (low 41-bit) - Expected 171.4, actual 164 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 87570.9, actual 87458 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 87570.9, actual 87403 (0.998x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 28 bits: 1358272/1357449 (1.001x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 33 bits: 44060/43832 (1.005x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 21 bits at bit 33: 0.503x (^ 0) + +Keyset 'SeedBlockOffset' - [8..31]-byte keys with block at offset 4 - 26357760 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 158.0, actual 155 (0.981x) (^ 0) +Testing all collisions (low 41-bit) - Expected 158.0, actual 150 (0.950x) (^ 0) +Testing all collisions (high 32-bit) - Expected 80712.2, actual 80638 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 80712.2, actual 81084 (1.005x) (^ 3) +Testing all collisions (high 23..44 bits) - Worst is 38 bits: 1296/1264 (1.026x) (^ 0) +Testing all collisions (low 23..44 bits) - Worst is 31 bits: 161721/161095 (1.004x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 9 bits at bit 93: 0.793x (^ 0) + +Keyset 'SeedBlockOffset' - [9..31]-byte keys with block at offset 5 - 25259520 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 145.1, actual 158 (1.089x) (^ 2) +Testing all collisions (low 41-bit) - Expected 145.1, actual 155 (1.068x) (^ 2) +Testing all collisions (high 32-bit) - Expected 74132.6, actual 74441 (1.004x) (^ 2) +Testing all collisions (low 32-bit) - Expected 74132.6, actual 74117 (1.000x) (^ 0) +Testing all collisions (high 23..44 bits) - Worst is 34 bits: 18807/18560 (1.013x) (^ 0) +Testing all collisions (low 23..44 bits) - Worst is 34 bits: 18790/18560 (1.012x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 18 bits at bit 53: 0.477x (^ 0) + +Keyset 'SeedBlockOffset' - [10..31]-byte keys with block at offset 6 - 24161280 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 132.7, actual 137 (1.032x) (^ 1) +Testing all collisions (low 41-bit) - Expected 132.7, actual 113 (0.851x) (^ 0) +Testing all collisions (high 32-bit) - Expected 67832.2, actual 68485 (1.010x) (^ 7) +Testing all collisions (low 32-bit) - Expected 67832.2, actual 67589 (0.996x) (^ 0) +Testing all collisions (high 23..44 bits) - Worst is 35 bits: 8767/8493 (1.032x) (^ 4) +Testing all collisions (low 23..44 bits) - Worst is 29 bits: 536135/535611 (1.001x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 15 bits at bit 26: 0.499x (^ 0) + +Keyset 'SeedBlockOffset' - [11..31]-byte keys with block at offset 7 - 23063040 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 120.9, actual 113 (0.934x) (^ 0) +Testing all collisions (low 41-bit) - Expected 120.9, actual 118 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 61811.1, actual 62624 (1.013x) (^10) +Testing all collisions (low 32-bit) - Expected 61811.1, actual 61485 (0.995x) (^ 0) +Testing all collisions (high 23..44 bits) - Worst is 34 bits: 15913/15474 (1.028x) (^ 7) +Testing all collisions (low 23..44 bits) - Worst is 27 bits: 1874253/1872713 (1.001x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 17 bits at bit 72: 0.554x (^ 0) + +Keyset 'SeedBlockOffset' - [12..31]-byte keys with block at offset 8 - 21964800 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 109.7, actual 94 (0.857x) (^ 0) +Testing all collisions (low 41-bit) - Expected 109.7, actual 119 (1.085x) (^ 2) +Testing all collisions (high 32-bit) - Expected 56069.2, actual 56435 (1.007x) (^ 4) +Testing all collisions (low 32-bit) - Expected 56069.2, actual 56136 (1.001x) (^ 1) +Testing all collisions (high 23..44 bits) - Worst is 32 bits: 56435/56069 (1.007x) (^ 0) +Testing all collisions (low 23..44 bits) - Worst is 40 bits: 250/219 (1.140x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 8 bits at bit 92: 0.680x (^ 0) + +Keyset 'SeedBlockOffset' - [13..31]-byte keys with block at offset 9 - 20866560 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 198.0, actual 194 (0.980x) (^ 0) +Testing all collisions (low 40-bit) - Expected 198.0, actual 196 (0.990x) (^ 0) +Testing all collisions (high 32-bit) - Expected 50606.8, actual 50633 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 50606.8, actual 50556 (0.999x) (^ 0) +Testing all collisions (high 22..44 bits) - Worst is 36 bits: 3208/3168 (1.013x) (^ 0) +Testing all collisions (low 22..44 bits) - Worst is 31 bits: 101511/101050 (1.005x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 127: 0.474x (^ 0) + + +[[[ Keyset 'Seed' Tests ]]] + +Keyset 'Seed' - 2-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2095 (1.023x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2076 (1.014x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4176/4093 (1.020x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 29 bits: 16524/16341 (1.011x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 59: 0.664x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2009 (0.981x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2058 (1.005x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 39 bits: 25/16 (1.563x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 281/256 (1.098x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 47: 0.661x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2081 (1.016x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2099 (1.025x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1093/1024 (1.068x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 80/64 (1.250x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 8: 0.887x (^ 1) + +Keyset 'Seed' - 3-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2058 (1.005x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1980 (0.967x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 252555/251554 (1.004x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 36 bits: 147/128 (1.148x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 32: 0.939x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2058 (1.005x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1953 (0.954x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 16604/16341 (1.016x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 70/64 (1.094x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 41: 0.631x (^ 1) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 109 (0.852x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2042 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2118 (1.035x) (^ 4) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1043/1024 (1.019x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 572/512 (1.117x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 33: 0.540x (^ 0) + +Keyset 'Seed' - 6-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2047 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2043 (0.998x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 39 bits: 22/16 (1.375x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 30 bits: 8234/8181 (1.006x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 95: 0.771x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2047 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2054 (1.003x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8322/8181 (1.017x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 20/16 (1.250x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 94: 0.606x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 103 (0.805x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2048 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2052 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65299/64859 (1.007x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4191/4093 (1.024x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 70: 0.527x (^ 0) + +Keyset 'Seed' - 15-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1946 (0.951x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2006 (0.980x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 251742/251554 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 26 bits: 128776/128383 (1.003x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 65: 0.917x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 112 (0.875x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2109 (1.030x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2056 (1.004x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2109/2047 (1.030x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 33 bits: 1047/1024 (1.023x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 41: 0.499x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2015 (0.984x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2099 (1.025x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 32952/32598 (1.011x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 41/32 (1.281x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 124: 0.663x (^ 1) + +Keyset 'Seed' - 18-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 145 (1.133x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2151 (1.051x) (^ 6) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2068 (1.010x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2151/2047 (1.051x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 556/512 (1.086x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 3: 0.507x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2061 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2037 (0.995x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 23 bits: 895275/893644 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 20/16 (1.250x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 18: 0.467x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2100 (1.026x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1995 (0.974x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4233/4093 (1.034x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 23/16 (1.438x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 101: 0.790x (^ 0) + +Keyset 'Seed' - 31-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2033 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2043 (0.998x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 32920/32598 (1.010x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252267/251554 (1.003x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 39: 0.553x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 147 (1.148x) (^ 4) +Testing all collisions (low 36-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2006 (0.980x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1988 (0.971x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 147/128 (1.148x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 24 bits: 483527/483197 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 39: 0.496x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 110 (0.859x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2022 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2054 (1.003x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 38 bits: 37/32 (1.156x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4144/4093 (1.012x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 92: 0.799x (^ 2) + +Keyset 'Seed' - 52-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 113 (0.883x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2136 (1.043x) (^ 5) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2045 (0.999x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 33127/32598 (1.016x) (^ 4) +Testing all collisions (low 20..39 bits) - Worst is 29 bits: 16544/16341 (1.012x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 117: 0.508x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 107 (0.836x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2071 (1.012x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2026 (0.990x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65352/64859 (1.008x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 24 bits: 483854/483197 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 89: 0.570x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2006 (0.980x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2103 (1.027x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 37 bits: 72/64 (1.125x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4232/4093 (1.034x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 5: 0.567x (^ 0) + +Keyset 'Seed' - 80-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2041 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2067 (1.010x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1074/1024 (1.049x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4192/4093 (1.024x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 50: 0.649x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 113 (0.883x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 110 (0.859x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2046 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2043 (0.998x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 26 bits: 129077/128383 (1.005x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 16/16 (1.000x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 94: 0.780x (^ 4) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1989 (0.972x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2010 (0.982x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 37 bits: 67/64 (1.047x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 36/32 (1.125x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 108: 0.818x (^ 1) + +Keyset 'Seed' - 200-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 148 (1.156x) (^ 4) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2053 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2053 (1.003x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 483793/483197 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 46/32 (1.438x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 45: 0.581x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1976 (0.965x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2037 (0.995x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 22 bits: 1543869/1542998 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 277/256 (1.082x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 59: 0.553x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2027 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2101 (1.026x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 483784/483197 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 26 bits: 129153/128383 (1.006x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 115: 0.606x (^ 0) + +Keyset 'Seed' - 1025-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2080 (1.016x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2057 (1.005x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65362/64859 (1.008x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 32857/32598 (1.008x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 76: 0.648x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2076 (1.014x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2063 (1.008x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 484700/483197 (1.003x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65165/64859 (1.005x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 1: 0.544x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 143 (1.117x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1982 (0.968x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2145 (1.048x) (^ 5) +Testing all collisions (high 20..39 bits) - Worst is 21 bits: 2381600/2380971 (1.000x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 33 bits: 1145/1024 (1.118x) (^ 8) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 9: 0.558x (^ 0) + + +[[[ Seed Avalanche Tests ]]] + +Testing 3-byte keys, 300000 reps..................max is 0.785% at bit 62 -> out 42 (^ 2) +Testing 4-byte keys, 300000 reps..................max is 0.768% at bit 37 -> out 29 (^ 2) +Testing 6-byte keys, 300000 reps..................max is 0.669% at bit 41 -> out 35 (^ 0) +Testing 8-byte keys, 300000 reps..................max is 0.817% at bit 39 -> out 85 (^ 4) +Testing 12-byte keys, 300000 reps..................max is 0.718% at bit 59 -> out 83 (^ 1) +Testing 16-byte keys, 300000 reps..................max is 0.703% at bit 46 -> out 120 (^ 0) +Testing 20-byte keys, 300000 reps..................max is 0.656% at bit 43 -> out 123 (^ 0) +Testing 24-byte keys, 300000 reps..................max is 0.845% at bit 16 -> out 21 (^ 5) +Testing 28-byte keys, 300000 reps..................max is 0.811% at bit 56 -> out 37 (^ 3) +Testing 32-byte keys, 300000 reps..................max is 0.743% at bit 17 -> out 34 (^ 1) +Testing 64-byte keys, 300000 reps..................max is 0.658% at bit 63 -> out 2 (^ 0) +Testing 128-byte keys, 300000 reps..................max is 0.702% at bit 26 -> out 80 (^ 0) + + +[[[ Seed 'Bit Independence Criteria' Tests ]]] + +Testing 3-byte keys, 1200000 reps............max 0.0043 at bit 29 -> out ( 27,126) (^ 0) +Testing 4-byte keys, 1200000 reps............max 0.0043 at bit 44 -> out ( 9, 22) (^ 0) +Testing 6-byte keys, 1200000 reps............max 0.0043 at bit 6 -> out ( 54,118) (^ 0) +Testing 8-byte keys, 1200000 reps............max 0.0046 at bit 45 -> out ( 70,104) (^ 2) +Testing 11-byte keys, 1200000 reps............max 0.0046 at bit 61 -> out ( 8, 43) (^ 2) +Testing 15-byte keys, 1200000 reps............max 0.0045 at bit 21 -> out ( 72,119) (^ 1) +Testing 28-byte keys, 600000 reps............max 0.0066 at bit 45 -> out ( 30, 59) (^ 2) +Testing 52-byte keys, 600000 reps............max 0.0063 at bit 43 -> out ( 63, 72) (^ 1) +Testing 1024-byte keys, 600000 reps............max 0.0060 at bit 1 -> out ( 39,112) (^ 0) + + +[[[ Seed Bitflip Tests ]]] + +Testing 3-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 21 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 145 (1.007x) (^ 1) +Testing all collisions (low 35-bit) - Expected 144.0, actual 182 (1.264x) (^ 9) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1207 (1.048x) (^ 4) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1179 (1.024x) (^ 2) +Testing all collisions (high 20..38 bits) - Worst is 32 bits: 1207/1152 (1.048x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 35 bits: 182/144 (1.264x) (^ 5) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 59: 0.554x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 109 (0.757x) (^ 0) +Testing all collisions (low 33-bit) - Expected 144.0, actual 142 (0.986x) (^ 0) +Testing all collisions (high 32-bit) - Expected 288.0, actual 259 (0.899x) (^ 0) +Testing all collisions (low 32-bit) - Expected 288.0, actual 277 (0.962x) (^ 0) +Testing all collisions (high 19..36 bits) - Worst is 22 bits: 261926/261260 (1.003x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 35 bits: 51/36 (1.417x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 17 bits at bit 71: 0.589x (^ 1) + +Testing 4-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 23 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 154 (1.069x) (^ 2) +Testing all collisions (low 35-bit) - Expected 144.0, actual 133 (0.924x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1162 (1.009x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1198 (1.040x) (^ 3) +Testing all collisions (high 20..38 bits) - Worst is 34 bits: 315/288 (1.094x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 32 bits: 1198/1152 (1.040x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 118: 0.856x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 144 (1.000x) (^ 1) +Testing all collisions (low 33-bit) - Expected 144.0, actual 144 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 288.0, actual 307 (1.066x) (^ 2) +Testing all collisions (low 32-bit) - Expected 288.0, actual 311 (1.080x) (^ 3) +Testing all collisions (high 19..36 bits) - Worst is 28 bits: 4682/4599 (1.018x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 31 bits: 624/576 (1.084x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 1: 0.765x (^ 8) + +Testing 8-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 21 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 170 (1.181x) (^ 5) +Testing all collisions (low 35-bit) - Expected 144.0, actual 146 (1.014x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1223 (1.062x) (^ 5) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1210 (1.051x) (^ 4) +Testing all collisions (high 20..38 bits) - Worst is 38 bits: 29/18 (1.611x) (^ 2) +Testing all collisions (low 20..38 bits) - Worst is 32 bits: 1210/1152 (1.051x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 69: 0.604x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 160 (1.111x) (^ 3) +Testing all collisions (low 33-bit) - Expected 144.0, actual 141 (0.979x) (^ 0) +Testing all collisions (high 32-bit) - Expected 288.0, actual 305 (1.059x) (^ 2) +Testing all collisions (low 32-bit) - Expected 288.0, actual 275 (0.955x) (^ 0) +Testing all collisions (high 19..36 bits) - Worst is 35 bits: 46/36 (1.278x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 30 bits: 1203/1151 (1.045x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 41: 0.962x (^ 5) + +Testing 20-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 10 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 120 (0.833x) (^ 0) +Testing all collisions (low 35-bit) - Expected 144.0, actual 178 (1.236x) (^ 8) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1111 (0.965x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1256 (1.091x) (^ 9) +Testing all collisions (high 20..38 bits) - Worst is 24 bits: 278155/277313 (1.003x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 33 bits: 679/576 (1.179x) (^11) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 127: 0.673x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 151 (1.049x) (^ 1) +Testing all collisions (low 33-bit) - Expected 144.0, actual 142 (0.986x) (^ 0) +Testing all collisions (high 32-bit) - Expected 288.0, actual 325 (1.129x) (^ 5) +Testing all collisions (low 32-bit) - Expected 288.0, actual 289 (1.004x) (^ 1) +Testing all collisions (high 19..36 bits) - Worst is 29 bits: 2405/2302 (1.045x) (^ 1) +Testing all collisions (low 19..36 bits) - Worst is 26 bits: 18373/18289 (1.005x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 16 bits at bit 11: 0.563x (^ 0) + +Testing 32-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 51 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 145 (1.007x) (^ 1) +Testing all collisions (low 35-bit) - Expected 144.0, actual 171 (1.188x) (^ 5) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1123 (0.975x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1210 (1.051x) (^ 4) +Testing all collisions (high 20..38 bits) - Worst is 37 bits: 49/36 (1.361x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 29 bits: 9446/9198 (1.027x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 41: 0.694x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 174 (1.208x) (^ 6) +Testing all collisions (low 33-bit) - Expected 144.0, actual 153 (1.063x) (^ 2) +Testing all collisions (high 32-bit) - Expected 288.0, actual 341 (1.184x) (^ 9) +Testing all collisions (low 32-bit) - Expected 288.0, actual 306 (1.063x) (^ 2) +Testing all collisions (high 19..36 bits) - Worst is 32 bits: 341/288 (1.184x) (^ 5) +Testing all collisions (low 19..36 bits) - Worst is 35 bits: 45/36 (1.250x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 11 bits at bit 10: 0.726x (^ 1) + + +---------------------------------------------------------------------------------------------- +-log2(p-value) summary: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 + ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- + 14425 3006 1363 735 359 187 87 36 28 18 6 3 1 + + 13 14 15 16 17 18 19 20 21 22 23 24 25+ + ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- + 0 0 0 0 0 0 0 0 0 0 0 0 0 + +---------------------------------------------------------------------------------------------- +Summary for: MuseAir-128.bfast-snapraid +Overall result: pass ( 252 / 252 passed) + +---------------------------------------------------------------------------------------------- +Verification value is 0x00000001 - Testing took 3034.434583 seconds + diff --git a/smhasher3/README b/smhasher3/README new file mode 100644 index 00000000..91cb73c7 --- /dev/null +++ b/smhasher3/README @@ -0,0 +1,136 @@ +SMHasher3 validation files for SnapRAID +======================================= + +This directory contains SMHasher3 adapters and test results for the 128-bit +non-cryptographic hash functions used by SnapRAID. + +The adapters reproduce the SnapRAID implementations while adapting their +128-bit seed interfaces to the 64-bit seed_t exposed by SMHasher3. + + +SMHasher3 version +================= + +commit 51d3cd1ac0aa4934f6aacb44d9d234f50300b6e3 +Author: Frank J. T. Wojcik +Date: Tue Aug 4 11:58:32 2026 -0700 + + Fix whitespace (NFC) + + +Files and results +================= + +museair_snapraid.cpp + MuseAir BFast-128 as used by SnapRAID. Inputs shorter than 32 bytes + are zero-padded to 32 bytes and processed with the Long path while + retaining the original input length. + +MuseAir-128.bfast-snapraid.txt + SMHasher3 output for museair_snapraid.cpp. + + Result comparison: + The SnapRAID variant passes all 252 tests. The official MuseAir + BFast-128 also passes its complete test set. The different short-input + path used by SnapRAID shows no statistical regression. Small differences + in the p-value distribution are not significant enough to rank either + version as better. + +spooky2_snapraid.cpp + SpookyHash V2 128-bit as used by SnapRAID. SnapRAID always uses the + Long path instead of the standard Short path below 192 bytes. + +SpookyHash2-128-snapraid.txt + SMHasher3 output for spooky2_snapraid.cpp. + + Result comparison: + The SnapRAID variant passes all 252 tests. The official SpookyHash V2 + 128-bit implementation has strong BIC failures on several short input + lengths. Those failures come from the Short path. Always using the Long + path, as SnapRAID does, removes the observed BIC weakness. + +murmur3_snapraid.cpp + MurmurHash3 x86_128 as used by SnapRAID, with the SnapRAID 128-bit + seed interface. + +MurmurHash3-128-snapraid.txt + SMHasher3 output for murmur3_snapraid.cpp. + + Result comparison: + The SnapRAID variant passes 179 of 252 tests, compared with 154 of 250 + for the official MurmurHash3 x86_128 int32 variant. Most data-path + failures are the same, including BIC, Text, TwoBytes, PerlinNoise and + Bitflip. The main improvement is in seed tests because the SnapRAID + adapter uses all 64 bits of seed_t, while the official SMHasher3 wrapper + uses only the low 32 bits. MurmurHash3 remains substantially weaker than + the newer hashes and is retained by SnapRAID only for legacy use. + + +Seed mapping +============ + +SMHasher3 exposes one 64-bit seed_t, while SnapRAID uses 128-bit seeds. + +For MuseAir and SpookyHash V2: + +seed[0..7] = seed_t +seed[8..15] = seed_t + +For MurmurHash3 x86_128 this gives: + +h1 = low32(seed_t) +h2 = high32(seed_t) +h3 = low32(seed_t) +h4 = high32(seed_t) + +This intentionally tests the same diagonal seed mapping used by the other +SnapRAID adapters. + + +Building +======== + +Copy the adapters into the SMHasher3 hashes directory: + +hashes/museair_snapraid.cpp +hashes/spooky2_snapraid.cpp +hashes/murmur3_snapraid.cpp + +Add them to hashes/Hashsrc.cmake and rebuild SMHasher3. + +Check the registrations with: + +./SMHasher3 --list | grep -i snapraid + + +Generating the result files +=========================== + +./SMHasher3 MuseAir-128.bfast-snapraid \ + --extra --notest=Speed,Hashmap --ncpu=16 \ + > MuseAir-128.bfast-snapraid.txt 2>&1 + +./SMHasher3 SpookyHash2-128-snapraid \ + --extra --notest=Speed,Hashmap --ncpu=16 \ + > SpookyHash2-128-snapraid.txt 2>&1 + +./SMHasher3 MurmurHash3-128.snapraid \ + --extra --notest=Speed,Hashmap --ncpu=16 \ + > MurmurHash3-128-snapraid.txt 2>&1 + + +Source relationship +=================== + +The authoritative implementations remain the SnapRAID source files: + +cmdline/museair.c +cmdline/spooky2.c +cmdline/murmur3.c + +SnapRAID repository: + +https://github.com/amadvance/snapraid + +Whenever one of these implementations changes, compare the corresponding +adapter again with the SnapRAID source and rerun the SMHasher3 test. diff --git a/smhasher3/SpookyHash2-128-snapraid.txt b/smhasher3/SpookyHash2-128-snapraid.txt new file mode 100644 index 00000000..d6506a88 --- /dev/null +++ b/smhasher3/SpookyHash2-128-snapraid.txt @@ -0,0 +1,3744 @@ +------------------------------------------------------------------------------- +--- Testing SpookyHash2-128-snapraid "SpookyHash v2 128-bit, SnapRAID long-path-only variant" + +[[[ Sanity Tests ]]] + +Verification value CE 0x965BDDF8 ...... PASS +Running sanity check 1 .......... PASS +Running sanity check 2 .......... PASS +Running append zeroes test .......... PASS +Running prepend zeroes test .......... PASS +Running thread-safety test 1 .......... PASS +Running thread-safety test 2 .......... PASS + +[[[ Avalanche Tests ]]] + +Testing 3-byte keys, 300000 reps..................max is 0.632% at bit 5 -> out 22 (^ 0) +Testing 4-byte keys, 300000 reps..................max is 0.686% at bit 5 -> out 104 (^ 0) +Testing 5-byte keys, 300000 reps..................max is 0.687% at bit 8 -> out 84 (^ 0) +Testing 6-byte keys, 300000 reps..................max is 0.701% at bit 0 -> out 67 (^ 0) +Testing 7-byte keys, 300000 reps..................max is 0.654% at bit 15 -> out 72 (^ 0) +Testing 8-byte keys, 300000 reps..................max is 0.719% at bit 47 -> out 51 (^ 1) +Testing 9-byte keys, 300000 reps..................max is 0.684% at bit 28 -> out 70 (^ 0) +Testing 10-byte keys, 300000 reps..................max is 0.849% at bit 42 -> out 34 (^ 4) +Testing 12-byte keys, 300000 reps..................max is 0.723% at bit 3 -> out 114 (^ 0) +Testing 16-byte keys, 300000 reps..................max is 0.811% at bit 39 -> out 96 (^ 2) +Testing 20-byte keys, 300000 reps..................max is 0.794% at bit 32 -> out 78 (^ 2) +Testing 24-byte keys, 300000 reps..................max is 0.729% at bit 111 -> out 85 (^ 0) +Testing 28-byte keys, 300000 reps..................max is 0.732% at bit 129 -> out 89 (^ 0) +Testing 32-byte keys, 300000 reps..................max is 0.819% at bit 217 -> out 87 (^ 2) +Testing 40-byte keys, 300000 reps..................max is 0.759% at bit 67 -> out 127 (^ 0) +Testing 48-byte keys, 300000 reps..................max is 0.819% at bit 192 -> out 82 (^ 1) +Testing 56-byte keys, 300000 reps..................max is 0.804% at bit 38 -> out 62 (^ 1) +Testing 64-byte keys, 300000 reps..................max is 0.880% at bit 505 -> out 111 (^ 3) +Testing 128-byte keys, 300000 reps..................max is 0.783% at bit 967 -> out 39 (^ 0) +Testing 160-byte keys, 300000 reps..................max is 0.934% at bit 169 -> out 113 (^ 4) +Testing 192-byte keys, 300000 reps..................max is 0.897% at bit 241 -> out 9 (^ 2) + + +[[[ BIC 'Bit Independence Criteria' Tests ]]] + +Testing 3-byte keys, 1200000 reps............max 0.0042 at bit 23 -> out ( 78, 89) (^ 0) +Testing 4-byte keys, 1200000 reps............max 0.0044 at bit 24 -> out ( 48, 78) (^ 1) +Testing 6-byte keys, 1200000 reps............max 0.0044 at bit 7 -> out ( 95,116) (^ 1) +Testing 8-byte keys, 1200000 reps............max 0.0042 at bit 7 -> out ( 7,108) (^ 0) +Testing 11-byte keys, 1200000 reps............max 0.0044 at bit 12 -> out ( 28,105) (^ 0) +Testing 15-byte keys, 1200000 reps............max 0.0047 at bit 66 -> out ( 55,113) (^ 1) +Testing 28-byte keys, 600000 reps............max 0.0066 at bit 138 -> out ( 58, 79) (^ 1) +Testing 52-byte keys, 600000 reps............max 0.0072 at bit 201 -> out ( 15, 61) (^ 3) + + +[[[ Keyset 'Zeroes' Tests ]]] + +Keyset 'Zeroes' - 204800 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.9, actual 8 (1.638x) (^ 2) +Testing all collisions (low 32-bit) - Expected 4.9, actual 2 (0.410x) (^ 0) +Testing all collisions (high 27-bit) - Expected 156.2, actual 146 (0.935x) (^ 0) +Testing all collisions (low 27-bit) - Expected 156.2, actual 157 (1.000x) (^ 1) +Testing all collisions (high 16..30 bits) - Worst is 21 bits: 9726/9682 (1.005x) (^ 0) +Testing all collisions (low 16..30 bits) - Worst is 23 bits: 2543/2480 (1.025x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 12 bits at bit 13: 0.559x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.9, actual 7 (1.434x) (^ 2) +Testing all collisions (low 32-bit) - Expected 4.9, actual 2 (0.410x) (^ 0) +Testing all collisions (high 27-bit) - Expected 156.2, actual 165 (1.057x) (^ 1) +Testing all collisions (low 27-bit) - Expected 156.2, actual 170 (1.089x) (^ 2) +Testing all collisions (high 16..30 bits) - Worst is 23 bits: 2528/2480 (1.019x) (^ 0) +Testing all collisions (low 16..30 bits) - Worst is 28 bits: 92/78 (1.178x) (^ 0) +Testing distribution (any 8..15 bits) - Worst bias is 9 bits at bit 9: 0.838x (^ 2) + + +[[[ Keyset 'Cyclic' Tests ]]] + +Keyset 'Cyclic' - 4 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 133 (1.143x) (^ 3) +Testing all collisions (low 32-bit) - Expected 116.4, actual 126 (1.082x) (^ 2) +Testing all collisions (high 16..35 bits) - Worst is 31 bits: 257/233 (1.104x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 28 bits: 1955/1860 (1.051x) (^ 1) + +Keyset 'Cyclic' - 4 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 118 (1.014x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 132 (1.134x) (^ 3) +Testing all collisions (high 16..35 bits) - Worst is 35 bits: 18/15 (1.237x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 32 bits: 132/116 (1.134x) (^ 0) + +Keyset 'Cyclic' - 4 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 130 (1.117x) (^ 3) +Testing all collisions (low 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 29 bits: 1022/931 (1.098x) (^ 4) +Testing all collisions (low 16..35 bits) - Worst is 31 bits: 250/233 (1.074x) (^ 0) + +Keyset 'Cyclic' - 4 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 116 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 112 (0.962x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 29 bits: 998/931 (1.072x) (^ 1) +Testing all collisions (low 16..35 bits) - Worst is 35 bits: 19/15 (1.306x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 97 (0.833x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 117 (1.000x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 35 bits: 16/15 (1.100x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 34 bits: 37/29 (1.271x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 106 (0.911x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 24 bits: 29597/29219 (1.013x) (^ 2) +Testing all collisions (low 16..35 bits) - Worst is 22 bits: 110342/110274 (1.001x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 101 (0.868x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 102 (0.876x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 21 bits: 204791/204642 (1.001x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 26 bits: 7471/7414 (1.008x) (^ 0) + +Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 109 (0.936x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 121 (1.039x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 110702/110274 (1.004x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 27 bits: 3855/3716 (1.037x) (^ 2) + +Keyset 'Cyclic' - 12 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 115 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 109 (0.936x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 111061/110274 (1.007x) (^ 2) +Testing all collisions (low 16..35 bits) - Worst is 23 bits: 57404/57305 (1.002x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 101 (0.868x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 110 (0.945x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 19 bits: 553961/553555 (1.001x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 19 bits: 553976/553555 (1.001x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 126 (1.082x) (^ 2) +Testing all collisions (low 32-bit) - Expected 116.4, actual 130 (1.117x) (^ 3) +Testing all collisions (high 16..35 bits) - Worst is 25 bits: 14942/14754 (1.013x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 31 bits: 253/233 (1.087x) (^ 0) + +Keyset 'Cyclic' - 12 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 105 (0.902x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 108 (0.928x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 110798/110274 (1.005x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 25 bits: 14848/14754 (1.006x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 3 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 120 (1.031x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 117 (1.000x) (^ 1) +Testing all collisions (high 16..35 bits) - Worst is 35 bits: 21/15 (1.443x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 20 bits: 356323/355464 (1.002x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 4 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 111 (0.954x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 132 (1.134x) (^ 3) +Testing all collisions (high 16..35 bits) - Worst is 22 bits: 110772/110274 (1.005x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 29 bits: 1013/931 (1.088x) (^ 3) + +Keyset 'Cyclic' - 16 cycles of 5 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 129 (1.108x) (^ 2) +Testing all collisions (low 32-bit) - Expected 116.4, actual 105 (0.902x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 32 bits: 129/116 (1.108x) (^ 0) +Testing all collisions (low 16..35 bits) - Worst is 35 bits: 19/15 (1.306x) (^ 0) + +Keyset 'Cyclic' - 16 cycles of 8 bytes - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 114 (0.979x) (^ 0) +Testing all collisions (low 32-bit) - Expected 116.4, actual 106 (0.911x) (^ 0) +Testing all collisions (high 16..35 bits) - Worst is 23 bits: 57951/57305 (1.011x) (^ 3) +Testing all collisions (low 16..35 bits) - Worst is 20 bits: 355776/355464 (1.001x) (^ 0) + + +[[[ Keyset 'Sparse' Tests ]]] + +Keyset 'Sparse' - 2-byte keys with up to 6 bits set - 14893 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 105.3, actual 112 (1.064x) (^ 1) +Testing all collisions (low 20-bit) - Expected 105.3, actual 105 (1.000x) (^ 0) +Testing all collisions (high 10..23 bits) - Worst is 21 bits: 61/53 (1.156x) (^ 0) +Testing all collisions (low 10..23 bits) - Worst is 19 bits: 233/210 (1.112x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 105.3, actual 114 (1.083x) (^ 2) +Testing all collisions (low 20-bit) - Expected 105.3, actual 95 (0.903x) (^ 0) +Testing all collisions (high 10..23 bits) - Worst is 21 bits: 61/53 (1.156x) (^ 0) +Testing all collisions (low 10..23 bits) - Worst is 13 bits: 8045/8031 (1.002x) (^ 0) + +Keyset 'Sparse' - 3-byte keys with up to 4 bits set - 12951 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 19-bit) - Expected 158.6, actual 138 (0.870x) (^ 0) +Testing all collisions (low 19-bit) - Expected 158.6, actual 154 (0.971x) (^ 0) +Testing all collisions (high 10..22 bits) - Worst is 15 bits: 2299/2253 (1.020x) (^ 0) +Testing all collisions (low 10..22 bits) - Worst is 22 bits: 26/20 (1.302x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 19-bit) - Expected 158.6, actual 139 (0.876x) (^ 0) +Testing all collisions (low 19-bit) - Expected 158.6, actual 165 (1.040x) (^ 1) +Testing all collisions (high 10..22 bits) - Worst is 10 bits: 11927/11927 (1.000x) (^ 0) +Testing all collisions (low 10..22 bits) - Worst is 21 bits: 51/40 (1.278x) (^ 0) + +Keyset 'Sparse' - 4-byte keys with up to 4 bits set - 41449 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 1 (1.000x) (^ 1) +Testing all collisions (high 23-bit) - Expected 102.2, actual 119 (1.164x) (^ 4) +Testing all collisions (low 23-bit) - Expected 102.2, actual 109 (1.066x) (^ 1) +Testing all collisions (high 12..26 bits) - Worst is 23 bits: 119/102 (1.164x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 18 bits: 3156/3111 (1.015x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 102.2, actual 109 (1.066x) (^ 1) +Testing all collisions (low 23-bit) - Expected 102.2, actual 116 (1.135x) (^ 3) +Testing all collisions (high 12..26 bits) - Worst is 18 bits: 3166/3111 (1.018x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 21 bits: 467/407 (1.148x) (^ 5) + +Keyset 'Sparse' - 5-byte keys with up to 4 bits set - 102091 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1.2, actual 1 (1.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 155.1, actual 144 (0.928x) (^ 0) +Testing all collisions (low 25-bit) - Expected 155.1, actual 151 (0.973x) (^ 0) +Testing all collisions (high 13..28 bits) - Worst is 17 bits: 31285/31170 (1.004x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 22 bits: 1262/1232 (1.024x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.2, actual 1 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1.2, actual 1 (1.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 155.1, actual 157 (1.012x) (^ 1) +Testing all collisions (low 25-bit) - Expected 155.1, actual 139 (0.896x) (^ 0) +Testing all collisions (high 13..28 bits) - Worst is 21 bits: 2499/2445 (1.022x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 28 bits: 22/19 (1.133x) (^ 0) + +Keyset 'Sparse' - 6-byte keys with up to 3 bits set - 18473 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 161.8, actual 157 (0.971x) (^ 0) +Testing all collisions (low 20-bit) - Expected 161.8, actual 164 (1.014x) (^ 1) +Testing all collisions (high 11..24 bits) - Worst is 16 bits: 2440/2375 (1.027x) (^ 0) +Testing all collisions (low 11..24 bits) - Worst is 15 bits: 4462/4352 (1.025x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 20-bit) - Expected 161.8, actual 168 (1.039x) (^ 1) +Testing all collisions (low 20-bit) - Expected 161.8, actual 162 (1.000x) (^ 1) +Testing all collisions (high 11..24 bits) - Worst is 20 bits: 168/162 (1.039x) (^ 0) +Testing all collisions (low 11..24 bits) - Worst is 22 bits: 45/41 (1.108x) (^ 0) + +Keyset 'Sparse' - 7-byte keys with up to 3 bits set - 29317 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.1, actual 1 (1.000x) (^ 2) +Testing all collisions (low 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (high 22-bit) - Expected 102.2, actual 101 (0.988x) (^ 0) +Testing all collisions (low 22-bit) - Expected 102.2, actual 123 (1.203x) (^ 5) +Testing all collisions (high 11..25 bits) - Worst is 17 bits: 3084/3047 (1.012x) (^ 0) +Testing all collisions (low 11..25 bits) - Worst is 21 bits: 236/204 (1.157x) (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.1, actual 0 (0.000x) (^ 0) +Testing all collisions (high 22-bit) - Expected 102.2, actual 112 (1.096x) (^ 2) +Testing all collisions (low 22-bit) - Expected 102.2, actual 115 (1.125x) (^ 3) +Testing all collisions (high 11..25 bits) - Worst is 21 bits: 232/204 (1.137x) (^ 1) +Testing all collisions (low 11..25 bits) - Worst is 22 bits: 115/102 (1.125x) (^ 0) + +Keyset 'Sparse' - 8-byte keys with up to 3 bits set - 43745 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 113.9, actual 138 (1.212x) (^ 5) +Testing all collisions (low 23-bit) - Expected 113.9, actual 108 (0.949x) (^ 0) +Testing all collisions (high 12..26 bits) - Worst is 23 bits: 138/114 (1.212x) (^ 2) +Testing all collisions (low 12..26 bits) - Worst is 14 bits: 28515/28496 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.2, actual 0 (0.000x) (^ 0) +Testing all collisions (high 23-bit) - Expected 113.9, actual 118 (1.036x) (^ 1) +Testing all collisions (low 23-bit) - Expected 113.9, actual 119 (1.045x) (^ 1) +Testing all collisions (high 12..26 bits) - Worst is 20 bits: 927/900 (1.030x) (^ 0) +Testing all collisions (low 12..26 bits) - Worst is 20 bits: 949/900 (1.055x) (^ 0) + +Keyset 'Sparse' - 9-byte keys with up to 3 bits set - 62269 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 115.4, actual 110 (0.953x) (^ 0) +Testing all collisions (low 24-bit) - Expected 115.4, actual 119 (1.031x) (^ 1) +Testing all collisions (high 12..27 bits) - Worst is 16 bits: 22242/22074 (1.008x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 22 bits: 507/460 (1.102x) (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.5, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 115.4, actual 115 (1.000x) (^ 0) +Testing all collisions (low 24-bit) - Expected 115.4, actual 106 (0.918x) (^ 0) +Testing all collisions (high 12..27 bits) - Worst is 16 bits: 22195/22074 (1.005x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 21 bits: 923/915 (1.008x) (^ 0) + +Keyset 'Sparse' - 10-byte keys with up to 3 bits set - 85401 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.8, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.8, actual 2 (2.356x) (^ 1) +Testing all collisions (high 25-bit) - Expected 108.6, actual 125 (1.151x) (^ 3) +Testing all collisions (low 25-bit) - Expected 108.6, actual 116 (1.068x) (^ 1) +Testing all collisions (high 13..28 bits) - Worst is 25 bits: 125/109 (1.151x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 23 bits: 466/433 (1.076x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.8, actual 1 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 0.8, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 108.6, actual 99 (0.912x) (^ 0) +Testing all collisions (low 25-bit) - Expected 108.6, actual 111 (1.022x) (^ 1) +Testing all collisions (high 13..28 bits) - Worst is 26 bits: 57/54 (1.049x) (^ 0) +Testing all collisions (low 13..28 bits) - Worst is 24 bits: 232/217 (1.069x) (^ 0) + +Keyset 'Sparse' - 11-byte keys with up to 3 bits set - 113653 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.5, actual 1 (0.665x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1.5, actual 0 (0.000x) (^ 0) +Testing all collisions (high 25-bit) - Expected 192.3, actual 175 (0.910x) (^ 0) +Testing all collisions (low 25-bit) - Expected 192.3, actual 181 (0.941x) (^ 0) +Testing all collisions (high 13..29 bits) - Worst is 27 bits: 49/48 (1.019x) (^ 0) +Testing all collisions (low 13..29 bits) - Worst is 17 bits: 37792/37653 (1.004x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1.5, actual 3 (1.995x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1.5, actual 1 (0.665x) (^ 0) +Testing all collisions (high 25-bit) - Expected 192.3, actual 193 (1.000x) (^ 1) +Testing all collisions (low 25-bit) - Expected 192.3, actual 191 (0.993x) (^ 0) +Testing all collisions (high 13..29 bits) - Worst is 20 bits: 6029/5943 (1.015x) (^ 0) +Testing all collisions (low 13..29 bits) - Worst is 24 bits: 421/384 (1.096x) (^ 1) + +Keyset 'Sparse' - 12-byte keys with up to 3 bits set - 147537 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2.5, actual 2 (0.789x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2.5, actual 3 (1.000x) (^ 1) +Testing all collisions (high 26-bit) - Expected 162.1, actual 172 (1.061x) (^ 2) +Testing all collisions (low 26-bit) - Expected 162.1, actual 160 (0.987x) (^ 0) +Testing all collisions (high 13..30 bits) - Worst is 26 bits: 172/162 (1.061x) (^ 0) +Testing all collisions (low 13..30 bits) - Worst is 30 bits: 15/10 (1.480x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2.5, actual 1 (0.395x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2.5, actual 5 (1.973x) (^ 2) +Testing all collisions (high 26-bit) - Expected 162.1, actual 158 (0.975x) (^ 0) +Testing all collisions (low 26-bit) - Expected 162.1, actual 185 (1.142x) (^ 4) +Testing all collisions (high 13..30 bits) - Worst is 22 bits: 2598/2565 (1.013x) (^ 0) +Testing all collisions (low 13..30 bits) - Worst is 26 bits: 185/162 (1.142x) (^ 0) + +Keyset 'Sparse' - 13-byte keys with up to 3 bits set - 187565 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.1, actual 4 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.1, actual 2 (0.488x) (^ 0) +Testing all collisions (high 27-bit) - Expected 131.0, actual 124 (0.947x) (^ 0) +Testing all collisions (low 27-bit) - Expected 131.0, actual 139 (1.061x) (^ 1) +Testing all collisions (high 14..30 bits) - Worst is 29 bits: 35/33 (1.068x) (^ 0) +Testing all collisions (low 14..30 bits) - Worst is 29 bits: 46/33 (1.404x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4.1, actual 2 (0.488x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4.1, actual 3 (0.733x) (^ 0) +Testing all collisions (high 27-bit) - Expected 131.0, actual 137 (1.046x) (^ 1) +Testing all collisions (low 27-bit) - Expected 131.0, actual 150 (1.145x) (^ 4) +Testing all collisions (high 14..30 bits) - Worst is 24 bits: 1123/1045 (1.075x) (^ 2) +Testing all collisions (low 14..30 bits) - Worst is 25 bits: 561/523 (1.072x) (^ 0) + +Keyset 'Sparse' - 14-byte keys with up to 3 bits set - 234249 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6.4, actual 8 (1.252x) (^ 1) +Testing all collisions (low 32-bit) - Expected 6.4, actual 2 (0.313x) (^ 0) +Testing all collisions (high 28-bit) - Expected 102.2, actual 105 (1.028x) (^ 1) +Testing all collisions (low 28-bit) - Expected 102.2, actual 98 (0.959x) (^ 0) +Testing all collisions (high 14..31 bits) - Worst is 18 bits: 79589/79370 (1.003x) (^ 0) +Testing all collisions (low 14..31 bits) - Worst is 20 bits: 24352/24321 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6.4, actual 6 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6.4, actual 6 (1.000x) (^ 0) +Testing all collisions (high 28-bit) - Expected 102.2, actual 90 (0.881x) (^ 0) +Testing all collisions (low 28-bit) - Expected 102.2, actual 101 (0.988x) (^ 0) +Testing all collisions (high 14..31 bits) - Worst is 18 bits: 79583/79370 (1.003x) (^ 0) +Testing all collisions (low 14..31 bits) - Worst is 22 bits: 6470/6421 (1.008x) (^ 0) + +Keyset 'Sparse' - 2-byte keys with up to 10 bits set - 58651 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 102.4, actual 106 (1.035x) (^ 1) +Testing all collisions (low 24-bit) - Expected 102.4, actual 125 (1.221x) (^ 5) +Testing all collisions (high 12..27 bits) - Worst is 25 bits: 58/51 (1.132x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 24 bits: 125/102 (1.221x) (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 0.4, actual 0 (0.000x) (^ 0) +Testing all collisions (high 24-bit) - Expected 102.4, actual 94 (0.918x) (^ 0) +Testing all collisions (low 24-bit) - Expected 102.4, actual 104 (1.016x) (^ 1) +Testing all collisions (high 12..27 bits) - Worst is 19 bits: 3213/3162 (1.016x) (^ 0) +Testing all collisions (low 12..27 bits) - Worst is 27 bits: 18/13 (1.405x) (^ 0) + +Keyset 'Sparse' - 3-byte keys with up to 20 bits set - 16774891 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 126 (0.985x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 145 (1.133x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32716.3, actual 32546 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32716.3, actual 32523 (0.994x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 37 bits: 1109/1024 (1.083x) (^ 3) +Testing all collisions (low 20..43 bits) - Worst is 41 bits: 79/64 (1.235x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 126 (0.985x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 142 (1.110x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32716.3, actual 33047 (1.010x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32716.3, actual 32796 (1.002x) (^ 1) +Testing all collisions (high 20..43 bits) - Worst is 32 bits: 33047/32716 (1.010x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 39 bits: 276/256 (1.078x) (^ 0) + +Keyset 'Sparse' - 4-byte keys with up to 9 bits set - 43081973 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 105.5, actual 100 (0.948x) (^ 0) +Testing all collisions (low 43-bit) - Expected 105.5, actual 93 (0.881x) (^ 0) +Testing all collisions (high 32-bit) - Expected 215352.7, actual 215910 (1.003x) (^ 3) +Testing all collisions (low 32-bit) - Expected 215352.7, actual 215339 (1.000x) (^ 0) +Testing all collisions (high 21..46 bits) - Worst is 37 bits: 6854/6752 (1.015x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 38 bits: 3490/3376 (1.034x) (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 105.5, actual 107 (1.014x) (^ 1) +Testing all collisions (low 43-bit) - Expected 105.5, actual 109 (1.033x) (^ 1) +Testing all collisions (high 32-bit) - Expected 215352.7, actual 215774 (1.002x) (^ 2) +Testing all collisions (low 32-bit) - Expected 215352.7, actual 215832 (1.002x) (^ 2) +Testing all collisions (high 21..46 bits) - Worst is 45 bits: 33/26 (1.251x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 46 bits: 21/13 (1.592x) (^ 0) + +Keyset 'Sparse' - 5-byte keys with up to 7 bits set - 23242039 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 122.8, actual 128 (1.042x) (^ 1) +Testing all collisions (low 41-bit) - Expected 122.8, actual 108 (0.879x) (^ 0) +Testing all collisions (high 32-bit) - Expected 62773.4, actual 62939 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 62773.4, actual 62903 (1.002x) (^ 1) +Testing all collisions (high 20..44 bits) - Worst is 26 bits: 3601452/3597708 (1.001x) (^ 1) +Testing all collisions (low 20..44 bits) - Worst is 27 bits: 1903672/1901074 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 122.8, actual 125 (1.018x) (^ 1) +Testing all collisions (low 41-bit) - Expected 122.8, actual 132 (1.075x) (^ 2) +Testing all collisions (high 32-bit) - Expected 62773.4, actual 62989 (1.003x) (^ 2) +Testing all collisions (low 32-bit) - Expected 62773.4, actual 62898 (1.002x) (^ 1) +Testing all collisions (high 20..44 bits) - Worst is 33 bits: 31807/31415 (1.012x) (^ 1) +Testing all collisions (low 20..44 bits) - Worst is 43 bits: 41/31 (1.335x) (^ 0) + +Keyset 'Sparse' - 6-byte keys with up to 7 bits set - 87825941 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 109.6, actual 120 (1.095x) (^ 2) +Testing all collisions (low 45-bit) - Expected 109.6, actual 112 (1.022x) (^ 1) +Testing all collisions (high 32-bit) - Expected 891868.0, actual 891162 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 891868.0, actual 892848 (1.001x) (^ 2) +Testing all collisions (high 22..48 bits) - Worst is 29 bits: 6811619/6807448 (1.001x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 37 bits: 28466/28055 (1.015x) (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 109.6, actual 94 (0.858x) (^ 0) +Testing all collisions (low 45-bit) - Expected 109.6, actual 105 (0.958x) (^ 0) +Testing all collisions (high 32-bit) - Expected 891868.0, actual 893059 (1.001x) (^ 3) +Testing all collisions (low 32-bit) - Expected 891868.0, actual 890788 (0.999x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 41 bits: 1808/1754 (1.031x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 35 bits: 112707/112149 (1.005x) (^ 0) + +Keyset 'Sparse' - 7-byte keys with up to 6 bits set - 36684859 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 153.0, actual 159 (1.039x) (^ 1) +Testing all collisions (low 42-bit) - Expected 153.0, actual 150 (0.980x) (^ 0) +Testing all collisions (high 32-bit) - Expected 156224.2, actual 156997 (1.005x) (^ 5) +Testing all collisions (low 32-bit) - Expected 156224.2, actual 155927 (0.998x) (^ 0) +Testing all collisions (high 21..45 bits) - Worst is 32 bits: 156997/156224 (1.005x) (^ 1) +Testing all collisions (low 21..45 bits) - Worst is 43 bits: 78/76 (1.020x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 153.0, actual 147 (0.961x) (^ 0) +Testing all collisions (low 42-bit) - Expected 153.0, actual 160 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 156224.2, actual 155959 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 156224.2, actual 155944 (0.998x) (^ 0) +Testing all collisions (high 21..45 bits) - Worst is 36 bits: 9889/9790 (1.010x) (^ 0) +Testing all collisions (low 21..45 bits) - Worst is 31 bits: 312026/311562 (1.001x) (^ 0) + +Keyset 'Sparse' - 8-byte keys with up to 6 bits set - 83278001 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 197.1, actual 164 (0.832x) (^ 0) +Testing all collisions (low 44-bit) - Expected 197.1, actual 199 (1.010x) (^ 1) +Testing all collisions (high 32-bit) - Expected 802173.5, actual 803929 (1.002x) (^ 5) +Testing all collisions (low 32-bit) - Expected 802173.5, actual 803320 (1.001x) (^ 3) +Testing all collisions (high 22..48 bits) - Worst is 36 bits: 50972/50440 (1.011x) (^ 2) +Testing all collisions (low 22..48 bits) - Worst is 35 bits: 101827/100839 (1.010x) (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 197.1, actual 192 (0.974x) (^ 0) +Testing all collisions (low 44-bit) - Expected 197.1, actual 200 (1.015x) (^ 1) +Testing all collisions (high 32-bit) - Expected 802173.5, actual 801587 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 802173.5, actual 803078 (1.001x) (^ 2) +Testing all collisions (high 22..48 bits) - Worst is 46 bits: 58/49 (1.177x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 48 bits: 18/12 (1.461x) (^ 0) + +Keyset 'Sparse' - 9-byte keys with up to 5 bits set - 15082603 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 103.4, actual 101 (0.976x) (^ 0) +Testing all collisions (low 40-bit) - Expected 103.4, actual 98 (0.947x) (^ 0) +Testing all collisions (high 32-bit) - Expected 26451.8, actual 26335 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 26451.8, actual 26375 (0.997x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 27 bits: 817292/816576 (1.001x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 26 bits: 1576599/1574745 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 103.4, actual 98 (0.947x) (^ 0) +Testing all collisions (low 40-bit) - Expected 103.4, actual 115 (1.112x) (^ 2) +Testing all collisions (high 32-bit) - Expected 26451.8, actual 26414 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 26451.8, actual 26387 (0.998x) (^ 0) +Testing all collisions (high 20..43 bits) - Worst is 35 bits: 3414/3310 (1.031x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 35 bits: 3394/3310 (1.025x) (^ 0) + +Keyset 'Sparse' - 12-byte keys with up to 5 bits set - 64593561 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 118.6, actual 91 (0.767x) (^ 0) +Testing all collisions (low 44-bit) - Expected 118.6, actual 125 (1.054x) (^ 1) +Testing all collisions (high 32-bit) - Expected 483297.1, actual 482481 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 483297.1, actual 482987 (0.999x) (^ 0) +Testing all collisions (high 22..47 bits) - Worst is 28 bits: 7186076/7183975 (1.000x) (^ 0) +Testing all collisions (low 22..47 bits) - Worst is 47 bits: 20/15 (1.349x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 118.6, actual 127 (1.071x) (^ 2) +Testing all collisions (low 44-bit) - Expected 118.6, actual 129 (1.088x) (^ 2) +Testing all collisions (high 32-bit) - Expected 483297.1, actual 483003 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 483297.1, actual 482794 (0.999x) (^ 0) +Testing all collisions (high 22..47 bits) - Worst is 28 bits: 7187857/7183975 (1.001x) (^ 0) +Testing all collisions (low 22..47 bits) - Worst is 36 bits: 30554/30348 (1.007x) (^ 0) + +Keyset 'Sparse' - 14-byte keys with up to 4 bits set - 6445069 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 151.1, actual 142 (0.940x) (^ 0) +Testing all collisions (low 37-bit) - Expected 151.1, actual 117 (0.774x) (^ 0) +Testing all collisions (high 32-bit) - Expected 4833.3, actual 4866 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 4833.3, actual 4640 (0.960x) (^ 0) +Testing all collisions (high 18..40 bits) - Worst is 33 bits: 2479/2417 (1.026x) (^ 0) +Testing all collisions (low 18..40 bits) - Worst is 21 bits: 4445003/4444953 (1.000x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 151.1, actual 151 (1.000x) (^ 0) +Testing all collisions (low 37-bit) - Expected 151.1, actual 160 (1.059x) (^ 2) +Testing all collisions (high 32-bit) - Expected 4833.3, actual 4794 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 4833.3, actual 4797 (0.992x) (^ 0) +Testing all collisions (high 18..40 bits) - Worst is 27 bits: 152448/152297 (1.001x) (^ 0) +Testing all collisions (low 18..40 bits) - Worst is 26 bits: 300876/299815 (1.004x) (^ 1) + +Keyset 'Sparse' - 16-byte keys with up to 4 bits set - 11017633 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 110.4, actual 116 (1.051x) (^ 1) +Testing all collisions (low 39-bit) - Expected 110.4, actual 80 (0.725x) (^ 0) +Testing all collisions (high 32-bit) - Expected 14119.4, actual 14140 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 14119.4, actual 13992 (0.991x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 40 bits: 62/55 (1.123x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 23 bits: 4885475/4884747 (1.000x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 110.4, actual 116 (1.051x) (^ 1) +Testing all collisions (low 39-bit) - Expected 110.4, actual 123 (1.114x) (^ 2) +Testing all collisions (high 32-bit) - Expected 14119.4, actual 14110 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 14119.4, actual 14219 (1.007x) (^ 2) +Testing all collisions (high 19..42 bits) - Worst is 36 bits: 929/883 (1.052x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 34 bits: 3683/3532 (1.043x) (^ 2) + +Keyset 'Sparse' - 18-byte keys with up to 4 bits set - 17676661 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 142.1, actual 121 (0.852x) (^ 0) +Testing all collisions (low 40-bit) - Expected 142.1, actual 126 (0.887x) (^ 0) +Testing all collisions (high 32-bit) - Expected 36325.8, actual 36268 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 36325.8, actual 36448 (1.003x) (^ 1) +Testing all collisions (high 20..43 bits) - Worst is 26 bits: 2138324/2136418 (1.001x) (^ 0) +Testing all collisions (low 20..43 bits) - Worst is 32 bits: 36448/36326 (1.003x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 142.1, actual 143 (1.006x) (^ 1) +Testing all collisions (low 40-bit) - Expected 142.1, actual 137 (0.964x) (^ 0) +Testing all collisions (high 32-bit) - Expected 36325.8, actual 36570 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 36325.8, actual 36549 (1.006x) (^ 3) +Testing all collisions (high 20..43 bits) - Worst is 34 bits: 9299/9091 (1.023x) (^ 1) +Testing all collisions (low 20..43 bits) - Worst is 36 bits: 2382/2273 (1.048x) (^ 1) + +Keyset 'Sparse' - 24-byte keys with up to 4 bits set - 56050289 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 178.6, actual 174 (0.974x) (^ 0) +Testing all collisions (low 43-bit) - Expected 178.6, actual 161 (0.902x) (^ 0) +Testing all collisions (high 32-bit) - Expected 364148.6, actual 363733 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 364148.6, actual 363618 (0.999x) (^ 0) +Testing all collisions (high 21..47 bits) - Worst is 37 bits: 11481/11428 (1.005x) (^ 0) +Testing all collisions (low 21..47 bits) - Worst is 35 bits: 46025/45692 (1.007x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 178.6, actual 203 (1.137x) (^ 4) +Testing all collisions (low 43-bit) - Expected 178.6, actual 171 (0.958x) (^ 0) +Testing all collisions (high 32-bit) - Expected 364148.6, actual 364866 (1.002x) (^ 3) +Testing all collisions (low 32-bit) - Expected 364148.6, actual 364656 (1.001x) (^ 2) +Testing all collisions (high 21..47 bits) - Worst is 42 bits: 410/357 (1.148x) (^ 3) +Testing all collisions (low 21..47 bits) - Worst is 28 bits: 5471983/5464865 (1.001x) (^ 5) + +Keyset 'Sparse' - 26-byte keys with up to 4 bits set - 77260613 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 169.7, actual 172 (1.014x) (^ 1) +Testing all collisions (low 44-bit) - Expected 169.7, actual 159 (0.937x) (^ 0) +Testing all collisions (high 32-bit) - Expected 690758.5, actual 690767 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 690758.5, actual 691039 (1.000x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 28 bits: 10126901/10124342 (1.000x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 30 bits: 2716453/2714140 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 169.7, actual 167 (0.984x) (^ 0) +Testing all collisions (low 44-bit) - Expected 169.7, actual 169 (0.996x) (^ 0) +Testing all collisions (high 32-bit) - Expected 690758.5, actual 692282 (1.002x) (^ 4) +Testing all collisions (low 32-bit) - Expected 690758.5, actual 691534 (1.001x) (^ 2) +Testing all collisions (high 22..48 bits) - Worst is 36 bits: 44022/43415 (1.014x) (^ 4) +Testing all collisions (low 22..48 bits) - Worst is 29 bits: 5305650/5301902 (1.001x) (^ 0) + +Keyset 'Sparse' - 32-byte keys with up to 3 bits set - 2796417 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 113.8, actual 89 (0.782x) (^ 0) +Testing all collisions (low 35-bit) - Expected 113.8, actual 119 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 910.2, actual 919 (1.010x) (^ 1) +Testing all collisions (low 32-bit) - Expected 910.2, actual 922 (1.013x) (^ 1) +Testing all collisions (high 17..38 bits) - Worst is 31 bits: 1847/1820 (1.015x) (^ 0) +Testing all collisions (low 17..38 bits) - Worst is 30 bits: 3731/3638 (1.025x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 113.8, actual 103 (0.905x) (^ 0) +Testing all collisions (low 35-bit) - Expected 113.8, actual 116 (1.019x) (^ 1) +Testing all collisions (high 32-bit) - Expected 910.2, actual 948 (1.042x) (^ 3) +Testing all collisions (low 32-bit) - Expected 910.2, actual 912 (1.002x) (^ 1) +Testing all collisions (high 17..38 bits) - Worst is 27 bits: 29174/28930 (1.008x) (^ 0) +Testing all collisions (low 17..38 bits) - Worst is 36 bits: 70/57 (1.230x) (^ 0) + +Keyset 'Sparse' - 48-byte keys with up to 3 bits set - 9437505 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 162.0, actual 173 (1.068x) (^ 2) +Testing all collisions (low 38-bit) - Expected 162.0, actual 161 (0.994x) (^ 0) +Testing all collisions (high 32-bit) - Expected 10361.1, actual 10295 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 10361.1, actual 10435 (1.007x) (^ 2) +Testing all collisions (high 19..42 bits) - Worst is 38 bits: 173/162 (1.068x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 33 bits: 5290/5182 (1.021x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 162.0, actual 154 (0.951x) (^ 0) +Testing all collisions (low 38-bit) - Expected 162.0, actual 151 (0.932x) (^ 0) +Testing all collisions (high 32-bit) - Expected 10361.1, actual 10481 (1.012x) (^ 3) +Testing all collisions (low 32-bit) - Expected 10361.1, actual 10331 (0.997x) (^ 0) +Testing all collisions (high 19..42 bits) - Worst is 33 bits: 5314/5182 (1.025x) (^ 0) +Testing all collisions (low 19..42 bits) - Worst is 27 bits: 324948/324157 (1.002x) (^ 0) + +Keyset 'Sparse' - 64-byte keys with up to 3 bits set - 22370049 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 113.8, actual 127 (1.116x) (^ 3) +Testing all collisions (low 41-bit) - Expected 113.8, actual 107 (0.940x) (^ 0) +Testing all collisions (high 32-bit) - Expected 58155.4, actual 57880 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 58155.4, actual 58394 (1.004x) (^ 2) +Testing all collisions (high 20..44 bits) - Worst is 42 bits: 70/57 (1.230x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 31 bits: 116531/116109 (1.004x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 113.8, actual 100 (0.879x) (^ 0) +Testing all collisions (low 41-bit) - Expected 113.8, actual 107 (0.940x) (^ 0) +Testing all collisions (high 32-bit) - Expected 58155.4, actual 58142 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 58155.4, actual 58381 (1.004x) (^ 2) +Testing all collisions (high 20..44 bits) - Worst is 28 bits: 907578/906741 (1.001x) (^ 0) +Testing all collisions (low 20..44 bits) - Worst is 33 bits: 29324/29103 (1.008x) (^ 0) + +Keyset 'Sparse' - 96-byte keys with up to 3 bits set - 75498113 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 158 (0.975x) (^ 0) +Testing all collisions (low 44-bit) - Expected 162.0, actual 183 (1.130x) (^ 4) +Testing all collisions (high 32-bit) - Expected 659692.2, actual 659193 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 659692.2, actual 659542 (1.000x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 36 bits: 41617/41458 (1.004x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 44 bits: 183/162 (1.130x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 166 (1.025x) (^ 1) +Testing all collisions (low 44-bit) - Expected 162.0, actual 151 (0.932x) (^ 0) +Testing all collisions (high 32-bit) - Expected 659692.2, actual 659382 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 659692.2, actual 661075 (1.002x) (^ 4) +Testing all collisions (high 22..48 bits) - Worst is 41 bits: 1350/1296 (1.042x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 33 bits: 332111/330812 (1.004x) (^ 1) + +Keyset 'Sparse' - 128-byte keys with up to 2 bits set - 524801 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.1, actual 42 (1.310x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32.1, actual 27 (0.842x) (^ 0) +Testing all collisions (high 30-bit) - Expected 128.2, actual 125 (0.975x) (^ 0) +Testing all collisions (low 30-bit) - Expected 128.2, actual 128 (1.000x) (^ 0) +Testing all collisions (high 15..33 bits) - Worst is 32 bits: 42/32 (1.310x) (^ 0) +Testing all collisions (low 15..33 bits) - Worst is 23 bits: 16181/16079 (1.006x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.1, actual 31 (0.967x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32.1, actual 18 (0.561x) (^ 0) +Testing all collisions (high 30-bit) - Expected 128.2, actual 118 (0.920x) (^ 0) +Testing all collisions (low 30-bit) - Expected 128.2, actual 127 (0.990x) (^ 0) +Testing all collisions (high 15..33 bits) - Worst is 26 bits: 2056/2047 (1.005x) (^ 0) +Testing all collisions (low 15..33 bits) - Worst is 26 bits: 2074/2047 (1.013x) (^ 0) + +Keyset 'Sparse' - 256-byte keys with up to 2 bits set - 2098177 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.1, actual 132 (1.030x) (^ 1) +Testing all collisions (low 34-bit) - Expected 128.1, actual 99 (0.773x) (^ 0) +Testing all collisions (high 32-bit) - Expected 512.4, actual 537 (1.048x) (^ 2) +Testing all collisions (low 32-bit) - Expected 512.4, actual 469 (0.915x) (^ 0) +Testing all collisions (high 17..37 bits) - Worst is 33 bits: 276/256 (1.077x) (^ 0) +Testing all collisions (low 17..37 bits) - Worst is 23 bits: 242066/241825 (1.001x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.1, actual 117 (0.913x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.1, actual 117 (0.913x) (^ 0) +Testing all collisions (high 32-bit) - Expected 512.4, actual 497 (0.970x) (^ 0) +Testing all collisions (low 32-bit) - Expected 512.4, actual 553 (1.079x) (^ 4) +Testing all collisions (high 17..37 bits) - Worst is 27 bits: 16497/16315 (1.011x) (^ 0) +Testing all collisions (low 17..37 bits) - Worst is 32 bits: 553/512 (1.079x) (^ 0) + +Keyset 'Sparse' - 512-byte keys with up to 2 bits set - 8390657 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 128.1, actual 160 (1.249x) (^ 8) +Testing all collisions (low 38-bit) - Expected 128.1, actual 134 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8190.7, actual 8038 (0.981x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8190.7, actual 8086 (0.987x) (^ 0) +Testing all collisions (high 19..41 bits) - Worst is 38 bits: 160/128 (1.249x) (^ 3) +Testing all collisions (low 19..41 bits) - Worst is 41 bits: 29/16 (1.812x) (^ 4) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 128.1, actual 146 (1.140x) (^ 3) +Testing all collisions (low 38-bit) - Expected 128.1, actual 136 (1.062x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8190.7, actual 8152 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8190.7, actual 8299 (1.013x) (^ 3) +Testing all collisions (high 19..41 bits) - Worst is 38 bits: 146/128 (1.140x) (^ 0) +Testing all collisions (low 19..41 bits) - Worst is 32 bits: 8299/8191 (1.013x) (^ 0) + +Keyset 'Sparse' - 1024-byte keys with up to 2 bits set - 33558529 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 128.0, actual 128 (1.000x) (^ 0) +Testing all collisions (low 42-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 130763.2, actual 131038 (1.002x) (^ 2) +Testing all collisions (low 32-bit) - Expected 130763.2, actual 131290 (1.004x) (^ 3) +Testing all collisions (high 21..45 bits) - Worst is 30 bits: 520411/518995 (1.003x) (^ 1) +Testing all collisions (low 21..45 bits) - Worst is 32 bits: 131290/130763 (1.004x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 42-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 130763.2, actual 131960 (1.009x) (^11) +Testing all collisions (low 32-bit) - Expected 130763.2, actual 130878 (1.001x) (^ 1) +Testing all collisions (high 21..45 bits) - Worst is 32 bits: 131960/130763 (1.009x) (^ 6) +Testing all collisions (low 21..45 bits) - Worst is 36 bits: 8362/8193 (1.021x) (^ 0) + +Keyset 'Sparse' - 1280-byte keys with up to 2 bits set - 52433921 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 156.3, actual 152 (0.973x) (^ 0) +Testing all collisions (low 43-bit) - Expected 156.3, actual 150 (0.960x) (^ 0) +Testing all collisions (high 32-bit) - Expected 318764.0, actual 318604 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 318764.0, actual 318293 (0.999x) (^ 0) +Testing all collisions (high 21..46 bits) - Worst is 35 bits: 40316/39987 (1.008x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 35 bits: 40256/39987 (1.007x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 43-bit) - Expected 156.3, actual 169 (1.081x) (^ 2) +Testing all collisions (low 43-bit) - Expected 156.3, actual 168 (1.075x) (^ 2) +Testing all collisions (high 32-bit) - Expected 318764.0, actual 319294 (1.002x) (^ 2) +Testing all collisions (low 32-bit) - Expected 318764.0, actual 318911 (1.000x) (^ 1) +Testing all collisions (high 21..46 bits) - Worst is 46 bits: 27/20 (1.382x) (^ 0) +Testing all collisions (low 21..46 bits) - Worst is 35 bits: 40184/39987 (1.005x) (^ 0) + +Keyset 'Sparse' - 1536-byte keys with up to 2 bits set - 75503617 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 178 (1.099x) (^ 3) +Testing all collisions (low 44-bit) - Expected 162.0, actual 157 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 659788.1, actual 659915 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 659788.1, actual 659606 (1.000x) (^ 0) +Testing all collisions (high 22..48 bits) - Worst is 48 bits: 15/10 (1.481x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 30 bits: 2594734/2593496 (1.000x) (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 162.0, actual 170 (1.049x) (^ 1) +Testing all collisions (low 44-bit) - Expected 162.0, actual 201 (1.241x) (^ 9) +Testing all collisions (high 32-bit) - Expected 659788.1, actual 660167 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 659788.1, actual 660142 (1.001x) (^ 1) +Testing all collisions (high 22..48 bits) - Worst is 28 bits: 9691717/9689235 (1.000x) (^ 0) +Testing all collisions (low 22..48 bits) - Worst is 44 bits: 201/162 (1.241x) (^ 4) + +Keyset 'Sparse' - 2048-byte keys with up to 2 bits set - 134225921 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 46-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 46-bit) - Expected 128.0, actual 156 (1.219x) (^ 6) +Testing all collisions (high 32-bit) - Expected 2075728.3, actual 2074727 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2075728.3, actual 2076823 (1.001x) (^ 2) +Testing all collisions (high 23..49 bits) - Worst is 45 bits: 287/256 (1.121x) (^ 0) +Testing all collisions (low 23..49 bits) - Worst is 45 bits: 310/256 (1.211x) (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 46-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 46-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2075728.3, actual 2078587 (1.001x) (^ 5) +Testing all collisions (low 32-bit) - Expected 2075728.3, actual 2076755 (1.000x) (^ 2) +Testing all collisions (high 23..49 bits) - Worst is 32 bits: 2078587/2075728 (1.001x) (^ 1) +Testing all collisions (low 23..49 bits) - Worst is 31 bits: 4111526/4108767 (1.001x) (^ 0) + + +[[[ Keyset 'Permutation' Tests ]]] + +Keyset 'Combination 4-bytes [3 low bits; LE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 185 (1.107x) (^ 3) +Testing all collisions (low 34-bit) - Expected 167.2, actual 162 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 680 (1.017x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 617 (0.923x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 33 bits: 362/334 (1.083x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 27 bits: 21420/21273 (1.007x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 15 bits at bit 100: 0.667x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 144 (0.861x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 144 (0.861x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 628 (0.939x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 668 (0.999x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 28 bits: 10706/10668 (1.004x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 28 bits: 10791/10668 (1.012x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 99: 0.650x (^ 0) + +Keyset 'Combination 4-bytes [3 low bits; BE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 144 (0.861x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 164 (0.981x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 662 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 694 (1.038x) (^ 2) +Testing all collisions (high 19..38 bits) - Worst is 22 bits: 572049/571040 (1.002x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 27 bits: 21570/21273 (1.014x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 15 bits at bit 120: 0.504x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 165 (0.987x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 182 (1.089x) (^ 2) +Testing all collisions (high 32-bit) - Expected 668.6, actual 661 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 696 (1.041x) (^ 2) +Testing all collisions (high 19..38 bits) - Worst is 36 bits: 49/42 (1.172x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 35 bits: 101/84 (1.208x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 10 bits at bit 10: 0.732x (^ 0) + +Keyset 'Combination 4-bytes [3 high bits; LE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 156 (0.933x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 159 (0.951x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 660 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 668.6, actual 629 (0.941x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 30 bits: 2763/2673 (1.034x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 25 bits: 84029/83596 (1.005x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 16 bits at bit 48: 0.496x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 173 (1.035x) (^ 1) +Testing all collisions (low 34-bit) - Expected 167.2, actual 164 (0.981x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 678 (1.014x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 683 (1.022x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 35 bits: 96/84 (1.148x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 37 bits: 30/21 (1.436x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 17 bits at bit 79: 0.496x (^ 0) + +Keyset 'Combination 4-bytes [3 high bits; BE]' - up to 7 blocks from a set of 8 - 2396744 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 181 (1.083x) (^ 2) +Testing all collisions (low 34-bit) - Expected 167.2, actual 142 (0.849x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 676 (1.011x) (^ 1) +Testing all collisions (low 32-bit) - Expected 668.6, actual 638 (0.954x) (^ 0) +Testing all collisions (high 19..38 bits) - Worst is 33 bits: 377/334 (1.128x) (^ 2) +Testing all collisions (low 19..38 bits) - Worst is 37 bits: 24/21 (1.148x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 13 bits at bit 41: 0.543x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 167.2, actual 164 (0.981x) (^ 0) +Testing all collisions (low 34-bit) - Expected 167.2, actual 155 (0.927x) (^ 0) +Testing all collisions (high 32-bit) - Expected 668.6, actual 687 (1.028x) (^ 2) +Testing all collisions (low 32-bit) - Expected 668.6, actual 673 (1.007x) (^ 1) +Testing all collisions (high 19..38 bits) - Worst is 29 bits: 5404/5342 (1.012x) (^ 0) +Testing all collisions (low 19..38 bits) - Worst is 28 bits: 10846/10668 (1.017x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 34: 0.645x (^ 1) + +Keyset 'Combination 4-bytes [3 high+low bits; LE]' - up to 6 blocks from a set of 15 - 12204240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 126 (0.930x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 121 (0.893x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17599 (1.016x) (^ 5) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17372 (1.003x) (^ 1) +Testing all collisions (high 22..42 bits) - Worst is 32 bits: 17599/17323 (1.016x) (^ 1) +Testing all collisions (low 22..42 bits) - Worst is 28 bits: 273784/273272 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 23: 0.667x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 149 (1.100x) (^ 2) +Testing all collisions (low 39-bit) - Expected 135.5, actual 143 (1.056x) (^ 1) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17077 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17364 (1.002x) (^ 1) +Testing all collisions (high 22..42 bits) - Worst is 39 bits: 149/135 (1.100x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 29 bits: 138161/137669 (1.004x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 94: 0.579x (^ 0) + +Keyset 'Combination 4-bytes [3 high+low bits; BE]' - up to 6 blocks from a set of 15 - 12204240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 141 (1.041x) (^ 1) +Testing all collisions (low 39-bit) - Expected 135.5, actual 120 (0.886x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17284 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17507 (1.011x) (^ 3) +Testing all collisions (high 22..42 bits) - Worst is 27 bits: 539251/538416 (1.002x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 29 bits: 138537/137669 (1.006x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 123: 0.585x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 39-bit) - Expected 135.5, actual 131 (0.967x) (^ 0) +Testing all collisions (low 39-bit) - Expected 135.5, actual 114 (0.842x) (^ 0) +Testing all collisions (high 32-bit) - Expected 17322.9, actual 17384 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 17322.9, actual 17412 (1.005x) (^ 1) +Testing all collisions (high 22..42 bits) - Worst is 27 bits: 539626/538416 (1.002x) (^ 0) +Testing all collisions (low 22..42 bits) - Worst is 31 bits: 35027/34613 (1.012x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 13: 0.729x (^ 1) + +Keyset 'Combination 4-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32760 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32298 (0.987x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3576268/3574575 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 23 bits: 9524280/9523881 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 33: 0.662x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32574 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32768 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1934685/1932787 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 18/16 (1.125x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 37: 0.647x (^ 0) + +Keyset 'Combination 4-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32234 (0.985x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32505 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 27/16 (1.688x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514423/513534 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 89: 0.468x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32814 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32714 (1.000x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 28 bits: 514593/513534 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 274/256 (1.070x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 54: 0.639x (^ 3) + +Keyset 'Combination 4-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32561 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32697 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1933562/1932787 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 540/512 (1.055x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 46: 0.683x (^ 4) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32720 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33114 (1.012x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 25 bits: 3578864/3574575 (1.001x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 34 bits: 8441/8189 (1.031x) (^ 4) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 39: 0.533x (^ 0) + +Keyset 'Combination 4-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32940 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32658 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8346/8189 (1.019x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 24 bits: 6175287/6171991 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 127: 0.545x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32398 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32562 (0.995x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1058/1024 (1.033x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 1076/1024 (1.051x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 35: 0.528x (^ 0) + +Keyset 'Combination 8-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 108 (0.844x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32735 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32735 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8345/8189 (1.019x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 75/64 (1.172x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 88: 0.914x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 108 (0.844x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32482 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32729 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1034/1024 (1.010x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 24 bits: 6174109/6171991 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 114: 0.722x (^ 1) + +Keyset 'Combination 8-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 154 (1.203x) (^ 6) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32749 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32571 (0.995x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 154/128 (1.203x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 1074/1024 (1.049x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 20: 0.680x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 104 (0.813x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33012 (1.009x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32651 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4218/4095 (1.030x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260241/259434 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 43: 0.585x (^ 1) + +Keyset 'Combination 8-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32522 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32595 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 38/32 (1.188x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 41/32 (1.281x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 2: 1.055x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 105 (0.820x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32778 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32654 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 23/16 (1.438x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007237/1006217 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 120: 0.755x (^ 1) + +Keyset 'Combination 8-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32781 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32766 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 38/32 (1.188x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1008437/1006217 (1.002x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 111: 0.762x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 141 (1.102x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32639 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33336 (1.019x) (^11) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260063/259434 (1.002x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33336/32725 (1.019x) (^ 6) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 121: 0.728x (^ 0) + +Keyset 'Combination 16-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32582 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32344 (0.988x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 268/256 (1.047x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 22 bits: 12659365/12659731 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 97: 0.795x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32836 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32516 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 131140/130392 (1.006x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 25 bits: 3575955/3574575 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 99: 0.688x (^ 0) + +Keyset 'Combination 16-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32646 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32915 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1933930/1932787 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 277/256 (1.082x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 30: 0.769x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32400 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32672 (0.998x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 2101/2048 (1.026x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 20/16 (1.250x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 33: 0.609x (^ 0) + +Keyset 'Combination 16-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32569 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32524 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 47/32 (1.469x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260715/259434 (1.005x) (^ 3) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 116: 0.776x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32705 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32936 (1.006x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 541/512 (1.057x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16620/16373 (1.015x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 48: 0.808x (^ 0) + +Keyset 'Combination 16-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32995 (1.008x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32898 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16781/16373 (1.025x) (^ 5) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 65745/65366 (1.006x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 11 bits at bit 48: 0.669x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 96 (0.750x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 104 (0.813x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32651 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32860 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 35/32 (1.094x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 4245/4095 (1.037x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 25: 0.821x (^ 5) + +Keyset 'Combination 32-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 146 (1.141x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32838 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32397 (0.990x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16480/16373 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 40 bits: 146/128 (1.141x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 8 bits at bit 99: 0.709x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32883 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32836 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 2165/2048 (1.057x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 26 bits: 1934202/1932787 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 121: 0.553x (^ 0) + +Keyset 'Combination 32-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 120 (0.938x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32621 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33024 (1.009x) (^ 4) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 1007303/1006217 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33024/32725 (1.009x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 19: 0.605x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 135 (1.055x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32598 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32718 (1.000x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 134/128 (1.047x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 36/32 (1.125x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 94: 0.617x (^ 0) + +Keyset 'Combination 32-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33088 (1.011x) (^ 5) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32522 (0.994x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 33088/32725 (1.011x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514232/513534 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 93: 0.676x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 105 (0.820x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32329 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32920 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 23 bits: 9524255/9523881 (1.000x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260209/259434 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 50: 0.691x (^ 0) + +Keyset 'Combination 32-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32916 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32808 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 36 bits: 2132/2048 (1.041x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260154/259434 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 117: 0.443x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32830 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32703 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16495/16373 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 131098/130392 (1.005x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 99: 0.677x (^ 5) + +Keyset 'Combination 64-bytes [0, low bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32705 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33072 (1.011x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 24/16 (1.500x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33072/32725 (1.011x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 112: 0.711x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 134 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32705 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32271 (0.986x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 65869/65366 (1.008x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 565/512 (1.104x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 124: 0.686x (^ 0) + +Keyset 'Combination 64-bytes [0, low bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32624 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32727 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 290/256 (1.133x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260021/259434 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 127: 0.473x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32468 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33097 (1.011x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8213/8189 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33097/32725 (1.011x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 113: 0.581x (^ 0) + +Keyset 'Combination 64-bytes [0, high bit; LE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32878 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32941 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 131109/130392 (1.005x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 260271/259434 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 96: 0.486x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 132 (1.031x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32653 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32856 (1.004x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 29 bits: 260229/259434 (1.003x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 549/512 (1.072x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 101: 0.712x (^ 4) + +Keyset 'Combination 64-bytes [0, high bit; BE]' - up to 23 blocks from a set of 2 - 16777214 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32831 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33056 (1.010x) (^ 4) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 1110/1024 (1.084x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 34 bits: 8388/8189 (1.024x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 32: 0.420x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 160 (1.250x) (^ 8) +Testing all collisions (low 40-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32750 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32806 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 40 bits: 160/128 (1.250x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 32806/32725 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 0: 0.687x (^ 2) + + +[[[ Keyset 'Text' Tests ]]] + +Keyset 'Dict' - dictionary words - 528194 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32.5, actual 28 (0.862x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32.5, actual 56 (1.724x) (^12) +Testing all collisions (high 30-bit) - Expected 129.9, actual 123 (0.947x) (^ 0) +Testing all collisions (low 30-bit) - Expected 129.9, actual 144 (1.109x) (^ 3) +Testing all collisions (high 17..33 bits) - Worst is 28 bits: 520/519 (1.001x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 32 bits: 56/32 (1.724x) (^ 8) +Testing distribution (any 8..16 bits) - Worst bias is 12 bits at bit 28: 0.753x (^ 3) + +Keyset 'TextNum' - numbers in text form without commas - 10000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 181.9, actual 160 (0.880x) (^ 0) +Testing all collisions (low 38-bit) - Expected 181.9, actual 168 (0.924x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11632.5, actual 11620 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11632.5, actual 11630 (1.000x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 36 bits: 756/728 (1.039x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 26 bits: 710670/709389 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 99: 0.660x (^ 0) + +Keyset 'TextNum' - numbers in text form with commas - 10000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 181.9, actual 172 (0.946x) (^ 0) +Testing all collisions (low 38-bit) - Expected 181.9, actual 173 (0.951x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11632.5, actual 11459 (0.985x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11632.5, actual 11671 (1.003x) (^ 1) +Testing all collisions (high 21..42 bits) - Worst is 24 bits: 2467933/2466790 (1.000x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 25 bits: 1354398/1352489 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 72: 0.663x (^ 1) + +Keyset 'Text' - keys of form "FXXXXB" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 93 (0.824x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 114 (1.010x) (^ 1) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28703 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28859 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1714131/1712342 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 43 bits: 18/14 (1.276x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 78: 0.532x (^ 0) + +Keyset 'Text' - keys of form "FBXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 103 (0.913x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 126 (1.117x) (^ 3) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28841 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28863 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 58228/57637 (1.010x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 480/451 (1.063x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 98: 0.673x (^ 0) + +Keyset 'Text' - keys of form "XXXXFB" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 121 (1.072x) (^ 2) +Testing all collisions (low 40-bit) - Expected 112.8, actual 121 (1.072x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28942 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29065 (1.007x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 39 bits: 256/226 (1.134x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 3733/3611 (1.034x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 113: 0.446x (^ 0) + +Keyset 'Text' - keys of form "FooXXXXBar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 120 (1.063x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 108 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28910 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28885 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 24/14 (1.701x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 23 bits: 8648817/8647063 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 0: 0.949x (^ 4) + +Keyset 'Text' - keys of form "FooBarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 113 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 122 (1.081x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29008 (1.005x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28907 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 478/451 (1.059x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 1895/1805 (1.050x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 2: 0.498x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooBar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 94 (0.833x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 104 (0.922x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28902 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28903 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 30 bits: 115446/114993 (1.004x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 890266/889322 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 53: 0.573x (^ 0) + +Keyset 'Text' - keys of form "FooooXXXXBaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 114 (1.010x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 90 (0.798x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28805 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28870 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 38 bits: 476/451 (1.055x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 24 bits: 5537499/5536280 (1.000x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 18 bits at bit 64: 0.566x (^ 1) + +Keyset 'Text' - keys of form "FooooBaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 106 (0.939x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 122 (1.081x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28848 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28863 (1.000x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 57994/57637 (1.006x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 35 bits: 3686/3611 (1.021x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 84: 0.569x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooooBaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 79 (0.700x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 121 (1.072x) (^ 2) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28611 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29022 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 7247/7220 (1.004x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 36 bits: 1886/1805 (1.045x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 12 bits at bit 104: 0.702x (^ 1) + +Keyset 'Text' - keys of form "FooooooXXXXBaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 116 (1.028x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 112 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28877 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28735 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 7285/7220 (1.009x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 37 bits: 983/903 (1.089x) (^ 3) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 83: 0.512x (^ 0) + +Keyset 'Text' - keys of form "FooooooBaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 121 (1.072x) (^ 2) +Testing all collisions (low 40-bit) - Expected 112.8, actual 139 (1.232x) (^ 6) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 29036 (1.006x) (^ 2) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28726 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 14606/14436 (1.012x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 80/56 (1.418x) (^ 4) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 101: 0.559x (^ 1) + +Keyset 'Text' - keys of form "XXXXFooooooBaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 125 (1.108x) (^ 2) +Testing all collisions (low 40-bit) - Expected 112.8, actual 109 (0.966x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28637 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28997 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 891643/889322 (1.003x) (^ 2) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 229406/228869 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 11: 0.941x (^ 4) + +Keyset 'Text' - keys of form "FooooooooXXXXBaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 118 (1.046x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 111 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28712 (0.995x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29095 (1.008x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 986/903 (1.092x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 494/451 (1.094x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 116: 0.587x (^ 0) + +Keyset 'Text' - keys of form "FooooooooBaaaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 110 (0.975x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 109 (0.966x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28801 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28896 (1.001x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 37 bits: 937/903 (1.038x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 30 bits: 115310/114993 (1.003x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 10 bits at bit 46: 0.798x (^ 1) + +Keyset 'Text' - keys of form "XXXXFooooooooBaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 104 (0.922x) (^ 0) +Testing all collisions (low 40-bit) - Expected 112.8, actual 142 (1.258x) (^ 7) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28954 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29105 (1.009x) (^ 3) +Testing all collisions (high 22..43 bits) - Worst is 24 bits: 5539255/5536280 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 39 bits: 271/226 (1.201x) (^ 4) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 122: 0.480x (^ 0) + +Keyset 'Text' - keys of form "FooooooooooXXXXBaaaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 113 (1.000x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 101 (0.895x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28623 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 29206 (1.012x) (^ 5) +Testing all collisions (high 22..43 bits) - Worst is 26 bits: 1713341/1712342 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 34 bits: 7399/7220 (1.025x) (^ 1) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 100: 0.720x (^ 4) + +Keyset 'Text' - keys of form "FooooooooooBaaaaaaaaarXXXX" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 117 (1.037x) (^ 1) +Testing all collisions (low 40-bit) - Expected 112.8, actual 107 (0.948x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28840 (1.000x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28584 (0.991x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 19/14 (1.347x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 479/451 (1.061x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 13 bits at bit 23: 0.575x (^ 0) + +Keyset 'Text' - keys of form "XXXXFooooooooooBaaaaaaaaar" - 15752961 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 112.8, actual 121 (1.072x) (^ 2) +Testing all collisions (low 40-bit) - Expected 112.8, actual 98 (0.868x) (^ 0) +Testing all collisions (high 32-bit) - Expected 28853.8, actual 28795 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 28853.8, actual 28832 (0.999x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 27 bits: 890638/889322 (1.001x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 29 bits: 229295/228869 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 21 bits at bit 9: 0.586x (^ 3) + +Keyset 'Words' - 1-4 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 123 (1.057x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 115 (0.988x) (^ 0) +Testing all collisions (high 18..35 bits) - Worst is 23 bits: 57659/57305 (1.006x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 35 bits: 18/15 (1.237x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 14 bits at bit 49: 0.575x (^ 0) + +Keyset 'Words' - 5-8 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 137 (1.177x) (^ 4) +Testing all collisions (low 32-bit) - Expected 116.4, actual 117 (1.000x) (^ 1) +Testing all collisions (high 18..35 bits) - Worst is 30 bits: 523/466 (1.123x) (^ 3) +Testing all collisions (low 18..35 bits) - Worst is 30 bits: 484/466 (1.040x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 11 bits at bit 19: 0.685x (^ 0) + +Keyset 'Words' - 1-16 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 130 (1.117x) (^ 3) +Testing all collisions (low 32-bit) - Expected 116.4, actual 134 (1.151x) (^ 4) +Testing all collisions (high 18..35 bits) - Worst is 26 bits: 7545/7414 (1.018x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 23 bits: 57781/57305 (1.008x) (^ 1) +Testing distribution (any 8..17 bits) - Worst bias is 17 bits at bit 53: 0.511x (^ 0) + +Keyset 'Words' - 1-32 random chars from alnum charset - 1000000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 116.4, actual 123 (1.057x) (^ 1) +Testing all collisions (low 32-bit) - Expected 116.4, actual 117 (1.000x) (^ 1) +Testing all collisions (high 18..35 bits) - Worst is 28 bits: 1921/1860 (1.033x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 24 bits: 29496/29219 (1.009x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 16 bits at bit 88: 0.513x (^ 0) + +Keyset 'Long' - 1968-2128 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 167 (0.933x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 181 (1.011x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2788 (0.974x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2765 (0.966x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 23 bits: 1216913/1215487 (1.001x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 40 bits: 16/11 (1.430x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 104: 0.664x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 207 (1.156x) (^ 5) +Testing all collisions (low 36-bit) - Expected 179.0, actual 207 (1.156x) (^ 5) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2871 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2901 (1.013x) (^ 2) +Testing all collisions (high 20..40 bits) - Worst is 34 bits: 771/716 (1.077x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 37 bits: 119/89 (1.330x) (^ 4) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 1: 0.523x (^ 0) + +Keyset 'Long' - 1968-2128 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 199 (1.112x) (^ 3) +Testing all collisions (low 36-bit) - Expected 179.0, actual 175 (0.978x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2891 (1.010x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2924 (1.021x) (^ 2) +Testing all collisions (high 20..40 bits) - Worst is 36 bits: 199/179 (1.112x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 31 bits: 5871/5724 (1.026x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 39: 0.405x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 187 (1.045x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 196 (1.095x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2836 (0.991x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2865 (1.001x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 38 bits: 52/45 (1.162x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 24 bits: 667047/665971 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 57: 0.725x (^ 0) + +Keyset 'Long' - 4016-4176 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 182 (1.017x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 182 (1.017x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2933 (1.024x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2886 (1.008x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 32 bits: 2933/2863 (1.024x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 27 bits: 90875/90529 (1.004x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 84: 0.426x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 189 (1.056x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 197 (1.101x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2962 (1.035x) (^ 4) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2891 (1.010x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 32 bits: 2962/2863 (1.035x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 31 bits: 5893/5724 (1.030x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 38: 0.656x (^ 0) + +Keyset 'Long' - 4016-4176 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 194 (1.084x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 181 (1.011x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2843 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2856 (0.998x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 33 bits: 1478/1432 (1.032x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 35 bits: 375/358 (1.048x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 6: 0.969x (^ 3) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 184 (1.028x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 160 (0.894x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2773 (0.969x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2787 (0.973x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 38 bits: 55/45 (1.229x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 28 bits: 45637/45543 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 112: 0.514x (^ 0) + +Keyset 'Long' - 8112-8272 random chars from alnum charset - varying first 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 193 (1.078x) (^ 2) +Testing all collisions (low 36-bit) - Expected 179.0, actual 206 (1.151x) (^ 5) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2841 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2835 (0.990x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 37 bits: 118/89 (1.318x) (^ 4) +Testing all collisions (low 20..40 bits) - Worst is 35 bits: 398/358 (1.112x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 68: 0.622x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 188 (1.050x) (^ 1) +Testing all collisions (low 36-bit) - Expected 179.0, actual 185 (1.034x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2769 (0.967x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2863 (1.000x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 35 bits: 400/358 (1.117x) (^ 1) +Testing all collisions (low 20..40 bits) - Worst is 34 bits: 769/716 (1.074x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 21: 0.714x (^ 1) + +Keyset 'Long' - 8112-8272 random chars from alnum charset - varying last 80 chars - 4960000 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 163 (0.911x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 182 (1.017x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2913 (1.017x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2875 (1.004x) (^ 1) +Testing all collisions (high 20..40 bits) - Worst is 32 bits: 2913/2863 (1.017x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 28 bits: 45806/45543 (1.006x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 46: 0.595x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 179.0, actual 177 (0.989x) (^ 0) +Testing all collisions (low 36-bit) - Expected 179.0, actual 172 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2862.9, actual 2870 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2862.9, actual 2811 (0.982x) (^ 0) +Testing all collisions (high 20..40 bits) - Worst is 25 bits: 350093/349177 (1.003x) (^ 0) +Testing all collisions (low 20..40 bits) - Worst is 28 bits: 45636/45543 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 76: 0.563x (^ 0) + + +[[[ Keyset 'TwoBytes' Tests ]]] + +Keyset 'TwoBytes' - all [2, 20]-byte keys with 1 or 2 non-zero bytes - 86536545 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 106.4, actual 97 (0.911x) (^ 0) +Testing all collisions (low 45-bit) - Expected 106.4, actual 117 (1.099x) (^ 2) +Testing all collisions (high 32-bit) - Expected 865959.1, actual 866674 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 865959.1, actual 864696 (0.999x) (^ 0) +Testing all collisions (high 25..48 bits) - Worst is 33 bits: 435220/434432 (1.002x) (^ 0) +Testing all collisions (low 25..48 bits) - Worst is 44 bits: 245/213 (1.151x) (^ 1) +Testing distribution (any 8..24 bits) - Worst bias is 18 bits at bit 28: 0.523x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 45-bit) - Expected 106.4, actual 109 (1.024x) (^ 1) +Testing all collisions (low 45-bit) - Expected 106.4, actual 116 (1.090x) (^ 2) +Testing all collisions (high 32-bit) - Expected 865959.1, actual 866256 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 865959.1, actual 866812 (1.001x) (^ 2) +Testing all collisions (high 25..48 bits) - Worst is 47 bits: 32/27 (1.203x) (^ 0) +Testing all collisions (low 25..48 bits) - Worst is 40 bits: 3497/3405 (1.027x) (^ 0) +Testing distribution (any 8..24 bits) - Worst bias is 17 bits at bit 106: 0.520x (^ 0) + +Keyset 'TwoBytes' - all 32-byte keys with 1 or 2 non-zero bytes - 32260560 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 118.3, actual 126 (1.065x) (^ 1) +Testing all collisions (low 42-bit) - Expected 118.3, actual 116 (0.980x) (^ 0) +Testing all collisions (high 32-bit) - Expected 120855.7, actual 120782 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 120855.7, actual 121328 (1.004x) (^ 3) +Testing all collisions (high 23..45 bits) - Worst is 36 bits: 7754/7571 (1.024x) (^ 1) +Testing all collisions (low 23..45 bits) - Worst is 32 bits: 121328/120856 (1.004x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 11 bits at bit 97: 0.767x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 118.3, actual 105 (0.887x) (^ 0) +Testing all collisions (low 42-bit) - Expected 118.3, actual 125 (1.056x) (^ 1) +Testing all collisions (high 32-bit) - Expected 120855.7, actual 121303 (1.004x) (^ 3) +Testing all collisions (low 32-bit) - Expected 120855.7, actual 120712 (0.999x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 29 bits: 952602/950142 (1.003x) (^ 2) +Testing all collisions (low 23..45 bits) - Worst is 27 bits: 3587322/3584245 (1.001x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 16 bits at bit 89: 0.671x (^ 2) + +Keyset 'TwoBytes' - all 48-byte keys with 1 or 2 non-zero bytes - 73360440 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 153.0, actual 152 (0.994x) (^ 0) +Testing all collisions (low 44-bit) - Expected 153.0, actual 158 (1.033x) (^ 1) +Testing all collisions (high 32-bit) - Expected 622966.7, actual 622282 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 622966.7, actual 622131 (0.999x) (^ 0) +Testing all collisions (high 24..47 bits) - Worst is 28 bits: 9175319/9170251 (1.001x) (^ 0) +Testing all collisions (low 24..47 bits) - Worst is 36 bits: 39396/39143 (1.006x) (^ 0) +Testing distribution (any 8..23 bits) - Worst bias is 22 bits at bit 98: 0.494x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 44-bit) - Expected 153.0, actual 136 (0.889x) (^ 0) +Testing all collisions (low 44-bit) - Expected 153.0, actual 167 (1.092x) (^ 2) +Testing all collisions (high 32-bit) - Expected 622966.7, actual 623559 (1.001x) (^ 2) +Testing all collisions (low 32-bit) - Expected 622966.7, actual 622050 (0.999x) (^ 0) +Testing all collisions (high 24..47 bits) - Worst is 35 bits: 78789/78259 (1.007x) (^ 0) +Testing all collisions (low 24..47 bits) - Worst is 47 bits: 26/19 (1.360x) (^ 0) +Testing distribution (any 8..23 bits) - Worst bias is 16 bits at bit 19: 0.601x (^ 1) + +Keyset 'OneByte ' - all 1024-byte keys with 1 non-zero byte - 261120 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 7.9, actual 7 (0.882x) (^ 0) +Testing all collisions (low 32-bit) - Expected 7.9, actual 14 (1.764x) (^ 4) +Testing all collisions (high 28-bit) - Expected 127.0, actual 145 (1.142x) (^ 3) +Testing all collisions (low 28-bit) - Expected 127.0, actual 138 (1.087x) (^ 2) +Testing all collisions (high 16..31 bits) - Worst is 25 bits: 1124/1013 (1.109x) (^ 7) +Testing all collisions (low 16..31 bits) - Worst is 30 bits: 44/32 (1.386x) (^ 1) +Testing distribution (any 8..15 bits) - Worst bias is 12 bits at bit 47: 0.563x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 7.9, actual 9 (1.134x) (^ 1) +Testing all collisions (low 32-bit) - Expected 7.9, actual 9 (1.134x) (^ 1) +Testing all collisions (high 28-bit) - Expected 127.0, actual 142 (1.118x) (^ 3) +Testing all collisions (low 28-bit) - Expected 127.0, actual 157 (1.237x) (^ 7) +Testing all collisions (high 16..31 bits) - Worst is 22 bits: 8086/7962 (1.016x) (^ 0) +Testing all collisions (low 16..31 bits) - Worst is 25 bits: 1114/1013 (1.099x) (^ 6) +Testing distribution (any 8..15 bits) - Worst bias is 15 bits at bit 22: 0.613x (^ 1) + +Keyset 'OneByte ' - all 2048-byte keys with 1 non-zero byte - 522240 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 31.7, actual 26 (0.819x) (^ 0) +Testing all collisions (low 32-bit) - Expected 31.7, actual 30 (0.945x) (^ 0) +Testing all collisions (high 30-bit) - Expected 127.0, actual 127 (1.000x) (^ 1) +Testing all collisions (low 30-bit) - Expected 127.0, actual 123 (0.969x) (^ 0) +Testing all collisions (high 17..33 bits) - Worst is 20 bits: 111141/110901 (1.002x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 18 bits: 295925/295851 (1.000x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 10 bits at bit 43: 0.712x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 31.7, actual 31 (0.976x) (^ 0) +Testing all collisions (low 32-bit) - Expected 31.7, actual 28 (0.882x) (^ 0) +Testing all collisions (high 30-bit) - Expected 127.0, actual 117 (0.921x) (^ 0) +Testing all collisions (low 30-bit) - Expected 127.0, actual 113 (0.890x) (^ 0) +Testing all collisions (high 17..33 bits) - Worst is 20 bits: 111184/110901 (1.003x) (^ 0) +Testing all collisions (low 17..33 bits) - Worst is 21 bits: 60062/59947 (1.002x) (^ 0) +Testing distribution (any 8..16 bits) - Worst bias is 8 bits at bit 79: 0.845x (^ 1) + +Keyset 'OneByte ' - all 4096-byte keys with 1 non-zero byte - 1044480 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 127.0, actual 124 (0.976x) (^ 0) +Testing all collisions (low 32-bit) - Expected 127.0, actual 133 (1.047x) (^ 1) +Testing all collisions (high 18..35 bits) - Worst is 34 bits: 35/32 (1.102x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 25 bits: 16239/16089 (1.009x) (^ 0) +Testing distribution (any 8..17 bits) - Worst bias is 14 bits at bit 105: 0.520x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 32-bit) - Expected 127.0, actual 126 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 127.0, actual 137 (1.079x) (^ 2) +Testing all collisions (high 18..35 bits) - Worst is 23 bits: 62737/62408 (1.005x) (^ 0) +Testing all collisions (low 18..35 bits) - Worst is 35 bits: 27/16 (1.701x) (^ 2) +Testing distribution (any 8..17 bits) - Worst bias is 9 bits at bit 91: 0.766x (^ 0) + + +[[[ Keyset 'PerlinNoise' Tests ]]] + +Generating coordinates from 2-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32655 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32601 (0.996x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 42 bits: 42/32 (1.313x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 27 bits: 1007053/1006217 (1.001x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 102: 0.572x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 146 (1.141x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32969 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32284 (0.987x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 32 bits: 32969/32725 (1.007x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 38 bits: 549/512 (1.072x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 34: 0.860x (^ 2) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33022 (1.009x) (^ 4) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 33152 (1.013x) (^ 6) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4271/4095 (1.043x) (^ 3) +Testing all collisions (low 22..43 bits) - Worst is 32 bits: 33152/32725 (1.013x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 17 bits at bit 48: 0.587x (^ 1) + +Generating coordinates from 4-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32409 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32836 (1.003x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 17/16 (1.063x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 33 bits: 16674/16373 (1.018x) (^ 2) +Testing distribution (any 8..21 bits) - Worst bias is 16 bits at bit 57: 0.612x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 163 (1.273x) (^ 9) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32956 (1.007x) (^ 3) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32801 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 35 bits: 4225/4095 (1.032x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 94/64 (1.469x) (^ 7) +Testing distribution (any 8..21 bits) - Worst bias is 15 bits at bit 124: 0.603x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32625 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32499 (0.993x) (^ 0) +Testing all collisions (high 22..43 bits) - Worst is 43 bits: 22/16 (1.375x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 41 bits: 75/64 (1.172x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 67: 0.509x (^ 0) + +Generating coordinates from 8-byte keys - 16777216 keys +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 40-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32728 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32876 (1.005x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 31 bits: 65623/65366 (1.004x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 31 bits: 65738/65366 (1.006x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 20 bits at bit 39: 0.478x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 40-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 33076 (1.011x) (^ 5) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32923 (1.006x) (^ 2) +Testing all collisions (high 22..43 bits) - Worst is 33 bits: 16656/16373 (1.017x) (^ 1) +Testing all collisions (low 22..43 bits) - Worst is 28 bits: 514775/513534 (1.002x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 9 bits at bit 11: 0.721x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (low 40-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (high 32-bit) - Expected 32725.4, actual 32677 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 32725.4, actual 32788 (1.002x) (^ 1) +Testing all collisions (high 22..43 bits) - Worst is 34 bits: 8357/8189 (1.020x) (^ 0) +Testing all collisions (low 22..43 bits) - Worst is 42 bits: 38/32 (1.188x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 19 bits at bit 25: 0.548x (^ 1) + + +[[[ Keyset 'Bitflip' Tests ]]] + +Testing 3-byte keys, 2097152 reps.................... 0 failed, worst is key bit 19 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 155 (1.211x) (^ 6) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2112 (1.032x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2103 (1.027x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 33008/32598 (1.013x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 36 bits: 155/128 (1.211x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 50: 0.732x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.0, actual 143 (1.117x) (^ 3) +Testing all collisions (high 32-bit) - Expected 511.9, actual 520 (1.016x) (^ 1) +Testing all collisions (low 32-bit) - Expected 511.9, actual 514 (1.004x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 26 bits: 32607/32429 (1.005x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 26 bits: 32854/32429 (1.013x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 48: 0.554x (^ 1) + +Testing 4-byte keys, 2097152 reps.................... 0 failed, worst is key bit 9 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2108 (1.030x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2115 (1.033x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2108/2047 (1.030x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2115/2047 (1.033x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 90: 0.672x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 152 (1.188x) (^ 5) +Testing all collisions (low 34-bit) - Expected 128.0, actual 112 (0.875x) (^ 0) +Testing all collisions (high 32-bit) - Expected 511.9, actual 554 (1.082x) (^ 4) +Testing all collisions (low 32-bit) - Expected 511.9, actual 515 (1.006x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 26 bits: 32884/32429 (1.014x) (^ 3) +Testing all collisions (low 19..37 bits) - Worst is 26 bits: 32680/32429 (1.008x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 20: 0.658x (^ 1) + +Testing 8-byte keys, 2097152 reps.................... 0 failed, worst is key bit 51 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2175 (1.062x) (^ 8) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1981 (0.968x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2175/2047 (1.062x) (^ 4) +Testing all collisions (low 20..39 bits) - Worst is 22 bits: 1544301/1542998 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 82: 0.684x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 34-bit) - Expected 128.0, actual 148 (1.156x) (^ 4) +Testing all collisions (high 32-bit) - Expected 511.9, actual 515 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 511.9, actual 532 (1.039x) (^ 2) +Testing all collisions (high 19..37 bits) - Worst is 23 bits: 242731/241598 (1.005x) (^ 2) +Testing all collisions (low 19..37 bits) - Worst is 33 bits: 292/256 (1.141x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 1: 0.816x (^ 1) + +Testing 20-byte keys, 2097152 reps.................... 0 failed, worst is key bit 13 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 151 (1.180x) (^ 5) +Testing all collisions (low 36-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2124 (1.037x) (^ 4) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2067 (1.010x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 39 bits: 27/16 (1.688x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 86/64 (1.344x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 39: 0.833x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (high 32-bit) - Expected 511.9, actual 515 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 511.9, actual 532 (1.039x) (^ 2) +Testing all collisions (high 19..37 bits) - Worst is 31 bits: 1067/1024 (1.042x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 29 bits: 4265/4091 (1.043x) (^ 3) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 82: 0.796x (^ 0) + +Testing 32-byte keys, 2097152 reps.................... 0 failed, worst is key bit 187 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2187 (1.068x) (^ 9) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2030 (0.992x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2187/2047 (1.068x) (^ 5) +Testing all collisions (low 20..39 bits) - Worst is 29 bits: 16650/16341 (1.019x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 87: 0.693x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 34-bit) - Expected 128.0, actual 160 (1.250x) (^ 8) +Testing all collisions (high 32-bit) - Expected 511.9, actual 513 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 511.9, actual 554 (1.082x) (^ 4) +Testing all collisions (high 19..37 bits) - Worst is 33 bits: 266/256 (1.039x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 34 bits: 160/128 (1.250x) (^ 3) +Testing distribution (any 8..18 bits) - Worst bias is 11 bits at bit 53: 0.610x (^ 0) + + +[[[ Seed 'Zeroes' Tests ]]] + +Keyset 'SeedZeroes' - up to 1280-byte keys, seeds with up to 2 set bits - 4160 seeds - 5324800 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 103.1, actual 107 (1.037x) (^ 1) +Testing all collisions (low 37-bit) - Expected 103.1, actual 115 (1.115x) (^ 2) +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3347 (1.014x) (^ 2) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3321 (1.007x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 24 bits: 764128/762269 (1.002x) (^ 1) +Testing all collisions (low 21..40 bits) - Worst is 38 bits: 68/52 (1.318x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 111: 0.686x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 103.1, actual 103 (1.000x) (^ 0) +Testing all collisions (low 37-bit) - Expected 103.1, actual 108 (1.047x) (^ 1) +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3193 (0.968x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3291 (0.997x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 30 bits: 13294/13181 (1.009x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 29 bits: 26453/26319 (1.005x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 8: 0.601x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 103.1, actual 116 (1.125x) (^ 3) +Testing all collisions (low 37-bit) - Expected 103.1, actual 91 (0.882x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3299.4, actual 3343 (1.013x) (^ 2) +Testing all collisions (low 32-bit) - Expected 3299.4, actual 3253 (0.986x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 36 bits: 227/206 (1.100x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 22 bits: 2309338/2308941 (1.000x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 122: 0.739x (^ 0) + +Keyset 'SeedZeroes' - up to 8448-byte keys, seeds with up to 2 set bits - 4160 seeds - 35143680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 140.4, actual 140 (1.000x) (^ 0) +Testing all collisions (low 42-bit) - Expected 140.4, actual 128 (0.912x) (^ 0) +Testing all collisions (high 32-bit) - Expected 143390.7, actual 143147 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143417 (1.000x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 36 bits: 9177/8985 (1.021x) (^ 1) +Testing all collisions (low 23..45 bits) - Worst is 36 bits: 9077/8985 (1.010x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 10 bits at bit 86: 0.738x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (low 42-bit) - Expected 140.4, actual 134 (0.954x) (^ 0) +Testing all collisions (high 32-bit) - Expected 143390.7, actual 142848 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143406 (1.000x) (^ 1) +Testing all collisions (high 23..45 bits) - Worst is 41 bits: 309/281 (1.100x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 39 bits: 1157/1123 (1.030x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 21 bits at bit 60: 0.394x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 140.4, actual 146 (1.040x) (^ 1) +Testing all collisions (low 42-bit) - Expected 140.4, actual 137 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 143390.7, actual 143177 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 143390.7, actual 143272 (0.999x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 44 bits: 39/35 (1.111x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 33 bits: 71999/71793 (1.003x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 14 bits at bit 19: 0.751x (^ 3) + + +[[[ Keyset 'SeedSparse' Tests ]]] + +Keyset 'SeedSparse' - 2-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 121 (0.965x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 128 (1.021x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8052 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8140 (1.015x) (^ 3) +Testing all collisions (high 21..41 bits) - Worst is 36 bits: 552/502 (1.100x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 32 bits: 8140/8022 (1.015x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 59: 0.631x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 134 (1.068x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 114 (0.909x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8158 (1.017x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7940 (0.990x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8158/8022 (1.017x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 25 bits: 948861/947681 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 7: 0.951x (^ 7) + +Keyset 'SeedSparse' - 3-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 133 (1.060x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 124 (0.989x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8084 (1.008x) (^ 2) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7892 (0.984x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 36 bits: 545/502 (1.086x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 40 bits: 42/31 (1.340x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 27: 0.596x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 126 (1.005x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 131 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8102 (1.010x) (^ 2) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7972 (0.994x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 40 bits: 38/31 (1.212x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 36 bits: 527/502 (1.051x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 11 bits at bit 87: 0.714x (^ 1) + +Keyset 'SeedSparse' - 6-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 135 (1.076x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 107 (0.853x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8015 (0.999x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8043 (1.003x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 40 bits: 43/31 (1.371x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 4128/4012 (1.029x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 87: 0.587x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 126 (1.005x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 140 (1.116x) (^ 3) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8139 (1.015x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8029 (1.001x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 29 bits: 64502/63885 (1.010x) (^ 2) +Testing all collisions (low 21..41 bits) - Worst is 36 bits: 540/502 (1.076x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 61: 0.540x (^ 0) + +Keyset 'SeedSparse' - 15-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 132 (1.052x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 159 (1.268x) (^ 8) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8008 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8182 (1.020x) (^ 4) +Testing all collisions (high 21..41 bits) - Worst is 26 bits: 494450/493171 (1.003x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 39 bits: 92/63 (1.467x) (^ 7) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 83: 0.576x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 115 (0.917x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 133 (1.060x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7958 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8149 (1.016x) (^ 3) +Testing all collisions (high 21..41 bits) - Worst is 29 bits: 64277/63885 (1.006x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 31 bits: 16298/16033 (1.017x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 12 bits at bit 117: 0.715x (^ 1) + +Keyset 'SeedSparse' - 18-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 127 (1.013x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 120 (0.957x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7968 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7983 (0.995x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 23 bits: 3034224/3032441 (1.001x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 494529/493171 (1.003x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 16: 1.051x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 131 (1.045x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 118 (0.941x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7861 (0.980x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8186 (1.020x) (^ 4) +Testing all collisions (high 21..41 bits) - Worst is 22 bits: 4689689/4688584 (1.000x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 34 bits: 2093/2006 (1.043x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 69: 0.682x (^ 1) + +Keyset 'SeedSparse' - 31-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 141 (1.124x) (^ 3) +Testing all collisions (low 38-bit) - Expected 125.4, actual 118 (0.941x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7976 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7972 (0.994x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 35 bits: 1069/1003 (1.066x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 40 bits: 38/31 (1.212x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 1: 0.665x (^ 2) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 116 (0.925x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 137 (1.092x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8165 (1.018x) (^ 4) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8101 (1.010x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 30 bits: 32511/32025 (1.015x) (^ 3) +Testing all collisions (low 21..41 bits) - Worst is 25 bits: 949380/947681 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 30: 0.504x (^ 0) + +Keyset 'SeedSparse' - 52-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 125 (1.000x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 122 (0.973x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8072 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8035 (1.002x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 28 bits: 127558/127116 (1.003x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 23 bits: 3036095/3032441 (1.001x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 76: 0.647x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 126 (1.005x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 143 (1.140x) (^ 3) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7899 (0.985x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8147 (1.016x) (^ 3) +Testing all collisions (high 21..41 bits) - Worst is 28 bits: 127765/127116 (1.005x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 31 bits: 16265/16033 (1.014x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 98: 0.516x (^ 0) + +Keyset 'SeedSparse' - 80-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 118 (0.941x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 135 (1.076x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7975 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8115 (1.012x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 26 bits: 494267/493171 (1.002x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 37 bits: 283/251 (1.128x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 108: 0.608x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 132 (1.052x) (^ 1) +Testing all collisions (low 38-bit) - Expected 125.4, actual 119 (0.949x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8060 (1.005x) (^ 1) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8138 (1.014x) (^ 3) +Testing all collisions (high 21..41 bits) - Worst is 31 bits: 16257/16033 (1.014x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 494370/493171 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 53: 0.543x (^ 1) + +Keyset 'SeedSparse' - 200-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 137 (1.092x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 106 (0.845x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7960 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8013 (0.999x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 41 bits: 21/16 (1.340x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 27 bits: 252866/251644 (1.005x) (^ 2) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 75: 0.512x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 106 (0.845x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 116 (0.925x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7976 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8138 (1.014x) (^ 3) +Testing all collisions (high 21..41 bits) - Worst is 27 bits: 252168/251644 (1.002x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 4108/4012 (1.024x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 8 bits at bit 63: 0.672x (^ 0) + +Keyset 'SeedSparse' - 1025-byte keys - seeds with up to 5 bits set - 8303633 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 138 (1.100x) (^ 2) +Testing all collisions (low 38-bit) - Expected 125.4, actual 115 (0.917x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 8146 (1.015x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 7975 (0.994x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 8146/8022 (1.015x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 29 bits: 64354/63885 (1.007x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 90: 0.818x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 125.4, actual 124 (0.989x) (^ 0) +Testing all collisions (low 38-bit) - Expected 125.4, actual 138 (1.100x) (^ 2) +Testing all collisions (high 32-bit) - Expected 8021.7, actual 7896 (0.984x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8021.7, actual 8079 (1.007x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 35 bits: 1016/1003 (1.013x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 36 bits: 547/502 (1.090x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 17: 0.497x (^ 0) + + +[[[ Seed BlockLength Tests ]]] + +Seeds have up to 2 bits set, 4-byte blocks have up to 2 bits set + +Keyset 'SeedBlockLen' - 8-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 134 (0.954x) (^ 0) +Testing all collisions (low 34-bit) - Expected 140.4, actual 141 (1.004x) (^ 1) +Testing all collisions (high 32-bit) - Expected 561.6, actual 573 (1.020x) (^ 1) +Testing all collisions (low 32-bit) - Expected 561.6, actual 568 (1.011x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 32 bits: 573/562 (1.020x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 21 bits: 835468/835138 (1.000x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 18 bits at bit 20: 0.613x (^ 2) + +Keyset 'SeedBlockLen' - 9-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 124 (0.883x) (^ 0) +Testing all collisions (low 34-bit) - Expected 140.4, actual 125 (0.890x) (^ 0) +Testing all collisions (high 32-bit) - Expected 561.6, actual 555 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 561.6, actual 546 (0.972x) (^ 0) +Testing all collisions (high 19..37 bits) - Worst is 31 bits: 1166/1123 (1.038x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 24 bits: 138974/137707 (1.009x) (^ 7) +Testing distribution (any 8..18 bits) - Worst bias is 9 bits at bit 104: 0.691x (^ 0) + +Keyset 'SeedBlockLen' - 10-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 134 (0.954x) (^ 0) +Testing all collisions (low 34-bit) - Expected 140.4, actual 130 (0.926x) (^ 0) +Testing all collisions (high 32-bit) - Expected 561.6, actual 547 (0.974x) (^ 0) +Testing all collisions (low 32-bit) - Expected 561.6, actual 573 (1.020x) (^ 1) +Testing all collisions (high 19..37 bits) - Worst is 30 bits: 2289/2245 (1.020x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 32 bits: 573/562 (1.020x) (^ 0) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 61: 0.898x (^ 2) + +Keyset 'SeedBlockLen' - 11-byte keys with block at offsets [0..4, by 4s] - 2196480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 34-bit) - Expected 140.4, actual 145 (1.033x) (^ 1) +Testing all collisions (low 34-bit) - Expected 140.4, actual 145 (1.033x) (^ 1) +Testing all collisions (high 32-bit) - Expected 561.6, actual 579 (1.031x) (^ 2) +Testing all collisions (low 32-bit) - Expected 561.6, actual 548 (0.976x) (^ 0) +Testing all collisions (high 19..37 bits) - Worst is 35 bits: 82/70 (1.168x) (^ 0) +Testing all collisions (low 19..37 bits) - Worst is 29 bits: 4652/4487 (1.037x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 52: 0.611x (^ 0) + +Keyset 'SeedBlockLen' - 12-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 150 (0.950x) (^ 0) +Testing all collisions (low 35-bit) - Expected 158.0, actual 158 (1.000x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1295 (1.025x) (^ 2) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1275 (1.009x) (^ 1) +Testing all collisions (high 20..38 bits) - Worst is 31 bits: 2645/2526 (1.047x) (^ 2) +Testing all collisions (low 20..38 bits) - Worst is 29 bits: 10263/10089 (1.017x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 13: 0.661x (^ 0) + +Keyset 'SeedBlockLen' - 13-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 178 (1.127x) (^ 3) +Testing all collisions (low 35-bit) - Expected 158.0, actual 164 (1.038x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1278 (1.012x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1189 (0.941x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 35 bits: 178/158 (1.127x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 24 bits: 303633/303333 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 111: 0.498x (^ 0) + +Keyset 'SeedBlockLen' - 14-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 162 (1.026x) (^ 1) +Testing all collisions (low 35-bit) - Expected 158.0, actual 165 (1.045x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1250 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1246 (0.986x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 23 bits: 570392/570016 (1.001x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 38 bits: 28/20 (1.418x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 29: 0.692x (^ 0) + +Keyset 'SeedBlockLen' - 15-byte keys with block at offsets [0..8, by 4s] - 3294720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 158.0, actual 186 (1.178x) (^ 5) +Testing all collisions (low 35-bit) - Expected 158.0, actual 160 (1.013x) (^ 1) +Testing all collisions (high 32-bit) - Expected 1263.4, actual 1388 (1.099x) (^11) +Testing all collisions (low 32-bit) - Expected 1263.4, actual 1317 (1.042x) (^ 3) +Testing all collisions (high 20..38 bits) - Worst is 32 bits: 1388/1263 (1.099x) (^ 7) +Testing all collisions (low 20..38 bits) - Worst is 33 bits: 676/632 (1.070x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 11: 0.490x (^ 0) + +Keyset 'SeedBlockLen' - 16-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 141 (1.004x) (^ 1) +Testing all collisions (low 36-bit) - Expected 140.4, actual 134 (0.954x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2208 (0.983x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2137 (0.952x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 37 bits: 76/70 (1.083x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 23 bits: 974073/973224 (1.001x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 10 bits at bit 65: 0.704x (^ 0) + +Keyset 'SeedBlockLen' - 17-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 144 (1.026x) (^ 1) +Testing all collisions (low 36-bit) - Expected 140.4, actual 137 (0.976x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2218 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2251 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 35 bits: 292/281 (1.040x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 30 bits: 9188/8974 (1.024x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 107: 0.484x (^ 0) + +Keyset 'SeedBlockLen' - 18-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 160 (1.140x) (^ 4) +Testing all collisions (low 36-bit) - Expected 140.4, actual 121 (0.862x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2254 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2179 (0.970x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 18190/17924 (1.015x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 26 bits: 141098/140695 (1.003x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 36: 0.602x (^ 0) + +Keyset 'SeedBlockLen' - 19-byte keys with block at offsets [0..12, by 4s] - 4392960 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 140.4, actual 140 (1.000x) (^ 0) +Testing all collisions (low 36-bit) - Expected 140.4, actual 156 (1.111x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2245.8, actual 2164 (0.964x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2245.8, actual 2320 (1.033x) (^ 4) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 529088/528052 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2320/2246 (1.033x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 29: 0.580x (^ 0) + +Keyset 'SeedBlockLen' - 20-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 113 (1.030x) (^ 1) +Testing all collisions (low 37-bit) - Expected 109.7, actual 98 (0.893x) (^ 0) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3481 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3426 (0.976x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 36 bits: 240/219 (1.094x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 25 bits: 426882/425779 (1.003x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 9 bits at bit 94: 0.772x (^ 0) + +Keyset 'SeedBlockLen' - 21-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 104 (0.948x) (^ 0) +Testing all collisions (low 37-bit) - Expected 109.7, actual 140 (1.276x) (^ 8) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3428 (0.977x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3563 (1.015x) (^ 2) +Testing all collisions (high 21..40 bits) - Worst is 26 bits: 219094/218655 (1.002x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 37 bits: 140/110 (1.276x) (^ 4) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 124: 0.554x (^ 0) + +Keyset 'SeedBlockLen' - 22-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 120 (1.094x) (^ 2) +Testing all collisions (low 37-bit) - Expected 109.7, actual 124 (1.130x) (^ 3) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3473 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3490 (0.995x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 37 bits: 120/110 (1.094x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 28 bits: 56259/55784 (1.009x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 26: 0.610x (^ 1) + +Keyset 'SeedBlockLen' - 23-byte keys with block at offsets [0..16, by 4s] - 5491200 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 109.7, actual 112 (1.021x) (^ 1) +Testing all collisions (low 37-bit) - Expected 109.7, actual 124 (1.130x) (^ 3) +Testing all collisions (high 32-bit) - Expected 3508.8, actual 3473 (0.990x) (^ 0) +Testing all collisions (low 32-bit) - Expected 3508.8, actual 3543 (1.010x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 38 bits: 64/55 (1.167x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 29 bits: 28352/27987 (1.013x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 127: 0.662x (^ 1) + +Keyset 'SeedBlockLen' - 24-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 153 (0.969x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 167 (1.057x) (^ 1) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5154 (1.020x) (^ 3) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5081 (1.006x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 32 bits: 5154/5052 (1.020x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 33 bits: 2611/2527 (1.033x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 12 bits at bit 34: 0.562x (^ 0) + +Keyset 'SeedBlockLen' - 25-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 164 (1.038x) (^ 1) +Testing all collisions (low 37-bit) - Expected 158.0, actual 159 (1.007x) (^ 1) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5131 (1.016x) (^ 2) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 4988 (0.987x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 25 bits: 607972/606665 (1.002x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 40 bits: 23/20 (1.165x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 72: 0.536x (^ 0) + +Keyset 'SeedBlockLen' - 26-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 152 (0.962x) (^ 0) +Testing all collisions (low 37-bit) - Expected 158.0, actual 173 (1.095x) (^ 2) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5022 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 5067 (1.003x) (^ 1) +Testing all collisions (high 21..40 bits) - Worst is 24 bits: 1140465/1140031 (1.000x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 38 bits: 109/79 (1.380x) (^ 5) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 63: 0.639x (^ 2) + +Keyset 'SeedBlockLen' - 27-byte keys with block at offsets [0..20, by 4s] - 6589440 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 37-bit) - Expected 158.0, actual 164 (1.038x) (^ 1) +Testing all collisions (low 37-bit) - Expected 158.0, actual 143 (0.905x) (^ 0) +Testing all collisions (high 32-bit) - Expected 5052.3, actual 5110 (1.011x) (^ 2) +Testing all collisions (low 32-bit) - Expected 5052.3, actual 4976 (0.985x) (^ 0) +Testing all collisions (high 21..40 bits) - Worst is 33 bits: 2618/2527 (1.036x) (^ 0) +Testing all collisions (low 21..40 bits) - Worst is 25 bits: 607246/606665 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 127: 0.678x (^ 0) + +Keyset 'SeedBlockLen' - 28-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 105 (0.977x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 92 (0.856x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 7043 (1.024x) (^ 5) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6792 (0.988x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 7043/6876 (1.024x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 25 bits: 818392/817091 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 7: 0.615x (^ 2) + +Keyset 'SeedBlockLen' - 29-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 95 (0.884x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 121 (1.126x) (^ 3) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6899 (1.003x) (^ 1) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6950 (1.011x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 35 bits: 882/860 (1.026x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 3533/3439 (1.027x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 19 bits at bit 51: 0.529x (^ 0) + +Keyset 'SeedBlockLen' - 30-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 107 (0.995x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 104 (0.967x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6706 (0.975x) (^ 0) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6912 (1.005x) (^ 1) +Testing all collisions (high 21..41 bits) - Worst is 24 bits: 1521077/1520500 (1.000x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 36 bits: 473/430 (1.100x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 20 bits at bit 73: 0.530x (^ 1) + +Keyset 'SeedBlockLen' - 31-byte keys with block at offsets [0..24, by 4s] - 7687680 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 107.5, actual 103 (0.958x) (^ 0) +Testing all collisions (low 38-bit) - Expected 107.5, actual 87 (0.809x) (^ 0) +Testing all collisions (high 32-bit) - Expected 6876.1, actual 6936 (1.009x) (^ 2) +Testing all collisions (low 32-bit) - Expected 6876.1, actual 6802 (0.989x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 30 bits: 27864/27455 (1.015x) (^ 2) +Testing all collisions (low 21..41 bits) - Worst is 26 bits: 424629/423989 (1.002x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 15 bits at bit 106: 0.577x (^ 0) + +Keyset 'SeedBlockLen' - 32-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 131 (0.933x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 121 (0.862x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9095 (1.013x) (^ 3) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8904 (0.992x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 31 bits: 18243/17948 (1.016x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 36048/35848 (1.006x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 88: 0.539x (^ 0) + +Keyset 'SeedBlockLen' - 33-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 139 (0.990x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 141 (1.004x) (^ 1) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9080 (1.011x) (^ 2) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 9128 (1.016x) (^ 4) +Testing all collisions (high 21..41 bits) - Worst is 32 bits: 9080/8980 (1.011x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 33 bits: 4623/4492 (1.029x) (^ 1) +Testing distribution (any 8..20 bits) - Worst bias is 18 bits at bit 52: 0.498x (^ 0) + +Keyset 'SeedBlockLen' - 34-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 131 (0.933x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 121 (0.862x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 8926 (0.994x) (^ 0) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 8855 (0.986x) (^ 0) +Testing all collisions (high 21..41 bits) - Worst is 41 bits: 21/18 (1.196x) (^ 0) +Testing all collisions (low 21..41 bits) - Worst is 22 bits: 5108687/5107951 (1.000x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 16 bits at bit 42: 0.616x (^ 1) + +Keyset 'SeedBlockLen' - 35-byte keys with block at offsets [0..28, by 4s] - 8785920 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (low 38-bit) - Expected 140.4, actual 136 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 8980.3, actual 9045 (1.007x) (^ 2) +Testing all collisions (low 32-bit) - Expected 8980.3, actual 9076 (1.011x) (^ 2) +Testing all collisions (high 21..41 bits) - Worst is 31 bits: 18228/17948 (1.016x) (^ 1) +Testing all collisions (low 21..41 bits) - Worst is 30 bits: 36125/35848 (1.008x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 14 bits at bit 84: 0.547x (^ 0) + +Keyset 'SeedBlockLen' - 36-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 182 (1.024x) (^ 1) +Testing all collisions (low 38-bit) - Expected 177.7, actual 185 (1.041x) (^ 1) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11289 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11441 (1.007x) (^ 2) +Testing all collisions (high 21..42 bits) - Worst is 42 bits: 15/11 (1.351x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 39 bits: 102/89 (1.148x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 10 bits at bit 57: 0.694x (^ 0) + +Keyset 'SeedBlockLen' - 37-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 158 (0.889x) (^ 0) +Testing all collisions (low 38-bit) - Expected 177.7, actual 194 (1.092x) (^ 3) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11093 (0.976x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11364 (1.000x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 35 bits: 1444/1422 (1.016x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 33 bits: 5779/5685 (1.017x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 17 bits at bit 11: 0.521x (^ 0) + +Keyset 'SeedBlockLen' - 38-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 201 (1.131x) (^ 4) +Testing all collisions (low 38-bit) - Expected 177.7, actual 174 (0.979x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11382 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11420 (1.005x) (^ 1) +Testing all collisions (high 21..42 bits) - Worst is 36 bits: 791/711 (1.113x) (^ 4) +Testing all collisions (low 21..42 bits) - Worst is 31 bits: 22834/22712 (1.005x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 50: 0.604x (^ 0) + +Keyset 'SeedBlockLen' - 39-byte keys with block at offsets [0..32, by 4s] - 9884160 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 38-bit) - Expected 177.7, actual 170 (0.957x) (^ 0) +Testing all collisions (low 38-bit) - Expected 177.7, actual 177 (0.996x) (^ 0) +Testing all collisions (high 32-bit) - Expected 11364.7, actual 11244 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 11364.7, actual 11293 (0.994x) (^ 0) +Testing all collisions (high 21..42 bits) - Worst is 27 bits: 355755/355176 (1.002x) (^ 0) +Testing all collisions (low 21..42 bits) - Worst is 25 bits: 1324020/1322784 (1.001x) (^ 0) +Testing distribution (any 8..20 bits) - Worst bias is 13 bits at bit 109: 0.648x (^ 0) + + +[[[ Seed BlockOffset Tests ]]] + +Seeds have up to 2 bits set, 4-byte blocks have up to 2 bits set + +Keyset 'SeedBlockOffset' - [4..31]-byte keys with block at offset 0 - 30750720 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 42-bit) - Expected 107.5, actual 91 (0.846x) (^ 0) +Testing all collisions (low 42-bit) - Expected 107.5, actual 105 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 109820.9, actual 110101 (1.003x) (^ 2) +Testing all collisions (low 32-bit) - Expected 109820.9, actual 109403 (0.996x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 34 bits: 27901/27504 (1.014x) (^ 2) +Testing all collisions (low 23..45 bits) - Worst is 45 bits: 18/13 (1.339x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 15 bits at bit 35: 0.735x (^ 4) + +Keyset 'SeedBlockOffset' - [5..31]-byte keys with block at offset 1 - 29652480 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 199.9, actual 178 (0.890x) (^ 0) +Testing all collisions (low 41-bit) - Expected 199.9, actual 179 (0.895x) (^ 0) +Testing all collisions (high 32-bit) - Expected 102125.3, actual 101909 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 102125.3, actual 101388 (0.993x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 34 bits: 25854/25575 (1.011x) (^ 0) +Testing all collisions (low 23..45 bits) - Worst is 45 bits: 21/12 (1.681x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 10 bits at bit 31: 0.778x (^ 1) + +Keyset 'SeedBlockOffset' - [6..31]-byte keys with block at offset 2 - 28554240 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 185.4, actual 190 (1.025x) (^ 1) +Testing all collisions (low 41-bit) - Expected 185.4, actual 194 (1.046x) (^ 1) +Testing all collisions (high 32-bit) - Expected 94708.6, actual 94484 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 94708.6, actual 94325 (0.996x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 34 bits: 24014/23717 (1.013x) (^ 1) +Testing all collisions (low 23..45 bits) - Worst is 45 bits: 21/12 (1.812x) (^ 2) +Testing distribution (any 8..22 bits) - Worst bias is 18 bits at bit 125: 0.531x (^ 0) + +Keyset 'SeedBlockOffset' - [7..31]-byte keys with block at offset 3 - 27456000 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 171.4, actual 204 (1.190x) (^ 6) +Testing all collisions (low 41-bit) - Expected 171.4, actual 170 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 87570.9, actual 87760 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 87570.9, actual 87261 (0.996x) (^ 0) +Testing all collisions (high 23..45 bits) - Worst is 37 bits: 2960/2742 (1.079x) (^11) +Testing all collisions (low 23..45 bits) - Worst is 36 bits: 5626/5484 (1.026x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 20 bits at bit 93: 0.617x (^ 3) + +Keyset 'SeedBlockOffset' - [8..31]-byte keys with block at offset 4 - 26357760 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 158.0, actual 168 (1.064x) (^ 2) +Testing all collisions (low 41-bit) - Expected 158.0, actual 145 (0.918x) (^ 0) +Testing all collisions (high 32-bit) - Expected 80712.2, actual 81198 (1.006x) (^ 4) +Testing all collisions (low 32-bit) - Expected 80712.2, actual 80426 (0.996x) (^ 0) +Testing all collisions (high 23..44 bits) - Worst is 35 bits: 10329/10107 (1.022x) (^ 1) +Testing all collisions (low 23..44 bits) - Worst is 44 bits: 22/20 (1.114x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 10 bits at bit 97: 0.676x (^ 0) + +Keyset 'SeedBlockOffset' - [9..31]-byte keys with block at offset 5 - 25259520 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 145.1, actual 141 (0.972x) (^ 0) +Testing all collisions (low 41-bit) - Expected 145.1, actual 147 (1.013x) (^ 1) +Testing all collisions (high 32-bit) - Expected 74132.6, actual 74557 (1.006x) (^ 4) +Testing all collisions (low 32-bit) - Expected 74132.6, actual 74163 (1.000x) (^ 1) +Testing all collisions (high 23..44 bits) - Worst is 30 bits: 296127/294796 (1.005x) (^ 2) +Testing all collisions (low 23..44 bits) - Worst is 38 bits: 1220/1161 (1.051x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 18 bits at bit 15: 0.697x (^ 5) + +Keyset 'SeedBlockOffset' - [10..31]-byte keys with block at offset 6 - 24161280 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 132.7, actual 128 (0.964x) (^ 0) +Testing all collisions (low 41-bit) - Expected 132.7, actual 132 (0.994x) (^ 0) +Testing all collisions (high 32-bit) - Expected 67832.2, actual 68208 (1.006x) (^ 3) +Testing all collisions (low 32-bit) - Expected 67832.2, actual 68315 (1.007x) (^ 4) +Testing all collisions (high 23..44 bits) - Worst is 29 bits: 538665/535611 (1.006x) (^11) +Testing all collisions (low 23..44 bits) - Worst is 31 bits: 136180/135411 (1.006x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 8 bits at bit 104: 0.754x (^ 0) + +Keyset 'SeedBlockOffset' - [11..31]-byte keys with block at offset 7 - 23063040 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 120.9, actual 128 (1.058x) (^ 1) +Testing all collisions (low 41-bit) - Expected 120.9, actual 126 (1.042x) (^ 1) +Testing all collisions (high 32-bit) - Expected 61811.1, actual 62014 (1.003x) (^ 2) +Testing all collisions (low 32-bit) - Expected 61811.1, actual 62062 (1.004x) (^ 2) +Testing all collisions (high 23..44 bits) - Worst is 33 bits: 31177/30933 (1.008x) (^ 0) +Testing all collisions (low 23..44 bits) - Worst is 38 bits: 1012/968 (1.046x) (^ 0) +Testing distribution (any 8..22 bits) - Worst bias is 14 bits at bit 12: 0.561x (^ 0) + +Keyset 'SeedBlockOffset' - [12..31]-byte keys with block at offset 8 - 21964800 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 41-bit) - Expected 109.7, actual 121 (1.103x) (^ 2) +Testing all collisions (low 41-bit) - Expected 109.7, actual 118 (1.076x) (^ 2) +Testing all collisions (high 32-bit) - Expected 56069.2, actual 55892 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 56069.2, actual 56045 (1.000x) (^ 0) +Testing all collisions (high 23..44 bits) - Worst is 43 bits: 37/27 (1.349x) (^ 0) +Testing all collisions (low 23..44 bits) - Worst is 30 bits: 224096/223135 (1.004x) (^ 1) +Testing distribution (any 8..22 bits) - Worst bias is 16 bits at bit 25: 0.556x (^ 0) + +Keyset 'SeedBlockOffset' - [13..31]-byte keys with block at offset 9 - 20866560 hashes +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 40-bit) - Expected 198.0, actual 201 (1.015x) (^ 1) +Testing all collisions (low 40-bit) - Expected 198.0, actual 191 (0.965x) (^ 0) +Testing all collisions (high 32-bit) - Expected 50606.8, actual 50384 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 50606.8, actual 50302 (0.994x) (^ 0) +Testing all collisions (high 22..44 bits) - Worst is 25 bits: 5331113/5328790 (1.000x) (^ 0) +Testing all collisions (low 22..44 bits) - Worst is 44 bits: 16/12 (1.293x) (^ 0) +Testing distribution (any 8..21 bits) - Worst bias is 14 bits at bit 88: 0.714x (^ 2) + + +[[[ Keyset 'Seed' Tests ]]] + +Keyset 'Seed' - 2-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 139 (1.086x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2133 (1.042x) (^ 5) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2084 (1.018x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2133/2047 (1.042x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252114/251554 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 98: 0.868x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2111 (1.031x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2027 (0.990x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 545/512 (1.065x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 264/256 (1.031x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 29: 0.571x (^ 1) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 106 (0.828x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2031 (0.992x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2033 (0.993x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 30 bits: 8260/8181 (1.010x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65197/64859 (1.005x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 9: 0.601x (^ 0) + +Keyset 'Seed' - 3-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1998 (0.976x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2067 (1.010x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 23 bits: 894734/893644 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 41/32 (1.281x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 82: 0.624x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1966 (0.960x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2037 (0.995x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 27 bits: 65229/64859 (1.006x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252137/251554 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 8 bits at bit 30: 0.719x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 100 (0.781x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2051 (1.002x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2094 (1.023x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 252090/251554 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2094/2047 (1.023x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 60: 0.663x (^ 0) + +Keyset 'Seed' - 6-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 141 (1.102x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2043 (0.998x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2172 (1.061x) (^ 8) +Testing all collisions (high 20..39 bits) - Worst is 22 bits: 1544487/1542998 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2172/2047 (1.061x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 86: 0.691x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 133 (1.039x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 106 (0.828x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2060 (1.006x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2030 (0.992x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 554/512 (1.082x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 33 bits: 1042/1024 (1.018x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 114: 0.604x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2039 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2023 (0.988x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 32776/32598 (1.005x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65375/64859 (1.008x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 59: 0.509x (^ 0) + +Keyset 'Seed' - 15-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 116 (0.906x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2022 (0.988x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2049 (1.001x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 26 bits: 128641/128383 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 26 bits: 128637/128383 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 59: 0.641x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 143 (1.117x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2067 (1.010x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2114 (1.033x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 143/128 (1.117x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2114/2047 (1.033x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 59: 0.673x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 137 (1.070x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 136 (1.063x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2103 (1.027x) (^ 3) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1976 (0.965x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 33 bits: 1067/1024 (1.042x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252161/251554 (1.002x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 39: 0.662x (^ 2) + +Keyset 'Seed' - 18-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2040 (0.996x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2168 (1.059x) (^ 7) +Testing all collisions (high 20..39 bits) - Worst is 34 bits: 566/512 (1.106x) (^ 2) +Testing all collisions (low 20..39 bits) - Worst is 30 bits: 8475/8181 (1.036x) (^ 6) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 11: 0.501x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2069 (1.011x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2035 (0.994x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 35 bits: 290/256 (1.133x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 27 bits: 65327/64859 (1.007x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 103: 0.494x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (low 36-bit) - Expected 128.0, actual 129 (1.008x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2077 (1.014x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2052 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 35 bits: 288/256 (1.125x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252480/251554 (1.004x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 71: 0.601x (^ 0) + +Keyset 'Seed' - 31-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 125 (0.977x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 140 (1.094x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2048 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2000 (0.977x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 24 bits: 483926/483197 (1.002x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 45/32 (1.406x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 95: 0.453x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2055 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2055 (1.004x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 251900/251554 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 32881/32598 (1.009x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 31: 0.641x (^ 2) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 115 (0.898x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 138 (1.078x) (^ 2) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2015 (0.984x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2069 (1.011x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 39 bits: 16/16 (1.000x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 37 bits: 73/64 (1.141x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 28: 0.623x (^ 0) + +Keyset 'Seed' - 52-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 130 (1.016x) (^ 1) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2048 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2042 (0.997x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 16576/16341 (1.014x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 28 bits: 32831/32598 (1.007x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 22: 0.763x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 105 (0.820x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 1955 (0.955x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1973 (0.964x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 32723/32598 (1.004x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 34/32 (1.063x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 17 bits at bit 59: 0.477x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 123 (0.961x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2024 (0.989x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2058 (1.005x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 31 bits: 4129/4093 (1.009x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 26 bits: 128995/128383 (1.005x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 26: 0.674x (^ 1) + +Keyset 'Seed' - 80-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 127 (0.992x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2121 (1.036x) (^ 4) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2024 (0.989x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 32 bits: 2121/2047 (1.036x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 34 bits: 528/512 (1.031x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 18 bits at bit 10: 0.744x (^ 7) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 117 (0.914x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 126 (0.984x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2049 (1.001x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2122 (1.036x) (^ 4) +Testing all collisions (high 20..39 bits) - Worst is 22 bits: 1543159/1542998 (1.000x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 33 bits: 1083/1024 (1.058x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 4: 0.619x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 128 (1.000x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 145 (1.133x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2013 (0.983x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 1998 (0.976x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 39 bits: 21/16 (1.313x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 39 bits: 23/16 (1.438x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 16 bits at bit 26: 0.644x (^ 2) + +Keyset 'Seed' - 200-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 111 (0.867x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2063 (1.008x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2052 (1.002x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 23 bits: 894176/893644 (1.001x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 38 bits: 44/32 (1.375x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 109: 0.668x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 118 (0.922x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 122 (0.953x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2097 (1.024x) (^ 2) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2043 (0.998x) (^ 0) +Testing all collisions (high 20..39 bits) - Worst is 28 bits: 32835/32598 (1.007x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 29 bits: 16591/16341 (1.015x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 119: 0.568x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 131 (1.023x) (^ 1) +Testing all collisions (low 36-bit) - Expected 128.0, actual 119 (0.930x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2042 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2091 (1.021x) (^ 2) +Testing all collisions (high 20..39 bits) - Worst is 25 bits: 252258/251554 (1.003x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 31 bits: 4178/4093 (1.021x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 11 bits at bit 35: 0.692x (^ 0) + +Keyset 'Seed' - 1025-byte keys - 4194304 seeds +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 102 (0.797x) (^ 0) +Testing all collisions (low 36-bit) - Expected 128.0, actual 142 (1.109x) (^ 3) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2018 (0.986x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2077 (1.014x) (^ 1) +Testing all collisions (high 20..39 bits) - Worst is 29 bits: 16503/16341 (1.010x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 35 bits: 286/256 (1.117x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 70: 0.601x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 144 (1.125x) (^ 3) +Testing all collisions (low 36-bit) - Expected 128.0, actual 124 (0.969x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2020 (0.987x) (^ 0) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2107 (1.029x) (^ 3) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 144/128 (1.125x) (^ 0) +Testing all collisions (low 20..39 bits) - Worst is 25 bits: 252287/251554 (1.003x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 19 bits at bit 122: 0.537x (^ 0) +---Analyzing additional differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 36-bit) - Expected 128.0, actual 150 (1.172x) (^ 4) +Testing all collisions (low 36-bit) - Expected 128.0, actual 121 (0.945x) (^ 0) +Testing all collisions (high 32-bit) - Expected 2047.3, actual 2065 (1.009x) (^ 1) +Testing all collisions (low 32-bit) - Expected 2047.3, actual 2128 (1.039x) (^ 4) +Testing all collisions (high 20..39 bits) - Worst is 36 bits: 150/128 (1.172x) (^ 1) +Testing all collisions (low 20..39 bits) - Worst is 32 bits: 2128/2047 (1.039x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 56: 0.733x (^ 2) + + +[[[ Seed Avalanche Tests ]]] + +Testing 3-byte keys, 300000 reps..................max is 0.761% at bit 5 -> out 63 (^ 2) +Testing 4-byte keys, 300000 reps..................max is 0.741% at bit 15 -> out 59 (^ 1) +Testing 6-byte keys, 300000 reps..................max is 0.732% at bit 16 -> out 84 (^ 1) +Testing 8-byte keys, 300000 reps..................max is 0.723% at bit 47 -> out 36 (^ 1) +Testing 12-byte keys, 300000 reps..................max is 0.743% at bit 10 -> out 118 (^ 1) +Testing 16-byte keys, 300000 reps..................max is 0.727% at bit 26 -> out 116 (^ 1) +Testing 20-byte keys, 300000 reps..................max is 0.625% at bit 34 -> out 30 (^ 0) +Testing 24-byte keys, 300000 reps..................max is 0.752% at bit 38 -> out 116 (^ 1) +Testing 28-byte keys, 300000 reps..................max is 0.825% at bit 31 -> out 23 (^ 4) +Testing 32-byte keys, 300000 reps..................max is 0.724% at bit 37 -> out 64 (^ 1) +Testing 64-byte keys, 300000 reps..................max is 0.738% at bit 45 -> out 99 (^ 1) +Testing 128-byte keys, 300000 reps..................max is 0.743% at bit 45 -> out 54 (^ 1) + + +[[[ Seed 'Bit Independence Criteria' Tests ]]] + +Testing 3-byte keys, 1200000 reps............max 0.0042 at bit 44 -> out ( 20, 35) (^ 0) +Testing 4-byte keys, 1200000 reps............max 0.0046 at bit 13 -> out ( 24, 63) (^ 2) +Testing 6-byte keys, 1200000 reps............max 0.0046 at bit 45 -> out ( 55,115) (^ 2) +Testing 8-byte keys, 1200000 reps............max 0.0043 at bit 52 -> out (105,118) (^ 0) +Testing 11-byte keys, 1200000 reps............max 0.0043 at bit 35 -> out ( 17, 66) (^ 0) +Testing 15-byte keys, 1200000 reps............max 0.0043 at bit 45 -> out ( 41,119) (^ 0) +Testing 28-byte keys, 600000 reps............max 0.0068 at bit 20 -> out ( 64, 78) (^ 3) +Testing 52-byte keys, 600000 reps............max 0.0057 at bit 33 -> out ( 37,100) (^ 0) +Testing 1024-byte keys, 600000 reps............max 0.0062 at bit 59 -> out ( 22,119) (^ 0) + + +[[[ Seed Bitflip Tests ]]] + +Testing 3-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 18 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 149 (1.035x) (^ 1) +Testing all collisions (low 35-bit) - Expected 144.0, actual 159 (1.104x) (^ 3) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1217 (1.057x) (^ 5) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1215 (1.055x) (^ 4) +Testing all collisions (high 20..38 bits) - Worst is 31 bits: 2395/2303 (1.040x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 28 bits: 18650/18360 (1.016x) (^ 1) +Testing distribution (any 8..19 bits) - Worst bias is 13 bits at bit 100: 0.587x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 133 (0.924x) (^ 0) +Testing all collisions (low 33-bit) - Expected 144.0, actual 174 (1.208x) (^ 6) +Testing all collisions (high 32-bit) - Expected 288.0, actual 293 (1.017x) (^ 1) +Testing all collisions (low 32-bit) - Expected 288.0, actual 314 (1.090x) (^ 3) +Testing all collisions (high 19..36 bits) - Worst is 32 bits: 293/288 (1.017x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 33 bits: 174/144 (1.208x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 16 bits at bit 31: 0.550x (^ 0) + +Testing 4-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 30 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 171 (1.188x) (^ 5) +Testing all collisions (low 35-bit) - Expected 144.0, actual 126 (0.875x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1226 (1.064x) (^ 5) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1143 (0.992x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 32 bits: 1226/1152 (1.064x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 30 bits: 4673/4604 (1.015x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 9 bits at bit 44: 0.674x (^ 0) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 158 (1.097x) (^ 2) +Testing all collisions (low 33-bit) - Expected 144.0, actual 140 (0.972x) (^ 0) +Testing all collisions (high 32-bit) - Expected 288.0, actual 286 (0.993x) (^ 0) +Testing all collisions (low 32-bit) - Expected 288.0, actual 303 (1.052x) (^ 2) +Testing all collisions (high 19..36 bits) - Worst is 33 bits: 158/144 (1.097x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 28 bits: 4894/4599 (1.064x) (^12) +Testing distribution (any 8..18 bits) - Worst bias is 14 bits at bit 75: 0.635x (^ 1) + +Testing 8-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 57 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 133 (0.924x) (^ 0) +Testing all collisions (low 35-bit) - Expected 144.0, actual 170 (1.181x) (^ 5) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1152 (1.000x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1222 (1.061x) (^ 5) +Testing all collisions (high 20..38 bits) - Worst is 23 bits: 523762/522520 (1.002x) (^ 0) +Testing all collisions (low 20..38 bits) - Worst is 31 bits: 2414/2303 (1.048x) (^ 2) +Testing distribution (any 8..19 bits) - Worst bias is 15 bits at bit 112: 0.641x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 134 (0.931x) (^ 0) +Testing all collisions (low 33-bit) - Expected 144.0, actual 169 (1.174x) (^ 5) +Testing all collisions (high 32-bit) - Expected 288.0, actual 287 (0.997x) (^ 0) +Testing all collisions (low 32-bit) - Expected 288.0, actual 313 (1.087x) (^ 3) +Testing all collisions (high 19..36 bits) - Worst is 24 bits: 71725/71477 (1.003x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 33 bits: 169/144 (1.174x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 8 bits at bit 44: 0.771x (^ 0) + +Testing 20-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 3 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 155 (1.076x) (^ 2) +Testing all collisions (low 35-bit) - Expected 144.0, actual 143 (0.993x) (^ 0) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1175 (1.020x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1245 (1.081x) (^ 8) +Testing all collisions (high 20..38 bits) - Worst is 36 bits: 91/72 (1.264x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 32 bits: 1245/1152 (1.081x) (^ 3) +Testing distribution (any 8..19 bits) - Worst bias is 14 bits at bit 115: 0.669x (^ 1) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 147 (1.021x) (^ 1) +Testing all collisions (low 33-bit) - Expected 144.0, actual 172 (1.195x) (^ 6) +Testing all collisions (high 32-bit) - Expected 288.0, actual 289 (1.004x) (^ 1) +Testing all collisions (low 32-bit) - Expected 288.0, actual 329 (1.143x) (^ 6) +Testing all collisions (high 19..36 bits) - Worst is 24 bits: 71788/71477 (1.004x) (^ 0) +Testing all collisions (low 19..36 bits) - Worst is 32 bits: 329/288 (1.143x) (^ 2) +Testing distribution (any 8..18 bits) - Worst bias is 13 bits at bit 119: 0.572x (^ 0) + +Testing 32-byte keys, 64-bit seeds, 1572864 reps.......... 0 failed, worst is seed bit 30 +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 35-bit) - Expected 144.0, actual 165 (1.146x) (^ 4) +Testing all collisions (low 35-bit) - Expected 144.0, actual 159 (1.104x) (^ 3) +Testing all collisions (high 32-bit) - Expected 1151.7, actual 1160 (1.007x) (^ 1) +Testing all collisions (low 32-bit) - Expected 1151.7, actual 1143 (0.992x) (^ 0) +Testing all collisions (high 20..38 bits) - Worst is 36 bits: 91/72 (1.264x) (^ 1) +Testing all collisions (low 20..38 bits) - Worst is 36 bits: 84/72 (1.167x) (^ 0) +Testing distribution (any 8..19 bits) - Worst bias is 12 bits at bit 87: 0.841x (^ 5) +---Analyzing differential distribution +Testing all collisions ( 128-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (low 64-bit) - Expected 0.0, actual 0 (1.000x) (^ 0) +Testing all collisions (high 33-bit) - Expected 144.0, actual 167 (1.160x) (^ 4) +Testing all collisions (low 33-bit) - Expected 144.0, actual 170 (1.181x) (^ 5) +Testing all collisions (high 32-bit) - Expected 288.0, actual 323 (1.122x) (^ 5) +Testing all collisions (low 32-bit) - Expected 288.0, actual 309 (1.073x) (^ 3) +Testing all collisions (high 19..36 bits) - Worst is 32 bits: 323/288 (1.122x) (^ 1) +Testing all collisions (low 19..36 bits) - Worst is 33 bits: 170/144 (1.181x) (^ 1) +Testing distribution (any 8..18 bits) - Worst bias is 12 bits at bit 39: 0.837x (^ 5) + + +---------------------------------------------------------------------------------------------- +-log2(p-value) summary: + + 0 1 2 3 4 5 6 7 8 9 10 11 12 + ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- + 14345 3122 1347 726 367 180 81 45 17 10 3 8 3 + + 13 14 15 16 17 18 19 20 21 22 23 24 25+ + ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- ----- + 0 0 0 0 0 0 0 0 0 0 0 0 0 + +---------------------------------------------------------------------------------------------- +Summary for: SpookyHash2-128-snapraid +Overall result: pass ( 252 / 252 passed) + +---------------------------------------------------------------------------------------------- +Verification value is 0x00000001 - Testing took 3278.720225 seconds + diff --git a/smhasher3/murmur3_snapraid.cpp b/smhasher3/murmur3_snapraid.cpp new file mode 100644 index 00000000..c0c976b5 --- /dev/null +++ b/smhasher3/murmur3_snapraid.cpp @@ -0,0 +1,257 @@ +/* + * MurmurHash3 x86_128 SnapRAID adapter for SMHasher3. + * + * Based on SnapRAID cmdline/murmur3.c, itself derived from + * MurmurHash3.cpp revision r136. + * + * SnapRAID accepts a full 128-bit seed and initializes the four 32-bit + * state words independently. + * + * SMHasher3 exposes one 64-bit seed_t. As with the other SnapRAID + * adapters, duplicate that complete 64-bit seed into both halves of the + * 128-bit SnapRAID seed: + * + * seed[0..7] = seed + * seed[8..15] = seed + * + * Therefore, for + * + * seed = (seed_hi << 32) | seed_lo + * + * the MurmurHash3 state is initialized as: + * + * h1 = seed_lo + * h2 = seed_hi + * h3 = seed_lo + * h4 = seed_hi + * + * This intentionally tests only the diagonal 64-bit subset of the full + * 128-bit SnapRAID seed space. + * + * The SnapRAID source is GPL-3.0-or-later. + */ + +#include "Platform.h" +#include "Hashlib.h" + +//------------------------------------------------------------------------------ + +static FORCE_INLINE uint32_t snapraid_murmur3_fmix32(uint32_t h) { + h ^= h >> 16; + h *= UINT32_C(0x85ebca6b); + h ^= h >> 13; + h *= UINT32_C(0xc2b2ae35); + h ^= h >> 16; + + return h; +} + +//------------------------------------------------------------------------------ + +template +static void MurmurHash3_x86_128_SnapRAID( + const void * in, + const size_t len, + const seed_t seed, + void * out) { + + const uint8_t * data = (const uint8_t *)in; + const size_t nblocks = len / 16; + + /* + * Equivalent to a SnapRAID 128-bit seed formed by concatenating two + * identical copies of the 64-bit SMHasher3 seed. + */ + const uint32_t seed_lo = (uint32_t)(uint64_t)seed; + const uint32_t seed_hi = (uint32_t)((uint64_t)seed >> 32); + + uint32_t h1 = seed_lo; + uint32_t h2 = seed_hi; + uint32_t h3 = seed_lo; + uint32_t h4 = seed_hi; + + const uint32_t c1 = UINT32_C(0x239b961b); + const uint32_t c2 = UINT32_C(0xab0e9789); + const uint32_t c3 = UINT32_C(0x38b34ae5); + const uint32_t c4 = UINT32_C(0xa1e38b93); + + // body + + const uint8_t * blocks = data; + + for (size_t i = 0; i < nblocks; i++) { + uint32_t k1 = GET_U32(blocks, i * 16 + 0); + uint32_t k2 = GET_U32(blocks, i * 16 + 4); + uint32_t k3 = GET_U32(blocks, i * 16 + 8); + uint32_t k4 = GET_U32(blocks, i * 16 + 12); + + k1 *= c1; + k1 = ROTL32(k1, 15); + k1 *= c2; + h1 ^= k1; + + h1 = ROTL32(h1, 19); + h1 += h2; + h1 = h1 * 5 + UINT32_C(0x561ccd1b); + + k2 *= c2; + k2 = ROTL32(k2, 16); + k2 *= c3; + h2 ^= k2; + + h2 = ROTL32(h2, 17); + h2 += h3; + h2 = h2 * 5 + UINT32_C(0x0bcaa747); + + k3 *= c3; + k3 = ROTL32(k3, 17); + k3 *= c4; + h3 ^= k3; + + h3 = ROTL32(h3, 15); + h3 += h4; + h3 = h3 * 5 + UINT32_C(0x96cd1c35); + + k4 *= c4; + k4 = ROTL32(k4, 18); + k4 *= c1; + h4 ^= k4; + + h4 = ROTL32(h4, 13); + h4 += h1; + h4 = h4 * 5 + UINT32_C(0x32ac3b17); + } + + // tail + + const uint8_t * tail = data + nblocks * 16; + + uint32_t k1 = 0; + uint32_t k2 = 0; + uint32_t k3 = 0; + uint32_t k4 = 0; + + switch (len & 15) { + case 15: + k4 ^= (uint32_t)tail[14] << 16; + /* FALLTHROUGH */ + case 14: + k4 ^= (uint32_t)tail[13] << 8; + /* FALLTHROUGH */ + case 13: + k4 ^= (uint32_t)tail[12]; + k4 *= c4; + k4 = ROTL32(k4, 18); + k4 *= c1; + h4 ^= k4; + /* FALLTHROUGH */ + case 12: + k3 ^= (uint32_t)tail[11] << 24; + /* FALLTHROUGH */ + case 11: + k3 ^= (uint32_t)tail[10] << 16; + /* FALLTHROUGH */ + case 10: + k3 ^= (uint32_t)tail[9] << 8; + /* FALLTHROUGH */ + case 9: + k3 ^= (uint32_t)tail[8]; + k3 *= c3; + k3 = ROTL32(k3, 17); + k3 *= c4; + h3 ^= k3; + /* FALLTHROUGH */ + case 8: + k2 ^= (uint32_t)tail[7] << 24; + /* FALLTHROUGH */ + case 7: + k2 ^= (uint32_t)tail[6] << 16; + /* FALLTHROUGH */ + case 6: + k2 ^= (uint32_t)tail[5] << 8; + /* FALLTHROUGH */ + case 5: + k2 ^= (uint32_t)tail[4]; + k2 *= c2; + k2 = ROTL32(k2, 16); + k2 *= c3; + h2 ^= k2; + /* FALLTHROUGH */ + case 4: + k1 ^= (uint32_t)tail[3] << 24; + /* FALLTHROUGH */ + case 3: + k1 ^= (uint32_t)tail[2] << 16; + /* FALLTHROUGH */ + case 2: + k1 ^= (uint32_t)tail[1] << 8; + /* FALLTHROUGH */ + case 1: + k1 ^= (uint32_t)tail[0]; + k1 *= c1; + k1 = ROTL32(k1, 15); + k1 *= c2; + h1 ^= k1; + } + + // finalization + + h1 ^= (uint32_t)len; + h2 ^= (uint32_t)len; + h3 ^= (uint32_t)len; + h4 ^= (uint32_t)len; + + h1 += h2; + h1 += h3; + h1 += h4; + + h2 += h1; + h3 += h1; + h4 += h1; + + h1 = snapraid_murmur3_fmix32(h1); + h2 = snapraid_murmur3_fmix32(h2); + h3 = snapraid_murmur3_fmix32(h3); + h4 = snapraid_murmur3_fmix32(h4); + + h1 += h2; + h1 += h3; + h1 += h4; + + h2 += h1; + h3 += h1; + h4 += h1; + + PUT_U32(h1, (uint8_t *)out, 0); + PUT_U32(h2, (uint8_t *)out, 4); + PUT_U32(h3, (uint8_t *)out, 8); + PUT_U32(h4, (uint8_t *)out, 12); +} + +//------------------------------------------------------------------------------ + +REGISTER_FAMILY(murmur3_snapraid, + $.src_url = "https://github.com/amadvance/snapraid/", + $.src_status = HashFamilyInfo::SRC_ACTIVE + ); + +REGISTER_HASH(MurmurHash3_128__snapraid, + $.desc = + "MurmurHash3 x86_128 with SnapRAID 128-bit seed interface", + + $.hash_flags = + 0, + + $.impl_flags = + FLAG_IMPL_MULTIPLY | + FLAG_IMPL_ROTATE | + FLAG_IMPL_LICENSE_GPL3, + + $.bits = 128, + + $.verification_LE = 0x260E7FCF, + $.verification_BE = 0x37086199, + + $.hashfn_native = MurmurHash3_x86_128_SnapRAID, + $.hashfn_bswap = MurmurHash3_x86_128_SnapRAID + ); diff --git a/smhasher3/museair_snapraid.cpp b/smhasher3/museair_snapraid.cpp new file mode 100644 index 00000000..eb70a546 --- /dev/null +++ b/smhasher3/museair_snapraid.cpp @@ -0,0 +1,301 @@ +/* + * MuseAir v2 + * By K--Aethiax + * + * SnapRAID BFast-128 long-path variant. + * + * For len < 32, the input is zero-padded to 32 bytes and processed + * through the long path. The original length is preserved for + * finalization. + * + * Released into the public domain under the CC0 1.0 license. + */ + +#include "Platform.h" +#include "Hashlib.h" +#include "Mathmult.h" + +//------------------------------------------------------------ + +#define U64x(N) ((N) * 8) + +/* AiryAi(0) fractional part calculated by Y-Cruncher */ +static const uint64_t MUSEAIR_CONSTANT[13] = { + UINT64_C(0x5ae31e589c56e17a), + UINT64_C(0x96d7bb04e64f6da9), + UINT64_C(0x7ab1006b26f9eb64), + UINT64_C(0x21233394220b8457), + UINT64_C(0x047cb9557c9f3b43), + UINT64_C(0xd24f2590c0bcee28), + UINT64_C(0x33ea8f71bb6016d8), + UINT64_C(0xb5d2697595d0a01f), + UINT64_C(0x9bb30a32f00e2b4f), + UINT64_C(0x4acea09317a429d1), + UINT64_C(0xc2b2435dfdd545c6), + UINT64_C(0xfda811a785572a42), + UINT64_C(0xe5f50676bf67137b) +}; + +static const uint64_t MASK_I = UINT64_C(01555555555555555555555); +static const uint64_t MASK_J = UINT64_C(01333333333333333333333); +static const uint64_t MASK_K = UINT64_C(00666666666666666666666); + +//------------------------------------------------------------ + +template +static NEVER_INLINE void museair_hash_snapraid( + const uint8_t * bytes, + const size_t len, + const seed_t seed_a, + const seed_t seed_b, + uint64_t * out_lo, + uint64_t * out_hi) { + + const uint8_t * p = bytes; + size_t q = len; + + uint8_t buf[32]; + + /* + * SnapRAID extension: + * zero-pad short inputs and use the MuseAir long path. + * + * Keep 'len' unchanged because the original length is mixed + * into finalization. + */ + if (unlikely(q < U64x(4))) { + memset(buf, 0, sizeof(buf)); + + if (q > 0) { + memcpy(buf, p, q); + } + + p = buf; + q = U64x(4); + } + + uint64_t i, j, k; + + uint64_t lo0, lo1, lo2, lo3, lo4; + uint64_t lo5 = MUSEAIR_CONSTANT[6]; + + uint64_t hi0, hi1, hi2, hi3, hi4; + uint64_t hi5 = MUSEAIR_CONSTANT[6]; + + uint64_t state[6] = { + MUSEAIR_CONSTANT[0], + MUSEAIR_CONSTANT[1], + MUSEAIR_CONSTANT[2], + MUSEAIR_CONSTANT[3], + MUSEAIR_CONSTANT[4], + MUSEAIR_CONSTANT[5] + }; + + /* + * MuseAir v2 BFast-128 seed initialization. + */ + state[0] ^= seed_a & MASK_I; + state[1] ^= seed_b & MASK_J; + state[2] ^= seed_a & MASK_K; + state[3] ^= seed_b & MASK_I; + state[4] ^= seed_a & MASK_J; + state[5] ^= seed_b & MASK_K; + + /* + * Main 96-byte loop. + * + * Note the strict > rather than >=. This is intentional and + * matches MuseAir v2 / SnapRAID. + */ + if (unlikely(q > U64x(12))) { + do { + state[0] ^= GET_U64(p, U64x(0)); + state[1] ^= GET_U64(p, U64x(1)); + MathMult::mult64_128(lo0, hi0, state[0], state[1]); + state[0] = lo5 ^ hi0; + + state[1] ^= GET_U64(p, U64x(2)); + state[2] ^= GET_U64(p, U64x(3)); + MathMult::mult64_128(lo1, hi1, state[1], state[2]); + state[1] = lo0 ^ hi1; + + state[2] ^= GET_U64(p, U64x(4)); + state[3] ^= GET_U64(p, U64x(5)); + MathMult::mult64_128(lo2, hi2, state[2], state[3]); + state[2] = lo1 ^ hi2; + + state[3] ^= GET_U64(p, U64x(6)); + state[4] ^= GET_U64(p, U64x(7)); + MathMult::mult64_128(lo3, hi3, state[3], state[4]); + state[3] = lo2 ^ hi3; + + state[4] ^= GET_U64(p, U64x(8)); + state[5] ^= GET_U64(p, U64x(9)); + MathMult::mult64_128(lo4, hi4, state[4], state[5]); + state[4] = lo3 ^ hi4; + + state[5] ^= GET_U64(p, U64x(10)); + state[0] ^= GET_U64(p, U64x(11)); + MathMult::mult64_128(lo5, hi5, state[5], state[0]); + state[5] = lo4 ^ hi5; + + p += U64x(12); + q -= U64x(12); + + } while (likely(q > U64x(12))); + + state[0] ^= lo5; + } + + /* + * Tail. + */ + lo0 = 0; + lo1 = 0; + lo2 = 0; + lo3 = 0; + + hi0 = state[1]; + hi1 = state[2]; + hi2 = state[3]; + hi3 = state[4]; + + if (q > U64x(4)) { + state[0] ^= GET_U64(p, U64x(0)); + state[1] ^= GET_U64(p, U64x(1)); + MathMult::mult64_128(lo0, hi0, state[0], state[1]); + + if (q > U64x(6)) { + state[1] ^= GET_U64(p, U64x(2)); + state[2] ^= GET_U64(p, U64x(3)); + MathMult::mult64_128(lo1, hi1, state[1], state[2]); + + if (q > U64x(8)) { + state[2] ^= GET_U64(p, U64x(4)); + state[3] ^= GET_U64(p, U64x(5)); + MathMult::mult64_128(lo2, hi2, state[2], state[3]); + + if (q > U64x(10)) { + state[3] ^= GET_U64(p, U64x(6)); + state[4] ^= GET_U64(p, U64x(7)); + MathMult::mult64_128(lo3, hi3, + state[3], state[4]); + } + } + } + } + + /* + * Always mix the final 32 bytes. + */ + state[4] ^= GET_U64(p + q - U64x(4), 0); + state[5] ^= GET_U64(p + q - U64x(3), 0); + MathMult::mult64_128(lo4, hi4, state[4], state[5]); + + state[5] ^= GET_U64(p + q - U64x(2), 0); + state[0] ^= GET_U64(p + q - U64x(1), 0); + MathMult::mult64_128(lo5, hi5, state[5], state[0]); + + /* + * Epilogue. + */ + i = (state[0] - state[1]) ^ MUSEAIR_CONSTANT[7]; + j = (state[2] - state[3]) ^ MUSEAIR_CONSTANT[8]; + k = (state[4] - state[5]) ^ MUSEAIR_CONSTANT[9]; + + int rot = len & 63; + + i = ROTL64(i, rot); + j = ROTR64(j, rot); + k = k - len; + + i = i - (lo3 ^ hi3) - (lo4 ^ hi4); + j = j - (lo5 ^ hi5) - (lo0 ^ hi0); + k = k - (lo1 ^ hi1) - (lo2 ^ hi2); + + MathMult::mult64_128(lo0, hi0, i, j); + MathMult::mult64_128(lo1, hi1, j, k); + MathMult::mult64_128(lo2, hi2, k, i); + + /* + * BFast state update. + */ + i = lo2 ^ hi0; + j = lo0 ^ hi1; + k = lo1 ^ hi2; + + /* + * 128-bit finalization. + */ + MathMult::mult64_128( + lo3, hi3, i, MUSEAIR_CONSTANT[10]); + MathMult::mult64_128( + lo4, hi4, j, MUSEAIR_CONSTANT[11]); + MathMult::mult64_128( + lo5, hi5, k, MUSEAIR_CONSTANT[12]); + + *out_lo = lo3 ^ hi4 ^ lo5; + *out_hi = hi3 ^ lo4 ^ hi5; +} + +//------------------------------------------------------------ + +template +static void MuseAirSnapRAID( + const void * in, + const size_t len, + const seed_t seed, + void * out) { + + uint64_t out_lo; + uint64_t out_hi; + + /* + * SMHasher3 only supplies one 64-bit seed. + * + * MuseAir v2's SMHasher3 adapter uses the same seed for both + * halves of the B128 seed. + */ + museair_hash_snapraid( + (const uint8_t *)in, + len, + seed, + seed, + &out_lo, + &out_hi); + + out_lo = COND_BSWAP(out_lo, isBE()); + PUT_U64(out_lo, (uint8_t *)out, 0); + + out_hi = COND_BSWAP(out_hi, isBE()); + PUT_U64(out_hi, (uint8_t *)out, 8); +} + +//------------------------------------------------------------ + +REGISTER_FAMILY(museair_snapraid, + $.src_url = "https://github.com/amadvance/snapraid/", + $.src_status = HashFamilyInfo::SRC_ACTIVE + ); + +REGISTER_HASH(MuseAir_128__bfast_snapraid, + $.desc = + "MuseAir v2, BFast-128, SnapRAID long-path short-input extension", + + $.hash_flags = + FLAG_HASH_ENDIAN_INDEPENDENT, + + $.impl_flags = + FLAG_IMPL_MULTIPLY_64_128 | + FLAG_IMPL_ROTATE_VARIABLE | + FLAG_IMPL_CANONICAL_LE | + FLAG_IMPL_LICENSE_PUBLIC_DOMAIN, + + $.bits = 128, + + $.verification_LE = 0x427E5CD7, + $.verification_BE = 0xED88557C, + + $.hashfn_native = MuseAirSnapRAID, + $.hashfn_bswap = MuseAirSnapRAID + ); diff --git a/smhasher3/spooky2_snapraid.cpp b/smhasher3/spooky2_snapraid.cpp new file mode 100644 index 00000000..655a4cc3 --- /dev/null +++ b/smhasher3/spooky2_snapraid.cpp @@ -0,0 +1,211 @@ +/* + * SpookyHash V2 + * By Bob Jenkins, public domain. + * + * SnapRAID long-path variant. + * + * SnapRAID deliberately does not use SpookyHash's Short() optimization for + * messages shorter than 192 bytes. All input lengths are processed through + * the 12-word (96-byte) long path, matching cmdline/spooky2.c. + * + * SnapRAID uses a 128-bit seed. SMHasher3 supplies one 64-bit seed, so this + * adapter uses the same value for both 64-bit seed halves. This is the same + * convention used by SMHasher3's regular SpookyHash adapter. + */ + +#include "Platform.h" +#include "Hashlib.h" + +//------------------------------------------------------------------------------ + +static const size_t SPOOKY_NUM_VARS = 12; +static const size_t SPOOKY_BLOCK_SIZE = SPOOKY_NUM_VARS * 8; +static const uint64_t SPOOKY_CONST = UINT64_C(0xdeadbeefdeadbeef); + +template +static FORCE_INLINE void SpookyMix( + const uint8_t * data, + uint64_t & s0, uint64_t & s1, uint64_t & s2, uint64_t & s3, + uint64_t & s4, uint64_t & s5, uint64_t & s6, uint64_t & s7, + uint64_t & s8, uint64_t & s9, uint64_t & s10, uint64_t & s11) { + + s0 += GET_U64(data, 8 * 0); s2 ^= s10; s11 ^= s0; s0 = ROTL64(s0, 11); s11 += s1; + s1 += GET_U64(data, 8 * 1); s3 ^= s11; s0 ^= s1; s1 = ROTL64(s1, 32); s0 += s2; + s2 += GET_U64(data, 8 * 2); s4 ^= s0; s1 ^= s2; s2 = ROTL64(s2, 43); s1 += s3; + s3 += GET_U64(data, 8 * 3); s5 ^= s1; s2 ^= s3; s3 = ROTL64(s3, 31); s2 += s4; + s4 += GET_U64(data, 8 * 4); s6 ^= s2; s3 ^= s4; s4 = ROTL64(s4, 17); s3 += s5; + s5 += GET_U64(data, 8 * 5); s7 ^= s3; s4 ^= s5; s5 = ROTL64(s5, 28); s4 += s6; + s6 += GET_U64(data, 8 * 6); s8 ^= s4; s5 ^= s6; s6 = ROTL64(s6, 39); s5 += s7; + s7 += GET_U64(data, 8 * 7); s9 ^= s5; s6 ^= s7; s7 = ROTL64(s7, 57); s6 += s8; + s8 += GET_U64(data, 8 * 8); s10 ^= s6; s7 ^= s8; s8 = ROTL64(s8, 55); s7 += s9; + s9 += GET_U64(data, 8 * 9); s11 ^= s7; s8 ^= s9; s9 = ROTL64(s9, 54); s8 += s10; + s10 += GET_U64(data, 8 * 10); s0 ^= s8; s9 ^= s10; s10 = ROTL64(s10, 22); s9 += s11; + s11 += GET_U64(data, 8 * 11); s1 ^= s9; s10 ^= s11; s11 = ROTL64(s11, 46); s10 += s0; +} + +static FORCE_INLINE void SpookyEndPartial( + uint64_t & h0, uint64_t & h1, uint64_t & h2, uint64_t & h3, + uint64_t & h4, uint64_t & h5, uint64_t & h6, uint64_t & h7, + uint64_t & h8, uint64_t & h9, uint64_t & h10, uint64_t & h11) { + + h11 += h1; h2 ^= h11; h1 = ROTL64(h1, 44); + h0 += h2; h3 ^= h0; h2 = ROTL64(h2, 15); + h1 += h3; h4 ^= h1; h3 = ROTL64(h3, 34); + h2 += h4; h5 ^= h2; h4 = ROTL64(h4, 21); + h3 += h5; h6 ^= h3; h5 = ROTL64(h5, 38); + h4 += h6; h7 ^= h4; h6 = ROTL64(h6, 33); + h5 += h7; h8 ^= h5; h7 = ROTL64(h7, 10); + h6 += h8; h9 ^= h6; h8 = ROTL64(h8, 13); + h7 += h9; h10 ^= h7; h9 = ROTL64(h9, 38); + h8 += h10; h11 ^= h8; h10 = ROTL64(h10, 53); + h9 += h11; h0 ^= h9; h11 = ROTL64(h11, 42); + h10 += h0; h1 ^= h10; h0 = ROTL64(h0, 54); +} + +template +static FORCE_INLINE void SpookyEnd( + const uint8_t * data, + uint64_t & h0, uint64_t & h1, uint64_t & h2, uint64_t & h3, + uint64_t & h4, uint64_t & h5, uint64_t & h6, uint64_t & h7, + uint64_t & h8, uint64_t & h9, uint64_t & h10, uint64_t & h11) { + + h0 += GET_U64(data, 8 * 0); + h1 += GET_U64(data, 8 * 1); + h2 += GET_U64(data, 8 * 2); + h3 += GET_U64(data, 8 * 3); + h4 += GET_U64(data, 8 * 4); + h5 += GET_U64(data, 8 * 5); + h6 += GET_U64(data, 8 * 6); + h7 += GET_U64(data, 8 * 7); + h8 += GET_U64(data, 8 * 8); + h9 += GET_U64(data, 8 * 9); + h10 += GET_U64(data, 8 * 10); + h11 += GET_U64(data, 8 * 11); + + SpookyEndPartial(h0, h1, h2, h3, h4, h5, + h6, h7, h8, h9, h10, h11); + SpookyEndPartial(h0, h1, h2, h3, h4, h5, + h6, h7, h8, h9, h10, h11); + SpookyEndPartial(h0, h1, h2, h3, h4, h5, + h6, h7, h8, h9, h10, h11); +} + +//------------------------------------------------------------------------------ +// Exact SnapRAID SpookyHash2 long-path algorithm. +// +// Unlike the upstream SpookyHash2 one-shot Hash128(), this function NEVER +// switches to Short() for len < 192. This is intentional and is the defining +// behavior of the SnapRAID variant. + +template +static NEVER_INLINE void SpookyHash2SnapRAIDCore( + const void * data, + const size_t size, + const uint64_t seed_a, + const uint64_t seed_b, + uint64_t * out_lo, + uint64_t * out_hi) { + + uint64_t h0, h1, h2, h3, h4, h5; + uint64_t h6, h7, h8, h9, h10, h11; + + h9 = seed_a; + h10 = seed_b; + + h0 = h3 = h6 = h9; + h1 = h4 = h7 = h10; + h2 = h5 = h8 = h11 = SPOOKY_CONST; + + const uint8_t * p = (const uint8_t *)data; + size_t remaining = size; + + while (remaining >= SPOOKY_BLOCK_SIZE) { + SpookyMix(p, + h0, h1, h2, h3, h4, h5, + h6, h7, h8, h9, h10, h11); + p += SPOOKY_BLOCK_SIZE; + remaining -= SPOOKY_BLOCK_SIZE; + } + + /* + * SnapRAID tail: + * - copy 0..95 remainder bytes + * - zero-fill the rest + * - store the remainder length in byte 95 + * - run SpookyHash2 End() directly + */ + alignas(16) uint8_t buf[SPOOKY_BLOCK_SIZE]; + memset(buf, 0, sizeof(buf)); + if (remaining > 0) { + memcpy(buf, p, remaining); + } + buf[SPOOKY_BLOCK_SIZE - 1] = (uint8_t)remaining; + + SpookyEnd(buf, + h0, h1, h2, h3, h4, h5, + h6, h7, h8, h9, h10, h11); + + *out_lo = h0; + *out_hi = h1; +} + +//------------------------------------------------------------------------------ + +/* + * SMHasher3 supplies one 64-bit seed, while SnapRAID supplies two independent + * 64-bit halves. Duplicate the SMHasher3 seed into both halves, matching the + * convention used by SMHasher3's regular SpookyHash adapter. + */ +template +static void SpookyHash2SnapRAID( + const void * in, + const size_t len, + const seed_t seed, + void * out) { + + uint64_t out_lo; + uint64_t out_hi; + + SpookyHash2SnapRAIDCore( + in, + len, + (uint64_t)seed, + (uint64_t)seed, + &out_lo, + &out_hi); + + /* SnapRAID stores the 128-bit digest in canonical little-endian order. */ + out_lo = COND_BSWAP(out_lo, isBE()); + out_hi = COND_BSWAP(out_hi, isBE()); + + PUT_U64(out_lo, (uint8_t *)out, 0); + PUT_U64(out_hi, (uint8_t *)out, 8); +} + +//------------------------------------------------------------------------------ + +REGISTER_FAMILY(spooky2_snapraid, + $.src_url = "https://github.com/amadvance/snapraid/", + $.src_status = HashFamilyInfo::SRC_ACTIVE + ); + +REGISTER_HASH(SpookyHash2_128_snapraid, + $.desc = + "SpookyHash v2 128-bit, SnapRAID long-path-only variant", + + $.hash_flags = + FLAG_HASH_ENDIAN_INDEPENDENT, + + $.impl_flags = + FLAG_IMPL_ROTATE | + FLAG_IMPL_CANONICAL_LE | + FLAG_IMPL_LICENSE_GPL3, + + $.bits = 128, + + $.verification_LE = 0x965BDDF8, + $.verification_BE = 0x2EF470E2, + + $.hashfn_native = SpookyHash2SnapRAID, + $.hashfn_bswap = SpookyHash2SnapRAID + );