fasthash-sys-fork 0.4.2

A suite of non-cryptographic hash functions for Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
11207
11208
11209
11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223
11224
11225
11226
11227
11228
11229
11230
11231
11232
11233
11234
11235
11236
11237
11238
11239
11240
11241
11242
11243
11244
11245
11246
11247
11248
11249
11250
11251
11252
11253
11254
11255
11256
11257
11258
11259
11260
11261
11262
11263
11264
11265
11266
11267
11268
11269
11270
11271
11272
11273
11274
11275
11276
11277
11278
11279
11280
11281
11282
11283
11284
11285
11286
11287
11288
11289
11290
11291
11292
11293
11294
11295
11296
11297
11298
11299
11300
11301
11302
11303
11304
11305
11306
11307
11308
11309
11310
11311
11312
11313
11314
11315
11316
11317
11318
11319
11320
11321
11322
11323
11324
11325
11326
11327
11328
11329
11330
11331
11332
11333
11334
11335
11336
11337
11338
11339
11340
11341
11342
11343
11344
11345
11346
11347
11348
11349
11350
11351
11352
11353
11354
11355
11356
11357
11358
11359
11360
11361
11362
11363
11364
11365
11366
11367
11368
11369
11370
11371
11372
11373
11374
11375
11376
11377
11378
11379
11380
11381
11382
11383
11384
11385
11386
11387
11388
11389
11390
11391
11392
11393
11394
11395
11396
11397
11398
11399
11400
11401
11402
11403
11404
11405
11406
11407
11408
11409
11410
11411
11412
11413
11414
11415
11416
11417
11418
11419
11420
11421
11422
11423
11424
11425
11426
11427
11428
11429
11430
11431
11432
11433
11434
11435
11436
11437
11438
11439
11440
11441
11442
11443
11444
11445
11446
11447
11448
11449
11450
11451
11452
11453
11454
11455
11456
11457
11458
11459
11460
11461
11462
11463
11464
11465
11466
11467
11468
11469
11470
11471
11472
11473
11474
11475
11476
11477
11478
11479
11480
11481
11482
11483
11484
11485
11486
11487
11488
11489
11490
11491
11492
11493
11494
11495
11496
11497
11498
11499
11500
11501
11502
11503
11504
11505
11506
11507
11508
11509
11510
11511
11512
11513
11514
11515
11516
11517
11518
11519
11520
11521
11522
11523
11524
11525
11526
11527
11528
11529
11530
11531
11532
11533
11534
11535
11536
11537
11538
11539
11540
11541
11542
11543
11544
11545
11546
11547
11548
11549
11550
11551
11552
11553
11554
11555
11556
11557
11558
11559
11560
11561
11562
11563
11564
11565
11566
11567
11568
11569
11570
11571
11572
11573
11574
11575
11576
11577
11578
11579
11580
11581
11582
11583
11584
11585
11586
11587
11588
11589
11590
11591
11592
11593
11594
11595
11596
11597
11598
11599
11600
11601
11602
11603
11604
11605
11606
11607
11608
11609
11610
11611
11612
11613
11614
11615
11616
11617
11618
11619
11620
11621
11622
11623
11624
11625
11626
11627
11628
11629
11630
11631
11632
11633
11634
11635
11636
11637
11638
11639
11640
11641
11642
11643
11644
11645
11646
11647
11648
11649
11650
11651
11652
11653
11654
11655
11656
11657
11658
11659
11660
11661
11662
11663
11664
11665
11666
11667
11668
11669
11670
11671
11672
11673
11674
11675
11676
11677
11678
11679
11680
11681
11682
11683
11684
11685
11686
11687
11688
11689
11690
11691
11692
11693
11694
11695
11696
11697
11698
11699
11700
11701
11702
11703
11704
11705
11706
11707
11708
11709
11710
11711
11712
11713
11714
11715
11716
11717
11718
11719
11720
11721
11722
11723
11724
11725
11726
11727
11728
11729
11730
11731
11732
11733
11734
11735
11736
11737
11738
11739
11740
11741
11742
11743
11744
11745
11746
11747
11748
11749
11750
11751
11752
11753
11754
11755
11756
11757
11758
11759
11760
11761
11762
11763
11764
11765
11766
11767
11768
11769
11770
11771
11772
11773
11774
11775
11776
11777
11778
11779
11780
11781
11782
11783
11784
11785
11786
11787
11788
11789
11790
11791
11792
11793
11794
11795
11796
11797
11798
11799
11800
11801
11802
11803
11804
11805
11806
11807
11808
11809
11810
11811
11812
11813
11814
11815
11816
11817
11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
11839
11840
11841
11842
11843
11844
11845
11846
11847
11848
11849
11850
11851
11852
11853
11854
11855
11856
11857
11858
11859
11860
11861
11862
11863
11864
11865
11866
11867
11868
11869
11870
11871
11872
11873
11874
11875
11876
11877
11878
11879
11880
11881
11882
11883
11884
11885
11886
11887
11888
11889
11890
11891
11892
11893
11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
11917
11918
11919
11920
11921
11922
11923
11924
11925
11926
11927
11928
11929
11930
11931
11932
11933
11934
11935
11936
11937
11938
11939
11940
11941
11942
11943
11944
11945
11946
11947
11948
11949
11950
11951
11952
11953
11954
11955
11956
11957
11958
11959
11960
11961
11962
11963
11964
11965
11966
11967
11968
11969
11970
11971
11972
11973
11974
11975
11976
11977
11978
11979
11980
11981
11982
11983
11984
11985
11986
11987
11988
11989
11990
11991
11992
11993
11994
11995
11996
11997
11998
11999
12000
12001
12002
12003
12004
12005
12006
12007
12008
12009
12010
12011
12012
12013
12014
12015
12016
12017
12018
12019
12020
12021
12022
12023
12024
12025
12026
12027
12028
12029
12030
12031
12032
12033
12034
12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
12056
12057
12058
12059
12060
12061
12062
12063
12064
12065
12066
12067
12068
12069
12070
12071
12072
12073
12074
12075
12076
12077
12078
12079
12080
12081
12082
12083
12084
12085
12086
12087
12088
12089
12090
12091
12092
12093
12094
12095
12096
12097
12098
12099
12100
12101
12102
12103
12104
12105
12106
12107
12108
12109
12110
12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
12134
12135
12136
12137
12138
12139
12140
12141
12142
12143
12144
12145
12146
12147
12148
12149
12150
12151
12152
12153
12154
12155
12156
12157
12158
12159
12160
12161
12162
12163
12164
12165
12166
12167
12168
12169
12170
12171
12172
12173
12174
12175
12176
12177
12178
12179
12180
12181
12182
12183
12184
12185
12186
12187
12188
12189
12190
12191
12192
12193
12194
12195
12196
12197
12198
12199
12200
12201
12202
12203
12204
12205
12206
12207
12208
12209
12210
12211
12212
12213
12214
12215
12216
12217
12218
12219
12220
12221
12222
12223
12224
12225
12226
12227
12228
12229
12230
12231
12232
12233
12234
12235
12236
12237
12238
12239
12240
12241
12242
12243
12244
12245
12246
12247
12248
12249
12250
12251
12252
12253
12254
12255
12256
12257
12258
12259
12260
12261
12262
12263
12264
12265
12266
12267
12268
12269
12270
12271
12272
12273
12274
12275
12276
12277
12278
12279
12280
12281
12282
12283
12284
12285
12286
12287
12288
12289
12290
12291
12292
12293
12294
12295
12296
12297
12298
12299
12300
12301
12302
12303
12304
12305
12306
12307
12308
12309
12310
12311
12312
12313
12314
12315
12316
12317
12318
12319
12320
12321
12322
12323
12324
12325
12326
12327
12328
12329
12330
12331
12332
12333
12334
12335
12336
12337
12338
12339
12340
12341
12342
12343
12344
12345
12346
12347
12348
12349
12350
12351
12352
12353
12354
12355
12356
12357
12358
12359
12360
12361
12362
12363
12364
12365
12366
12367
12368
12369
12370
12371
12372
12373
12374
12375
12376
12377
12378
12379
12380
12381
12382
12383
12384
12385
12386
12387
12388
12389
12390
12391
12392
12393
12394
12395
12396
12397
12398
12399
12400
12401
12402
12403
12404
12405
12406
12407
12408
12409
12410
12411
12412
12413
12414
12415
12416
12417
12418
12419
12420
12421
12422
12423
12424
12425
12426
12427
12428
12429
12430
12431
12432
12433
12434
12435
12436
12437
12438
12439
12440
12441
12442
12443
12444
12445
12446
12447
12448
12449
12450
12451
12452
12453
12454
12455
12456
12457
12458
12459
12460
12461
12462
12463
12464
12465
12466
12467
12468
12469
12470
12471
12472
12473
12474
12475
12476
12477
12478
12479
12480
12481
12482
12483
12484
12485
12486
12487
12488
12489
12490
12491
12492
12493
12494
12495
12496
12497
12498
12499
12500
12501
12502
12503
12504
12505
12506
12507
12508
12509
12510
12511
12512
12513
12514
12515
12516
12517
12518
12519
12520
12521
12522
12523
12524
12525
12526
12527
12528
12529
12530
12531
12532
12533
12534
12535
12536
12537
12538
12539
12540
12541
12542
12543
12544
12545
12546
12547
12548
12549
12550
12551
12552
12553
12554
12555
12556
12557
12558
12559
12560
12561
12562
12563
12564
12565
12566
12567
12568
12569
12570
12571
12572
12573
12574
12575
12576
12577
12578
12579
12580
12581
12582
12583
12584
12585
12586
12587
12588
12589
12590
12591
12592
12593
12594
12595
12596
12597
12598
12599
12600
12601
12602
12603
12604
12605
12606
12607
12608
12609
12610
12611
12612
12613
12614
12615
12616
12617
12618
12619
12620
12621
12622
12623
12624
12625
12626
12627
12628
12629
12630
12631
12632
12633
12634
12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
12656
12657
12658
12659
12660
12661
12662
12663
12664
12665
12666
12667
12668
12669
12670
12671
12672
12673
12674
12675
12676
12677
12678
12679
12680
12681
12682
12683
12684
12685
12686
12687
12688
12689
12690
12691
12692
12693
12694
12695
12696
12697
12698
12699
12700
12701
12702
12703
12704
12705
12706
12707
12708
12709
12710
12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
12734
12735
12736
12737
12738
12739
12740
12741
12742
12743
12744
12745
12746
12747
12748
12749
12750
12751
12752
12753
12754
12755
12756
12757
12758
12759
12760
12761
12762
12763
12764
12765
12766
12767
12768
12769
12770
12771
12772
12773
12774
12775
12776
12777
12778
12779
12780
12781
12782
12783
12784
12785
12786
12787
12788
12789
12790
12791
12792
12793
12794
12795
12796
12797
12798
12799
12800
12801
12802
12803
12804
12805
12806
12807
12808
12809
12810
12811
12812
12813
12814
12815
12816
12817
12818
12819
12820
12821
12822
12823
12824
12825
12826
12827
12828
12829
12830
12831
12832
12833
12834
12835
12836
12837
12838
12839
12840
12841
12842
12843
12844
12845
12846
12847
12848
12849
12850
12851
12852
12853
12854
12855
12856
12857
12858
12859
12860
12861
12862
12863
12864
12865
12866
12867
12868
12869
12870
12871
12872
12873
12874
12875
12876
12877
12878
12879
12880
12881
12882
12883
12884
12885
12886
12887
12888
12889
12890
12891
12892
12893
12894
12895
12896
12897
12898
12899
12900
12901
12902
12903
12904
12905
12906
12907
12908
12909
12910
12911
12912
12913
12914
12915
12916
12917
12918
12919
12920
12921
12922
12923
12924
12925
12926
12927
12928
12929
12930
12931
12932
12933
12934
12935
12936
12937
12938
12939
12940
12941
12942
12943
12944
12945
12946
12947
12948
12949
12950
12951
12952
12953
12954
12955
12956
12957
12958
12959
12960
12961
12962
12963
12964
12965
12966
12967
12968
12969
12970
12971
12972
12973
12974
12975
12976
12977
12978
12979
12980
12981
12982
12983
12984
12985
12986
12987
12988
12989
12990
12991
12992
12993
12994
12995
12996
12997
12998
12999
13000
13001
13002
13003
13004
13005
13006
13007
13008
13009
13010
13011
13012
13013
13014
13015
13016
13017
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
13035
13036
13037
13038
13039
13040
13041
13042
13043
13044
13045
13046
13047
13048
13049
13050
13051
13052
13053
13054
13055
13056
13057
13058
13059
13060
13061
13062
13063
13064
13065
13066
13067
13068
13069
13070
13071
13072
13073
13074
13075
13076
13077
13078
13079
13080
13081
13082
13083
13084
13085
13086
13087
13088
13089
13090
13091
13092
13093
13094
13095
13096
13097
13098
13099
13100
13101
13102
13103
13104
13105
13106
13107
13108
13109
13110
13111
13112
13113
13114
13115
13116
13117
13118
13119
13120
13121
13122
13123
13124
13125
13126
13127
13128
13129
13130
13131
13132
13133
13134
13135
13136
13137
13138
13139
13140
13141
13142
13143
13144
13145
13146
13147
13148
13149
13150
13151
13152
13153
13154
13155
13156
13157
13158
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
13186
13187
13188
13189
13190
13191
13192
13193
13194
13195
13196
13197
13198
13199
13200
13201
13202
13203
13204
13205
13206
13207
13208
13209
13210
13211
13212
13213
13214
13215
13216
13217
13218
13219
13220
13221
13222
13223
13224
13225
13226
13227
13228
13229
13230
13231
13232
13233
13234
13235
13236
13237
13238
13239
13240
13241
13242
13243
13244
13245
13246
13247
13248
13249
13250
13251
13252
13253
13254
13255
13256
13257
13258
13259
13260
13261
13262
13263
13264
13265
13266
13267
13268
13269
13270
13271
13272
13273
13274
13275
13276
13277
13278
13279
13280
13281
13282
13283
13284
13285
13286
13287
13288
13289
13290
13291
13292
13293
13294
13295
13296
13297
13298
13299
13300
13301
13302
13303
13304
13305
13306
13307
13308
13309
13310
13311
13312
13313
13314
13315
13316
13317
13318
13319
13320
13321
13322
13323
13324
13325
13326
13327
13328
13329
13330
13331
13332
13333
13334
13335
13336
13337
13338
13339
13340
13341
13342
13343
13344
13345
13346
13347
13348
13349
13350
13351
13352
13353
13354
13355
13356
13357
13358
13359
13360
13361
13362
13363
13364
13365
13366
13367
13368
13369
13370
13371
13372
13373
13374
13375
13376
13377
13378
13379
13380
13381
13382
13383
13384
13385
13386
13387
13388
13389
13390
13391
13392
13393
13394
13395
13396
13397
13398
13399
13400
13401
13402
13403
13404
13405
13406
13407
13408
13409
13410
13411
13412
13413
13414
13415
13416
13417
13418
13419
13420
13421
13422
13423
13424
13425
13426
13427
13428
13429
13430
13431
13432
13433
13434
13435
13436
13437
13438
13439
13440
13441
13442
13443
13444
13445
13446
13447
13448
13449
13450
13451
13452
13453
13454
13455
13456
13457
13458
13459
13460
13461
13462
13463
13464
13465
13466
13467
13468
13469
13470
13471
13472
13473
13474
13475
13476
13477
13478
13479
13480
13481
13482
13483
13484
13485
13486
13487
13488
13489
13490
13491
13492
13493
13494
13495
13496
13497
13498
13499
13500
13501
13502
13503
13504
13505
13506
13507
13508
13509
13510
13511
13512
13513
13514
13515
13516
13517
13518
13519
13520
13521
13522
13523
13524
13525
13526
13527
13528
13529
13530
13531
13532
13533
13534
13535
13536
13537
13538
13539
13540
13541
13542
13543
13544
13545
13546
13547
13548
13549
13550
13551
13552
13553
13554
13555
13556
13557
13558
13559
13560
13561
13562
13563
13564
13565
13566
13567
13568
13569
13570
13571
13572
13573
13574
13575
13576
13577
13578
13579
13580
13581
13582
13583
13584
13585
13586
13587
13588
13589
13590
13591
13592
13593
13594
13595
13596
13597
13598
13599
13600
13601
13602
13603
13604
13605
13606
13607
13608
13609
13610
13611
13612
13613
13614
13615
13616
13617
13618
13619
13620
13621
13622
13623
13624
13625
13626
13627
13628
13629
13630
13631
13632
13633
13634
13635
13636
13637
13638
13639
13640
13641
13642
13643
13644
13645
13646
13647
13648
13649
13650
13651
13652
13653
13654
13655
13656
13657
13658
13659
13660
13661
13662
13663
13664
13665
13666
13667
13668
13669
13670
13671
13672
13673
13674
13675
13676
13677
13678
13679
13680
13681
13682
13683
13684
13685
13686
13687
13688
13689
13690
13691
13692
13693
13694
13695
13696
13697
13698
13699
13700
13701
13702
13703
13704
13705
13706
13707
13708
13709
13710
13711
13712
13713
13714
13715
13716
13717
13718
13719
13720
13721
13722
13723
13724
13725
13726
13727
13728
13729
13730
13731
13732
13733
13734
13735
13736
13737
13738
13739
13740
13741
13742
13743
13744
13745
13746
13747
13748
13749
13750
13751
13752
13753
13754
13755
13756
13757
13758
13759
13760
13761
13762
13763
13764
13765
13766
13767
13768
13769
13770
13771
13772
13773
13774
13775
13776
13777
13778
13779
13780
13781
13782
13783
13784
13785
13786
13787
13788
13789
13790
13791
13792
13793
13794
13795
13796
13797
13798
13799
13800
13801
13802
13803
13804
13805
13806
13807
13808
13809
13810
13811
13812
13813
13814
13815
13816
13817
13818
13819
13820
13821
13822
13823
13824
13825
13826
13827
13828
13829
13830
13831
13832
13833
13834
13835
13836
13837
13838
13839
13840
13841
13842
13843
13844
13845
13846
13847
13848
13849
13850
13851
13852
13853
13854
13855
13856
13857
13858
13859
13860
13861
13862
13863
13864
13865
13866
13867
13868
13869
13870
13871
13872
13873
13874
13875
13876
13877
13878
13879
13880
13881
13882
13883
13884
13885
13886
13887
13888
13889
13890
13891
13892
13893
13894
13895
13896
13897
13898
13899
13900
13901
13902
13903
13904
13905
13906
13907
13908
13909
13910
13911
13912
13913
13914
13915
13916
13917
13918
13919
13920
13921
13922
13923
13924
13925
13926
13927
13928
13929
13930
13931
13932
13933
13934
13935
13936
13937
13938
13939
13940
13941
13942
13943
13944
13945
13946
13947
13948
13949
13950
13951
13952
13953
13954
13955
13956
13957
13958
13959
13960
13961
13962
13963
13964
13965
13966
13967
13968
13969
13970
13971
13972
13973
13974
13975
13976
13977
13978
13979
13980
13981
13982
13983
13984
13985
13986
13987
13988
13989
13990
13991
13992
13993
13994
13995
13996
13997
13998
13999
14000
14001
14002
14003
14004
14005
14006
14007
14008
14009
14010
14011
14012
14013
14014
14015
14016
14017
14018
14019
14020
14021
14022
14023
14024
14025
14026
14027
14028
14029
14030
14031
14032
14033
14034
14035
14036
14037
14038
14039
14040
14041
14042
14043
14044
14045
14046
14047
14048
14049
14050
14051
14052
14053
14054
14055
14056
14057
14058
14059
14060
14061
14062
14063
14064
14065
14066
14067
14068
14069
14070
14071
14072
14073
14074
14075
14076
14077
14078
14079
14080
14081
14082
14083
14084
14085
14086
14087
14088
14089
14090
14091
14092
14093
14094
14095
14096
14097
14098
14099
14100
14101
14102
14103
14104
14105
14106
14107
14108
14109
14110
14111
14112
14113
14114
14115
14116
14117
14118
14119
14120
14121
14122
14123
14124
14125
14126
14127
14128
14129
14130
14131
14132
14133
14134
14135
14136
14137
14138
14139
14140
14141
14142
14143
14144
14145
14146
14147
14148
14149
14150
14151
14152
14153
14154
14155
14156
14157
14158
14159
14160
14161
14162
14163
14164
14165
14166
14167
14168
14169
14170
14171
14172
14173
14174
14175
14176
14177
14178
14179
14180
14181
14182
14183
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
14199
14200
14201
14202
14203
14204
14205
14206
14207
14208
14209
14210
14211
14212
14213
14214
14215
14216
14217
14218
14219
14220
14221
14222
14223
14224
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
14240
14241
14242
14243
14244
14245
14246
14247
14248
14249
14250
14251
14252
14253
14254
14255
14256
14257
14258
14259
14260
14261
14262
14263
14264
14265
14266
14267
14268
14269
14270
14271
14272
14273
14274
14275
14276
14277
14278
14279
14280
14281
14282
14283
14284
14285
14286
14287
14288
14289
14290
14291
14292
14293
14294
14295
14296
14297
14298
14299
14300
14301
14302
14303
14304
14305
14306
14307
14308
14309
14310
14311
14312
14313
14314
14315
14316
14317
14318
14319
14320
14321
14322
14323
14324
14325
14326
14327
14328
14329
14330
14331
14332
14333
14334
14335
14336
14337
14338
14339
14340
14341
14342
14343
14344
14345
14346
14347
14348
14349
14350
14351
14352
14353
14354
14355
14356
14357
14358
14359
14360
14361
14362
14363
14364
14365
14366
14367
14368
14369
14370
14371
14372
14373
14374
14375
14376
14377
14378
14379
14380
14381
14382
14383
14384
14385
14386
14387
14388
14389
14390
14391
14392
14393
14394
14395
14396
14397
14398
14399
14400
14401
14402
14403
14404
14405
14406
14407
14408
14409
14410
14411
14412
14413
14414
14415
14416
14417
14418
14419
14420
14421
14422
14423
14424
14425
14426
14427
14428
14429
14430
14431
14432
14433
14434
14435
14436
14437
14438
14439
14440
14441
14442
14443
14444
14445
14446
14447
14448
14449
14450
14451
14452
14453
14454
14455
14456
14457
14458
14459
14460
14461
14462
14463
14464
14465
14466
14467
14468
14469
14470
14471
14472
14473
14474
14475
14476
14477
14478
14479
14480
14481
14482
14483
14484
14485
14486
14487
14488
14489
14490
14491
14492
14493
14494
14495
14496
14497
14498
14499
14500
14501
14502
14503
14504
14505
14506
14507
14508
14509
14510
14511
14512
14513
14514
14515
14516
14517
14518
14519
14520
14521
14522
14523
14524
14525
14526
14527
14528
14529
14530
14531
14532
14533
14534
14535
14536
14537
14538
14539
14540
14541
14542
14543
14544
14545
14546
14547
14548
14549
14550
14551
14552
14553
14554
14555
14556
14557
14558
14559
14560
14561
14562
14563
14564
14565
14566
14567
14568
14569
14570
14571
14572
14573
14574
14575
14576
14577
14578
14579
14580
14581
14582
14583
14584
14585
14586
14587
14588
14589
14590
14591
14592
14593
14594
14595
14596
14597
14598
14599
14600
14601
14602
14603
14604
14605
14606
14607
14608
14609
14610
14611
14612
14613
14614
14615
14616
14617
14618
14619
14620
14621
14622
14623
14624
14625
14626
14627
14628
14629
14630
14631
14632
14633
14634
14635
14636
14637
14638
14639
14640
14641
14642
14643
14644
14645
14646
14647
14648
14649
14650
14651
14652
14653
14654
14655
14656
14657
14658
14659
14660
14661
14662
14663
14664
14665
14666
14667
14668
14669
14670
14671
14672
14673
14674
14675
14676
14677
14678
14679
14680
14681
14682
14683
14684
14685
14686
14687
14688
14689
14690
14691
14692
14693
14694
14695
14696
14697
14698
14699
14700
14701
14702
14703
14704
14705
14706
14707
14708
14709
14710
14711
14712
14713
14714
14715
14716
14717
14718
14719
14720
14721
14722
14723
14724
14725
14726
14727
14728
14729
14730
14731
14732
14733
14734
14735
14736
14737
14738
14739
14740
14741
14742
14743
14744
14745
14746
14747
14748
14749
14750
14751
14752
14753
14754
14755
14756
14757
14758
14759
14760
14761
14762
14763
14764
14765
14766
14767
14768
14769
14770
14771
14772
14773
14774
14775
14776
14777
14778
14779
14780
14781
14782
14783
14784
14785
14786
14787
14788
14789
14790
14791
14792
14793
14794
14795
14796
14797
14798
14799
14800
14801
14802
14803
14804
14805
14806
14807
14808
14809
14810
14811
14812
14813
14814
14815
14816
14817
14818
14819
14820
14821
-------------------------------------------------------------------------------
--- Testing FNV64 "Fowler-Noll-Vo hash, 64-bit" POOR

[[[ Sanity Tests ]]]

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

[[[ Speed Tests ]]]

Bulk speed test - 262144-byte keys
Alignment  7 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  6 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  5 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  4 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  3 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  2 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  1 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Alignment  0 -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz
Average      -  0.277 bytes/cycle -  791.82 MiB/sec @ 3 ghz

Small key speed test -    1-byte keys -    15.00 cycles/hash
Small key speed test -    2-byte keys -    19.00 cycles/hash
Small key speed test -    3-byte keys -    22.00 cycles/hash
Small key speed test -    4-byte keys -    26.00 cycles/hash
Small key speed test -    5-byte keys -    29.91 cycles/hash
Small key speed test -    6-byte keys -    33.00 cycles/hash
Small key speed test -    7-byte keys -    37.00 cycles/hash
Small key speed test -    8-byte keys -    40.00 cycles/hash
Small key speed test -    9-byte keys -    44.00 cycles/hash
Small key speed test -   10-byte keys -    48.00 cycles/hash
Small key speed test -   11-byte keys -    51.00 cycles/hash
Small key speed test -   12-byte keys -    55.00 cycles/hash
Small key speed test -   13-byte keys -    58.31 cycles/hash
Small key speed test -   14-byte keys -    62.00 cycles/hash
Small key speed test -   15-byte keys -    66.00 cycles/hash
Small key speed test -   16-byte keys -    69.00 cycles/hash
Small key speed test -   17-byte keys -    73.00 cycles/hash
Small key speed test -   18-byte keys -    76.57 cycles/hash
Small key speed test -   19-byte keys -    80.00 cycles/hash
Small key speed test -   20-byte keys -    84.00 cycles/hash
Small key speed test -   21-byte keys -    87.00 cycles/hash
Small key speed test -   22-byte keys -    91.00 cycles/hash
Small key speed test -   23-byte keys -    95.00 cycles/hash
Small key speed test -   24-byte keys -    98.00 cycles/hash
Small key speed test -   25-byte keys -   102.00 cycles/hash
Small key speed test -   26-byte keys -   105.00 cycles/hash
Small key speed test -   27-byte keys -   109.00 cycles/hash
Small key speed test -   28-byte keys -   113.00 cycles/hash
Small key speed test -   29-byte keys -   116.00 cycles/hash
Small key speed test -   30-byte keys -   120.00 cycles/hash
Small key speed test -   31-byte keys -   123.47 cycles/hash
Average                                    69.298 cycles/hash

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

std::unordered_map
Init std HashMapTest:     472.815 cycles/op (102401 inserts, 1% deletions)
Running std HashMapTest:  299.097 cycles/op (4.4 stdv)

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


[[[ Avalanche Tests ]]]

Testing   24-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   32-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   40-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   48-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   56-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   64-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   72-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   80-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing   96-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing  112-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing  128-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing  160-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing  512-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
Testing 1024-bit keys ->  64-bit hashes, 300000 reps worst bias is 100.000000% !!!!!
*********FAIL*********

[[[ Keyset 'Sparse' Tests ]]]

Keyset 'Sparse' - 16-bit keys with up to 9 bits set - 50643 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected          0.3, actual      0 (0.00x)
Testing collisions (high 19-25 bits) - Worst is 23 bits: 22344/152 (146.17x) !!!!!
Testing collisions (high 12-bit) - Expected      46547.0, actual  50588 (1.09x) (4041)
Testing collisions (high  8-bit) - Expected      50387.0, actual  50638 (1.00x) (251)
Testing collisions (low  32-bit) - Expected          0.3, actual      0 (0.00x)
Testing collisions (low  19-25 bits) - Worst is  0 bits:  0/ 1 (0.00x)
Testing collisions (low  12-bit) - Expected      46547.0, actual  46547 (1.00x)
Testing collisions (low   8-bit) - Expected      50387.0, actual  50387 (1.00x)
Testing distribution - Worst bias is the 13-bit window at bit 26 - 99.988% !!!!!

Keyset 'Sparse' - 24-bit keys with up to 8 bits set - 1271626 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        188.2, actual      0 (0.00x)
Testing collisions (high 24-35 bits) - Worst is 30 bits: 13543/752 (17.99x) !!!!!
Testing collisions (high 12-bit) - Expected    1267530.0, actual 1267545 (1.00x) (15)
Testing collisions (high  8-bit) - Expected    1271370.0, actual 1271370 (1.00x)
Testing collisions (low  32-bit) - Expected        188.2, actual      0 (0.00x)
Testing collisions (low  24-35 bits) - Worst is 24 bits: 18460/48191 (0.38x)
Testing collisions (low  12-bit) - Expected    1267530.0, actual 1267530 (1.00x)
Testing collisions (low   8-bit) - Expected    1271370.0, actual 1271370 (1.00x)
Testing distribution - Worst bias is the 17-bit window at bit 23 - 99.615% !!!!!

Keyset 'Sparse' - 32-bit keys with up to 7 bits set - 4514873 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2373.0, actual   1021 (0.43x)
Testing collisions (high 25-38 bits) - Worst is 28 bits: 49753/37968 (1.31x)
Testing collisions (high 12-bit) - Expected    4510777.0, actual 4510777 (1.00x)
Testing collisions (high  8-bit) - Expected    4514617.0, actual 4514617 (1.00x)
Testing collisions (low  32-bit) - Expected       2373.0, actual   2123 (0.89x)
Testing collisions (low  25-38 bits) - Worst is 30 bits: 14209/9492 (1.50x)
Testing collisions (low  12-bit) - Expected    4510777.0, actual 4510777 (1.00x)
Testing collisions (low   8-bit) - Expected    4514617.0, actual 4514617 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 21 - 96.879% !!!!!

Keyset 'Sparse' - 40-bit keys with up to 6 bits set - 4598479 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2461.7, actual   4943 (2.01x) (2482) !!!!!
Testing collisions (high 25-38 bits) - Worst is 32 bits: 4943/2461 (2.01x) !!!!!
Testing collisions (high 12-bit) - Expected    4594383.0, actual 4594383 (1.00x)
Testing collisions (high  8-bit) - Expected    4598223.0, actual 4598223 (1.00x)
Testing collisions (low  32-bit) - Expected       2461.7, actual   1991 (0.81x)
Testing collisions (low  25-38 bits) - Worst is 34 bits: 868/615 (1.41x)
Testing collisions (low  12-bit) - Expected    4594383.0, actual 4594383 (1.00x)
Testing collisions (low   8-bit) - Expected    4598223.0, actual 4598223 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 21 - 92.385% !!!!!

Keyset 'Sparse' - 48-bit keys with up to 6 bits set - 14196869 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      23463.6, actual  34202 (1.46x) (10739)
Testing collisions (high 27-42 bits) - Worst is 41 bits: 267/45 (5.83x) !!!!!
Testing collisions (high 12-bit) - Expected   14192773.0, actual 14192773 (1.00x)
Testing collisions (high  8-bit) - Expected   14196613.0, actual 14196613 (1.00x)
Testing collisions (low  32-bit) - Expected      23463.6, actual  25137 (1.07x) (1674)
Testing collisions (low  27-42 bits) - Worst is 39 bits: 413/183 (2.25x) !!!!!
Testing collisions (low  12-bit) - Expected   14192773.0, actual 14192773 (1.00x)
Testing collisions (low   8-bit) - Expected   14196613.0, actual 14196613 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 77.736% !!!!!

Keyset 'Sparse' - 56-bit keys with up to 5 bits set - 4216423 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2069.7, actual   2787 (1.35x) (718)
Testing collisions (high 25-38 bits) - Worst is 38 bits: 50/32 (1.55x)
Testing collisions (high 12-bit) - Expected    4212327.0, actual 4212327 (1.00x)
Testing collisions (high  8-bit) - Expected    4216167.0, actual 4216167 (1.00x)
Testing collisions (low  32-bit) - Expected       2069.7, actual   2437 (1.18x) (368)
Testing collisions (low  25-38 bits) - Worst is 37 bits: 234/64 (3.62x) !!!!!
Testing collisions (low  12-bit) - Expected    4212327.0, actual 4212327 (1.00x)
Testing collisions (low   8-bit) - Expected    4216167.0, actual 4216167 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 21 - 81.293% !!!!!

Keyset 'Sparse' - 64-bit keys with up to 5 bits set - 8303633 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8026.9, actual   8444 (1.05x) (418)
Testing collisions (high 26-40 bits) - Worst is 37 bits: 281/250 (1.12x)
Testing collisions (high 12-bit) - Expected    8299537.0, actual 8299537 (1.00x)
Testing collisions (high  8-bit) - Expected    8303377.0, actual 8303377 (1.00x)
Testing collisions (low  32-bit) - Expected       8026.9, actual   9687 (1.21x) (1661)
Testing collisions (low  26-40 bits) - Worst is 37 bits: 948/250 (3.78x) !!!!!
Testing collisions (low  12-bit) - Expected    8299537.0, actual 8299537 (1.00x)
Testing collisions (low   8-bit) - Expected    8303377.0, actual 8303377 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 70.864% !!!!!

Keyset 'Sparse' - 72-bit keys with up to 5 bits set - 15082603 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      26482.7, actual  28786 (1.09x) (2304)
Testing collisions (high 27-42 bits) - Worst is 34 bits: 7597/6620 (1.15x)
Testing collisions (high 12-bit) - Expected   15078507.0, actual 15078507 (1.00x)
Testing collisions (high  8-bit) - Expected   15082347.0, actual 15082347 (1.00x)
Testing collisions (low  32-bit) - Expected      26482.7, actual  31152 (1.18x) (4670)
Testing collisions (low  27-42 bits) - Worst is 37 bits: 2361/827 (2.85x) !!!!!
Testing collisions (low  12-bit) - Expected   15078507.0, actual 15078507 (1.00x)
Testing collisions (low   8-bit) - Expected   15082347.0, actual 15082347 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 52.770% !!!!!

Keyset 'Sparse' - 96-bit keys with up to 4 bits set - 3469497 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1401.3, actual   1472 (1.05x) (71)
Testing collisions (high 25-38 bits) - Worst is 33 bits: 761/700 (1.09x)
Testing collisions (high 12-bit) - Expected    3465401.0, actual 3465401 (1.00x)
Testing collisions (high  8-bit) - Expected    3469241.0, actual 3469241 (1.00x)
Testing collisions (low  32-bit) - Expected       1401.3, actual   1347 (0.96x)
Testing collisions (low  25-38 bits) - Worst is 37 bits: 116/43 (2.65x) !!!!!
Testing collisions (low  12-bit) - Expected    3465401.0, actual 3465401 (1.00x)
Testing collisions (low   8-bit) - Expected    3469241.0, actual 3469241 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 22 - 58.042% !!!!!

Keyset 'Sparse' - 160-bit keys with up to 4 bits set - 26977161 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      84723.3, actual  84371 (1.00x) (-352)
Testing collisions (high 28-44 bits) - Worst is 42 bits: 121/82 (1.46x)
Testing collisions (high 12-bit) - Expected   26973065.0, actual 26973065 (1.00x)
Testing collisions (high  8-bit) - Expected   26976905.0, actual 26976905 (1.00x)
Testing collisions (low  32-bit) - Expected      84723.3, actual 108348 (1.28x) (23625)
Testing collisions (low  28-44 bits) - Worst is 38 bits: 2631/1323 (1.99x)
Testing collisions (low  12-bit) - Expected   26973065.0, actual 26973065 (1.00x)
Testing collisions (low   8-bit) - Expected   26976905.0, actual 26976905 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 48 - 17.921% !!!!!

Keyset 'Sparse' - 256-bit keys with up to 3 bits set - 2796417 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        910.4, actual    854 (0.94x)
Testing collisions (high 25-37 bits) - Worst is 35 bits: 120/113 (1.05x)
Testing collisions (high 12-bit) - Expected    2792321.0, actual 2792321 (1.00x)
Testing collisions (high  8-bit) - Expected    2796161.0, actual 2796161 (1.00x)
Testing collisions (low  32-bit) - Expected        910.4, actual   1323 (1.45x) (413)
Testing collisions (low  25-37 bits) - Worst is 37 bits: 110/28 (3.87x) !!!!!
Testing collisions (low  12-bit) - Expected    2792321.0, actual 2792321 (1.00x)
Testing collisions (low   8-bit) - Expected    2796161.0, actual 2796161 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 49 - 33.633% !!!!!

Keyset 'Sparse' - 512-bit keys with up to 3 bits set - 22370049 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      58256.4, actual  57986 (1.00x) (-270)
Testing collisions (high 28-43 bits) - Worst is 34 bits: 14641/14564 (1.01x)
Testing collisions (high 12-bit) - Expected   22365953.0, actual 22365953 (1.00x)
Testing collisions (high  8-bit) - Expected   22369793.0, actual 22369793 (1.00x)
Testing collisions (low  32-bit) - Expected      58256.4, actual  85316 (1.46x) (27060)
Testing collisions (low  28-43 bits) - Worst is 39 bits: 828/455 (1.82x)
Testing collisions (low  12-bit) - Expected   22365953.0, actual 22365953 (1.00x)
Testing collisions (low   8-bit) - Expected   22369793.0, actual 22369793 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 49 - 33.096% !!!!!

Keyset 'Sparse' - 1024-bit keys with up to 2 bits set - 524801 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         32.1, actual     28 (0.87x)
Testing collisions (high 22-32 bits) - Worst is 23 bits: 16915/16416 (1.03x)
Testing collisions (high 12-bit) - Expected     520705.0, actual 520705 (1.00x)
Testing collisions (high  8-bit) - Expected     524545.0, actual 524545 (1.00x)
Testing collisions (low  32-bit) - Expected         32.1, actual     56 (1.75x) (24)
Testing collisions (low  22-32 bits) - Worst is 27 bits: 2507/1026 (2.44x) !!!!!
Testing collisions (low  12-bit) - Expected     520705.0, actual 520705 (1.00x)
Testing collisions (low   8-bit) - Expected     524545.0, actual 524545 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 57 - 56.914% !!!!!

Keyset 'Sparse' - 2048-bit keys with up to 2 bits set - 2098177 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.5, actual    521 (1.02x) (9)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/64 (1.12x)
Testing collisions (high 12-bit) - Expected    2094081.0, actual 2094081 (1.00x)
Testing collisions (high  8-bit) - Expected    2097921.0, actual 2097921 (1.00x)
Testing collisions (low  32-bit) - Expected        512.5, actual    951 (1.86x) (439)
Testing collisions (low  24-36 bits) - Worst is 35 bits: 398/64 (6.21x) !!!!!
Testing collisions (low  12-bit) - Expected    2094081.0, actual 2094081 (1.00x)
Testing collisions (low   8-bit) - Expected    2097921.0, actual 2097921 (1.00x)
Testing distribution - Worst bias is the 18-bit window at bit 59 - 56.979% !!!!!

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

[[[ Keyset 'Permutation' Tests ]]]

Combination Lowbits Tests:
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        668.7, actual      0 (0.00x)
Testing collisions (high 25-37 bits) - Worst is 30 bits: 6545/2674 (2.45x) !!!!!
Testing collisions (high 12-bit) - Expected    2392648.0, actual 2392648 (1.00x)
Testing collisions (high  8-bit) - Expected    2396488.0, actual 2396488 (1.00x)
Testing collisions (low  32-bit) - Expected        668.7, actual      0 (0.00x)
Testing collisions (low  25-37 bits) - Worst is 25 bits: 258208/85597 (3.02x) !!!!!
Testing collisions (low  12-bit) - Expected    2392648.0, actual 2394696 (1.00x) (2048)
Testing collisions (low   8-bit) - Expected    2396488.0, actual 2396616 (1.00x) (128)
Testing distribution - Worst bias is the 17-bit window at bit 57 - 55.549% !!!!!

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

Combination Highbits Tests
Keyset 'Combination' - up to 7 blocks from a set of 8 - 2396744 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        668.7, actual      0 (0.00x)
Testing collisions (high 25-37 bits) - Worst is 27 bits: 26195/21399 (1.22x)
Testing collisions (high 12-bit) - Expected    2392648.0, actual 2392648 (1.00x)
Testing collisions (high  8-bit) - Expected    2396488.0, actual 2396488 (1.00x)
Testing collisions (low  32-bit) - Expected        668.7, actual   2256 (3.37x) (1588) !!!!!
Testing collisions (low  25-37 bits) - Worst is 30 bits: 165328/2674 (61.81x) !!!!!
Testing collisions (low  12-bit) - Expected    2392648.0, actual 2396488 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2396488.0, actual 2396728 (1.00x) (240)
Testing distribution - Worst bias is the 16-bit window at bit 62 - 96.738% !!!!!

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

Combination Hi-Lo Tests:
Keyset 'Combination' - up to 6 blocks from a set of 15 - 12204240 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      17339.3, actual  14870 (0.86x)
Testing collisions (high 27-41 bits) - Worst is 27 bits: 529132/554857 (0.95x)
Testing collisions (high 12-bit) - Expected   12200144.0, actual 12200144 (1.00x)
Testing collisions (high  8-bit) - Expected   12203984.0, actual 12203984 (1.00x)
Testing collisions (low  32-bit) - Expected      17339.3, actual  24539 (1.42x) (7200)
Testing collisions (low  27-41 bits) - Worst is 29 bits: 278495/138714 (2.01x) !!!!!
Testing collisions (low  12-bit) - Expected   12200144.0, actual 12202192 (1.00x) (2048)
Testing collisions (low   8-bit) - Expected   12203984.0, actual 12204112 (1.00x) (128)
Testing distribution - Worst bias is the 20-bit window at bit 49 - 56.079% !!!!!

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

Combination 0x8000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   8717 (1.06x) (526)
Testing collisions (high 26-40 bits) - Worst is 33 bits: 5042/4095 (1.23x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 1344820 (164.16x) (1336629) !!!!!
Testing collisions (low  26-40 bits) - Worst is 40 bits: 6648/31 (207.75x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388430 (1.00x) (3920)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388590 (1.00x) (240)
Testing distribution - Worst bias is the 15-bit window at bit  0 - 99.565% !!!!!

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

Combination 0x0000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   3314 (0.40x)
Testing collisions (high 26-40 bits) - Worst is 26 bits: 567235/524287 (1.08x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual  36630 (4.47x) (28439) !!!!!
Testing collisions (low  26-40 bits) - Worst is 31 bits: 158802/16383 (9.69x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388094 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388574 (1.00x) (224)
Testing distribution - Worst bias is the 20-bit window at bit 54 - 89.286% !!!!!

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

Combination 0x800000000000000 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   8580 (1.05x) (389)
Testing collisions (high 26-40 bits) - Worst is 29 bits: 74441/65535 (1.14x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 1760868 (214.95x) (1752677) !!!!!
Testing collisions (low  26-40 bits) - Worst is 40 bits: 19096/31 (596.75x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388486 (1.00x) (3976)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388598 (1.00x) (248)
Testing distribution - Worst bias is the 19-bit window at bit  0 - 99.531% !!!!!

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

Combination 0x000000000000001 Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   5970 (0.73x)
Testing collisions (high 26-40 bits) - Worst is 26 bits: 500287/524287 (0.95x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 203558 (24.85x) (195367) !!!!!
Testing collisions (low  26-40 bits) - Worst is 38 bits: 6144/127 (48.00x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388350 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388590 (1.00x) (240)
Testing distribution - Worst bias is the 18-bit window at bit 63 - 96.681% !!!!!

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

Combination 16-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   9952 (1.21x) (1761)
Testing collisions (high 26-40 bits) - Worst is 32 bits: 9952/8191 (1.21x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 1002162 (122.33x) (993971) !!!!!
Testing collisions (low  26-40 bits) - Worst is 39 bits: 13900/63 (217.19x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388478 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388598 (1.00x) (248)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 99.167% !!!!!

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

Combination 16-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   6095 (0.74x)
Testing collisions (high 26-40 bits) - Worst is 34 bits: 1889/2047 (0.92x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 2769144 (338.03x) (2760953) !!!!!
Testing collisions (low  26-40 bits) - Worst is 35 bits: 982948/1023 (959.91x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388542 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388602 (1.00x) (252)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 99.758% !!!!!

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

Combination 32-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   6467 (0.79x)
Testing collisions (high 26-40 bits) - Worst is 26 bits: 452053/524287 (0.86x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 4644152 (566.91x) (4635961) !!!!!
Testing collisions (low  26-40 bits) - Worst is 37 bits: 795142/255 (3106.03x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388542 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388602 (1.00x) (252)
Testing distribution - Worst bias is the 20-bit window at bit  1 - 99.876% !!!!!

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

Combination 32-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   6648 (0.81x)
Testing collisions (high 26-40 bits) - Worst is 26 bits: 483380/524287 (0.92x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 5703760 (696.26x) (5695569) !!!!!
Testing collisions (low  26-40 bits) - Worst is 38 bits: 792606/127 (6192.24x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388574 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388604 (1.00x) (254)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 99.852% !!!!!

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

Combination 64-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   5701 (0.70x)
Testing collisions (high 26-40 bits) - Worst is 40 bits: 39/31 (1.22x)
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 7405196 (903.96x) (7397005) !!!!!
Testing collisions (low  26-40 bits) - Worst is 40 bits: 1230998/31 (38468.71x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388574 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388604 (1.00x) (254)
Testing distribution - Worst bias is the 16-bit window at bit  0 - 99.927% !!!!!

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

Combination 64-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual  21294 (2.60x) (13103) !!!!!
Testing collisions (high 26-40 bits) - Worst is 37 bits: 1050/255 (4.10x) !!!!!
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 8356316 (1020.06x) (8348125) !!!!!
Testing collisions (low  26-40 bits) - Worst is 40 bits: 7194756/31 (224836.26x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388574 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388604 (1.00x) (254)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 99.995% !!!!!

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

Combination 128-bytes [0-1] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       8192.0, actual   8215 (1.00x) (24)
Testing collisions (high 26-40 bits) - Worst is 35 bits: 3822/1023 (3.73x) !!!!!
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 8055676 (983.36x) (8047485) !!!!!
Testing collisions (low  26-40 bits) - Worst is 40 bits: 4570108/31 (142815.96x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388590 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388604 (1.00x) (254)
Testing distribution - Worst bias is the 18-bit window at bit  0 - 99.982% !!!!!

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

Combination 128-bytes [0-last] Tests:
Keyset 'Combination' - up to 22 blocks from a set of 2 - 8388606 keys
Testing collisions ( 64-bit) - Expected    0.0, actual  13772 (7220498639.75x) (13772) !!!!!
Testing collisions (high 32-bit) - Expected       8192.0, actual  30890 (3.77x) (22699) !!!!!
Testing collisions (high 26-40 bits) - Worst is 40 bits: 13779/31 (430.59x) !!!!!
Testing collisions (high 12-bit) - Expected    8384510.0, actual 8384510 (1.00x)
Testing collisions (high  8-bit) - Expected    8388350.0, actual 8388350 (1.00x)
Testing collisions (low  32-bit) - Expected       8192.0, actual 8370390 (1021.78x) (8362199) !!!!!
Testing collisions (low  26-40 bits) - Worst is 40 bits: 7821116/31 (244410.02x) !!!!!
Testing collisions (low  12-bit) - Expected    8384510.0, actual 8388590 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    8388350.0, actual 8388604 (1.00x) (254)
Testing distribution - Worst bias is the 20-bit window at bit  0 - 99.995% !!!!!

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

[[[ Keyset 'Window' Tests ]]]

Keyset 'Window' - 136-bit key,  20-bit window - 136 tests, 1048576 keys per test
Window at   0 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   1 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   2 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   3 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   4 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   5 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   6 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   7 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   8 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at   9 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  10 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  11 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  12 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  13 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  14 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  15 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  16 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  17 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  18 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  19 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  20 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  21 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  22 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  23 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  24 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  25 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  26 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  27 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  28 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  29 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  30 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  31 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  32 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  33 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  34 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  35 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  36 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  37 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  38 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  39 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  40 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  41 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  42 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  43 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  44 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  45 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  46 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  47 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  48 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  49 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  50 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  51 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  52 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  53 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  54 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  55 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  56 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  57 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  58 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  59 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  60 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  61 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  62 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  63 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  64 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  65 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  66 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  67 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  68 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  69 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  70 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  71 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  72 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  73 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  74 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  75 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  76 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  77 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  78 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  79 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  80 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  81 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  82 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  83 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  84 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  85 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  86 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  87 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  88 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  89 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  90 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  91 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  92 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  93 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  94 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  95 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  96 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  97 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  98 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at  99 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 100 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 101 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 102 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 103 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 104 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 105 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 106 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 107 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 108 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 109 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 110 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 111 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 112 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 113 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 114 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 115 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 116 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 117 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 118 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 119 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 120 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 121 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 122 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 123 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 124 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 125 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 126 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 127 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 128 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 129 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 130 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 131 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 132 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 133 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 134 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 135 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)
Window at 136 - Testing collisions ( 64-bit)     - Expected          0.0, actual      0 (0.00x)


[[[ Keyset 'Cyclic' Tests ]]]

Keyset 'Cyclic' - 8 cycles of 8 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    107 (0.92x)
Testing collisions (high 23-34 bits) - Worst is 28 bits: 1890/1862 (1.01x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual   2145 (18.43x) (2029) !!!!!
Testing collisions (low  23-34 bits) - Worst is 33 bits: 1085/58 (18.64x) !!!!!
Testing collisions (low  12-bit) - Expected     995904.0, actual 999744 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999984 (1.00x) (240)
Testing distribution - Worst bias is the 16-bit window at bit 61 - 94.450% !!!!!

Keyset 'Cyclic' - 8 cycles of 9 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual     95 (0.82x)
Testing collisions (high 23-34 bits) - Worst is 34 bits: 33/29 (1.13x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual   1182 (10.15x) (1066) !!!!!
Testing collisions (low  23-34 bits) - Worst is 34 bits: 303/29 (10.41x) !!!!!
Testing collisions (low  12-bit) - Expected     995904.0, actual 999488 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999968 (1.00x) (224)
Testing distribution - Worst bias is the 16-bit window at bit 60 - 90.026% !!!!!

Keyset 'Cyclic' - 8 cycles of 10 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    119 (1.02x) (3)
Testing collisions (high 23-34 bits) - Worst is 32 bits: 119/116 (1.02x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual   2063 (17.72x) (1947) !!!!!
Testing collisions (low  23-34 bits) - Worst is 33 bits: 1044/58 (17.94x) !!!!!
Testing collisions (low  12-bit) - Expected     995904.0, actual 999744 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999984 (1.00x) (240)
Testing distribution - Worst bias is the 17-bit window at bit 58 - 94.431% !!!!!

Keyset 'Cyclic' - 8 cycles of 11 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    124 (1.07x) (8)
Testing collisions (high 23-34 bits) - Worst is 34 bits: 35/29 (1.20x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual   1163 (9.99x) (1047) !!!!!
Testing collisions (low  23-34 bits) - Worst is 31 bits: 2337/232 (10.04x) !!!!!
Testing collisions (low  12-bit) - Expected     995904.0, actual 999488 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999968 (1.00x) (224)
Testing distribution - Worst bias is the 17-bit window at bit 61 - 90.023% !!!!!

Keyset 'Cyclic' - 8 cycles of 12 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    129 (1.11x) (13)
Testing collisions (high 23-34 bits) - Worst is 34 bits: 36/29 (1.24x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual   2099 (18.03x) (1983) !!!!!
Testing collisions (low  23-34 bits) - Worst is 30 bits: 8434/465 (18.11x) !!!!!
Testing collisions (low  12-bit) - Expected     995904.0, actual 999744 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999984 (1.00x) (240)
Testing distribution - Worst bias is the 16-bit window at bit 63 - 94.440% !!!!!

Keyset 'Cyclic' - 8 cycles of 16 bytes - 1000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        116.4, actual    132 (1.13x) (16)
Testing collisions (high 23-34 bits) - Worst is 32 bits: 132/116 (1.13x)
Testing collisions (high 12-bit) - Expected     995904.0, actual 995904 (1.00x)
Testing collisions (high  8-bit) - Expected     999744.0, actual 999744 (1.00x)
Testing collisions (low  32-bit) - Expected        116.4, actual   2045 (17.57x) (1929) !!!!!
Testing collisions (low  23-34 bits) - Worst is 31 bits: 4173/232 (17.92x) !!!!!
Testing collisions (low  12-bit) - Expected     995904.0, actual 999744 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected     999744.0, actual 999984 (1.00x) (240)
Testing distribution - Worst bias is the 17-bit window at bit 61 - 94.439% !!!!!

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

[[[ Keyset 'TwoBytes' Tests ]]]

Keyset 'TwoBytes' - up-to-4-byte keys, 652545 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         49.6, actual     13 (0.26x)
Testing collisions (high 23-33 bits) - Worst is 23 bits: 215580/25380 (8.49x) !!!!!
Testing collisions (high 12-bit) - Expected     648449.0, actual 648449 (1.00x)
Testing collisions (high  8-bit) - Expected     652289.0, actual 652289 (1.00x)
Testing collisions (low  32-bit) - Expected         49.6, actual      9 (0.18x)
Testing collisions (low  23-33 bits) - Worst is 28 bits: 862/793 (1.09x)
Testing collisions (low  12-bit) - Expected     648449.0, actual 648449 (1.00x)
Testing collisions (low   8-bit) - Expected     652289.0, actual 652289 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 24 - 99.837% !!!!!

Keyset 'TwoBytes' - up-to-8-byte keys, 5471025 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       3484.6, actual   2388 (0.69x)
Testing collisions (high 26-39 bits) - Worst is 28 bits: 58404/55752 (1.05x)
Testing collisions (high 12-bit) - Expected    5466929.0, actual 5466929 (1.00x)
Testing collisions (high  8-bit) - Expected    5470769.0, actual 5470769 (1.00x)
Testing collisions (low  32-bit) - Expected       3484.6, actual   3773 (1.08x) (289)
Testing collisions (low  26-39 bits) - Worst is 32 bits: 3773/3484 (1.08x)
Testing collisions (low  12-bit) - Expected    5466929.0, actual 5466929 (1.00x)
Testing collisions (low   8-bit) - Expected    5470769.0, actual 5470769 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 97.231% !!!!!

Keyset 'TwoBytes' - up-to-12-byte keys, 18616785 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      40347.8, actual  45815 (1.14x) (5468)
Testing collisions (high 27-42 bits) - Worst is 32 bits: 45815/40347 (1.14x)
Testing collisions (high 12-bit) - Expected   18612689.0, actual 18612689 (1.00x)
Testing collisions (high  8-bit) - Expected   18616529.0, actual 18616529 (1.00x)
Testing collisions (low  32-bit) - Expected      40347.8, actual  44145 (1.09x) (3798)
Testing collisions (low  27-42 bits) - Worst is 35 bits: 7823/5043 (1.55x)
Testing collisions (low  12-bit) - Expected   18612689.0, actual 18612689 (1.00x)
Testing collisions (low   8-bit) - Expected   18616529.0, actual 18616529 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 85.555% !!!!!

Keyset 'TwoBytes' - up-to-16-byte keys, 44251425 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     227963.2, actual 234154 (1.03x) (6191)
Testing collisions (high 29-45 bits) - Worst is 35 bits: 29807/28495 (1.05x)
Testing collisions (high 12-bit) - Expected   44247329.0, actual 44247329 (1.00x)
Testing collisions (high  8-bit) - Expected   44251169.0, actual 44251169 (1.00x)
Testing collisions (low  32-bit) - Expected     227963.2, actual 225115 (0.99x) (-2848)
Testing collisions (low  29-45 bits) - Worst is 35 bits: 33244/28495 (1.17x)
Testing collisions (low  12-bit) - Expected   44247329.0, actual 44247329 (1.00x)
Testing collisions (low   8-bit) - Expected   44251169.0, actual 44251169 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 63.029% !!!!!

Keyset 'TwoBytes' - up-to-20-byte keys, 86536545 total keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     871784.7, actual 884388 (1.01x) (12604)
Testing collisions (high 30-47 bits) - Worst is 35 bits: 114138/108973 (1.05x)
Testing collisions (high 12-bit) - Expected   86532449.0, actual 86532449 (1.00x)
Testing collisions (high  8-bit) - Expected   86536289.0, actual 86536289 (1.00x)
Testing collisions (low  32-bit) - Expected     871784.7, actual 855351 (0.98x) (-16433)
Testing collisions (low  30-47 bits) - Worst is 35 bits: 110647/108973 (1.02x)
Testing collisions (low  12-bit) - Expected   86532449.0, actual 86532449 (1.00x)
Testing collisions (low   8-bit) - Expected   86536289.0, actual 86536289 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 39.568% !!!!!

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

[[[ MomentChi2 Tests ]]]

Analyze hashes produced from a serie of linearly increasing numbers of 32-bit, using a step of 2 ... 
Target values to approximate : 38918200.000000 - 273633.333333 
4 threads starting...  done
Popcount 1 stats : 38788738.425887 - 271340.421795
Popcount 0 stats : 39001573.391986 - 273164.723762
MomentChi2 for bits 1 :   30754.3 
MomentChi2 for bits 0 :   12712.4 

Derivative stats (transition from 2 consecutive values) : 
Popcount 1 stats : 34825088.405565 - 236128.608761
Popcount 0 stats : 43509837.028467 - 322987.392862
MomentChi2 for deriv b1 :  3.28655e+07 
MomentChi2 for deriv b0 :  3.53376e+07 

  FAIL !!!! 


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


[[[ Keyset 'Text' Tests ]]]

Keyset 'Text' - keys of form "FooXXXXBar" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      25418.1, actual  18040 (0.71x)
Testing collisions (high 27-42 bits) - Worst is 28 bits: 396047/406690 (0.97x)
Testing collisions (high 12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (high  8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing collisions (low  32-bit) - Expected      25418.1, actual  60038 (2.36x) (34620) !!!!!
Testing collisions (low  27-42 bits) - Worst is 28 bits: 1539950/406690 (3.79x) !!!!!
Testing collisions (low  12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (low   8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 46 - 3.146% !!!!!

Keyset 'Text' - keys of form "FooBarXXXX" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      25418.1, actual  66562 (2.62x) (41144) !!!!!
Testing collisions (high 27-42 bits) - Worst is 36 bits: 23146/1588 (14.57x) !!!!!
Testing collisions (high 12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (high  8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing collisions (low  32-bit) - Expected      25418.1, actual  61610 (2.42x) (36192) !!!!!
Testing collisions (low  27-42 bits) - Worst is 28 bits: 1524460/406690 (3.75x) !!!!!
Testing collisions (low  12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (low   8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit 20 - 95.545% !!!!!

Keyset 'Text' - keys of form "XXXXFooBar" - 14776336 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected      25418.1, actual  20305 (0.80x)
Testing collisions (high 27-42 bits) - Worst is 28 bits: 388864/406690 (0.96x)
Testing collisions (high 12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (high  8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing collisions (low  32-bit) - Expected      25418.1, actual  75834 (2.98x) (50416) !!!!!
Testing collisions (low  27-42 bits) - Worst is 28 bits: 1577324/406690 (3.88x) !!!!!
Testing collisions (low  12-bit) - Expected   14772240.0, actual 14772240 (1.00x)
Testing collisions (low   8-bit) - Expected   14776080.0, actual 14776080 (1.00x)
Testing distribution - Worst bias is the 20-bit window at bit  7 - 1.472% !!!!!

Keyset 'Words' - 4000000 random keys of len 6-16 from alnum charset
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1862.6, actual   1887 (1.01x) (25)
Testing collisions (high 25-38 bits) - Worst is 38 bits: 36/29 (1.24x)
Testing collisions (high 12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (high  8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing collisions (low  32-bit) - Expected       1862.6, actual   1843 (0.99x) (-19)
Testing collisions (low  25-38 bits) - Worst is 38 bits: 33/29 (1.13x)
Testing collisions (low  12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (low   8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 21 - 0.060%

Keyset 'Words' - 4000000 random keys of len 6-16 from password charset
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       1862.6, actual   1913 (1.03x) (51)
Testing collisions (high 25-38 bits) - Worst is 37 bits: 74/58 (1.27x)
Testing collisions (high 12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (high  8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing collisions (low  32-bit) - Expected       1862.6, actual   1881 (1.01x) (19)
Testing collisions (low  25-38 bits) - Worst is 37 bits: 66/58 (1.13x)
Testing collisions (low  12-bit) - Expected    3995904.0, actual 3995904 (1.00x)
Testing collisions (low   8-bit) - Expected    3999744.0, actual 3999744 (1.00x)
Testing distribution - Worst bias is the 19-bit window at bit 57 - 0.051%

Keyset 'Words' - 479826 dict words
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected         26.8, actual     23 (0.86x)
Testing collisions (high 22-32 bits) - Worst is 23 bits: 17377/13722 (1.27x)
Testing collisions (high 12-bit) - Expected     475730.0, actual 475730 (1.00x)
Testing collisions (high  8-bit) - Expected     479570.0, actual 479570 (1.00x)
Testing collisions (low  32-bit) - Expected         26.8, actual     17 (0.63x)
Testing collisions (low  22-32 bits) - Worst is 28 bits: 446/428 (1.04x)
Testing collisions (low  12-bit) - Expected     475730.0, actual 475730 (1.00x)
Testing collisions (low   8-bit) - Expected     479570.0, actual 479570 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 24 - 48.740% !!!!!

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

[[[ Keyset 'Zeroes' Tests ]]]

Keyset 'Zeroes' - 204800 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected          4.9, actual      9 (1.84x) (5)
Testing collisions (high 21-29 bits) - Worst is 29 bits: 42/39 (1.08x)
Testing collisions (high 12-bit) - Expected     200704.0, actual 200704 (1.00x)
Testing collisions (high  8-bit) - Expected     204544.0, actual 204544 (1.00x)
Testing collisions (low  32-bit) - Expected          4.9, actual      0 (0.00x)
Testing collisions (low  21-29 bits) - Worst is  0 bits:  0/ 1 (0.00x)
Testing collisions (low  12-bit) - Expected     200704.0, actual 203776 (1.02x) (3072)
Testing collisions (low   8-bit) - Expected     204544.0, actual 204736 (1.00x) (192)
Testing distribution - Worst bias is the 15-bit window at bit 53 - 75.021% !!!!!

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

[[[ Keyset 'Seed' Tests ]]]

Keyset 'Seed' - 5000000 keys
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected       2910.4, actual  15799 (5.43x) (12889) !!!!!
Testing collisions (high 26-39 bits) - Worst is 33 bits: 9760/1455 (6.71x) !!!!!
Testing collisions (high 12-bit) - Expected    4995904.0, actual 4995904 (1.00x)
Testing collisions (high  8-bit) - Expected    4999744.0, actual 4999744 (1.00x)
Testing collisions (low  32-bit) - Expected       2910.4, actual      0 (0.00x)
Testing collisions (low  26-39 bits) - Worst is  0 bits:  0/ 1 (0.00x)
Testing collisions (low  12-bit) - Expected    4995904.0, actual 4995904 (1.00x)
Testing collisions (low   8-bit) - Expected    4999744.0, actual 4999744 (1.00x)
Testing distribution - Worst bias is the 16-bit window at bit 55 - 58.086% !!!!!

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

[[[ Keyset 'PerlinNoise' Tests ]]]

Testing 16777216 coordinates (L2) : 
Testing collisions ( 64-bit) - Expected    0.0, actual 16711680 (2190433451520.01x) (16711680) !!!!!
Testing collisions (high 32-bit) - Expected      32768.0, actual 16711680 (510.00x) (16678913) !!!!!
Testing collisions (high 27-42 bits) - Worst is 42 bits: 16711680/31 (522240.03x) !!!!!
Testing collisions (high 12-bit) - Expected   16773120.0, actual 16776346 (1.00x) (3226)
Testing collisions (high  8-bit) - Expected   16776960.0, actual 16777161 (1.00x) (201)
Testing collisions (low  32-bit) - Expected      32768.0, actual 16711680 (510.00x) (16678913) !!!!!
Testing collisions (low  27-42 bits) - Worst is 42 bits: 16711680/31 (522240.03x) !!!!!
Testing collisions (low  12-bit) - Expected   16773120.0, actual 16773120 (1.00x)
Testing collisions (low   8-bit) - Expected   16776960.0, actual 16776960 (1.00x)

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

[[[ Diff 'Differential' Tests ]]]

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

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

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


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

Testing bit 0
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    510 (1.00x) (-1)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 34/31 (1.06x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2051 (4.01x) (1540) !!!!!
Testing collisions (low  24-36 bits) - Worst is 34 bits: 536/127 (4.19x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 1
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    543 (1.06x) (32)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 73/63 (1.14x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2106 (4.11x) (1595) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 168/31 (5.25x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 2
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    510 (1.00x) (-1)
Testing collisions (high 24-36 bits) - Worst is 29 bits: 4145/4095 (1.01x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   4034 (7.88x) (3523) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 263/31 (8.22x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096640 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 3
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    558 (1.09x) (47)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 149/127 (1.16x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   8259 (16.13x) (7748) !!!!!
Testing collisions (low  24-36 bits) - Worst is 32 bits: 8259/511 (16.13x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096896 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 4
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    597 (1.17x) (86)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 99/63 (1.55x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  16549 (32.32x) (16038) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1052/31 (32.88x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097024 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 5
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual   2042 (3.99x) (1531) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 537/31 (16.78x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  36445 (71.18x) (35934) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 3511/31 (109.72x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097088 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 6
Testing collisions ( 64-bit) - Expected    0.0, actual     16 (134217792.00x) (16) !!!!!
Collisions:
c098621d1d612308
400841a05c5a7e0e
40012ea002558316
4040ceef46b08621
406232504546972c
40400c6118466441
40002ab100129542
401138115024e042
404034a129c2ec42
40c00c6168426443
c0061a8d4c346d49
c0b440143f412a8e
40028153242110a8
c05212aab30d40a9
c040b2804863b4b0
4058dbee001649c3

Testing collisions (high 32-bit) - Expected        512.0, actual  23338 (45.58x) (22827) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 8102/31 (253.19x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual 147427 (287.94x) (146916) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 37712/31 (1178.50x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097120 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 7
Testing collisions ( 64-bit) - Expected    0.0, actual     90 (754975080.00x) (90) !!!!!
Collisions:
802d28a14940940e
80953010109c3610
800b3430108c4d10
8060b8aa94c86110
80952086a8d10019
80075957141e7019
806434c940c9a419
80004299b853a51e
80098043a5242721
802a819220952a22
80024c400de60a25
8044ec618e84e126
8068619e99d30327
804395928084d028
809a238698520029
808a238a9b520029
808a208e686e0029
806236d11851c22a
80d82286a9d1002b
8028689080843a2c
80d046c00ca6042d
80c4448d80848530
80ae452808aa8031
80ed4af80b668032
80162e12f828a148
80410fa26262344b
8037984c29172150
802d88cf78312150
80a0c07c54ddd250
800a392808ba8151
80d23ee8085a8052
80b5c62808668052
8039508a4b1c0861
8098120caa64fc61
8008c624a0844a6a
801875b61c240070
80188b0c85028080
803988858684c980
809a8786868c4881
80315d888a859f82
8010a5888784a482
8071a5798b84a482
80437b889a87a482
808018c25084c882
8081684ed1854883
808018c250844983
8036132102f14a83
808018c2308c4f83
8030ad888684a583
802bb0128b052784
802d90128b026b84
8080184253844885
808019c2508c4885
803811270271dc85
8011ad8b8a84fc85
8028428b867c0286
8029428b9a840286
809845aeb54e2886
808168425184cf86
80406a4a64334087
808028c6509c4887
80a84a100dfa0788
800fc533156e0c88
8068c91033e60d88
806e93302417348a
80091b86280ec18a
80520240424ac38a
80832842318c498d
808119c6d1844b8d
8007d371242c0090
80075392256c0090
8012504c28d1a090
8054c7919cb12194
80adc0f064b6209c
80116588868cac9d
805a4db6e42b01b0
805c51961c2403b0
8022012b61b871b0
800844049b87c3c0
8064b8013c2190c2
8085164a13225bc7
803c884c290f27d0
809bbaf0808c18d4
80e1365108d3c2d6
800552c40251e2d9
80987204a66b04e1
808f0e04e6240ce1
800244c004660fe5
808a6186b85600e9

Testing collisions (high 32-bit) - Expected        512.0, actual 149517 (292.03x) (149006) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 59545/31 (1860.78x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093231 (1.00x) (175)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096901 (1.00x) (5)
Testing collisions (low  32-bit) - Expected        512.0, actual 555656 (1085.27x) (555145) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 216983/31 (6780.72x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097136 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 8
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    528 (1.03x) (17)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 39/31 (1.22x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2049 (4.00x) (1538) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 136/31 (4.25x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 9
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    499 (0.97x)
Testing collisions (high 24-36 bits) - Worst is 31 bits: 1029/1023 (1.00x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2155 (4.21x) (1644) !!!!!
Testing collisions (low  24-36 bits) - Worst is 32 bits: 2155/511 (4.21x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 10
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    549 (1.07x) (38)
Testing collisions (high 24-36 bits) - Worst is 35 bits: 72/63 (1.13x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   4066 (7.94x) (3555) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 269/31 (8.41x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096640 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 11
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    566 (1.11x) (55)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 57/31 (1.78x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   8402 (16.41x) (7891) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 569/31 (17.78x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096896 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 12
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual   1769 (3.46x) (1258) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 411/31 (12.84x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  18179 (35.51x) (17668) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1600/31 (50.00x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097024 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 13
Testing collisions ( 64-bit) - Expected    0.0, actual      3 (25165836.00x) (3) !!!!!
Collisions:
a0268d0049111180
2035108cc198ce82
e08982301104e3ae

Testing collisions (high 32-bit) - Expected        512.0, actual   8748 (17.09x) (8237) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2985/31 (93.28x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  52560 (102.66x) (52049) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 9765/31 (305.16x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097088 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 14
Testing collisions ( 64-bit) - Expected    0.0, actual     52 (436207824.00x) (52) !!!!!
Collisions:
c04b0a01b6651e00
c0341501b2272000
40ed150192652000
c088140192e22000
40b8140f92e22000
40a10a0172652100
40881501f2662100
40a30a1f92a52100
c0450a0192222200
404f1a01b6222200
404b0a03b2252200
c04b0a01922d2200
404d0a03922e2200
40cf160192652200
4061150192a22200
40c5090192222600
40a10a0192a22600
40a30d0192a22600
404b0e01b2223e00
40e10d019666e100
c09e0f0192a2e100
40538400b2a23202
401385036e235202
40538401b2a2f203
4017a00e36c91106
40558c00b2a25106
403684f900c78206
40407031ea326007
c06109472598d808
4024c8630e04410a
c0052822160cf10c
40a3dbe4768c3318
405c38060904154b
4003559040190d52
4027547040ab1a52
40d821222208e452
c0110be12208465e
40c764e0c8b13261
40551a272298c272
40d728920b0431a0
40062992148450a0
407688762008c8a0
401011102049daa1
4073860d040480a4
40439ab47c0422a6
4010ad20220890b0
403105216208c2bf
c0608b2622880acc
401cbd0b0904c9cd
409ee203422b00dd
4085510cc62652e9
4045570db6221eff

Testing collisions (high 32-bit) - Expected        512.0, actual  80675 (157.57x) (80164) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 34769/31 (1086.53x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093073 (1.00x) (17)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual 265665 (518.88x) (265154) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 102979/31 (3218.10x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097120 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 15
Testing collisions ( 64-bit) - Expected    0.0, actual    347 (2910848364.00x) (347) !!!!!
Collisions:
804515022c453d00
80102b0e24c54100
8011690e24c54100
803037022cc54100
80106b0224c74100
8010191ee4ca4100
8011190624cf4100
8011190224454200
8030190224454200
80102f0224454200
8010390224454200
8033690224454200
8010293e3c454200
801039025c454200
80101902e4464200
8030190224474200
800f1b0224474200
803029022c474200
8010291e64474200
8010390eec4a4200
80301b02644b4200
80101902244d4200
80ce1a0224c54200
80421b0224c54200
80422b0224c54200
8042370224c54200
80c21a022cc54200
80302b02e4c54200
80461502e4c64200
80c22b0224c74200
8045eb012cc74200
803119022cc74200
80427506ecca4200
80f069022ccb4200
80c26a022ccb4200
80c515062ccb4200
80422b0224cd4200
80421d0224cf4200
803319062ccf4200
80421502dcda4200
80111b02e4da4200
8042170624db4200
80452b0624dd4200
8010390664fb4200
8043150224454300
80423d0e24454300
80421b02ec464300
80421706244d4300
800fe90624c54300
80c61a022cc54300
808e14023cc54300
80421f0224c74300
80c5160224cb4300
80771402243d4400
809a150224454400
808a15025c454400
808b7c02dc464400
809a1d02244b4400
809d3302644d4400
80951502245d4400
808a2c0624c54400
80b614022cc54400
80432d02243b4500
80c2160224454500
80421d0224454500
80c21a0624454500
80426d0264454500
80c31a02244f4500
80c237022cc54500
80c23d062cc54500
80421502e4cd4500
8010290264474600
80102b0264474600
80101902244b4600
80301902244d4600
803029022cc54600
80102b0e24cb4600
80c21d1e244d4700
8096140224454c00
8097140224474c00
809a2c02e44b4c00
801019022c454e00
80101702e44d4e00
8045150224454f00
801934ea01385100
808a1c062c475c00
8028145e03087100
808d106a0108bd00
8010790224cdc100
80101b022c3bc200
80103b025c3bc200
803017062447c200
80101702244bc200
801019026c4dc200
8070171e2cc5c200
804515022ccbc200
80421502243bc300
80462d02e44ac300
801039023cc5c300
80106902dccbc300
808a1502e446c400
809d140224c5c400
804515022c45c500
8042f5026c4dc500
801319062447c600
80c63b062445cd00
80101b063cc7ff00
800f69022447c201
809a2c022445c401
8042150224c7ce01
80101902ecc6de01
808060ad5465c002
80111b02643dc203
807411a901084804
801411ab01084804
800c11b906084804
800c11a902184804
801411d9fe184804
800c116b01384804
805021e25a924804
80c0105901084b04
801c116901185804
80690801244d6304
806918012c4d6304
807a18012ccb6704
8054190164c5a204
80a60b012c47a304
809e0801e4c5a404
80aa1b012cdbad04
801411e90218c804
806938012445e504
8061f0052c47fa04
80ab1901dc5ae505
8054a6a5ecba4006
80124c64ad300107
8044215302a36d08
801513d1dd448208
8011655502a39408
801d11a90178480c
803431a90208580c
806b080124c5640c
80068432461a9411
800cc036c792b411
80c0318e4530b112
80826218c5922813
808222184bb22913
8082260845923813
8028463002e30615
8035250847926a15
80e4457002a30617
807c44300e650b1b
80002077152a9622
8035630845726a2d
8040128e4a10712e
801510725a10902e
8014400b4db29330
8011c3309166f430
800e1a6b94228531
801310924e109031
80530532b4e61432
80dad71166541239
801297129d001839
80081b2340964540
8008052740964540
8019052540924f40
807950241f086240
80fa51242b086240
806a5064e9096240
8004338012c57340
800cae241708a140
80a970243918a240
80aa73246908de40
806bf0641908ee40
803530a540109041
801310a740109041
803310a740109041
807ef0241b78a241
8024947948454c42
80e89649584f4d42
8034106741707042
803430a5c0109042
80d690dbcb4dc242
801410a54010f042
8082952239180b43
8020222040b65444
8023266040925c44
80e0212040725d44
8023262040726f44
8033202040b2b544
8060222040b2d444
8051732169080845
8051f3211b181845
8063d114f500cc45
801b8cb848c5c446
80006b8a12450349
8021222040965c4c
802022204096744c
80202220c096744c
8080c10c844e014e
80360d6641100a4f
8066662e523bb852
801732f104185253
8056c00484520256
800af04855c71756
80420bb60408f459
8014ac24f490cd5b
8002a6e0807d165c
80015a2081352a5c
8020222040b2555c
801199129503185f
805249a9c2681664
8003a620814d7a64
80094944aa309b64
80025a2081552e6c
8002a6e081362a7c
800823c110760488
80a2214110da0d88
80fc02421056ad8c
80c09029a8003c91
80083949112bd392
80e14c1136084093
8007b31c72086796
807823c1303a0498
800099a9444d329a
803149b74298099c
80648c095019649f
8088442783dd85a0
80ee422781738ca0
8094494809a380a1
802ec16481d282a1
8094eb23149008a2
80c0e80cb0188da2
800d9903d0389aa2
80212ac1443020a3
8006aa2081331aa4
8001da2183d21aa4
8052682083d31ea4
8007ea2081322aa4
80026a6081322aa4
80066e6081322aa4
8002ea2181522aa4
8001da2083332ea4
8001ea2081523aa4
8002eae083526aa4
80577b44ae1088a4
8008181929c528a6
80c1518c083835a6
80439704701997a6
8025b23aa63020a8
8051ac4aae1021a8
8030b44eba3021a8
80845549661022a8
802fbcda6e1023a8
8050d4dba91023a8
802889268132f0a8
80e16087d0a744a9
809216162bc54ea9
8005511c1218d9a9
80c05084080813aa
800cd114720829aa
8004513412082baa
808a147604084daa
80d1c8e8ce780eac
8003666081d21aac
8002666081d32bac
80cab02c680049ac
8001a62083526aac
801838d2f34d47ad
8060156a694bc1ae
800c708b1808d1ae
808d7369a800d3b0
8055887a84525db1
80051059554d18b2
80e24d25609639b2
8004be73e31040b5
80079272a310c0b5
8030f4c6591021b8
8030d4c9e97021b8
8004c326409672b9
8080430d844e07ba
80c8500c12082aba
8006a62081332abc
8020222040927cbc
80cb392340b244c0
80080d2540b245c0
80080d25c0b25dc0
805a505c190862c0
8067b025690862c0
80bad025fb0862c0
80ae502c291862c0
80b9723c171863c0
8069d124290865c0
8033522c290867c0
806a50e419f86fc0
8014f6e41a08a1c0
800cd2e42a08a1c0
806650241b08a2c0
80a650242908a2c0
8079507cf708a2c0
805e71246908a3c0
80080d654096c5c0
80b503254092dac0
806950e46908e6c0
801430e5401090c1
802c10e5411090c1
801d3063c13090c2
8020222040b2abc3
8062744548ddd8c3
80206220c0925cc4
80606260409274c4
808237db6a08ccc4
8020222040b2d4c4
802022204072ebc4
80356060406efcc4
80309522190808c5
8050b5261b0808c5
80509d21290808c5
80a213a640100bc5
8029c440c99f84c5
8021e2e04092acc5
801430a5403090c6
804a4165409276c7
804874119700b2c7
8046004a932291c8
80009985324505c9
80338f11930028c9
8080c104843601ca
8020e220c092d4cc
8080c20f845703ce
80489411b5004ece
8037516c043898d0
80a080b3b9a620d1
806210710c0853d5
80a9a4388c5da5d7
80d055496a1023d8
80703e1a966a01d9
80075ae080322ae4
8040d085087815e6
8002aa2083d23aec
80c0980dd0288def
8080c104847603f6
80705c49ee3027f8
80230046106aaafc

Testing collisions (high 32-bit) - Expected        512.0, actual 278928 (544.78x) (278417) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 124799/31 (3899.97x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093536 (1.00x) (480)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096905 (1.00x) (9)
Testing collisions (low  32-bit) - Expected        512.0, actual 837001 (1634.77x) (836490) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 427089/31 (13346.54x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097136 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 16
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    544 (1.06x) (33)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 46/31 (1.44x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   1993 (3.89x) (1482) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 130/31 (4.06x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 17
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    594 (1.16x) (83)
Testing collisions (high 24-36 bits) - Worst is 34 bits: 172/127 (1.34x)
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2001 (3.91x) (1490) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 135/31 (4.22x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 18
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    725 (1.42x) (214)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 89/31 (2.78x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   4196 (8.20x) (3685) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 304/31 (9.50x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096640 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 19
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual   1159 (2.26x) (648) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 257/31 (8.03x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   9030 (17.64x) (8519) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 761/31 (23.78x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096896 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 20
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual  10031 (19.59x) (9520) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 3453/31 (107.91x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  29552 (57.72x) (29041) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 5808/31 (181.50x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097024 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 21
Testing collisions ( 64-bit) - Expected    0.0, actual     16 (134217792.00x) (16) !!!!!
Collisions:
a0008120d4043714
200e7f101b91b417
20c0163203718443
e00c8042a21a1392
20afc9d0c8852694
2002162804912e94
60844a31c8056294
e015121a02b10198
20191021644a8098
e0048042a20917b2
208032b084661cb2
20503612900245b5
60973c1d0711a1c0
207011124244adc0
208074c00131e5c3
2015100a023103e8

Testing collisions (high 32-bit) - Expected        512.0, actual  42335 (82.69x) (41824) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 15413/31 (481.66x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093135 (1.00x) (79)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual 128247 (250.48x) (127736) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 40302/31 (1259.44x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097088 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 22
Testing collisions ( 64-bit) - Expected    0.0, actual    215 (1803551580.00x) (215) !!!!!
Collisions:
4005aea46e044520
402051870033dc20
40f8cb8600331821
c023ca488318f223
c0090085440f1a24
c006008b44131a24
c00a008b44151a24
c020038b448d1a24
4060018544bf1a24
4006009d44151e24
c00600854c0d2624
402001874c8f2624
401a0085440d2a24
400a00854b152a24
c009008b5c152a24
c009008dfd342a24
c009008bcdfc2b24
400e008d4c0d3a24
4020018d4cb53a24
400a008544133e24
4006008d4573ee24
40582144a818c825
408b25a0b1789326
404428d019625228
4044285008a27228
4044585008e2b628
4002d3d0ac34c228
c0c429700862d228
40cb2282c495d428
40aa68d00be6f628
c091fc1401228b29
400c7bd108a2b929
40ac95639088c229
40e5a95608ae002a
c00004a591980a2a
40952d609089902a
c04826f00822cc2b
c006008bcc0c1a2c
400a0085450d1a2c
4006008b44131a2c
401a0085c40c2e2c
40060087440d662c
40706c127289862c
4001a94e0826002e
405c222c92b8722e
4082221492093232
4001a9b609660036
c00004a590880e36
4082613492085636
4082621492087236
c09492a190984338
c00e9f4f0822003a
400169520822003a
403a05a590180a3a
409291834413693a
4030ac759e89863c
c08262349209d651
4086223c92085252
c0b506a390b80a5a
401e0085c40c6a5c
40502124549d4862
c09622a0b0889066
40b493a191884268
c0cc58f008e25268
40c42b703862b668
40016008026be26a
4006008bc40c1e6c
4006008544f5296c
401a008544132a6c
403a008fc4142a6c
c0b0cb4aa50c1277
40044b511862e679
c0fa04a571170a7e
4089cd4578046a80
4013092b0a269080
40331b391e269080
c0089a2a06a24281
4052796a0ae24281
40b4683a1aa24681
4054a82a06a2c581
403299250a22c681
4030ed0851a20082
4023590851e20282
403b2a3853220382
c023291831620682
405299650622c282
c04029e406e6f582
c042762a95180083
401a2a240e620a83
401a26241a620a83
406a66241a660a83
c0c066e405a20b83
401a266406221a83
c0100b390ae2b083
40142012c20c0884
c0172012420d0884
c02c201242150884
c0c5201242f50884
c0662e124e130984
40a3271242170984
40882212c28d0984
4088250ec6b40984
40562316c20c0a84
40b26412c2130a84
c0782212428d0a84
4098220ec28c0b84
40882212428d0b84
4088671246730e84
4088e212428d0e84
40dee416c20c1684
40882532c28d1684
40882316c6b41784
40722716c20d1a84
40563d12c6141a84
40f22c1642171a84
40882212c2751a84
4098270ec2771a84
404d2430a4a91e84
4045e4136c7a2e84
c0982212c28d7f84
404029240aa20a85
40405b240aae0a85
c092282c0a660c85
c099293c1a260d85
40402b2406a20d85
40c0262406621585
40263e240a621a85
40403b240aa21b85
c0183fc126aea085
401805412deaa085
40220ac1265aa185
40081d436b5aa185
40f08c11c214a885
40e4901342b5a985
40169010c61caa85
40402b800162c785
400ab010c6136a86
400eb07142336a86
c05604432d5aa086
40080541e559a386
40249130c68da986
4056675a06e2c686
c00db0104237da86
40220a41e529e186
40249110c28cea86
400a90104613f686
c01b9010423ffa86
400e90104215fe87
c00652200aa21188
c07951e006e21188
400232200ea21388
40290011420da488
c03800314215a488
c0d1011342f3a488
c0458e104215598a
40081d415bda618a
c027911042936a8a
400945618608968a
40510c412d2ea08a
40f8064327aaa08a
40f455810222908b
4014200e421d088c
c0146016c235088c
c04d611e4293088c
40c720324297088c
c071e312c2340a8c
40d26d32ce14168c
40882212c295198c
c0982212429d198c
4088630ec2941a8c
40081925222a288c
40c0292c0a620d8d
40c069641ea21a8d
c04125800222438d
400807412fbaa38d
40c30cc141a9e88e
400c089750006392
400252e005a21198
c03204412d66a09a
40986312ce8c0a9c
4078261242950a9c
40b8221242970e9c
40d2e411c20c169c
402199830ea2099d
40003d1cc214429d
401e9030c213569e
402e2aa286080cb6
40290011421ddcb8
400a7010c2146aba
40444165e4106cd0
408c1c5338aa1dd1
c00004ad908817d6
404ab5a1b70845d8
40c4685008a252d8
40019bb1186200da
401a008544f51adc
400e008d4c1726dc
400a0085dc1c26dc
400a008544176adc
4006008dc40c1ae4
c00a0085cc0c1ae4
400e008744151ae4
4006008dcf0c1ee4
c009008d441326e4
4060018b448d2de4
400e0085440d66e4
c0b668d008224de8
4096e870782253e8
404428b008a25ee8
403aca530826aee9
40600185cc8c2aec
4044685008a656f8
4006009b450d26fc

Testing collisions (high 32-bit) - Expected        512.0, actual 200749 (392.09x) (200238) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 87027/31 (2719.60x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093654 (1.00x) (598)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096924 (1.00x) (28)
Testing collisions (low  32-bit) - Expected        512.0, actual 514813 (1005.49x) (514302) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 256053/31 (8001.66x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097120 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 23
Testing collisions ( 64-bit) - Expected    0.0, actual    778 (6526340136.00x) (778) !!!!!
Collisions:
80c4b312a2459800
8044912da2479800
8045711da65b9800
8016af16e6449900
80cc9033a244a800
803291126244a900
80129116a2c5a900
80459112aecca900
80c4911266dca900
80e29632a244aa00
8011b1166244ab00
80129712e24ce900
80dbd05b1c448502
800e31b574448602
800a335714cc8b02
80a008d23d119902
80287435e23b5103
804c9135ee4c9803
801291136244eb03
80126c1062440204
804e521066440304
80887030a2440404
80887110a6440404
80995010e2c40404
80cdd51162440704
8087511062440c04
80887010a2440c04
8088b010a2c41c04
8068315b14448f05
80842c6b6a110006
809c25552a130006
808524555a170006
802ad95c26110e06
803454b814441406
8034d4b814441406
8080524834441506
808f56481cc41506
808076d80ccc1506
808055b81dc41606
808172481ccc1606
80804d481c441706
80ce50b80b4c1a06
808055c80cc41a06
8035534814c41a06
808053c814441b06
8081f27834c41b06
8080b24914441d06
8036b14814442a06
8083b2481cc42a06
8081b2480c442b06
80d34f480c4c2c06
808052c80c442d06
80365148144c2e06
8033b3c814c42e06
80804f481cc42e06
8080554814cc3506
8080ce4814dc3606
80f270c874443e06
80804f4814446b06
808052481cc47506
808055480cc47606
8055514814447a06
8080524834c47a06
8080b24914447f06
80f8d0550cdc8406
800b315574cc8d06
806008522e119b06
8080d258144ceb06
808156d80c4cf706
806831750c4c8507
80a9704d0c448d07
804d911ea64d9807
80dd90166244e807
80304b2c84261308
80304d1c842b1308
80e54b1c84191408
80a44a2484191408
80ac49648c1a1408
80104b1c84e91408
8010452484ea1408
80303d64841a1508
8010456c841a1508
80103d2c84291508
801045248c2a1508
8010dd2c84671508
8010cde39c291d08
80854294612b2808
804a37814bcc2808
8010452484262d08
8010471c84392d08
80c2436484292e08
804d452c841b3208
80c53c648c293208
804d3d2c9c293208
80314b24846a3308
8011cd24842a3508
80107b6484eb7308
800a94c515447009
808424553e11000a
808424b52a13000a
80ce2ab52d11010a
80f625575a11010a
80f4ccc8144c140a
80804e580c44150a
808052481c44150a
808072480c4c150a
80804fc80dcc150a
80814d5814dc150a
8080cd580cbc160a
8080d5c80bc4160a
80804e480cc4160a
808053481444170a
808056b8f544170a
808052c834c41a0a
808056580c441b0a
8080f2cb14441b0a
8080575874441b0a
8081b248344c1b0a
8080524814c41b0a
808056480c441f0a
8080754874c41f0a
808152480cc42a0a
8081534814c42a0a
80814dc815c42a0a
8080524834442b0a
808053d835442b0a
80545448144c2c0a
8080d6481c442d0a
808077d81d442d0a
8035ccd81444340a
808072c80d44350a
808172c80cc43a0a
8080d5db14c43a0a
808052481c443b0a
804c544814cc6c0a
80805248144c750a
808056480cc4750a
800a945a1444b00a
80ea75471444d10a
8080524814ccf50a
80a308864bbc410b
805f9646144c510b
80086c7961e7c60b
80492221841ed50b
803d2023842aec0b
80985010665c040c
808f511062440c0c
801420218c1ab40c
8014201f842ab40c
8014e0218c2ab40c
80a21882fb54c00c
80100e824e4cc10c
80142061bc2bd40c
801460e18ceaec0c
804762238419ed0c
80171e824e5c410d
80301a82fecc420d
80486623841a530d
801386460f11540d
801ce0208419540d
8014e021842e540d
801186c10c31540d
80c83f639c695d0d
8048222f8ce75d0d
80441482764c5e0d
802c60e184266c0d
804822278c1a6d0d
80288c1ea6cc700d
80c8612184e6b20d
801c20e3853ad40d
8080b2480c5c150e
8053514834441a0e
8080f24814c43d0e
808052480cc46a0e
808152c875446b0e
80a60e62841b490f
8082458ca329d80f
80a8a23a3622a910
80a861173e22e910
80e10222841a4711
8072002284194811
80520062841a4811
80d20026846a4811
80a201229ce94811
806e01228cea4811
80a102ee841a4911
80a1062284664911
801d05228c294a11
80620122843a4b11
80b30062843e5811
80b100628429b811
805100228c6ac811
80d20026846ec811
80e202268429c911
801403228c2bca11
807200228c2ad811
80610122bc1af911
80a3ca184d098012
80a3012284eab812
80d10022841fc812
805200228c26c812
806201228466cb12
80328ac21411f412
808181e672224113
80d200e2841a4813
80520026842a4813
80e2012284274913
80a2016e8c1b7b13
80a0c908df098013
8081862a5222c113
807420238427b414
80862c218466b614
80ed2061842ebc14
80101a82ca5cc114
80100a82cab5c214
808a23218419d214
80a218864e544015
80100a864e544115
80c40c864abc4615
80352021842a5415
80d92221842e5f15
808ae4208c2a7215
80e04a1957098015
801c202f842aac15
806208824d54c015
80103682d55f4317
80a2022284664917
802b602384265c17
801186c10f116c17
80f423218c26ec17
801460218439f417
8030451c8c291518
8010451c846b1518
8010fd2c8c2a1d18
8010452484e91d18
8087468ca1292818
8010cd24842a2f18
8074d4c81444141a
8080ce4814441b1a
808055c80cbc2a1a
80815648145c2b1a
8080574814cc2b1a
80545c480c442c1a
808052480cc42e1a
80804dc814442f1a
8080d2580c446b1a
80100e824b4c411b
8088b01166c4041c
80715b34d2e1141c
801d60218419ac1c
803460e18429b41c
8074a1b161e9941d
8054d4580c4c141e
808052c83c44151e
8080b24914441b1e
80a103228419c91e
80370a86d653431f
8052006684265831
80a106268c3a5931
80a20122843ebb31
805100668c26c831
80a20ee28c26b932
8061012284e6c933
80300a864ecc4135
80e2062284194f37
80a1032284ebcb37
808057c81444153a
807df1483c442a3a
808055480ccc2a3a
808464d52a11003e
80805e481c4c2b3e
808d4434cd639842
8084ccd475228843
8053a05355222246
8034001a8b193448
8014001a9f193448
80350036bb1b3448
801c000a9b1e3448
803c000a89263448
800c000a8f263448
8014000a89273448
8074001a89293448
8034000a892b3448
800d000a89673448
800c000ab9e73448
8041060e991a3548
80c0010e89293548
8015001699193c48
803c000e892e3c48
8015000a89194c48
8034001a89194c48
801d001a891a4c48
800c0036791b4c48
800c000a89264c48
8033001e89264c48
801c000a8b274c48
8074001a8b274c48
8014007a972a4c48
8014000e892b4c48
800c000a8b2b4c48
8014003a892e4c48
8013000a992f4c48
8040020a89264d48
8037000a8b195448
8014000a991a5448
8034000a891e5448
800c000a8f295448
800c000a892a5448
800c0016892a5448
8015000e992a5448
800c007689395448
8015000a8f395448
800d000a99395448
800c000a893a5448
8013001a893b5448
8014000a89665448
8034000a89665448
8034000a89695448
800d001a897a5448
8041021a8b295748
803d000a89195c48
800d000e893a5c48
80130036993e7448
80140016896a7448
800c000ef97a7448
800c000e99e77448
80150016896b7c48
8015003a896f7c48
801c001a992acc48
8014000a8966cc48
8014007a977acc48
8014001a8919d448
8014000a8b19d448
803c001e891ad448
800d000a8b2ad448
801c00169969d448
8014000af76fd448
8014000e8979d448
8014000af9e9d448
80140036891adc48
8015000a8b69dc48
80c0030a972add48
800c000e8b2af448
8014000a893acc49
801400168919d449
80a06231f527214a
80a488ee0311564a
807196b20113c94a
80b18a920333c94a
8014000a996ad44b
806463098b29d24c
80a244c02011204d
80ac989201115a4e
802c1d19892bd24f
809429c720118650
8095294521118650
80942b4521118650
80c15bc320118950
809429c320118a50
808f26c321318a50
8042684323118b50
8041f8c460119950
808c2acfe1129a50
802c77e0104caa50
80d452a0104c6651
8022d3a010c47b51
80ce28cd20118951
80c64904b7299851
8098d0e1104ca751
80084804896aa952
80624540e131e052
80a34cc020112053
8050c2c0e0112353
80e543c020716053
8006526f11440054
807750a310440154
80d40a4661111454
804c0ec620311454
8002084a21133d54
80a6c34061772055
80632d098b1a5255
80455a04892fa856
8095ea4521118657
801ce508896af257
8034000a89193458
80140016991a3458
8073000e891b3458
8034003a992a3458
8013000a8b693458
8014000ab91b4c58
8014000a77294c58
800c000a7b294c58
8014000a99294c58
800c000a8b2e4c58
80aa021a893a5358
8015001a97275458
801c000a892a5458
80150016892a5458
807c0036892a5458
800c000a8b2a5458
8015000ab72b5458
80c0020a89665558
8033000a991a7458
800c000a8f2a7458
800c00168b2bcc58
8014001a8b26d458
8013000e8927d458
801c001e892ad458
8040020e89fbdc58
8014000ab91af458
8015000a8f19cc59
8013000e8b66cc59
800ea271dd61655a
803400f68b2ecc5b
80e644402313205f
8002bb5209442a60
803c84da39623b60
80ea0032f6195062
8044096671d4c362
8002e3c6c822a763
800c43e825116464
80565c300b4c7064
803c43282411a464
80958ae90e33d064
8060282524133569
80064ea510c4006c
802abc5139c4906c
80480132923a516e
800a0d222413936e
80b4dac420178a70
80a60262841e4971
804646048919e871
8045460c891a9872
80b042c020112173
80e1012684195973
800e9a410d115c73
80942a4721318a73
80034ea310440074
800632a3304c0074
809b14da21111574
8002084e61716b74
80a2434021336075
80101a82ba54c375
80252d0f8b693277
80f1408ca1262978
80c34424841a3278
8014000e8b2a3478
800c000a99393478
800c000ab9264c78
8014001ab92a5478
800d000a893af478
80804e48744c157a
80dda0525326227a
80067ea51044007c
800238c621f1357c
8081724834441d7e
8002c923d0080497
80064921b0080499
80024921d0080499
80b84c21d0090699
801dc920d0180c99
80b09eb90e132999
80c02926d008a09a
80034921f008049b
8002a14b4862639c
800a8b6f0e11729c
8021d2247009959c
809386bf0611b09d
809f85790a13b09d
80480112f61ad19e
802c8c49482249a0
80f485ce482249a0
803584c9487e49a0
802386dacb214aa0
8050a6bc07114ca0
8033ead3091154a0
8023645c067155a0
80f88249782258a0
8001a92e19447aa0
802264b40713d5a0
80490112b21fb3a1
802b1a31b279c8a1
8044099e505444a2
807c1a11b22648a2
80912b31922949a2
80426573923e4aa2
80462d11722b4ea2
80480112921e51a2
80c9020e966951a2
80b802129267b1a2
804409aab04cc4a2
80251af19227c8a2
80963c118e39c9a2
806e4c50094490a3
8002a1494822a3a3
8005a17ac822a3a3
80b78e6a0a1f50a4
805e87f9063353a4
806a5450194490a4
802352d0094497a4
8088ca5007ccb1a5
8024ea10762948a6
80b60072926970a6
802c1a119e1fc8a6
802426118e2ac8a6
8095001e9239d0a6
80552a2de4320aa7
8023282564110ba7
809440ccf8620ea7
8025945a067328a7
80440fea534cc4a7
800bfba90913d2a7
80944044482202a9
8094c144482202a9
8002c920d00804a9
80024961d00804a9
804acd20d00805a9
80f84c21d0080aa9
80ca3de3b3180da9
806028257c1f0da9
80931922b008a7aa
808dc0cc582202ab
80064ea3104400ac
800232a7104400ac
800232a5304400ac
8005d2a410dc00ac
8070d46c114401ac
80024ee511bc03ac
805416c6201114ac
80540a4a231114ac
805c0a3a273114ac
800608ca603115ac
8001085a21137bac
800689fa0611d2ac
800a8b560e11f2ac
804989d91a11d1ad
8095e944211186b0
808f2643611186b0
804e28dfe01289b0
8042e8cc201399b0
8021b3e030c499b0
8089516011c4a4b0
808850607144a5b0
806c77a01344a6b0
804328c56031b9b0
80c1285d6111bbb0
80184804892969b1
80942ac720318ab1
80d8254361318db1
80c5d93c992aa8b1
8047ca04893a98b2
8009481cf969a9b2
80074804971eb9b2
8018480c8b27bbb2
806545c0601120b3
806247c0213120b3
80084804792999b3
800232a7104400b4
8002d2a4134400b4
8005d6e410c400b4
80d40ece201114b4
80b416ca603114b4
802563098b2ad2b4
80ee4340613120b5
805042c020f120b5
802ce50899264eb5
80ad4440233320b7
803783f1562244b7
800c000e892934b8
80140016992b34b8
8034000a8b2a3cb8
800f000a89663cb8
8014000a99294cb8
800c001a99294cb8
8014000a9b294cb8
800d000a892a4cb8
801c000a891f54b8
800d001a892654b8
800c0016992754b8
801d000e89297cb8
802294590a3128b9
800c001a9f1eccb9
808c40c4482202bb
8013000e993af4bb
809386b90a11b0bc
800261494822a5bd
8056a051cd6222be
808544544d2288c2
8075a0323de221c6
809d88b203313ac6
80a0a13e752261c6
80188f9102117dc6
8084c554352288c6
800d000a8b1ad4c7
8015000a9b1bd4c7
800c000abb3af4c7
800c000a891934c8
801c000a891934c8
801400fa961934c8
800c0016791b34c8
8014000a991e34c8
8014000a892634c8
800d000a992634c8
800d000e892734c8
800c000e892934c8
800c000e8f2934c8
801c000ab92b34c8
80340036896b34c8
8040020a891935c8
8040060a99293bc8
8040020a9b2f3bc8
8015000a792f3cc8
800c00fa893e3cc8
8041020a89264bc8
8041021a79394bc8
8014001677194cc8
800c000a89194cc8
8014000a99194cc8
8035000a891a4cc8
801c000e891a4cc8
800c000e991a4cc8
801c000a89264cc8
800c001689264cc8
800c001ab7264cc8
8017001689294cc8
800c000a892f4cc8
80370016893a4cc8
800c003e893a4cc8
800c000a99664cc8
80a6070a8b1b4dc8
80e6010a8b274dc8
8015000a891954c8
8014000a891a54c8
800c0016891a54c8
800c000a991a54c8
8015000a991a54c8
801c0016891b54c8
8014000a892654c8
803400fa8b2654c8
80150076972654c8
807d001eb92654c8
800c000a792954c8
8013007a892954c8
8014000a8b2954c8
801c000a8b2a54c8
801c0016892e54c8
800c001a892f54c8
8014000a8f6654c8
8014001a8b6a54c8
801c001a996b54c8
800c000e896e54c8
803c000ab96e54c8
8014000a997a54c8
8014000a89fb54c8
801c001a89e955c8
8015000a89265cc8
800c000a8b1974c8
80140016991a74c8
80140016892674c8
801c000a893a74c8
801f000a896a74c8
801c000e896b7cc8
800c00168919ccc8
803400369719ccc8
800d00fe891accc8
800f000a8b2eccc8
8034000a992eccc8
800c000a97eaccc8
800c000a8b19d4c8
800d000a8f19d4c8
80330016891ad4c8
8035000a9b29d4c8
8040020a89e6d4c8
8014007e89e7d4c8
80c00116992ad5c8
8014000a8b26dcc8
8040020ab92af7c8
8014003a891edcc9
805d60f13de222ca
80b2a05e532626ca
80504240611121cd
80ea630b89ea51cd
8052a0d1522222ce
8034000e9b26d4cf
80a244402111e0cf
804238c5201187d0
804138c3231187d0
8028254327118bd0
808c29c520119ad0
808850a01044a5d0
802cb3a01044a6d0
803c51e010ccaad0
8094694721118ad1
802c516011c4a7d1
804e685d6117b9d1
80084804892699d2
804aca0c891bb8d2
8050ce40e117e1d2
80a2c4c0201360d3
808950a073446dd3
80d043c02331e7d3
80055263114400d4
800218c623112bd4
80011846211335d4
80504240211121d5
80b0c2c0211121d5
80e71c07892632d5
80e2ccc1e11220d7
800c003a891934d8
8014000a8b1a34d8
80170036892b34d8
800c000a89194cd8
8014000a891a4cd8
8034001a891a4cd8
8017000a897a4cd8
800c000e89e64cd8
800f000af92b54d8
8034000a8b6a54d8
80c3020a891b55d8
800c000a8f195cd8
8014001a8b1a74d8
8015000a972674d8
8033000a892974d8
8013001a99197cd8
800d001a9719ccd8
800c000a971bccd8
80400616892afdd9
800232ad114400dc
80025265114c00dc
80d70b4623111cdc
800208c620131ddc
800e085a23116fdc
805f54500b4490dc
80a344c0201160dd
80019b3e074c2ae0
8003ab3719442ee0
805c9c49c82237e0
8089824a482248e0
8070a6b419114ce0
8001e932094ceae0
80241a11923a48e2
80960012921f50e2
8058071292266fe2
80f48a5b0a3150e4
80355c30094c90e4
80950012b26a50e6
802a444448220ce9
80024921f00804eb
8002d264334400ec
80cc1b4621116cec
8062d2500b4491ec
800118c62111f5ec
806201228c1a49f1
80942ac320118ef1
80a201228c2ac9f1
804646048f19a8f2
80b04140211123f3
801186410b1134f3
80c284420b7335f3
8007f6a4104400f4
801420618469bcf4
80e245c0203120f5
80728029de2146f5
805200268c29c8f7
801047248c2913f8
8015001a992934f8
8035000a891e3cf8
801c001a892a54f8
800c001ebb39f4fb
80d350480cc41afe
80b65727500905ff

Testing collisions (high 32-bit) - Expected        512.0, actual 485250 (947.75x) (484739) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 219247/31 (6851.47x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2094362 (1.00x) (1306)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096925 (1.00x) (29)
Testing collisions (low  32-bit) - Expected        512.0, actual 1199317 (2342.42x) (1198806) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 735333/31 (22979.17x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097136 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 24
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual    954 (1.86x) (443)
Testing collisions (high 24-36 bits) - Worst is 36 bits: 167/31 (5.22x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2233 (4.36x) (1722) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 189/31 (5.91x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 25
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual   1538 (3.00x) (1027) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 372/31 (11.63x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   2387 (4.66x) (1876) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 239/31 (7.47x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 26
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual   5253 (10.26x) (4742) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1431/31 (44.72x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   6227 (12.16x) (5716) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 966/31 (30.19x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096640 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 27
Testing collisions ( 64-bit) - Expected    0.0, actual      1 (8388612.00x) (1) !!!!!
Collisions:
a8e03610c4e82112

Testing collisions (high 32-bit) - Expected        512.0, actual  12414 (24.25x) (11903) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 3750/31 (117.19x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  16546 (32.32x) (16035) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 3225/31 (100.78x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096896 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 28
Testing collisions ( 64-bit) - Expected    0.0, actual     18 (150995016.00x) (18) !!!!!
Collisions:
50a90a3955142020
3024c055d9080124
5010d0808850123d
702b76048610d03e
5013446784120448
d050817402054a58
300060478512415d
70a44ac885b28874
d0e829068d100c8c
50cad10a937198b4
5065443f8c1104b8
5023bc648c0e04c8
d06f4423841104c8
70174c2584370cc8
d0c74031dd0902c9
5028f280881080d4
b048d2218c1251da
50048404523488f5

Testing collisions (high 32-bit) - Expected        512.0, actual  55289 (107.99x) (54778) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 20544/31 (642.00x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  88765 (173.37x) (88254) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 29995/31 (937.34x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097024 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 29
Testing collisions ( 64-bit) - Expected    0.0, actual     46 (385876152.00x) (46) !!!!!
Collisions:
e0347cc93121f440
6027a472e6d81a41
a0c44094aa284c42
a08aa03cf0614644
a022a14430214e44
a08ba0441021da44
a0dc82461061a048
a0479e477061a058
e008850411a1c362
e028a054d02a9068
a0a8190111a10169
a01176905125826c
a02688ca09250890
604ab84908270890
a02a88ca086d0890
60c8a14872a18c90
e0a044b144104092
a0240a6b509d8a93
60a2339057a58294
e08c1190b62a8694
a090a4389d998894
201345244aa35996
608e280111210299
a020a00131a1249a
a0800c023163a49a
e0a880b024a3c99a
a011129051e5829c
2094120573e3b2a4
6020600213e124a6
a02060063361fda7
a0ea2803712102a9
a04ca00111a724aa
a0cc2eeab16764aa
6020a0030fe364aa
a00078fe512f0aae
60c6b949782508b0
a05b88fa082708b0
e000288ebe3a0ab6
a0681901736302b9
a020a00211a12bbe
60d215966b1b40c0
2009351cb1264dc0
a08aa04430215ac4
a0e7a14c10217ac4
60c1a73c102314dd
2031501804236ef0

Testing collisions (high 32-bit) - Expected        512.0, actual 150596 (294.13x) (150085) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 63338/31 (1979.31x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093460 (1.00x) (404)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096912 (1.00x) (16)
Testing collisions (low  32-bit) - Expected        512.0, actual 308988 (603.49x) (308477) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 126796/31 (3962.38x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097088 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 30
Testing collisions ( 64-bit) - Expected    0.0, actual    127 (1065353724.00x) (127) !!!!!
Collisions:
400350e4e4da2c24
40652420a34b0429
4023e420ad4b0429
40e32420a74d0429
40c33d60e5cb0429
c0c42420a3da0429
40453d20a35e0529
40c32c60a3ba0c29
40c5c6974eb31029
4008c8915bd13129
c09e2a20e34d3b29
4025e420a74efc29
c0202b04d851042a
4006d40338d1042a
407a3404c8f3042a
40062c044831052a
400e7c04d871052a
40205b0cf8d31c2a
404325209db6072b
400150e4a457142c
4052497d4831b12c
40203b1c5851042e
405004c794cee331
4004730e22460432
c0402aeca0564834
408c5a05c8b75334
c04e2a0448310436
404078b0e63a1136
40232420bd3a0439
40063404d8310d3a
4041c0042e42493c
c0404005e241db3c
c01aa493ca568f3d
402055045853043e
40b950023ec6063e
4041c00562c24a4c
40334cdfe04a9452
c0744a1f58535154
404525e063cb0459
4020eb0cc852045a
40202b04c8b3045a
400c99f561d7055a
4060eb037871045e
40b0439124c21861
40233c20e3350469
40656420afce0469
c044fb2065d50469
404d25e0e44a0569
406149b34a311369
40206b0438b1046a
4020571c48d1046a
c0412aaca14a486c
40228e4894b9516d
40448f489446d07c
40a56a1c35318080
40a52a2435318080
40a7352c4d318080
40ad2d6457318080
c0ac3a24d3318080
c0ac2a1c33518080
c0812c244d518080
40a53a2c4f518080
c081342455518080
40a56a6455518080
c082ec24d5528080
c0a43524d5568080
4035562c33b18080
40823c244db18080
c0542e244fb18080
c04c2a2477b18080
c0813c2455d18080
404b6a6433f18080
c065756433f18080
c0a5366457f38080
40366be44c318180
c0342e2453d38180
c0c2592cdd318280
c03cde1c35b18380
c0343e2453b38380
c0763e58a24a8a80
c0172948624d8a80
40122648a24d8a80
c01427c85e778a80
c0582b48a2cb8e80
40122648e2ca8f80
c0113a78a25a9a80
40c82538e6ca9b80
40126ac8a25aba80
40807846a2ca4281
4080a84a627f4381
4080794aa2354581
405d2d2433318081
c0ac2a6453318081
40ab3624d5318081
40abda2cd7d28081
401868e454f18181
40587b5862cb8a81
4038c88dc5522082
c0114923cfd23482
c065c92253534c82
4049c86353574c82
c0304b2d35d14c82
4065f51f35318083
40417b244d518283
c0a2cae2cc5f2984
402a44214d313884
40a2492355d16a84
406a04558b4ae084
408101b1f04a6885
40a5b8624dd14d86
4065cf6257715c86
4080528ae042c186
40ab2fe4554f8087
404242bba15523d1
40649020d94240d3
4006f404583705d6
40232420ed4a04d7
c039226249420dd7
c045c692375117d7
404326f460bbc8d7
402d2420a53604db
c0565202224204de
403d6c20a73a04e9
c0642420a54a04e9
40232420a37a04e9
407a36903df741ed
4009580938b3e2f5

Testing collisions (high 32-bit) - Expected        512.0, actual 305833 (597.33x) (305322) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 135055/31 (4220.47x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2094265 (1.00x) (1209)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096955 (1.00x) (59)
Testing collisions (low  32-bit) - Expected        512.0, actual 787482 (1538.05x) (786971) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 379298/31 (11853.07x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097120 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 31
Testing collisions ( 64-bit) - Expected    0.0, actual    441 (3699377892.00x) (441) !!!!!
Collisions:
80e4b5b144b5ec00
8024b4b04575ed00
806454b045b5f400
80ba56486aae0001
80695448aaa20101
809a5448aaa20101
8099ac48aae30101
80245248a6620201
8025d2c9a9a60501
802572486a7e0601
80904a904c951201
809076f047971201
80f1ca90c49a1201
80937590c3ea1201
8024d491446d1301
80254c90447b1301
8064f47044951301
802454b05fab1301
80295290c76e1401
80244c9044951401
8023549044951401
8036729044951401
80234c90bd951401
80274c90c3951401
80244c90dc9d1401
80254cb0c49e1401
802c5470449f1401
8024f490c5aa1401
80d9759044ad1401
80234cf04cbb1401
80244c9043eb1401
80234c9044ed1401
80644c90c36b1501
8024cc905d7b1501
80647490447d1501
80244c9044951501
80644c705c951501
8027d493cf961501
80245cb0449d1501
806b7290c4ae1501
8063d490c4ae1501
806454b04cbb1501
80b04d9045951601
8025749045951701
807656b04c951701
802c549044ed1701
80244cb04f951c01
80e354b044971c01
8024f490449d1c01
80645490ccae1c01
80644c9043bb1d01
80904a90cfed1e01
80645c704c952c01
806c5490cd972c01
80245c7044b52c01
80235490c5fd2c01
80255490cc772d01
80fd4f9044bb2d01
80914a90446b3201
8091ca904cb73201
80904a7044bb3201
80245c9044953401
8024b49045953401
802d7c90c4953401
80247490c4963401
80d757904cb53401
8024ccb1c4f63401
80244c90c46a3501
805cccb04c753501
802454904c953501
80904a904c9d3501
805cd4904cb53501
802554b07cbd3501
802c4c9045953701
8024549045973701
805dcc70c49a3c01
8023bc90c4be6f01
80904a904cbf7201
80645c904dab7401
80655490c4f57401
80b04ab0c4aaf301
802c5490449df401
80d4f08c43ad7902
8000f18ccc958602
8000319d43978602
8000319fccaa8602
800131b34cb58602
8066f6b4c49a8702
807a5438a6a50103
802d4c70cc961303
8064d491ccbe1303
8036569044751403
802374b044951403
80254c904c951403
80647c90c4951403
80245490c5aa1403
802a529044ab1403
8024f490456d1503
8024549043951503
80244c9045951503
80235490c4ab1c03
8024549044f51c03
802c74b04c952c03
8025d49045ab2c03
8091ba7044953203
809057b044953203
80244c90449b3303
802a729044753403
802cb490c4aa3403
80d673b04cad3403
80e4cc90c79a3c03
80244c9043af7403
802e5e90449d7703
8000d19444bb8503
80245c90c4b6f503
80d29592449b5104
8006999244f55204
800da96fc46d5504
80b6b146aa9f6804
809690466a629904
80ef90ceaaa6a804
8061f64ae6e5aa04
80ae90c5aea2b804
807e9045e6e3e804
80005195446b8605
8005a99fc47ab505
80980dba1e8d4006
8054095e2d8d4006
80a976ae758d4006
804c196a15934106
800209aa12954106
80fd08aa15b74106
800209e615bf4206
80a956954c6b8806
807419de1295c006
800209e61295c106
801c5238a6660207
801c52c8999d0307
802454904d951407
802c4c9044971407
8023d490c59a1407
80905a90cced1507
80904b90449d2e07
8024b497dc9a3307
80244c9044953407
803652904cef3507
8025d4b0cc6e3d07
8090ce90446d7207
805c4c9044977c07
804595c6a9665308
804f09ae1393c009
80a8356e2d75400a
800209eaef8c430a
800f095a3d93430a
804869ed4cadf40d
804c09a63293400e
80b409da1295c00e
8003396e1575c619
8054195a1393401a
8054d18c43bb891d
80c3088a248d4a4d
808018896c8d2750
8046b8404a9d0852
808a4ac0cb6b0952
808bf9c0469d0a52
808759c039ef0e52
805a48c0c69a1852
804a5840c6ae1852
80c29e3ead6e2252
8010b0226ba22452
803f92e2b4a62552
80309026abe72752
804b48404ab53852
80c6d940c6fa3852
80b0a942ca95e452
800a068a279d4a53
8040b60890a20854
8040da1890a20854
80c1d90870a60854
80fa50ddc19f0a54
80453c5dc1aa0c54
8040ea07b0a21854
8040760890631954
801836afc3771c54
800f32dd46951c54
8014f81890e21e54
8017d26441753454
801852bf43953454
80c0ab19909e3754
8040ea0890a23754
8040d60890e37854
800d7a8a1c954f55
80c28e2397a32256
801090256da22356
8042926275a22556
80875ca8c2959058
80688d0b90a2a258
80814da842abb158
805355e8c16ef258
80d3b568c1959159
80c0ba1990a20b5c
800f32a5426d145c
80a13b927897c65d
80429223ed63225e
80392e956b8f2a60
80562495179d2c60
801e099228934463
8012197618bd4463
80a0187ef88cce64
8081d4a8c1959068
805155e841979168
80825ca8427bb168
806cc9b8419b9369
808b16976995e369
8014fb2095a5846a
80446ca7c19e0c6c
800852a5c2960d6c
8014580890a3176c
8081e88924956670
80c64b40fa960872
8086cac1c9ab0a72
800832a541953574
8018f2a4469f7474
80c948c049f50976
804e4dd842959678
802a19b16993a179
80882e71188fe079
800a0e9665934a7d
8036648b188d2da0
80cae4b4287f34a0
804a249be98c34a0
808c6e97189334a0
80362495e8b434a0
8085228b298fd4a1
804a64952895efa1
802e09922b953ca3
80130992288f44a3
80120f8e189544a3
80a30972288f45a3
80610b92e89446a3
80600792379546a3
80a007921b934aa3
80a00896e88c7ba3
80120996288dc4a3
80a118f21973caa3
80a008721893caa3
80a00b922897daa3
80a01892288dc5a4
80f30696189dc7a4
80a10892188dcaa4
80a019921893caa4
80e078923895caa4
80a01b9628b5caa4
80a109926873daa4
80e11892e88cdaa4
80e1088e288d3ba5
80a11896298d46a5
80a0089238934aa5
80a00892188d4ea5
801609f6788dc4a5
80a019b218b5c5a5
80e009926895c6a5
80a708726897caa5
80a108922993cfa5
80a2f11290e6c2a6
8012098e388d3ca7
80e10992289345a7
80824c68439590a8
8087cca8c29790a8
803355a8deeb91a8
801c59f8429592a8
8024496841b592a8
8032cda9429593a8
80574b78c19a93a8
801cb958419595a8
80e4ca6bc19595a8
802459d8c2959ea8
8082f4a94195b0a8
80824c68c196b0a8
808354a842b5b0a8
80e4920ab0a5e6a8
808654a84297f0a8
8031d568c19af1a8
80a4b21d90a262a9
808355a8416b71a9
80824ca8419d90a9
8086b4a8429d90a9
8081d3a8469791a9
8033755841bd91a9
80645978419b96a9
808835b1288da0a9
808255a84e95b0a9
80881a916895e0a9
8014d72175a284aa
8014552075628caa
80881a71188da0aa
80881a911893a0aa
8011b01690a6c4aa
8068b50a906265ab
80c51493288da2ab
8040da1870e208ac
800ca80b90e209ac
80adf0a441bb0aac
8034e80890e60aac
8040563890660bac
8008d2a441950cac
801b2edb41ef0cac
8008d2a442f70cac
80182edb436d14ac
800da818b06216ac
80c0ba18b0a618ac
8014680890e219ac
8041560890a71bac
80a11896188dcdac
80a009b22895cdac
805aa8df41b528ad
80329016b0a244ad
8012900d90a544ad
80a00872188f45ad
80601996189346ad
80a008b22895c7ad
801055c34a9bf3ad
8040561890a2f9ad
804648c04ab508ae
808a4bc049ad09ae
808a9c236ba222ae
80534dc0c6b636ae
808815913993a0ae
806ba8da46add8af
80541799238d2cb0
804948c05f9508b2
804648404aad08b2
808a4f40ca9509b2
808b4940caaa09b2
809a494046ab09b2
80864a4046f509b2
80fab941c6960ab2
80ce4b40c6ab0bb2
80b9ce404ab70bb2
8086564046bd0eb2
80ba57c0469516b2
804e48c0ca7e18b2
8010902295651db2
8010906d6fe223b2
8011b0659da224b2
80109026b5a224b2
801170236ba225b2
804292e295a262b2
801090236b6665b2
80b16a47c6ada4b2
80925508906308b4
80b2d51990e208b4
8043be0bb06209b4
80c0e908b0a209b4
80c06a38f0a209b4
8008d25cc1950bb4
8008d2dc429714b4
8018d2a5419d14b4
80c35a0890a618b4
80087e65c3ee34b4
801a068a2575f5b4
8046c84146ed08b6
808bc9404aab09b6
808956404a950ab6
8045f622ada226b6
802cd52095a585b6
80814c58c19590b8
808253e8c19693b8
8024c95841ab96b8
8051cba846eb96b8
8086b4b8c19ab0b8
803357a8cfaaf2b9
80a26a2095628bba
800856e542f50cbc
800c781890a219bc
80c1ba09b0e238bc
80550a8e1995c6bc
80894ec049ad19be
8080288924952ed0
808018b92495e7d0
80ca78c0499b08d2
804948c0c6ad08d2
80db494046bb08d2
809fd640469b0bd2
80864b404a9519d2
804292236d6222d2
804276e595a222d2
80309062956223d2
8043b2629da225d2
804778c0c69539d2
801190e577a265d2
8004a842c69a6dd3
80415608b0a308d4
8041aa08b0a608d4
80c05b0890e308d4
8047560870a209d4
80405618b0a609d4
800952a5c16b0cd4
8008526d41950dd4
8018d6ab42b514d4
8043b22695a222d6
808e5578c19a91d8
80835468c19ab0d8
801d49e84697b6d8
80188d7790a6e5d9
80c06a08b0a209dc
8018d6a4419714dc
806009b229b74add
80a108f22895cbdd
80c92595188d2ce0
8084258b18952de0
80a00892298f45e3
80a018922993cae3
80a30f721893c7e4
805aa8ea429b29e5
80a01992287546e5
80a108b6289f47e5
808354a8429d90e8
8028951a90a2a2e8
80f8950b90e2a5e8
80814cb8c19ab0e8
8024b9a8c3bab2e8
801d7f20756284ea
80417a1890a508ec
80c06e18b0e508ec
80c1a91bf0a218ec
80495840c6b608ee
8012901290a245ef
800ce8434a6da4f1
8049784046ad08f2
80bacacfcb9a1af2
80429663956226f2
80406a0890a208f4
800952a5419514f4
80405e0890a218f4
80875a404a771bf6
80825cf84297b0f8
806cdd6095a58dfa

Testing collisions (high 32-bit) - Expected        512.0, actual 589201 (1150.78x) (588690) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 254789/31 (7962.16x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2095355 (1.00x) (2299)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096976 (1.00x) (80)
Testing collisions (low  32-bit) - Expected        512.0, actual 1469166 (2869.47x) (1468655) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 942935/31 (29466.73x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097136 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 32
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected        512.0, actual  21278 (41.56x) (20767) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 4660/31 (145.63x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual   6426 (12.55x) (5915) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1662/31 (51.94x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 33
Testing collisions ( 64-bit) - Expected    0.0, actual      4 (33554448.00x) (4) !!!!!
Collisions:
f21b09020d105040
020c440712f42c8e
52022062307050cd
0e1830411308a9e1

Testing collisions (high 32-bit) - Expected        512.0, actual  35144 (68.64x) (34633) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 9837/31 (307.41x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  12298 (24.02x) (11787) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 3653/31 (114.16x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 34
Testing collisions ( 64-bit) - Expected    0.0, actual      9 (75497508.00x) (9) !!!!!
Collisions:
04844a0861c04132
cccc4082e4710b56
2400695b21f82a80
4402c06721f83080
3442406b2f705180
1c29c0696180d080
6469400a223801b5
0c3c71d3244031c1
2421bf34243895d4

Testing collisions (high 32-bit) - Expected        512.0, actual 100924 (197.12x) (100413) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 30466/31 (952.06x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual  41492 (81.04x) (40981) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 11596/31 (362.38x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096640 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 35
Testing collisions ( 64-bit) - Expected    0.0, actual     65 (545259780.00x) (65) !!!!!
Collisions:
180424d242d01400
185280b142006100
0852804f47006100
281181b342a06300
78d28352c301a100
e82b80514520af00
88c382d2c280e000
3852804e4300e100
08528051c300e100
087280b64600a101
980480d14550e101
882316d042001402
981e127045001402
8822127045001402
a858167043101402
889a1450c7001d02
085044b042e02602
98e311d042002c02
782d12504d002c02
6848b2b343c08002
882212b04200f402
1850c4d3c2a16306
68418014c2919116
48aa80144280901a
b8c1802c42b0b01a
181380174240902a
08148088c351c02a
6822809bc2d0c02b
c81880884140402f
c8e19f9542406a32
284a9f1a46408035
c8088089c240c03a
18148089c1d0c03a
480980984640403b
98478014c2f0903d
8884822c4400033e
081480984250c05a
0802514642d01260
1800dda1c9d01181
0800b7a349501281
48ce810541408581
384d800f41d08681
082381a07a80c483
08b089ed42800088
4802a401fd90a495
4850a40043c0a596
28480000c5c0499a
187300ca410028a0
68150046420028a0
2813004a4e0028a0
683500c6420038a0
e8c0014a420039a0
3821a349c20045a0
2812004ac21058a0
b80c42404c2071a0
085fa338c20041a2
281aa3c9427041a2
3840a29dc73023be
7888302b5800bec8
78098098414040d5
681500c6410028e0
180d003a460028e0
c808808942c0c3ea
c8429916c29181ec

Testing collisions (high 32-bit) - Expected        512.0, actual 186801 (364.85x) (186290) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 67510/31 (2109.69x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093056 (1.00x)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096896 (1.00x)
Testing collisions (low  32-bit) - Expected        512.0, actual 107765 (210.48x) (107254) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 34673/31 (1083.53x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096896 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 36
Testing collisions ( 64-bit) - Expected    0.0, actual    693 (5813308116.00x) (693) !!!!!
Collisions:
3072487c9f801800
3008c8a486a01800
d019486485a11800
50d2c8a59e802900
500848a485e12f00
300848e49ae03800
d018486485603900
b000e4a486e15500
9000e4bc8d605b00
3049dca485405d00
1049a47c8b4f5d00
5008486485a06800
9007ac6387276b00
9000aca49a207500
300848a486e07700
5008586485a07800
d095159c87438400
b0942ca49dc08400
9001646d8d60b700
1009009d86a0c100
109c01638500c200
10a401658500c200
30a401658500c200
10a400a38500c200
106403a38500c200
309c03bd8500c200
10a400e58500c200
109c00a38600c200
10a4006f8700c200
10a400658b00c200
106401658d00c200
306403a78d00c200
10a401ef8e00c200
30ac0163fb00c200
306401638d01c200
106401a38e01c200
70a40065850fc200
b0d600e58e20c200
b0ae00e38a21c200
100900a38560c200
700900a587a1c300
10a400a78a00c600
10e400ad8603c600
70a4009dba03c600
10a400a78a00ce00
10d402e58aa0ce00
1059a49d8f40d500
30c9a49c865fd500
9000e4a47ae3d500
303248648b83eb00
700891649d011101
10e403ed86004201
10e4006787004201
30e4009d87004201
10a400a587004201
10a400ad8a004201
10ac00a38b004201
70a400a58d004201
10ac00bf8d004201
109c006385014201
10a4006585014201
10ac00ad8a014201
10a400a386034201
9072016585204201
b06e00a58a604201
908a03ad8f804201
904300a58a814201
101900a58aa04201
105402e785a14201
105402e386a04501
10a401a385004601
106403a58a004601
10e400ed86014601
30ac01a585a04601
908d1fe38a804e01
106401a585005e01
10a400638500c201
70a400a58600c201
10a400a58700c201
106403a58a00c201
10a401a58d00c201
30ac01638501c201
10ac00fd8603c201
10a400af8b03c201
100900a38ba0c201
10a400a38501c601
10a400a38a01c601
100b00a38e60c601
7008c8a58ba1e801
901b02c1b5209902
100240ea9aa01103
10a401a39a003e03
106c01a585004203
10a400a58a004203
b03201637d634203
105106a58a004303
10ac00a586004603
70a400e58a004e03
30a400638d004e03
90d200a58660c203
10c564a09a002804
104724608d012804
9004646085212804
900424a087673804
106089a08fc34704
100388a085a04c04
70a09ba086404d04
103662a08a005b04
103fe4a186007804
301440e08de09504
b04cc09985401105
1006c0e98a602f05
1032479a9e407305
10a089638b40c705
10f0646e8f60a406
90f300a78b204207
101900a38ba04207
900c1ca08a20280c
900464a08620680c
50c8c0b98580130d
10c202c19303890d
707603a39a81420f
107c01658b01c60f
90996e008a600014
30546d0086a00014
509001008e806e14
50b000008a807214
7090000086809314
b044060086809414
b04903009aa09614
50b001008680ae14
b04406008680b414
1088a3008ae0da14
1088a40086a0e514
3098ac018a00ea14
9042a40186812515
30a8ac0086002615
10f8a40186002a15
9062e4008e602e15
10a8bc0086003e15
b0a7e40086203e15
90a0d80086804615
9004d80786204b15
10b8ac008a005e15
90e057018a805e15
10b8a4008a605f15
1088a3008e606515
d00c640086e06515
b005b8018a607915
b042ac0086807a15
30d648017a61c615
10a8a4008600e615
104ec8008a00c716
9062bc01ba232617
90b1a50086802e17
70c2e40086803a17
10da59018a014917
b00448038a234917
900c48018a204f17
b004c8008a215917
1088e4008ea15a17
508a050086a39417
7060cb008680c617
900d48038660cb17
3029363b85417819
d00491018a80201a
300c91038e83211a
104658018600b91a
7060d9008a80c91a
1088a5008ae0261b
10886c008ee0271b
1046c8008e004b1b
b004d80086204b1b
9004c8008a204f1b
b0041ca0be61281c
10b87b008607da1c
900cc8008e20491d
7004c8078a21cb1d
b00458018621b91e
900c48079ae0bb1e
7004c8008a61c91e
1098a5008600261f
10ac00658b01421f
10a400af8500461f
9042e4008a802b2b
9007c800ba60492b
108864008ea15a2b
b09300008680932c
b09001008e809e2c
9046ac018a80e62c
30e864009a00262d
1098650086002a2d
50b000008683922d
7004d8008620cf2f
501403008ea19134
5090000086809234
d09100008a809334
509000009a809e34
109867008600da34
7055a4008ac0ed34
9070003984a02035
90a3a5008ae12535
10986c008e002635
30e8640086002a35
9041ac019e802a35
9004d80186214735
104a48078a004935
7004c8008620c736
30a8a50086002637
103ac80086014937
303a490186a04937
9005c8009a20c93a
10a8640086006e3b
900b24e08627283c
509635688400993c
3098a4008a013a3d
900448018a20493d
90a0c80086804a3d
b00a66ca84408a3d
50fe90028aa0203e
9003b8008a20f93e
b0c1a4018680273f
10476b9487002440
f06ea4958c812440
10595cb48c602540
104b648c9da12540
303a008c83005040
502600b483005040
7026008c84005040
506a008c84005040
d01b009484005040
701a009c84005040
501a00b484005040
501e00f484005040
506600f484005040
501a008c85005040
306a009485005040
d03a00948c005040
502a008c7c015040
d01a008c84015040
5026008c84015040
301a00948c015040
301a00749c015040
301a00947c075040
d0e7009c84075040
3024009c83205040
702c007484205040
506400948d205040
30240074bc205040
d0230094bc205040
301c008c84215040
5064008c83605040
3024008c84605040
302c008c84605040
5024009484605040
3024007484615040
b040038c85805040
5024009483e05040
1047a79c84006440
9091658c84e06440
501a008c84007040
50e6009485007040
7066008c9c007040
302a008c83017040
9050008c84207040
3024009c84207040
502c008c85207040
303c00f49c207040
1015589584008940
1042469583008a40
30c2c9f585008a40
1042ca938c008a40
1046da8d85018a40
d01a009c8300b040
d03a00948400b040
302600948c00b040
301e008c9c00b040
7026008c8401b040
302a009c8501b040
3026009c8c01b040
5024008c8420b040
507c00748c20b040
501c008c8c20b040
50c8648c8d00c540
5026008c8400d040
501e00948400d040
5024007c8420d040
502400f48420d040
d06a00b48300f040
5024008c8421f040
d064008c8323f040
5024008c8521b041
506400748c21b041
501a00948401d041
70198d8a85600442
d02a728a84209042
3042c68c83007a43
102b639083001044
102b639084001044
7013e49084801044
5006089083006444
10e241b185008244
b09843f384208244
107e419184a08244
d00608908400ac44
1010889685004a45
1010888b84035645
300a08908400a447
303098898400ce47
101965908500104c
90a4015988200454
9049012998800554
10b700d9b8030c54
90c6063998800f54
5059002984402155
9017001183808055
9012001185808055
900e001187808055
105800118da78055
306800118de08055
102801f182008155
1038031187008155
9012001183808155
1028001385608056
9013001183808056
9016003183808056
1068001185a08056
1018ff118d008156
9016001183808156
9011003183808156
907200117f818156
b032001183878157
f03600138380805a
901100318380805a
901100138580805a
907100118381805a
901200139f81805a
1068001f83a0805a
703600118380815a
907700118380815a
30c3dc108560135b
101801118301815b
900e011385e0805d
d003708b8460025e
705800378560805e
106801f18601815e
102801318300835e
901600118580815f
901100318f80806a
903100118581806a
1058001383a0806a
1038003183a0806a
1028001185a0806a
90f200318781836a
f004b8008ae04a6b
f001a1108340116d
10a8ec008a00266d
701600118580806d
703801118300816d
1028007185e3816d
102801178300836d
102800118560806e
703801118500816e
901600118380816e
10e002e9f8010574
709000008e809274
1098a4009a002a75
7028003385a08075
1028011183008175
90f1003183278175
7038001185a08175
9011001185808076
9011003185808076
50ff4e7d84003f77
70a048018e804977
f0c407319da0807a
306801718d01817a
104ec8008600597b
70a701298820047c
b01c64a09a20287c
901200118580807e
1040c38888000293
3081c91881614d94
1040418998000295
3032e28a88009195
1045a3388100a39c
10222482800029a7
10f70011850180aa
10580011836080aa
10280011856080aa
10580011876080aa
b0110031858080aa
701600318d8080aa
901700119d8080aa
90110011858180aa
70320011858180aa
b0110031838380aa
b0110031858780aa
504500118da080aa
102800138da080aa
3028001185af80aa
1028001185e080aa
70280133830081aa
10e80111850081aa
30280171870081aa
10180131830181aa
10280331870181aa
907103f1822081aa
903100118d8081aa
70360011bd8081aa
3038001185a181aa
704e01f18de081aa
10380311830083aa
10180117870083aa
90360017838083aa
90720013858787aa
b08501d58a4079ab
304b0111850380ab
3028001f836080ab
306800118d6080ab
90110031838080ab
90110013858080ab
10e8001187a080ab
10180111850081ab
10e80311850087ab
307500e9880004ac
10280071856380ad
90320011878080ad
90360031878080ad
901100138d8080ad
70120011838180ad
3068007383a080ad
10d8003183a180ad
90d20031852383ad
10380011856180ae
90130013fd8180ae
1028001185a180ae
10280111850181ae
900f00319f8081ae
b07201318d2083ae
b0110013838083ae
70180113830087ae
10280017bd6080af
900e0037878180af
102800138de080af
10930059980304b4
70ad005f882004b4
90c60139888104b4
109d002998001cb4
10cb0011830080b5
90120011838080b5
90120073858080b5
901100118f8080b5
b0160017878180b5
709d001185c080b5
f0380113870081b5
90b30111856081b5
f00f0011838080b6
90120031838080b6
10e8001183e080b6
1028001187e080b6
1028013f830181b6
10280011836380b7
90110011858080b7
b0720013878080b7
b0120011838180b7
90110013858380b7
30280131830081b7
90310013838081b7
90120011858081b7
10d9019b81a042ba
701e0011838080ba
90110011858080ba
105800118fa080ba
10380711870081ba
901200f1868081ba
903200118f8081ba
10a4c08f8060b5ba
90010111bf2080bb
103800119d6080bb
70180131850083bb
10930029880004bc
905e035b888005bc
90060371832180bd
10e80031830381bd
90110011838081bd
b0120011838081bd
70120031858081bd
90320011858183bd
90020113856080be
907300118d8080be
90110011858081be
900e0011858381be
90120011858180bf
10a1a29c8c0022c0
1049a495846323c0
10c9a79c87a023c0
10c9a494840024c0
105965b4840024c0
10595db4840124c0
9090648c8c2324c0
7013dcb5848024c0
104ba48c87a024c0
7033ac948c8025c0
90c5a394848125c0
30260094830050c0
301a008c840050c0
d01a008c840050c0
3026008c840050c0
5026008c840050c0
501a0094840050c0
502a0094840050c0
302e0094840050c0
303a0094840050c0
7026009c840050c0
302a008c8c0050c0
502a008c8c0050c0
d03a008c8c0050c0
501e008c9c0050c0
506a00949c0050c0
50260094840150c0
30fa0194840150c0
d01a0094850150c0
d02a008c8f0150c0
702a0094840350c0
50260094840750c0
301c0094842050c0
50240094842050c0
5024009c842050c0
502400b4842050c0
306400748c2050c0
d024009c8c2050c0
5024008c8d2050c0
d01c00b48d2050c0
502c008cbc2050c0
302400bc842150c0
502c00948c2150c0
d02d00f4836050c0
303c0094846050c0
302400b48c6050c0
506400948d6150c0
5024008c84e050c0
5024009485e057c0
30cfa47c840064c0
3014a774840065c0
d01a008c830070c0
50260074840070c0
5026008c8c0070c0
303a009c840170c0
90b0008c832070c0
f023008c842170c0
70240094842170c0
1058ceb4850088c0
104246b58c018ac0
7088599583208ac0
10584a8d840098c0
30d8de8c850098c0
501a00948300b0c0
502a008c8400b0c0
d03a009c8400b0c0
302a00b48400b0c0
302e008c8500b0c0
702600b48307b0c0
5024008c8420b0c0
f02400b48420b0c0
7024008c8ce1b0c0
502a008c8400d0c0
303a008c8c00d0c0
501a008c8d00d0c0
702a008c8303d0c0
5024009c8c1fd0c0
506400948460d0c0
5064009c8460d0c0
302400948561d0c0
d02d00948401f0c0
f01c008c8721f0c0
7026008c8500b0c1
302c00b48c20b0c1
d02400b484e0b0c1
502a008c8c00d0c1
501a00948c00d0c1
5024008c8420d0c1
702c00948421d0c1
702c008c84e0d1c1
90443a768c8024c3
1010888e84004ac3
1010889a84004ac3
10c24a8f840096c3
9051a5718c2010c4
d00a08f08501ecc4
90c7c0b0848087c5
903008908d20a4cc
10b30037880004d4
10930029980004d4
9047012988800bd4
50100129b8610cd4
90d9016988811dd4
3049005b844127d5
10380011836080d5
30580011836080d5
10280011876080d5
10280011876180d5
90110017858080d5
1068001185a080d5
10280111850081d5
900e00f1828181d5
90330017858083d5
90200085808143d6
102800138f6f80d6
90120011838080d6
900e0031858080d6
70160011838380d6
1058003183a180d6
70280111850081d6
102801319d0081d6
30180111830083d6
90b200118d2183d6
10380011836080d7
901e0011858180d7
90d70111832081d7
10380017836080da
102800138f6080da
90110011838080da
90110017878080da
90720033878080da
f01200718f8080da
901e0011838180da
30d8001185a180da
10280131870081da
b0120011838081da
1078003185e081da
90110011858087da
3085031183c080db
1028001387a181db
10b70059980004dc
f06dc290840082dc
901300118d8080dd
903e0017838080de
90310071838180de
90516411832015df
90120033838080df
1028002f85a180df
302800ef856080ea
10d80011876080ea
70120011838080ea
90110011858080ea
901200f1858080ea
90160011fd8180ea
704d001183a080ea
1028001187a080ea
1068001187a080ea
90b60031832081ea
90310011838081ea
b0120011858081ea
70120011858183ea
905301f18d608fea
903100118d8080eb
70120011838081eb
10950129880004ec
1085023998a004ec
30c616108540c9ec
707d00698c20e1ec
b0ce6c008a8026ed
104ec8008600c9ed
b0b200118f2183ee
7010007784a020f5
3057640086402af5
b0a1670086205af5
10cf0013850080f5
70160011838180f5
90120017858081f5
90310011838080f7
30280111830081f7
90d601118f6181f7
b0020311852080fa
30680011856080fa
10d80011856180fa
50900000868096fc
7004480186e049fd
d04b0013bda080fd
701200118d8081fd

Testing collisions (high 32-bit) - Expected        512.0, actual 477836 (933.27x) (477325) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 250295/31 (7821.72x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2093385 (1.00x) (329)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096908 (1.00x) (12)
Testing collisions (low  32-bit) - Expected        512.0, actual 456151 (890.92x) (455640) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 227536/31 (7110.50x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097024 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 37
Testing collisions ( 64-bit) - Expected    0.0, actual   3228 (27078439536.01x) (3228) !!!!!
Collisions:
a08520e512c11b00
601090d80ac12e00
a0a48f480f013100
a0a3715915013100
e0a490c816013100
a0a790c91d013100
e06490480b033100
e03090c80a413100
6030b0480b413100
e01090480d413100
a01090590d413100
601090480d433100
e01190490d433100
601090780d433100
a070907817433100
e01090c93e433100
601090480d473100
a01090c80ac13100
a010f0480bc13100
a01090780dc33100
e06490480b013300
6010904815413300
60109048f5423300
a011b0580bc13300
a010904815473700
606490d80a015100
606490381d015100
6064b03835015100
a06470490d035100
a0e4904815035100
a07c90d836035100
a0a490d80e075100
60e490481d075100
a03190480b415100
a010b0780b415100
e01090390d415100
a01090490d415100
601090d80f415100
a010904815415100
e03090490dc35100
208571490d815200
a01090d815c15200
a030f05915415300
6087f0490f815600
a01190380bc15e00
a09d203d12416a00
a05c90380b017100
a01090d80a417100
6070903835437100
e08270490b817200
601090d80ac17200
a01090493d417300
604549470d81a900
200158d90a41aa00
200148490b41aa00
2001c83a0d41aa00
200148490d41aa00
2001b8390f41aa00
200148391541aa00
2001c8491541aa00
6001c8493541aa00
600148c93541aa00
200178490b43aa00
2001c8c70d43aa00
600148470dc1aa00
609248f90a81ad00
200158c90b41ae00
6001c8491d41ae00
2001b8493541ae00
2001c84e0bc1ae00
20e15ac93781b400
205cca3a1543b500
2001c8fe1ac1b500
200148c90d41b600
600178cb0d41b600
2001d8d97d41b600
200148d90a43b600
2001784b1743b600
6003c8460dc1bb00
a01090c80bc1d100
a010b0481d4fd300
e00148390dc1d500
200148c915c1d500
e002b8ca0a41d600
2003c85a0f41d600
20b248c71581d600
e01090c80ac1d600
6003b84615c1d600
200148490b41da00
200158490b41da00
6072c8591581dd00
600348c915c1de00
200378cb0b41ea00
207248491583ea00
e092c8491783ea00
2001b8c60ac1ea00
20b248490d81eb00
a02a59490bc1eb00
2003c8ca364ffe00
e020284837430801
60002a483b031b01
2001c8470dc15501
2003c83a17c15501
6001f83e1d415601
2001b83a15435601
600348390dc15601
200148c91bc35601
2001c83a0b415a01
200148490b415a01
20964f491d815a01
2003c85a37c15a01
200158cb35436a01
20b248fb35816a01
20b248c91d816e01
2001c8cb15417601
200348d915c17601
200148490d417a01
2001c8ca15417a01
608b004a15018301
208500c615018301
208503da15018301
208501461f018301
208d01460d038301
208d00461d038301
201600c60a418301
200e00ca0a418301
201200ca0a418301
e01200ca0a418301
201200ce0a418301
601200460b418301
e01200460d418301
603200460d418301
2036004a0f418301
200e005e0f418301
2012003a15418301
200e00ce16418301
201200c61a418301
2016004635418301
201200c63d418301
200e004675418301
2012004e0b438301
2032004617438301
e012005a0d478301
201600ca0ac18301
20f200460bc18301
201200ca3ac18301
2012004a0bc38301
2016004a1dc38301
204801c60a018401
e04801c60a018401
605801c60a018401
205803c60a018401
605801ca0a018401
e05801ca0a018401
20c801ca0a018401
e0c801ca0a018401
204803ca0a018401
603801ce0a018401
e05901ce0a018401
20c802ce0a018401
204801da0a018401
205801da0a018401
e04801fa0a018401
2048013a0b018401
6048013a0b018401
204801460b018401
205801460b018401
605801460b018401
60c801460b018401
2038014a0b018401
6048014a0b018401
20c8014a0b018401
60d8024a0b018401
2038034a0b018401
2048034a0b018401
20480f4a0b018401
2048014e0b018401
2048015a0b018401
2048017a0b018401
203801ca0b018401
20c806ce0b018401
205801fa0b018401
2048013a0d018401
2058013e0d018401
e0c8013e0d018401
204801460d018401
205801460d018401
e0c801460d018401
e0db01460d018401
20c803460d018401
20380f460d018401
2048014a0d018401
6038034a0d018401
e0c9034a0d018401
2048015a0d018401
20c8067a0d018401
2048077a0d018401
203801c60d018401
603801ca0d018401
60c801ca0d018401
204803ca0d018401
60c80eca0d018401
207801da0d018401
203807da0d018401
204801c60e018401
205801ce0e018401
20c803ce0e018401
2048033a0f018401
2058014a0f018401
60d8014a0f018401
2048074a0f018401
20c8014e0f018401
20c8024e0f018401
2038015e0f018401
204801ca0f018401
2048014615018401
2058014615018401
20c8014615018401
20d8064615018401
2048074615018401
2048014a15018401
20c8014a15018401
2058074a15018401
2048014e15018401
2038034e15018401
20480f7e15018401
20c802da15018401
204807da15018401
e04701fa15018401
205801c616018401
203803c616018401
204801ce16018401
2058013a17018401
e04b073a17018401
2048014617018401
e048014a17018401
20c8014a17018401
e0d8014a17018401
2048014e17018401
20c8024e17018401
205803ca17018401
20d803de17018401
204801c61a018401
60c803c61a018401
60c802ca1a018401
e04903ca1a018401
204807ca1a018401
2048033e1b018401
204803461b018401
2048014a1b018401
2058014a1b018401
e078014a1b018401
2048015a1b018401
2048017a1b018401
2078033a1d018401
e038035a1d018401
2058035a1d018401
203801c61d018401
205801c61d018401
60c801ca1d018401
203801c61e018401
e04807ca1e018401
2038033e35018401
2048014635018401
e049014635018401
2048034a35018401
2048014e35018401
6048014e35018401
20c8024e35018401
60c8024e35018401
204801da35018401
20c802c636018401
20c801fe36018401
6048014e37018401
2048014a3d018401
20c8014a3d018401
204801ca3d018401
20c8014a75018401
204803ca76018401
2078034a7d018401
e03801caf5018401
20380146f7018401
2048014afb018401
604801c60a038401
20c802c60a038401
203803c60a038401
e0c806c60a038401
204807c60a038401
20c801ca0a038401
204801460b038401
607801460b038401
2048014a0b038401
6058014a0b038401
2078014a0b038401
6038034a0b038401
605801c60b038401
2048013e0d038401
20c802460d038401
60d802ca0d038401
605801de0d038401
20f801c60e038401
205801460f038401
603803460f038401
20f8025e0f038401
6078034615038401
2048014a15038401
e0c8014a15038401
20c80e4a15038401
2058014e15038401
2048014a17038401
e048014a17038401
603801ca1a038401
204801ce1a038401
20c8024e1b038401
603801fa1b038401
204801461d038401
604801461d038401
20480f4e1d038401
20c8013a1f038401
2048034a35038401
20580f4e35038401
203801c635038401
204801463b038401
2058013a3d038401
205803ca0a078401
604801ce0a078401
2048014a0d078401
2048014e0d078401
60f8014e0d078401
2048013a0f078401
2048014615078401
60c8014615078401
2048014a15078401
204801c616078401
20c80e461b078401
20c801c61b078401
2048014a1d078401
2048014ef5078401
20f806c6fb0e8401
204801c60a0f8401
20c806460d0f8401
2048075a150f8401
2048014a170f8401
204803ce1a0f8401
20c8015e3b0f8401
a0d403da0a418401
20ad02460b418401
e0a407c60d418401
e04c01c60f418401
207d0e4a15418401
20651e4a15418401
20ad0e4a35418401
205b023a0b438401
20a502c677438401
20a702c60a478401
6048014a757f8401
606100ce0b818401
e0a2003a0d818401
60a300460d818401
60e101da3a818401
a0e200ca0a838401
60a100ca0b838401
a06100c615878401
60a101ca158f8401
205b06c60ac18401
20ad02ca0ac18401
601200460bc18401
2032005a0bc18401
e01700460dc18401
e0a401460dc18401
2012004a0dc18401
200e003a15c18401
2016004615c18401
200e004617c18401
20a502da1ac18401
e01e005a37c18401
2072004a3dc18401
20ab07ca0ac38401
201200460bc38401
e01300ca0dc38401
200e004a15c38401
201600ca1ac38401
2072004a1bc38401
2012004677c38401
e012004e3bc78401
201200de0acf8401
208501ca0a018501
206b033a0d018501
209d00c616018501
2085003af7028501
208d00ca0f038501
201200c60a418501
200e00ca0a418501
201200ca0a418501
601600ca0a418501
203600460b418501
6012007a0b418501
603200460d418501
2032004a0d418501
200e005a0d418501
201200ce0d418501
203e003a15418501
2076004a15418501
200e00ca16418501
2012004617418501
2032005a17418501
e01200da1a418501
200e004e1b418501
2012004e1b418501
201600c61b418501
2016004a1d418501
e00e00461f418501
e01300ca35418501
201200463f418501
601600460b438501
601200ca15438501
201200ca1b438501
2032003a3b478501
e012004e0dc18501
20d8054615c18501
208701460b018701
601600ce0a418701
201600460d418701
6072004615418701
a0a203460d818701
e037004a0dc18701
20e502460bc38701
e035034615018b01
20d801c60a018c01
203801ca0a018c01
20d802ca0a018c01
60c806ca0a018c01
204801ce0a018c01
2038013a0b018c01
2048013a0b018c01
e078013a0b018c01
204803460b018c01
2048034a0b018c01
e0d9064a0b018c01
205807c60b018c01
6058033a0d018c01
204801460d018c01
2078014a0d018c01
2058014e0d018c01
605801c60e018c01
205803c60e018c01
204803ca0e018c01
60c8014a0f018c01
2048013a15018c01
20c8024615018c01
2038014a15018c01
6038014a15018c01
20c8024a15018c01
20c8034a15018c01
e0c802c615018c01
203807c615018c01
604801ca15018c01
2038014a17018c01
60c8024e17018c01
2048034e17018c01
604801da17018c01
20f807ca1a018c01
2048015a1b018c01
604801461d018c01
204803461d018c01
207803461d018c01
2058034a1d018c01
2048015a1d018c01
203801ca1d018c01
2048014635018c01
20c801c635018c01
20c8025a37018c01
203801c63a018c01
2048014a3b018c01
205801463d018c01
20c801463f018c01
20c8065a75018c01
204801c6f5018c01
2048015af7018c01
20c80ec60a038c01
207801fa0b038c01
604801c60d038c01
2038034a0f038c01
20c80e4615038c01
20c8024a15038c01
60f8025a15038c01
203807ca15038c01
205801ca16038c01
203803da16038c01
20f8015a17038c01
203803da35038c01
20c801460b078c01
20d8014a0d078c01
204801ca15078c01
205803ca15078c01
20c8065a7b078c01
2078034e1f0f8c01
60a7014e35438c01
20ab06ce0ac18c01
20ad01c61ac18c01
201200ca35c18c01
2012004e15c38c01
20151f4a0b018d01
202f057e15018d01
209d00da15018d01
601d034a0d038d01
2012004a0d418d01
20b803ca15418d01
2012004e1b418d01
201200460b478d01
600e004a15c18d01
6012004a15c18d01
203200460bc38d01
e012003a0bc18f01
202d034a17019b01
204801ca0a019c01
e04801ca0a019c01
205801ca0a019c01
204801460b019c01
204801ca0e019c01
603801de0e019c01
e058014a0f019c01
20c8013a15019c01
205801c616019c01
20d8064e1b019c01
204801c61b019c01
20c8014a1d019c01
204803c636019c01
60c806cafa019c01
204801c60a039c01
204801ca0a039c01
203801460b039c01
60c8014a17039c01
60af023a1b419c01
205b02ca3d419c01
201200460dc19c01
208d004a0d019d01
201507ca1e019d01
201200c60e419d01
2012004a17c19d01
20d6c6c61543a901
2001b8da7a41aa01
2001c8ca1e47aa01
20214a391781ad01
200148391bdfae01
2001f85917c7b601
200148491fc1b701
200148490bc1ba01
20c801ce0e01bc01
e048015a1501bc01
203801ca3501bc01
60c8025a0f03bc01
e013004a15c1bd01
2003483b0d41d601
2001484b0d41d601
2001c84a1541d601
209258cb0b87d601
2001484b3541da01
20614ac91581f401
204801461501fc01
2048013a15017c02
20c8023a15017c02
20c802ca15017c02
20d802461b017c02
208500c60a018302
208b004a0b018302
209b014a0b018302
2085004a0d018302
e086014a0d018302
208d034e0d018302
608f00460f018302
208f00c61a018302
209b00461b018302
209d00463d018302
208500c60a038302
2085074615038302
208501da0e078302
201200c60a418302
201200ca0a418302
2012003a0b418302
2012004a0d418302
20f200c60d418302
e01600de0e418302
e01e004617418302
200e0046fb418302
e012003e0b438302
203600ca0ac18302
e011005a0bc18302
201200460dc18302
201600460fc18302
603803c60a018402
e03803c60a018402
204803c60a018402
204801ca0a018402
604801ca0a018402
60f802ca0a018402
20c806ca0a018402
207803da0a018402
2038013a0b018402
e038013a0b018402
20c8013a0b018402
203801460b018402
603801460b018402
205801460b018402
60c802460b018402
e0f802460b018402
203803460b018402
2038014a0b018402
2058014a0b018402
2048034a0b018402
20d8034a0b018402
20c8064a0b018402
e0d80f4a0b018402
6048014e0b018402
20c8015a0b018402
204801c60b018402
20c807c60b018402
604801ca0b018402
20c801ca0b018402
203801de0b018402
2048033a0d018402
2078013e0d018402
203801460d018402
204801460d018402
e04801460d018402
60c801460d018402
20c802460d018402
20f802460d018402
20c806460d018402
20c81e460d018402
2048014a0d018402
2058014a0d018402
20c8014a0d018402
2058034a0d018402
e0c8014e0d018402
2038015a0d018402
20580f5a0d018402
20c8017a0d018402
204801ca0d018402
20f801ca0d018402
e03801ce0d018402
604801c60e018402
203801ca0e018402
20c803ca0e018402
203801460f018402
204803460f018402
604803460f018402
2038014a0f018402
20c8014a0f018402
60d8015a0f018402
207801ca0f018402
e048014615018402
20c8024615018402
20d8024615018402
2058034615018402
2048074615018402
20c8014e15018402
20d8024e15018402
2048035a15018402
2038017a15018402
204801ca15018402
60480fce15018402
207801c616018402
60c801c616018402
20c802c616018402
203807c616018402
204801ca16018402
204803ca16018402
604807ca16018402
6048014617018402
20d8024a17018402
205803ca17018402
e04801c61a018402
605801c61a018402
60c802c61a018402
20781fc61a018402
e03801ca1a018402
204801ca1a018402
204803ca1a018402
20c8013a1b018402
20c8033a1b018402
603801461b018402
204801461b018402
603803461b018402
2048014a1b018402
e048014a1b018402
2048015a1b018402
6058035a1b018402
2048015e1b018402
20d8013a1d018402
204801461d018402
e05801461d018402
20d803461d018402
607807461d018402
20480f461d018402
204801c61d018402
204801da1d018402
204801c61e018402
20c803c61f018402
20c8033a35018402
2058014635018402
20c8014a35018402
20c8015e35018402
20d8017a35018402
605801ca36018402
60c80eca36018402
2048013a37018402
2078033a37018402
20d8014637018402
20c806463b018402
20c8024e3b018402
20c802ca3b018402
204803ca3b018402
2048034a3d018402
2048014e3d018402
e059034a75018402
2048015a75018402
2048014a77018402
204801ca77018402
2058014a7b018402
20480146f5018402
60c8017afd018402
204801c6f6028402
e0c8023afd028402
203801c60a038402
603803c60a038402
20d803c60a038402
20c802ca0a038402
604807ca0a038402
204801de0a038402
203801460b038402
20c8014a0b038402
20f8014a0b038402
2078013a0d038402
20c801460d038402
20c8014a0d038402
20d8014a0d038402
60c8014e0d038402
20d8035a0d038402
2048017a0d038402
60c8027e0d038402
204801ce0d038402
605801ce0d038402
204803460f038402
20c8074a0f038402
e049014615038402
6058014615038402
20c8024615038402
2048034a15038402
6048015a15038402
205801ca16038402
20c8014617038402
2038074a17038402
2048014e17038402
e038015a17038402
204801ce1a038402
2058035a1b038402
60c801461d038402
20c8024a1d038402
604801ca3a038402
2048034e3b038402
20c8065e3d038402
e05801ca0a078402
204801460b078402
2048014a0b078402
2058034e0b078402
2048013e0d078402
20c803460d078402
20480f460d078402
20c801460f078402
60c802460f078402
2048014615078402
e0f81e4615078402
2038034a1d078402
2048035a35078402
2058014a0f0f8402
20c8025a0f0f8402
204801c61a0f8402
205803ca0b1f8402
20f8063a0d1f8402
20480746151f8402
20dd02c60a418402
20ad06c60a418402
20e5014a15418402
20ab064e15418402
20e5034a17418402
a0d500ca17418402
206502ca1f418402
20a5014635418402
206b064635418402
605f02463b418402
20a5024a7d418402
a04c013afd418402
20a7024615438402
205f02c61a438402
e0a100ca0b818402
a0a1014a0d818402
a0a100461d818402
a0a100caf7828402
60a100ce0d878402
203200c60ac18402
201200460bc18402
6036004a0bc18402
201200460dc18402
201600c60dc18402
e03600c60dc18402
2032004e0fc18402
e016003a15c18402
e011003e15c18402
e0a40ece15c18402
201e004a17c18402
a05c014a1bc18402
a0cb00c635c18402
2032005a37c18402
203200c63ac18402
20bb025a0bc38402
60f201ca0fc38402
e01700ca1bc38402
2012004a15c78402
208501c60b018502
608d00c60d018502
208b01c60e018502
208d003e0f018502
608500460f018502
608d074615018502
208500c61a018502
208b00461d018502
208d005a1f038502
2085004a3b038502
608700ce15078502
201600c60a418502
201200ca0a418502
201200460b418502
201200460d418502
201e00460d418502
603e00460d418502
200e00ca0e418502
6036004a0f418502
e011004615418502
201200c615418502
6012004a17418502
6032004a1b418502
2036004a0d438502
601200c617438502
201200c635438502
2012004a3f438502
601200da1a478502
20ad02460dc18502
201200c60dc18502
201600c616c38502
2065024615c78502
208b00c60a018702
e014034a15018702
2085004a0b038702
2017054615038702
201600fa0e418702
2012004615418702
2016004a1d418702
601600c60a438702
2016004a0bc18702
203200c60bc38702
201b054e0d018b02
204801c60a018c02
604801c60a018c02
203801ca0a018c02
204803ca0a018c02
604801460b018c02
205801460b018c02
20d8024a0b018c02
20c8025a0b018c02
2048035a0b018c02
604801c60b018c02
204801ca0b018c02
20c803da0b018c02
20c802460d018c02
2038014a0d018c02
2058014a0d018c02
20c8014a0d018c02
60c8014a0d018c02
20480f4a0d018c02
2058015a0d018c02
60c803c60d018c02
204801ca0e018c02
20d80f4615018c02
2048014a15018c02
2048017a15018c02
20d802c615018c02
203803c615018c02
204801ce15018c02
2048014617018c02
2048014a17018c02
60c8014a17018c02
e038014e1b018c02
2058015a1b018c02
20c8015e1b018c02
2048014a1d018c02
6048014a1d018c02
20c806c61e018c02
205801461f018c02
20c8014a1f018c02
2048013a35018c02
2058074e35018c02
20380fce35018c02
205801c636018c02
203801ca3a018c02
2048014a3b018c02
205801ca3d018c02
20c8014e75018c02
20c80ec60a038c02
20c8013a0b038c02
204801460b038c02
207801460b038c02
20c8014e0d038c02
204801c60e038c02
2048014615038c02
2058014617038c02
20d8014a0d078c02
2048017e0f078c02
2058034615078c02
204801ca0a0f8c02
20e501de0e418c02
207b02c61a418c02
606502c63a418c02

Testing collisions (high 32-bit) - Expected        512.0, actual 795054 (1552.84x) (794543) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 473894/31 (14809.19x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2094292 (1.00x) (1236)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2096955 (1.00x) (59)
Testing collisions (low  32-bit) - Expected        512.0, actual 839129 (1638.92x) (838618) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 523269/31 (16352.16x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097088 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 38
Testing collisions ( 64-bit) - Expected    0.0, actual  15212 (127607565744.03x) (15212) !!!!!
Collisions:
c020208f16825e00
40212091f5835e00
4023e08e76865e00
c0c624911a826000
407226911b826100
c04861f715026200
c0c9207316026200
c048217316026200
c0cfe08e16026200
40cf20b317026200
c0c860771a026200
c0f923f31a026200
404721971d026200
40c720931f026200
c0c860712a026200
40c920912a026200
40d920932a026200
c0c823932a026200
404761932a026200
c0b8239135026200
40db20b136026200
40d920916d026200
c04827716e026200
c0c8239175026200
c048219176026200
40d9209115066200
c0d9277116066200
c049219116066200
40c9239316066200
40c920711a066200
405921911a066200
405921911b066200
c0db20912a066200
40bf20912d066200
c04821912f066200
c0d920916a066200
40df2091eb066200
40d960b71d0e6200
40c92191360e6200
40cb20b3161e6200
40e3209315826200
4021207316826200
c060209f16826200
c060209117826200
402120711a826200
c02020b11a826200
402120911d826200
c02720712a826200
40e160912a826200
4021e0922a826200
406120932a826200
402120912d826200
c02020972e826200
406160972e826200
c020209135826200
c021209135826200
402120b735826200
c02060b13a826200
c02120913d826200
4021e0726a826200
c06020b16a826200
40e120917a826200
c0962173ea826200
c0216091ea826200
4021e091ed836200
c06020971a866200
406120972a866200
406120b12a866200
c061209136866200
c02020913a866200
40e123916a866200
c02020911e8e6200
40212091358e6200
40ac62b32a026300
c02060b115826300
4021e0b116826300
406120912a826300
402120912d826300
c020209135826300
402120916b826300
40212091ea826300
c0e020711a866300
c06020916d8e6300
c00a219115026500
400e2191ea026500
c00d219115066500
c060209115826500
c02060b115826500
4027209116826500
4021609116826500
40e1609117826500
40e160b12a826500
406160913f826500
c02020916f866500
c078619115026600
40c9209315026600
4049239316026600
40d920912a026600
40c7209f2a026600
c04821912b026600
c04861b135026600
c0d820936d026600
40496f9115066600
404721912a066600
c0d8e1912b0e6600
c020209315826600
c02120911a826600
c02160911b826600
4063e0961b826600
402320912a826600
c02060912a826600
402160b12a826600
402120933e826600
406120933a826700
403a63912a026d00
c02020931d826d00
c02020712a826d00
4021e0923a826d00
402720933d826d00
4059619115026e00
404921911a026e00
4021209115826e00
c06160913a826e00
4056905112027200
4056b0f331067200
40058e7172027300
4024b15112827d00
4021207316827d00
4023209315867e00
406160912a9e7f00
c050b4361e028c00
40058ecef6028d00
405690f311028e00
404a903712068e00
407690520e029200
404e903112029200
404ab03112029200
404a905212029200
c04d905212029200
40b6b05212029200
404a90d112029200
405a903232029200
40da90d132029200
c0bd91d13e029200
c04e90d276029200
40ceb1d60e069200
404a90d613069200
406491ce0e829200
4005964e12029300
40b1903216829300
40508c5212029400
40d08d711e029400
c02491771e829500
40e491d111829600
c005927312029f00
40b920911502a200
c0c920911502a200
c0d821911502a200
c0d961911502a200
405be1721602a200
404b21911602a200
c05b21911602a200
40c920911a02a200
404921911a02a200
c0c821911a02a200
40c92f911a02a200
40d960911a02a200
c04be3911a02a200
40c920931a02a200
404961931a02a200
40c920f11e02a200
c04823912a02a200
c04821b32a02a200
c0c960913602a200
404921933602a200
c04821913a02a200
40c921913a02a200
c04821b36e02a200
c0b920917502a200
c04723917d02a200
40492791ea02a200
c0c820f3ea02a200
40c92093ee02a200
c048e3911506a200
404921b11606a200
c0c820911b06a200
c0c920932d06a200
c0b820b13e06a200
c0c9e0926a0ea200
c0c820b1361ea200
c02020911582a200
40e121b11582a200
402360b11582a200
406320911682a200
c06160911682a200
402160b11682a200
c06160931782a200
406160711a82a200
402120911a82a200
c02060911a82a200
c02f60931a82a200
c02120911d82a200
c02160711e82a200
402120932a82a200
402120b32a82a200
c02060b12d82a200
4061608f2e82a200
c02020912f82a200
4021e08f3a82a200
406120916a82a200
402720b17682a200
c0202091ea82a200
c0212091ee85a200
406120772a86a200
c06120713686a200
4021e0916e86a200
c02020911b8ea200
40e120911abea200
c020e0911582a300
c02060711682a300
c02020911e82a300
406160912d82a300
402720916b82a300
402160911586a300
402160911a86a300
400621731602a500
4006219f350ea500
406120911682a500
c02060911f82a500
402160912a82a500
402120b73582a500
c021e0921586a500
406f20932b86a500
40c9e0f21502a600
40b961931602a600
40c921932a02a600
4049e1913a02a600
c0b820911d06a600
40c720932b06a600
c0c721912d06a600
c0c863f13d06a600
40cb2091fa07a600
402120911782a600
409626711a82a600
402120911a82a600
4021e0b12a82a600
402120932d82a600
c02020913682a600
4023e0916a82a600
c02320916a86a600
40e120b12abea600
c02120911d82a700
c02020711e82ad00
406320913a82ad00
40b920b12b02ae00
c0c8e0922e02ae00
407923911a06ae00
402360b11582ae00
402120911682ae00
c02120931682ae00
402120911a82ae00
c02120911a82ae00
404a90521202b200
404e90721602b200
c07c91510e82b200
402497560e82b200
404a90520e02b600
405094511202bc00
402120912a86bd00
404921913d06de00
c020208f1582df00
c0f820911502e200
404721911602e200
40c920931602e200
c048219f1602e200
404921711a02e200
40c720911a02e200
c020208f1582e200
c02720911582e200
406120931682e200
402120711a82e200
402120911a82e200
c02020911d82e200
c02360911d82e200
c02020912b82e200
c02120912b82e200
406120912d82e200
402320912f82e200
c06020713a82e200
c06020911a86e200
c060e0921a86e200
4023e0b22e86e200
c09427f11502e300
402320911582e300
c02020911a82e300
c02020912a86e300
402320b11a82e500
c04721916e02e600
c05861913606e600
c02020911a82e600
406320916f82e600
c06060913e8ee600
c02020912b86ed00
40476191350eee00
40df20911682ee00
402120911a82ee00
40d690d20e02f200
407900300e024001
40a900300e024001
40b900300e024001
c0a900500e024001
c09801500e024001
40a901500e024001
409901700e024001
c06800d00e024001
409700d00e024001
409900f00e024001
409900d011024001
409900f011024001
40b9003012024001
40b9013012024001
40e9013012024001
4079005012024001
c098005012024001
c099005012024001
409b005012024001
40a9005012024001
40ab005012024001
40af005012024001
40e9005012024001
4099015012024001
409b015012024001
40a9015012024001
c0f8015012024001
c098007012024001
409900d012024001
409b00d012024001
40a900f012024001
40e900f012024001
406900d013024001
4099005016024001
40b901d016024001
40ab00301e024001
c0f800301e024001
c0a900501e024001
c0a807501e024001
c0a8005032024001
c0ab005032024001
40a900d032024001
c098005036024001
c09801f076024001
409900300e064001
406900500e064001
c09801500e064001
40a9003012064001
c0a8007012064001
c0e8007012064001
409b00d012064001
c0b801d013064001
409900d016064001
c068003032064001
c0b8003032064001
40a9005036064001
c098007072064001
c0f80130f2064001
c09800f0120e4001
c0a80030160e4001
406900501e0e4001
c0a80050320e4001
409300300e824001
409101300e824001
c09001500e824001
409300d00e824001
4071003012824001
c071003012824001
4091003012824001
40b1003012824001
c070005012824001
c090005012824001
4091005012824001
c090007012824001
c0b0007012824001
c0c303d012824001
4071007016824001
407100d01f824001
407100d031824001
4073003032824001
4091013032824001
40b1013032824001
c0b0005032824001
c090015032824001
40f101d033824001
409100507e824001
40910150f2824001
407100500e864001
4091003012864001
409101d012864001
4091013016864001
407100701e864001
40b3007036864001
c04b03501e024101
407100300e824101
407300700e824101
c090005012824101
4091005012824101
c093037012824101
c0b0003012864101
c090017012864101
4093007016864101
c002053012064201
c090013016824301
c0b0003032864301
402991931b025401
405991932b025401
4037f1721a065401
4002b08f2d7e5401
4002908e6b7e5401
c006b08d15825401
4002909215825401
4002b09515825401
4002909615825401
c00690f215825401
4006907316825401
4002908d16825401
c003908e16825401
4002709316825401
4006909316825401
403eb09316825401
c005909516825401
4002b0b216825401
c002708d17825401
4006909617825401
400690721a825401
4002708d1a825401
4002908d1a825401
c002908e1a825401
400e908e1a825401
400290921a825401
c00690921a825401
c00290951a825401
400690961a825401
400290971a825401
4006909d1a825401
c00290f31a825401
c00290921b825401
400290b21b825401
400290922a825401
c00390922a825401
400690922a825401
c002f0922a825401
4006f0922a825401
c002b0962a825401
400290f62a825401
400290922b825401
400290f22b825401
4002908e2d825401
400290922d825401
4002b0922d825401
4002b0962d825401
c00590722e825401
c007f0b22e825401
c00390952f825401
4002909235825401
c002709f35825401
4002708d36825401
4002908e37825401
4002909237825401
400690923a825401
4002b0933a825401
4002909e3a825401
c00290f23a825401
4002908d3b825401
4002908e3b825401
400270933b825401
400290963b825401
4006908d6a825401
4002b0956a825401
c00270b56a825401
c00e90b56d825401
c002908e76825401
4002908d77825401
400270b3ee825401
4002909215865401
400290b215865401
4002907516865401
4002908e16865401
4002909216865401
c002909d16865401
4002f0b216865401
400290b616865401
4002908e17865401
4002908e1a865401
4002f0921b865401
400290931b865401
4002b0931d865401
4002f0bd1f865401
4002908e2a865401
400290952a865401
400290922b865401
400290b52e865401
c01d90b536865401
4002908d3b865401
400290977a865401
4002f072168e5401
400e90b62a8e5401
400290962b8e5401
400290b61e9e5401
c024f18e15025501
4024919515025501
4024919d15025501
c025918e16025501
c0e4909216025501
40e4919216025501
c02b91b516025501
406497bf16025501
402491751a025501
4024918d1a025501
40e490921a025501
4024f3b51b025501
4024978f2a025501
402491922a025501
402493952e025501
4024f39235025501
c024b1b73d065501
4024918d1a0e5501
4024b3956a0e5501
4024718d7b0e5501
4024b3921e1e5501
4006f09515825501
4002b0b215825501
400290b615825501
4002909316825501
400290721a825501
4002908e1a825501
400290931a825501
4002b0931a825501
400290951a825501
400e90f21a825501
c002908d1b825501
401e908e1b825501
c002909d1b825501
4002f08e1e825501
4002908d2a825501
c002908d2a825501
400290972a825501
4002f09e2a825501
400290922b825501
4002f0922b825501
c00290922e825501
4002b0b72f825501
400690923a825501
c00290926b825501
4002b0966d825501
400290b26e825501
400290927a825501
4006b0927b825501
c00d9092fa825501
40029092f5835501
4002709315865501
400e908d1e865501
400290921e865501
4002907e2e865501
400290b23a865501
400290961a8e5501
c02591951a025701
c0dc90962a025701
4024b1962b025701
402491b235025701
4002f08d16825701
c00290961a825701
400290952a825701
400690963a825701
4002909676825701
4002b0752e865701
400290923d865701
4024919216025b01
4064919d16025b01
c024918e1a025b01
403caf922e025b01
40e4b0f23d025b01
402c918dea035b01
c0dcb09215065b01
4002909515825b01
4002909715825b01
4002f0921a825b01
c00d909d1d825b01
c00290b32a825b01
400690952b825b01
400290733e825b01
4002b08e15825c01
c002909215825c01
4002909315825c01
400290b315825c01
c002f08d16825c01
4002909216825c01
4006909316825c01
4006909617825c01
400290721a825c01
4002908d1a825c01
400290921a825c01
4002b0931e825c01
4002b0722a825c01
c003908e2a825c01
400290922a825c01
4002b0962a825c01
4002709f2a825c01
400290922e825c01
4002b0972e825c01
4002f0b22f825c01
4002b09636825c01
4002f0963a825c01
4002b0f23a825c01
4002708d6e825c01
4002909517865c01
4002908d1a865c01
c03d908d1a865c01
400290921a865c01
4002b09d1a865c01
400270952a865c01
4002908e2f865c01
4002909f7a865c01
40029095168e5c01
402491921d025d01
402491b21a065d01
c0ec91b22d065d01
c06c71b3160e5d01
4002909615825d01
4002b09316825d01
400290721a825d01
400290921e825d01
c005909f3a865d01
4064919517025f01
402493b22a025f01
40dc90be1a065f01
400290932a825f01
409894722a826901
406c919215026b01
406497b61e026b01
c06591922d026b01
c0e59193ef036b01
4024919d15066b01
402491951d066b01
402491921a0e6b01
c002908e16826b01
4002909d1a826b01
400290931e826b01
400290752a826b01
4002908e2a826b01
4002909235826b01
4002709735826b01
400290726a826b01
400690926a826b01
400290922d866b01
c005909615826c01
4002908e16826c01
c005909716826c01
4002b08e17826c01
401e909317826c01
400290921a826c01
400270951a826c01
400290f31a826c01
4002b0721e826c01
4006b09d1e826c01
4002908f2a826c01
401e90922a826c01
4002b0922a826c01
4002908e2b826c01
400270952b826c01
4002b08d2d826c01
400eb0b22d826c01
4002f08d35826c01
c006907336826c01
4002909636826c01
400290923a826c01
4002f0933a826c01
400290b26d826c01
4002909677826c01
40029092f5826c01
40069095eb856c01
4002908e16866c01
400690761a866c01
400290922a866c01
400e909276866c01
40029092178e6c01
c00690971e8e6c01
4002b0922abe6c01
4002b09516fe6c01
4024918d15026d01
c027f38d1a026d01
c0ec908e1a026d01
402c97923a026d01
4024919d7a026d01
406491733e066d01
402cb1951a1e6d01
c003909215826d01
400290921a826d01
400290931a826d01
4002b0951a826d01
400290922d826d01
4006709536826d01
4006b0923d826d01
c00390923e826d01
4002908d6a826d01
400290b61e826f01
400290722e826f01
400290f32a866f01
400e909215827401
4002b09215827401
4002909515827401
4002907516827401
4002909216827401
400290f316827401
4002908d17827401
400290b217827401
400690921a827401
4002b09e1a827401
400690b21a827401
400690921e827401
c00270952a827401
c00590952a827401
400290b52d827401
4002909235827401
4002909236827401
4002f09236827401
4002f0953d827401
400ef0b26b827401
4002909516867401
c002909616867401
4002b08d1d867401
4002f08d2a867401
c00670b52a867401
4002b0b32d867401
400290966a867401
400290927e867401
400690f5ed867401
c0059072168e7401
402cf1926b027501
40e491b5fb027501
4002909515827501
400290921a827501
400290933e827501
4002b08efa857501
402491927b027701
4002909215827701
4002b0922b827701
4098b4961a827a01
4002908d36827b01
4002b0927a827b01
4002909515827c01
c002b0921a827c01
400690922b827c01
400e90b635827c01
4006b09236827c01
40029095358e7c01
4002909215827d01
400290931a827d01
c002908e1b867d01
c0078e323e068d01
c0b5903212029201
404ab05132029201
404a90d172029201
406c9f5112829501
40dc965616829501
402493ce0e829e01
409422b12b02a101
c09222912e86a101
c0c861911502a201
c048e3911502a201
40592f9f1a02a201
40c920911b02a201
40c960912d02a201
405921916a02a201
c04821b16b02a201
404923917602a201
404721937702a201
404961b1ea02a201
c0c960912a06a201
c0c820713606a201
c02020911582a201
c02060711a82a201
402320931a82a201
c020e0712a82a201
402320912d82a201
402320932f82a201
c06020936e82a201
4021e08e1786a201
402320913b86a201
406160b73586a301
402160912e82a501
c02120b12a86a501
40b9617f1602a601
40c920931602a601
c04821916a02a601
c05821731a06a601
c02020911a82a601
406120973582a601
c02020b16a82a601
406120912a86a601
c00e67911706a701
4021e0b62a82a701
406160912d8ea701
c04a928d2a82aa01
405c91921502ab01
402491933a02ab01
40e4f392ee02ab01
402491922a06ab01
4006b0b21582ab01
400290b21682ab01
400690b21682ab01
4002b0b31682ab01
400290921582ac01
c002f0951582ac01
4006908d1682ac01
400e908e1682ac01
400290921682ac01
4002b0971682ac01
4002b0b21682ac01
c00d90921782ac01
4002b0931782ac01
400290721a82ac01
c00270751a82ac01
400270931a82ac01
400290931a82ac01
4002907d1e82ac01
4002b0931f82ac01
400290922a82ac01
400e90952a82ac01
400690b22a82ac01
c00290936b82ac01
400290966d82ac01
4002f08e7a82ac01
400290921686ac01
400290922b86ac01
4006909d3e86ac01
c00290927786ac01
400290921d8eac01
c0e490b21702ad01
402491961a02ad01
402491b2ef02ad01
402491722a06ad01
c00390961682ad01
c00690b21682ad01
400290921a82ad01
400690922a82ad01
400690963582ad01
4006b08e7a82ad01
406320932b86ad01
c0039092178ead01
c04821916e02ae01
405f21937a02ae01
4059e3963606ae01
402120b16a82ae01
4024f1922e02af01
4064f18d3a02af01
c02591922a06af01
4006f0b36e82af01
400290737a82af01
400290931582b401
4002b08e1682b401
400690b61682b401
c002b0931782b401
400290921a82b401
400270971a82b401
c006f08d2a82b401
4002908f2a82b401
c00290962a82b401
c00290932b82b401
4002b0923f82b401
401e90b66e82b401
4002908d7582b401
c0029075ea82b401
400290b2f785b401
400290951686b401
4002908d2b86b401
c02591721e02b501
c02491b22a02b501
405c918e2e06b501
4002908e1682b501
400690921682b501
4006b0932e82b501
402491313282b501
c005908f3782b501
400290721a86b501
4002908e1e86b501
4002908e2a86b501
4024f1721a02b701
c00290921582b701
400290921a82b701
400290fd1e86b701
c0d9908f1502bc01
c00290951682bc01
4002b08d1a82bc01
400e908f6e82bc01
c00390922e86bc01
402491931502bd01
406c938dea02bd01
c00290722e82bd01
c02020913a82bd01
c02020917b82bd01
40a901300e02c001
409b00501202c001
40a900501202c001
c0a901501202c001
c0b800d01202c001
c0a907f01202c001
406900501602c001
409900501602c001
c06800f03202c001
406b00300e06c001
c09800d01106c001
c09900301206c001
40a900503206c001
407900d00e0ec001
409100300e82c001
40b100300e82c001
c09001f00e82c001
409100301282c001
409300301282c001
c09000501282c001
409101d01682c001
409100501e82c001
c09100300e86c001
407100301286c001
40f101d0318ec001
409700303282c101
c04a03501202c301
409100d01282c301
40f701301282c701
409100d01282cf01
c0e990722a02d401
c00290921582d401
c00390921582d401
400270b31582d401
c005b0921682d401
400270931782d401
400290921a82d401
400690971a82d401
400290931d82d401
400270b31d82d401
c005909e1e82d401
400290722a82d401
400e90922a82d401
c002b0922a82d401
4002b0962a82d401

Testing collisions (high 32-bit) - Expected        512.0, actual 1163377 (2272.22x) (1162866) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 839497/31 (26234.29x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2095361 (1.00x) (2305)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097009 (1.00x) (113)
Testing collisions (low  32-bit) - Expected        512.0, actual 1468423 (2868.02x) (1467912) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1145195/31 (35787.36x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097120 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 39
Testing collisions ( 64-bit) - Expected    0.0, actual  25278 (212047334136.05x) (25278) !!!!!
Collisions:
804240222b04bb00
80c240e62c04bb00
80c140222d04bb00
80c240262d04bb00
80c2c0232f04bb00
8041c02e3b04bb00
80c640663d04bb00
804140225504bb00
8041c0225704bb00
804140226d04bb00
804140227504bb00
80c14022550cbb00
8046c022550cbb00
804240e2d40cbb00
8092ce222b04bc00
809641262d04bc00
808e412e2d04bc00
8093423e2d04bc00
809641622d04bc00
809142223504bc00
809643223504bc00
80724f223504bc00
808ec62e3504bc00
80b242623504bc00
809143663504bc00
8092c12e3704bc00
8071c1223b04bc00
807641225504bc00
809142225504bc00
809143225504bc00
8092c6225504bc00
8092c3255504bc00
809142625504bc00
8091c2665504bc00
8091c3265704bc00
809241225b04bc00
809142225d04bc00
8092c1225d04bc00
80f1c21d6b04bc00
809242266f04bc00
80b641267504bc00
808e416e7504bc00
809241227704bc00
809e4622d504bc00
8093c22ed504bc00
8091c122eb04bc00
8092411ef504bc00
807241e62c0cbc00
8091c222350cbc00
80924162350cbc00
80b24126370cbc00
8092c2263b0cbc00
80914122750cbc00
80b6422ed50cbc00
8076c12d351cbc00
808e422e6b1cbc00
80b1cf25d51cbc00
804640222b04bd00
80c1c02e2b04bd00
80c640e22c04bd00
804240222d04bd00
804e40223504bd00
80c1c3253504bd00
8041c0e65404bd00
80e444225504bd00
804140665b04bd00
804140e2ec04bd00
804140e2ed04bd00
8042c03d2b0cbd00
8042401e350cbd00
80424022350cbd00
804140223f0cbd00
804640223f0cbd00
80c34022550cbd00
80c140262d1cbd00
80434022551cbd00
80424062551cbd00
80c2402edb3bbd00
804240265d04bf00
8042c0265d04bf00
80dc44222b04c300
8024dd222b04c300
802543222f04c300
805bcd223504c300
80dd44623504c300
802445e23504c300
802543223704c300
80254f223704c300
8024c5223d04c300
802fc31d5504c300
806443225504c300
802445225704c300
802c45625704c300
80254d265b04c300
802543225d04c300
802445226d04c300
802dc3227504c300
80644d627504c300
802c4322d504c300
802443262b0cc300
8024c31d2d0cc300
80ed44263f0cc300
80244362750cc300
80243de2d40cc300
802547223d1cc300
80244d225d3cc300
807241222b04c400
808e41222b04c400
809141222b04c400
809241222b04c400
809641222b04c400
80b241222b04c400
80f641222b04c400
809142222b04c400
809342222b04c400
80b342222b04c400
807143222b04c400
809143222b04c400
809346222b04c400
809247222b04c400
8092c1222b04c400
809ec7222b04c400
80b2ce252b04c400
807243262b04c400
8072432e2b04c400
80b7c62e2b04c400
8092413e2b04c400
80b14e3e2b04c400
809141622b04c400
809242622b04c400
809342622b04c400
80b642622b04c400
80937e622b04c400
809141662b04c400
808e43662b04c400
808e41e22b04c400
809243e22b04c400
809141e22c04c400
809f41e22c04c400
80b143e22c04c400
80f143e22c04c400
809142e62c04c400
8092c1ee2c04c400
807241222d04c400
808e42222d04c400
809142222d04c400
809242222d04c400
809343222d04c400
808e46222d04c400
809146222d04c400
80b2c2232d04c400
809141262d04c400
809146262d04c400
808ec1262d04c400
809242622d04c400
809642622d04c400
807143622d04c400
8091df632d04c400
809143e22d04c400
80b346e22d04c400
80b646e22d04c400
8093c21d2f04c400
8092431e2f04c400
807141222f04c400
809141222f04c400
809342222f04c400
80f242222f04c400
80b1c6222f04c400
80b1c1232f04c400
8092422e2f04c400
809141622f04c400
809641622f04c400
809342622f04c400
80f6c2622f04c400
8096c2652f04c400
809146e22f04c400
809242e23404c400
809243e23404c400
80b24ee23404c400
8091c2e23404c400
8092c2e23404c400
8092cee53404c400
809242e63404c400
80b242ee3404c400
8092461e3504c400
807241223504c400
809141223504c400
809241223504c400
80b641223504c400
808e42223504c400
809142223504c400
809242223504c400
80b142223504c400
808f43223504c400
808e46223504c400
809646223504c400
809247223504c400
809347223504c400
80924e223504c400
8092c2223504c400
8093c2223504c400
8076c3223504c400
808ec2233504c400
80b2c1253504c400
809e41263504c400
809242263504c400
8091c2263504c400
8092c2263504c400
80b1c2263504c400
8096412e3504c400
8092c13e3504c400
809141623504c400
809343623504c400
807241663504c400
8096416e3504c400
809142e23504c400
807243e23504c400
808fc1e23504c400
808ec1e33504c400
80f343223704c400
809646223704c400
8091c1223704c400
8091c2223704c400
80f3c2223704c400
8092c1233704c400
80b6c12d3704c400
80b1c62f3704c400
807241623704c400
8097c2623704c400
8092c1663704c400
80b342e23704c400
807241223b04c400
80b141223b04c400
8093c6223b04c400
809142263b04c400
8092422e3b04c400
8091462e3b04c400
8091c12f3b04c400
80b6c2e63b04c400
809142e23c04c400
807143e23c04c400
809241223d04c400
809343223d04c400
808ec1223d04c400
8096c2223d04c400
80bec2223d04c400
808ec1253d04c400
808ec3253d04c400
80be41263d04c400
809142263d04c400
8091c1263d04c400
8096413e3d04c400
807141623d04c400
8092c1623d04c400
808e41663d04c400
809341e25404c400
809142e25404c400
809346e25404c400
8092c1e25404c400
80f1c2e55404c400
8091c2e65404c400
8073c1e75404c400
8091421e5504c400
80923e225504c400
809142225504c400
809242225504c400
809e42225504c400
80b242225504c400
808e46225504c400
80b247225504c400
8091c1225504c400
80f6c1225504c400
80b2c2225504c400
8092c6225504c400
8091c7225504c400
8092c1235504c400
809241265504c400
809142265504c400
809342265504c400
808e43265504c400
8092c12e5504c400
809143625504c400
809646625504c400
8092c1635504c400
8091c3655504c400
80914ee25504c400
80b3411e5704c400
808e41225704c400
809241225704c400
809641225704c400
80b141225704c400
809142225704c400
809242225704c400
809246225704c400
80935e225704c400
808fc1225704c400
8072c1235704c400
8092413e5704c400
8092c21e5b04c400
809241225b04c400
809341225b04c400
80f241225b04c400
809647225b04c400
8092c1225b04c400
809ec1225b04c400
80f1c1225b04c400
80923f265b04c400
8071c1265b04c400
809242625b04c400
80b241665b04c400
80b142e25b04c400
809142e25c04c400
80b142e25c04c400
807243e25c04c400
8091c3e25c04c400
8091c2e75c04c400
80b2471e5d04c400
809642225d04c400
80be42225d04c400
809147225d04c400
80924e225d04c400
80f1c1265d04c400
80b3432e5d04c400
8093c1625d04c400
8091c1655d04c400
809141e25d04c400
808e41225f04c400
80b242225f04c400
808ec6225f04c400
8092c6225f04c400
80b242265f04c400
8096411e6b04c400
809341226b04c400
809246226b04c400
809347226b04c400
8091c2256b04c400
808e41266b04c400
809141266b04c400
80b3c6266b04c400
809642626b04c400
807641226d04c400
809142226d04c400
809242226d04c400
80914e226d04c400
80935e226d04c400
8091c1226d04c400
809ec3256d04c400
808e42626d04c400
808e4e626d04c400
8097c6626d04c400
8091426e6d04c400
809242226f04c400
80b242226f04c400
8092c1236f04c400
8091c1e27404c400
807241fe7404c400
809241227504c400
80b241227504c400
80f141227504c400
80b342227504c400
807243227504c400
808e46227504c400
8091c1227504c400
809242267504c400
809647267504c400
808fc1267504c400
8092412e7504c400
80b1c1627504c400
807143667504c400
8071416e7504c400
809242ee7504c400
809141227704c400
80b241227704c400
80bf41227704c400
8091c1227704c400
809141227b04c400
809142267b04c400
8091412e7b04c400
807241227d04c400
80f2c1627d04c400
809341e2d404c400
807143e2d404c400
80b6c2e3d404c400
8092411ed504c400
80724122d504c400
80774122d504c400
80924222d504c400
80714322d504c400
80924622d504c400
8093c622d504c400
80924126d504c400
80914662d504c400
8096c322d704c400
80b1422ed704c400
8093c2e2d704c400
80934122db04c400
80b14222db04c400
80914126db04c400
8092c22ddd04c400
80914e22eb04c400
80f1c227eb04c400
8092c365eb04c400
809141e2ec04c400
8097421eed04c400
80934262ed04c400
80934762ed04c400
808e4126ef04c400
8091411ef504c400
8093411ef504c400
80b14122d505c400
808ec322d505c400
8076c726d505c400
8097c726d505c400
80924262d505c400
80914366dd05c400
809142e2f405c400
80964722f505c400
808e4162fb05c400
80924122d507c400
80924e22d507c400
80f24226db07c400
80f24226dd07c400
8092411ed50bc400
80b14222d50bc400
8091412ed50bc400
8092c327dd0bc400
8091c362f50bc400
809242222b0cc400
809243222b0cc400
808ece222b0cc400
809642262b0cc400
80b3c1262b0cc400
80b1c12d2b0cc400
8091422e2b0cc400
808e42622b0cc400
80b2416e2b0cc400
809242e22c0cc400
80b242e22c0cc400
8092c1e32c0cc400
80b1c1e62c0cc400
8093c11e2d0cc400
809141222d0cc400
80b641222d0cc400
809e42222d0cc400
80b142222d0cc400
80fe42222d0cc400
808ec1222d0cc400
809241622d0cc400
8072c1622d0cc400
807141e22d0cc400
80b141e22d0cc400
8091ce252f0cc400
80f246e22f0cc400
809641e2340cc400
80b64e22350cc400
80f1c123350cc400
80964126350cc400
80f14226350cc400
80924326350cc400
8092c126350cc400
8092422e350cc400
80b2422e350cc400
80924162350cc400
80964162350cc400
808e4262350cc400
80914262350cc400
8093c266350cc400
809241e2350cc400
80914222370cc400
80964222370cc400
808ec122370cc400
80924126370cc400
80914262370cc400
8093c31e3b0cc400
808e42223b0cc400
80f1c3623b0cc400
809241223d0cc400
809142223d0cc400
808ec7673d0cc400
8072c1263f0cc400
809146623f0cc400
809242e2540cc400
808fc2e3540cc400
80914122550cc400
80914222550cc400
80924222550cc400
8091c222550cc400
8092c222550cc400
8092c622550cc400
80964126550cc400
8091412e550cc400
80923e62550cc400
8091c7e2550cc400
80924322570cc400
8096c122570cc400
8096c222570cc400
80b64126570cc400
807141225b0cc400
80b141225b0cc400
809141265b0cc400
8091c21e5d0cc400
809241265d0cc400
80b243265d0cc400
807241625d0cc400
809246625d0cc400
809142226b0cc400
8092c6226b0cc400
8093c6e26c0cc400
80f241226d0cc400
809742226d0cc400
80924222750cc400
8091ce22750cc400
808e4666750cc400
80b241227d0cc400
809242227d0cc400
809241267d0cc400
80914122d50cc400
80924122d50cc400
80b24222d50cc400
80b64222d50cc400
80724126d50cc400
8092c162d50cc400
808ec662d50cc400
80934722d70cc400
8093c222d70cc400
80f141e2dc0cc400
80be46e6fb0cc400
809341e6fc0cc400
80934262d50dc400
80f14222db0dc400
808ec222ed0dc400
80b2c622db0fc400
8092421eed0fc400
809341222b1cc400
80924e222b1cc400
80914f222b1cc400
8091c1262b1cc400
80b141622b1cc400
807641e22c1cc400
807241222d1cc400
809341222d1cc400
809143222d1cc400
809241262d1cc400
80934e262d1cc400
809241262f1cc400
809642ee341cc400
807e4322351cc400
8096417e371cc400
8091c2223b1cc400
809141223d1cc400
8091de26551cc400
80b1c662551cc400
80b64122571cc400
80914162571cc400
809141e25d1cc400
80b341626d1cc400
80914f22751cc400
8092411e7b1cc400
80b24222d53bc400
809341262d3cc400
80917e62373cc400
808e42262b7cc400
80b142e6557cc400
80b2422235fcc400
804140222b04c500
80c240222b04c500
80e444222b04c500
804140262b04c500
80245d262b04c500
8042402e2b04c500
804240622b04c500
802cc56d2b04c500
804240e22c04c500
80c241e22c04c500
80e44de22c04c500
804240ee2c04c500
802445ee2c04c500
80dd471e2d04c500
804140222d04c500
804640222d04c500
80c140222d04c500
80de40222d04c500
80e444222d04c500
806445222d04c500
8041c0222d04c500
80c2c0222d04c500
80c2c0232d04c500
804240262d04c500
804340262d04c500
80c2c03d2d04c500
8042c03e2d04c500
804340622d04c500
804140e62d04c500
80c140262f04c500
804140662f04c500
804140e23404c500
804340e23404c500
804640e23404c500
804e40e23404c500
80ec45e23404c500
8042c0e23404c500
804140223504c500
804340223504c500
80c140223504c500
80c241223504c500
8041c0223504c500
8046c0223504c500
8041c0233504c500
8043c0233504c500
80c3c1233504c500
8042c0253504c500
804240263504c500
80c743263504c500
8041402e3504c500
804240623504c500
80c140623504c500
802c45663504c500
80c2c0663504c500
804240223704c500
80c2c0223704c500
804640263704c500
804240ee3704c500
805e40223b04c500
804240223d04c500
804e40223d04c500
804140623d04c500
804240e25404c500
8041401e5504c500
804140225504c500
804240225504c500
802c4d225504c500
8042c0225504c500
80c1c0225504c500
8041c0235504c500
8046c0255504c500
804240265504c500
804640265504c500
8041c0265504c500
8046c0265504c500
80c1c0275504c500
804240625504c500
8065c5625504c500
80e5c4655504c500
8024c5665504c500
804140e65504c500
8041c0225704c500
8047c0225704c500
80c7c0225704c500
804240e65704c500
80c240225b04c500
8024c3225b04c500
80244d265b04c500
8043402e5b04c500
804640625b04c500
8041c0e25b04c500
8041c0e65b04c500
8041c01e5d04c500
8025c3225d04c500
804240e25d04c500
8043c0225f04c500
804240226b04c500
8042c0226b04c500
80c340226d04c500
8042c0226d04c500
804240666d04c500
804340e66d04c500
804640e26f04c500
804140e27404c500
804240227504c500
80c240227504c500
80c340227504c500
8046c0237504c500
804140627504c500
804740627504c500
80c640e27504c500
802c43227704c500
804240267b04c500
804140627b04c500
804240267d04c500
804240e2d404c500
80c1c3e7d404c500
80c14022dd04c500
8042c026dd04c500
8041c065df04c500
8043406eed04c500
8042401eef04c500
80414062f504c500
80464022db05c500
80c2c022dd05c500
80464022df05c500
8046c0e2f405c500
804240222b0cc500
804640222b0cc500
8041c0222b0cc500
8042c0252b0cc500
80c240262b0cc500
80c141262b0cc500
80ce40222d0cc500
80e4431e350cc500
80414022350cc500
80c2c025350cc500
80424062350cc500
80bf4022370cc500
804140263b0cc500
804140e6540cc500
80414022550cc500
80424022550cc500
8064c322550cc500
805fc023550cc500
80c3c323550cc500
8046c027570cc500
8042402e5b0cc500
80c1c0e25b0cc500
80c2c1225d0cc500
8042c0235d0cc500
80c240665f0cc500
804140226d0cc500
802445226d0cc500
80c141666d0cc500
80414022750cc500
8043c026750cc500
804f4022d50cc500
8041c022d70cc500
8043401eeb0cc500
80414022ed0cc500
8042c022db0dc500
8042c0222b1cc500
8042c0ee2c1cc500
804140222d1cc500
80c240222d1cc500
8047c0222d1cc500
804240e6371cc500
8042c026551cc500
80dc4422ed1cc500
804140625d3cc500
8042c0222b04c700
804fc01e2d04c700
804240222d04c700
80c240222d04c700
80ce40222d04c700
80c3c1222d04c700
804140262d04c700
804e402e2d04c700
80c140622d04c700
802c47622d04c700
804340e23404c700
804640223504c700
804740223504c700
80c140223504c700
8043c0223504c700
80c1c1223504c700
804240263504c700
804ec0623504c700
804340e23504c700
804f40223704c700
8042c0e53d04c700
804240e25404c700
806443225504c700
802445225504c700
8043c0265504c700
804640665504c700
80c140225704c700
80c243225704c700
8041401e5b04c700
8042401e5b04c700
804140225b04c700
802445225b04c700
8041c0226b04c700
80c140627504c700
8043c0637504c700
8041401eed04c700
80424022d505c700
8025431e2b0cc700
8043c0222b0cc700
8042c0252b0cc700
80e444622b0cc700
80c240222d0cc700
8046c0e22f0cc700
80424022350cc700
804640e6540cc700
80414022550cc700
8041401e5b0cc700
8042403e5b0cc700
804240225d0cc700
8042c0252b1cc700
804640e6541cc700
80c1c01e353cc700
80c2401e2b04cb00
8041402e2b04cb00
804140622b04cb00
804640622b04cb00
80c240e22c04cb00
80c1c0e62c04cb00
804140222d04cb00
804240222d04cb00
80c641222d04cb00
8046c0262d04cb00
80c1403e2d04cb00
804240e23404cb00
8042c0e23404cb00
80c141223504cb00
80c140623504cb00
804140663504cb00
804640623b04cb00
80c2403e3d04cb00
80c141623d04cb00
8042401e5504cb00
804640225504cb00
804240625504cb00
8041406e5504cb00
804340ee5504cb00
804240225704cb00
804240625b04cb00
804140265d04cb00
80c740225f04cb00
80c240226b04cb00
804240626b04cb00
80c1c0626b04cb00
80c740666b04cb00
804240226d04cb00
8042c0266d04cb00
804140226f04cb00
804640227d04cb00
80414026d504cb00
80c14022f504cb00
804140e6fc05cb00
804140662b0ccb00
8046c0e52c0ccb00
80c340222d0ccb00
80c3c1262d0ccb00
80c1c0272d0ccb00
8042402e2d0ccb00
80c640222f0ccb00
80c1402e350ccb00
80424022550ccb00
80c240222b1ccb00
809241222b04cc00
809342222b04cc00
809643222b04cc00
80914f222b04cc00
8093c2252b04cc00
809241262b04cc00
809f412e2b04cc00
809241622b04cc00
80f2426e2b04cc00
809242e22c04cc00
80b142e22c04cc00
8072c11e2d04cc00
807141222d04cc00
80b342222d04cc00
809246222d04cc00
809641262d04cc00
8091412e2d04cc00
809646e22d04cc00
807141222f04cc00
809242e23404cc00
80914ee23404cc00
809241223504cc00
809142223504cc00
809342223504cc00
80b14f223504cc00
8093c1233504cc00
8096c2253504cc00
809241263504cc00
809146623504cc00
8091c7653504cc00
808e411e3704cc00
80b141263704cc00
8092c1623704cc00
80b146223b04cc00
809141223d04cc00
80b641623d04cc00
809142663d04cc00
809141225504cc00
809241225504cc00
807143225504cc00
809343225504cc00
80b1c3225504cc00
80b741625504cc00
809e43625504cc00
80b1c1665504cc00
8071436e5504cc00
80b146e25504cc00
8092c2e25504cc00
809142225704cc00
80b342225704cc00
80b243225704cc00
80b341265704cc00
807241625704cc00
809141225b04cc00
80b242625b04cc00
808e43e25c04cc00
808ec3e25c04cc00
8091c3e25c04cc00
809341225d04cc00
809e42225d04cc00
80b343225d04cc00
80b14f225d04cc00
8091c1225d04cc00
80b2c3265d04cc00
808e42625d04cc00
807243225f04cc00
809241226b04cc00
80b242226b04cc00
8072c12d6b04cc00
8092c3e36b04cc00
809241226d04cc00
809643226d04cc00

Testing collisions (high 32-bit) - Expected        512.0, actual 1471352 (2873.74x) (1470841) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1042367/31 (32573.98x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2096025 (1.00x) (2969)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097013 (1.00x) (117)
Testing collisions (low  32-bit) - Expected        512.0, actual 1877094 (3666.20x) (1876583) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1594724/31 (49835.15x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097136 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 40
Testing collisions ( 64-bit) - Expected    0.0, actual    144 (1207960128.00x) (144) !!!!!
Collisions:
ff2c1001008d0204
4f88100100d90204
4b98100100d90204
cf88100300e90204
8b75110100290304
2b973003002d0304
37903003003b0304
4f881001005b0304
67a53001005b0304
03900a01000f0404
0f45340100090504
4b88100300370504
bf661003004b0504
4b6a100100c70504
d75b3a0100a70904
c31a240100631004
6720220100491904
6f241c0100d93004
b7c3270100793804
23d1880000218304
cb34820000398404
4f82920100538a04
63124b01004dd104
9718010200e74405
1bbe140200297105
5b1401020061c305
ab6aa50500692207
c32d000200d14207
2385940400892208
830a800400232f08
4be2300400c93008
830b800400213108
830b800500213108
833e800500213108
830a803d00213108
830a800400233108
8316800400233108
ef0c800c00233108
eb1c800c00253108
8309800400273108
1b17800c00293108
3f79800c00293108
1b198004002b3108
8f1b8005002b3108
83658004003d3108
3f37800400593108
830b800400613108
830b800c00213308
8f1a800c00213308
830a800500233308
a35a9a0400193e08
0b00220c00a94408
c714250c00094508
8361570400294908
8309800400215108
830e800700235108
d700800400255108
8326800c002b5108
833a8005005b5108
1b17800400635108
9f19800c00215308
8376800400217108
3f0d800b00237108
8f1a800400617308
fbc8e30400d1a308
27b13a070067ad08
47324e0400f3c208
0f0022040069c408
83b62e0400d1c908
7316000d0059cb08
034b120f00c9d008
8f0980040021d108
1b0480040027d108
8f0a80040061d108
d79528050069e908
a32f230b0021ec08
830a800400e1f008
6f73550700290209
d706cd0600090309
43d4480500a10809
5f544b0f00a10809
0f00c10a006b1009
9b66410500911009
8786530b00d91c09
8706840c002f1d09
4b64440500452e09
23b0410500993009
8789100f00213909
17311f0700276909
ef07f80400856a09
5fe1410500937109
8b70370b000b7509
03b1f10400359209
3fd5380500cbaa09
1b9584040053cd09
831e80050021d109
df420c050053db09
1fc045060059410a
431400020031c30a
0bf2d606003bc30a
6f6558060029c80a
2305b2060021d10a
2786151e00292f0b
b7184a0900c54a0b
1b0d800d0025f10b
a3d341080061030c
cf8810010029050c
cb5b30010047050c
3b8e4008005f060c
074514010019070c
433a6401006f100c
8f4152030009910c
67a21702003b710d
434257090061c40e
43424a1d00d51a0f
27b5321800198d13
a324a10a00097215
8709800500e13018
8309800b00213118
831a800400d53118
83e1590400293b18
6331220c00a14218
a384230c00e14218
0b8f8c0700594518
870b800400216f18
afd48b04006b6f18
3b23620b00a1a218
bb04280b0089ba18
876e80040037d118
db30420700331119
67587e1b0059d019
0f4a6505003be519
cf08ba06004d391d
2f11d10a00114d37
830a800b00215138
2390410500a93139
e34842080055033c
6b594c0500c9023f
b750350c004ba3f8
b720d20b004901f9

Testing collisions (high 32-bit) - Expected        512.0, actual 1264240 (2469.22x) (1263729) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 918352/31 (28698.51x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2096107 (1.00x) (3051)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097083 (1.00x) (187)
Testing collisions (low  32-bit) - Expected        512.0, actual 122750 (239.75x) (122239) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 122296/31 (3821.75x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 41
Testing collisions ( 64-bit) - Expected    0.0, actual    134 (1124074008.00x) (134) !!!!!
Collisions:
1a0c6108005a6010
325e000900526210
0215000900c26210
021f000900c26210
6621000900ba6e10
322e0009004a7e10
72d0c70800468510
ca92e40a001e8810
6a30440800928810
3a00440800b28810
4aac420800529810
1e00441800b29910
72660009004aa610
3266001b00caa610
4a303118002eae10
568000080052d210
0eb8d11800522c11
0644a20900722d11
02e7550a00ca3611
1272461a00ae3811
361c470a00ca3811
0a984e7800763c11
7608c90a00f24811
3e98670800924911
06fe3d0a00966011
c6f1251600f26011
4228830800ca6611
42d9490a00427811
fa89041a00b68811
0af48908002a9011
7e02ec0a0032a111
023b000900eaa111
021300090042a211
562a0009004aa211
8a008d080052a211
9a20003900cea211
b6440a0a0016a911
063288180072b011
0aac880900eeb011
9203aa0800f2b811
0235000900aae211
8a0083080056e611
0aa8aa1d00320412
46096b1600360412
1ee8ea0d00520412
5a98080b006e0512
0605080900520612
066f080900920612
4a0c080b00b20612
060d080f00d20612
0661080900b20712
061b6d1600720a12
0605180900b60a12
0a61080b00920b12
0a0f081b00521a12
0a05080900d21d12
0aa1090900b21e12
0e00821500522112
0232d70e00a23812
0ac4d30a004a4012
16084a09000e4c12
26454e0a00d24c12
4ab1880d00aa5512
2600250900526512
7aba880a00527412
1a300e1a005a8912
c69e890900129012
0a949818003a9012
e6301e7a00569712
0e24250a0052a012
4691240a0096a012
b638900800daac12
8a0930160012b312
0259270800ae0b13
0ac4620a00961c13
12e4480a004a4813
1a24250a00526013
068a240a00b26113
0ab48838002a9013
023500090042ae13
9a68000900b2e113
321de3140052a214
9a46b1130052b014
e622210b00562215
0abd431300b64a15
3a80843400528e15
0a02990a00360416
0605380b006e1a16
9244511200062c16
4a938f0d00b62c16
d204381a00f65216
56f0cb08002ee616
ea29210800de1617
8a14520800f22c17
4a80841400ae831c
aa5ca90b0032041e
9e140409005a081e
4630300e0072b51e
0acc620a00b6241f
0215290e00d6a22b
0a646f0a00b2a02e
d28ce4090096a12e
0e62e10a0076242f
ca51a11800d66030
0215000900426230
a621000900b66330
3226001900466630
6a00c43800b28830
4a3a3c08004e8930
7e50e90a00b68d30
16160c0f00b2d130
46ed6d1a004e6031
0a24250e0052a031
0a24250a0052e031
06f8880a007a2c32
06acb83800169032
0aac8809001a9033
2aa24e0a00ce3136
0652980800569036
0607781900b2053e
2ad0020a006a8b3e
4a06f90900124570
9a20001f004e6270
32803c0900629470
0ad0500a0096b471
0215000900c263f0
4a103108002a9af0
72ec4416005645f1
1e27840b003262f1
06c4a13a009664f1
36cb7a0a001604f2
3658660e004e04f2
1e00cc1800feb8f3
5243a209008ee3f6

Testing collisions (high 32-bit) - Expected        512.0, actual 1407732 (2749.48x) (1407221) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 895721/31 (27991.29x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2095829 (1.00x) (2773)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097067 (1.00x) (171)
Testing collisions (low  32-bit) - Expected        512.0, actual 124343 (242.86x) (123832) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 122654/31 (3832.94x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096128 (1.00x) (3072)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 42
Testing collisions ( 64-bit) - Expected    0.0, actual    336 (2818573632.00x) (336) !!!!!
Collisions:
1428421300d4401f
f4023612006c8a20
b421181200a4a020
2c7d391600a4a120
4cdcc4160024b520
dc144d110004c020
44e344110014c020
84044b31002cc120
ec3d00760074c320
0c2e00120084c320
0ce600120084c320
1c6a00320084c320
0c2a00720084c320
0c2e002e008cc320
0c2600120084c420
0c3a00120084c420
1c2600160084c420
045a00160084c420
1c5a00160084c420
64540012008cc420
6c64007200a4c420
6cac0012005cc520
1c6600320084cc20
ac4c0012008ccc20
6c540012008ccc20
ac7c003200a4cc20
042600320084dc20
1c2600360084dc20
9c5400120094dc20
9ccc001200b4dc20
4c9300120044dd20
3ca652160014f320
bc8c18320024f820
24c8f23000a40921
2c00881000e41221
04cb531200241321
740b361600b41521
8c805aee00241621
2c6c2f2e00642821
bc33c31700144021
04e6011200844421
1c26001600844421
0c2e003200844421
a434001200944421
ac64001200a44421
aca4001200a44421
0caa001200d44421
a45c0032006c4521
0c2a001200844f21
1c2a00120084c321
043a00120084c521
bc10001200accc21
5c8cd71300042222
0c88cd13002c3922
0c884d15003c4922
9424a534009c6c22
e4109e14006c7022
0431891c00c48a22
4c28891400248b22
1c11892c00448d22
0c118914004c8d22
8401b21300549022
2442b03400a49122
e448891d00a49522
04119914005c9722
dcc8e214002ca522
ec80e02c00a4a522
5407a0140014a622
842160140064a622
5c80a0f400a4a622
b480a11c00dca622
f412a014001cae22
ec3aa03c001cae22
5c80a11400a4af22
3c648c3500ecb022
14c25a150024b422
8420a02c0064ba22
0cd8491400a4c022
0cf8491400e4c022
0c2cc915002cc322
8c4a4a3c00bcc722
24e7421f00acc922
8420e034002cda22
ec80a01500acda22
dc0b60340014ee22
2cc892340094f022
ec018810006c1123
94687212006c1323
cca0031400541523
5c600c6c00d41623
4ca0041400ac1d23
1414491400644123
141ccb1300e44123
3428421100544323
042a001200844323
64dc033200944423
0caa001200d44423
1c260032008c4523
1c26001200844c23
1473601400645e23
44086074000c6623
bc06e01400346a23
5c72041400647323
0c11891500448b23
841970330084b123
04fa013200bcbc23
6464002e0064c523
2cd9a51400a4d423
1403cb1b00a40624
ec02353b00a40624
ec0e4d1500640724
d47cdc1700a40824
acc4d42c00a40824
dc904d3b00640a24
3cd0541700641824
2ca5521500e41824
2c245c6f00241924
4418351500b41a24
0451231500842224
0477fd2c00842224
a4862ded00a42224
0cd16c3700842324
a486242d00a42524
0c71251b00842624
6485e46d00a42624
0c0a4a1d00a42c24
0c0aca7400a42d24
bc27a21c00042f24
742a4b35006c3424
bc90311d00a43824
6400041b00a44124
042f051500244224
0ce3051b00444224
1c8a0a1b00444224
249a1e1d004c4224
84400a2b00644224
8c40063700a44224
1c000c2d00e44224
3c8a0d1d00444624
2400042d00a44624
2400043d00a44624
54b80b1d00d44e24
3c15113700ac5924
04d1243500846224
9c82321500246924
0c28e22d00247124
d459a91d009c8024
f426701400a49a24
3c14902c00e49a24
b41d041d004cc124
2c000c1500a4c124
2c00041500e4c124
249a0a1500ccc224
2400047500a4c324
d41b6c140024d224
2c9e06150044de24
4c601c1400d41325
4ca0041400541725
a4c4051400a43225
0cec481400244125
8c21c91c00244125
0c145914002c4125
0c584a1400ac4125
0c05483400a44225
74b2041400a47525
542c892c00bc8a25
8c01961400d49025
24a48f73006cb325
3c1d111500a4b825
1413a034006cee25
0c34ec1a00a41026
1c18ac1900441126
04346c2a00641126
8c029215006c7026
1c11f91c00c48b26
1c13993d004c8f26
2c3ea21c0024a526
2c31b2330064b026
bc08903400bcb326
a4228b7400c4ba26
3c58ca1400a4c126
5400881000641127
6c00981000e41127
bc80471200241227
d4a70414005c1f27
1414d915002c4127
1475a01c002c5a27
bc80601400646a27
2c00887000a47227
1c117b3c00448d27
248b9c2c008cf027
1c00043500e4c72b
d4c434350064092c
3461a01c001c322c
5c4ca06c0004362c
1c000c170064412c
249a052b0044422c
2400041500e4422c
8c36041500a4432c
2c00041d00a4432c
e400041500dc462c
440b112b00a4b82c
2c04321b0054e92c
2c36241400a41b2d
14744f140024412d
140b581400ac462d
1c926114005c5a2d
84206014006c662d
bc80a07400ac6a2d
0c884413002c472e
14bc42330054492e
8c0890130084912e
6421893700cc962e
04abb8150064b52e
9c64001200a4432f
84ad281200c4582f
2c00041d0064413c
f47b33110024203d
2c58e81d0034813d
5c22903c00a4aa3d
d44a021300a41b3e
84664f1d007c085c
6c513c3b00a4095c
b41aa0140074da5f
54c101320094bd60
ac2e45110034c060
0cee00120054c360
6ca4001200a4c460
e46c003200a4c460
0caa0032006cc560
84f3911000840961
3c14521200640d61
2c1c2e1200640f61
3c008810005c1161
3cbe981000a41261
3cb3007200c44361
1c2e002e00844561
6ca4001200a44561
043a001200844761
8ca61812004c7861
bca500160064c761
0c44c51c00ac5862
94c3e53c00a46c62
a48d9974008c8d62
3c13891400c48e62
8c95b43400849062
2448b274008c9062
2c38921c00b49362
5c07602c001caa62
4484a63c0054b462
5c80601c00acbb62
1c13602c0024e662
1c118934005cfd62
0caa521400ec6563
f432a034002c6a63
0cadb71400a48a63
d444d41400dc0864
6c42533d00e40964
0cd1241500842564
0c0a4a15006c3564
e400043500a44164
4c300b2f00044264
8c40061d00a44264
8cc00d35009c5d64
a4a4241500946664
4c26901400a46a64
bc26311500b4b964
34a0042c00fc1f65
34354934000c4165
5c0b6014002ca665
1414491c0024c165
1cd04d150064086c
1c50dd1400a40b6c
1cb34d1500ac186c
0cc84a3400a4c06d
1491ea2a00ec5ada
2c074b7500e409dc
8c9d051500c443dc
14037216002c8ee0
a4a70036006cc3e0
6c7c001600bcc5e0
04da00120084cce0
8c23bd1000d409e1
9c12f810006411e1
5400983000a42ee1
2c00f81000a431e1
a4a00116005443e1
9ca4011600a443e1
1c9e001200b444e1
d4aa5636001475e1
043aa53400ac74e2
24d87e17009c90e2
5c80a0f50064aee2
0412ab2c0094b4e2
0c178b1400c4bae2
6c21083100a4c4e2
346660140024dae2
2c17a0150024e6e2
5400981100a412e3
dc51c310005c40e3
1c14c914002441e3
14660a0f00ac47e3
14281113003c60e3
8c08901f008c92e3
541c901500dca5e3
042a0032009cc4e3
84a6531b009c08e4
444a541500ac08e4
9c254b35002c14e4
1c70cd14006418e4
0c752c1500b423e4
1c04521500a438e4
649a061d00c43de4
1c00043d006c43e4
a4a3e414008c62e4
5488233700ac66e4
4c7e901400a4e5e4
9c69601c005466e5
6421893c00c48ae5
6c429015006cb1e5
8440062b00acc2e5
0cb84c1300244be6
1c884c1300244fe6
24389235008c91e6
1c489e15009490e7
1c512517008422ec
248a0a2d004442ec
6c00041500a4c1ec
0c88c514002449ee
2c389213007490ee
942a3417001c09fc

Testing collisions (high 32-bit) - Expected        512.0, actual 1598319 (3121.72x) (1597808) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1032553/31 (32267.30x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2095857 (1.00x) (2801)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097068 (1.00x) (172)
Testing collisions (low  32-bit) - Expected        512.0, actual 247721 (483.83x) (247210) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 234761/31 (7336.28x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096640 (1.00x) (3584)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 43
Testing collisions ( 64-bit) - Expected    0.0, actual   1011 (8480886732.00x) (1011) !!!!!
Collisions:
78aa196300486940
c8a0692500b8ae40
2802bc3c00580c41
2802ec6c00580c41
1802a4e400780c41
2802642400a80c41
181e5c2400a80d41
2802ec3c00a81441
e80fe46700a81441
2806e42400d81441
2802642400a81c41
28a8532c00c84141
5882312c00584641
b868346400484c41
7837f22300c84d41
f850a22400a87441
184c002c00087941
1801062400088641
8826012400888641
0854032400a88641
1854006c00088741
3879002c00288741
4849016400488741
c8c8002400c88741
c820002400c88841
1854002400088941
085c002400088941
38b4002400088941
38cc002400088941
08d4002400088941
18f4002400088941
085c002c00088941
0854003c00088941
184c006400088941
085400dc00088941
18cc00e401088941
d8a9002400188941
08cc002400188941
58a9012400188941
5899006400188941
d8a8006400188941
8805002400288941
4899002c00288941
9882006400288941
c863002400388941
48a9002c00388941
58c9002400488941
d848012400488941
48c9016400488941
d848072c00588941
78a9016400688941
18d4012400788941
1803022400088a41
187c012400a88a41
0854032400a88a41
0874002400088b41
0874006400088b41
0854002c00188b41
082c032400688b41
0854002400088f41
085400e400088f41
084c00e400089941
08d400fc01089941
980d00e400289941
185c00e400089b41
084c002400189b41
1854012c00a89e41
0874005c0008bb41
5865313c0048c241
38b0532400d8c241
d85032640048c341
d80f2d640048c541
38d032e40048c541
186050240048d041
4858f2270048d141
084c00240038f941
a853a72400381a42
d852a32400481a42
2871a55c00581a42
1801bd2400c82342
f8028b2400482442
68038b6400482442
28e6972400582442
2801955d00c82542
58c2a02400c82742
48c8526400485142
d828ac2400586d42
c869d36400887042
5840322400087142
48c1012c00f88642
0854002400088742
08d4003c00088742
7854006c00088742
4821006400d88842
084c002400088942
384c002400088942
784c002400088942
0854002400088942
0854002c00088942
08cc002c00088942
084c006400088942
08dc002400188942
18b4012400188942
38cc012400188942
4867006400188942
0854006c00188942
385400e400188942
d868002400288942
c898002400288942
c8a8002c00288942
c8b8016400288942
587b002400388942
a882002400388942
58a9032400388942
2831006400388942
0834012400588942
8805002c00588942
1834012400688942
5869006400688942
d8c8012400d88942
c8c800e400c88a42
1834032400f88a42
084c002400088b42
385c002400088b42
08b4012400088b42
087c005c00088b42
18b401ec00188b42
c898002400288b42
38dc002c00788b42
1854012400a88e42
082c032400f88e42
0874002400189942
084c007c00189942
4899006c00289942
38d4006400589942
08f4002400e89942
3854006400089b42
1874006400089b42
58a9002400189b42
880e002400289b42
58aaf2240088b042
184c00240008b942
980500240058b942
489901240068b942
084c00240008bb42
f806dc240038c442
385052240048cd42
185c002c0008f942
f881625c0028f942
2802ac2c00780c43
38025c2400a81543
38025cfc00781c43
5850562400d84243
2850322400484543
d8da542c00c84c43
a881502c00584e43
48d9016400487b43
6886002400388743
0854002400088943
18b4002400088943
384c003c00088943
384c006400088943
c867006400288943
a89e006400588b43
389b002400e88e43
08b4002400189b43
4888042600685144
28228f2600b88c44
2830877f00d88e44
3810892900489244
78f0992900489244
1830995900c89244
18888f5900e89244
1810872600489644
588475db0048a844
18f0886900c8b344
18108b260048b644
8808673a0038c444
28894a6700c8d844
c8906c790028e144
5861cb2900c8e844
98c54d3900a8e944
780411e700081545
0822322700b81745
789116d900481b45
38dd323900881d45
58282c5900982045
1803242900a82045
08032c7900a82045
0803ece901a82045
088b1c2900082145
08952d2900082145
188d2f6b00082145
38f06c2900282145
48e61c3b00582145
0803646700582145
5890e42a00682145
08076cd900782145
187a222900682245
4826642900582345
1803ecfa00682345
1826122700882e45
1895243b00083f45
d801432900484b45
a800c12900484b45
8810403b00284c45
0843406900484c45
e826c0e800484c45
385a403f00c84c45
58b440e901c84c45
685ec05800c84d45
282a40e700485445
7815c02900585445
d80e402900685445
e801432b00b85445
8810c02800f85445
d80a402f00e85b45
d80a403f00785c45
088b245900086145
4890232900286145
4843125900886b45
a800c16800487d45
3890942800488145
18909c2800488145
2828962800488245
1828927800488245
4862f22800b88245
184589ee00b88d45
180a903800b89c45
680b40790078b445
d800c3e80058b545
a80ac02b0028bc45
881040290068bc45
e80d40290028cc45
9810c02b0028cc45
b80dc0280028d445
0841c0390048d445
7803c16800d8d445
a800412900c8dd45
380fe4590078e345
a80143290048f545
a8dc183800482546
9840192800d82b46
98640b2800c82d46
0853762400485346
9840073800d86646
0829692800a86c46
e8a5193800b86e46
38c3912800488246
2845925800488246
c840902800288346
2890942800488346
1858922800c88546
18c5932800c88546
78459e2800c88546
38e8925800c88646
286896d800c88646
0854002400788746
0874002c00088946
085400e400088946
d8e8015c00188946
c8c8002400588946
c898012400e88946
c898032400f88a46
4813b06800e88c46
18e8922800488e46
185400e400088f46
1874002400089946
184c006400089946
3834012400589946
d80d27280048ac46
484832640048b146
3824413900b8b746
a80041290048cb46
b80ec0680028cc46
b871405f0038cc46
686a40290048cc46
3866c0280058cc46
f80d40290028d446
580dc0690028d446
d80ac0780038dc46
28039d2b0048e446
180258380068e446
182212790088ea46
3802dc2400d80c47
1802642400e81347
0822122900981b47
0822327f00881d47
3822245b00d82047
0805242900f82047
18972d6900782147
18b7e42a00082347
c88f133900582b47
180b15d900383647
382185d800684847
8831402700284c47
e81e402b00284c47
8810c02900285447
6866403900485447
5868426f00285547
288b552900485747
08cc002400087b47
4875926b00288247
18439e6800788247
e838726b00488647
082c012400e88647
08cc012400088947
18fc012400088947
c849016c00c88947
282640790048b447
a80041270048b547
a81ac0280038d447
4834c07b0008dc47
0845a9d901280f48
28e298da01480f48
28a06a2a00381148
38a09a2a00381148
5889982e00481148
d88f693a00481148
e8a0993b00481148
28a09a6900481148
d885e92e00581148
f82c683600a81148
883ca82900b81148
5801983a00b81248
a889a7d700c81248
38a2a85600481348
d8629f2900581348
d884ba5600781348
28479a6900482848
e8a19b2a00c83048
a889a85900483148
68a2675a00483148
a874995900483248
28e2a85600483348
d80ecf5a00c84a48
180b0b2a00888448
08093b6a00888448
18190b7a00888548
48ae0b6a00d88b48
4814156a00888c48
1809153600b88c48
38a24a2e0018c548
98e920e901d8ca48
18ea382a00e8ca48
b844603900c8f548
9828e05800c8fb48
e894725600c81849
a838e0eb00483549
d82f22fa00485349
88582f280038ac49
18e24a6a0008c549
d85426380058eb49
984109280058254a
a8acf82900d8264a
b87c193800c8274a
a8a4086800c82a4a
a8c1086800b82b4a
a8ab093800d82e4a
c88e082800485d4a
a8c3082800a85d4a
a8c1082800a86a4a
98c0095800a86d4a
18d8b3380038824a
286892280048824a
6845fe280048824a
2845923b0048824a
284392e80148824a
18e892280058824a
18d8923800c8824a
1845ae2800d8824a
181690d80058834a
481d92590058864a
a80dc0280028b44a
7866c0280058b44a
f8a8c02900f8b54a
286c412700a8cd4a
b80041590048cf4a
8870c0290028d44a
78c0072800f8da4a
f89612390048ed4a
282a40290048f44a
18bc515a0058184b
08052c6900a8204b
48221c2900c8204b
089525590008214b
581e1c670048214b
58241d2b00482e4b
8810402900184c4b
b8fbc12800284c4b
8810406900384c4b
586a402f0048544b
1805242900b8604b
28894a2900f8684b
18c392280048864b
1828925b00c8864b
d83dc0290048b44b
883040db0018fc4b
2830992600d8b54c
c8222c590048214d
c870fc290028234d
a80a402b00384c4d
8811402700684c4d
282c432900b84c4d
8811c02800185c4d
8831405b00185c4d
8810402b00685c4d
38e2166900986a4d
189093280048834d
08c1c02800c8b44d
283a402b00f8cb4d
180197240058244e
3851a3240048264e
b8c008e800b8664e
681a903800b8834e
c840902700d8844e
484090280058874e
a803412b00c8bc4e
282640690038cc4e
a8c018280058db4e
b81140290028dc4e
1822f2680088174f
380324670058234f
8848f36900083a4f
f82ac02800c84c4f
8844c27900284d4f
d824c12800d84d4f
184792280048824f
0888192b00a84356
78e0e96a00481158
1879ae5a00c86858
3814152a00888458
58ea142a00488b58
9844602900c83a59
e81269280048fc59
386835380018115a
987c0f2800485b5a
a8a5086800586b5a
98c0185800a87e5a
285892280048825a
382892e900c8855a
a800c1680048b55a
380d242900d8205b
5870617a0048515b
b8e724fa0038525b
086216e901881a5d
d82d403b00f84c5d
e891742900c8825d
2826c0280048d45e
d89323270038215f
18e271390088355f
48147b2a0088845f
9840092800e82a7a
a84309e80058677a
3890b4280048817a
2824c12800a8cc7a
888252370098017b
0822122900886a7b
0875652b0008217d
a80a40290078b47d
68a438e80058257e
98c078280068277e
e89e695a004811b8
38a2a82a00d813b8
5899a85a00c81eb8
38e26b2a004831b8
2854ba6a00a839b8
08090b6a009884b8
1881f75a00c884b8
882144290008a2b8
28086c2e00a8b2b8
984520f70038cbb8
4863202900285bb9
b8a40b2800d82bba
28289228003882ba
48c09028006883ba
78389238003886ba
280ab0e801c88cba
d800c1df0048fdba
b8a4536900a800bb
4890233b002821bb
9830c058001854bb
180d2427005863bb
e8289239004882bb
489a346a00c89cbb
281089e7004892bc
b80047390048bdbd
8843646c00381dbe
280d64e401a82abe
1828923800c882be
286ec02f00c8d4be
a800416900487dbf
680e6c2400580cc1
1802a4e401580cc1
6802642400a80cc1
1802a42400a80cc1
1802ec2400a80cc1
3806a42d00a80cc1
181edc2400b80cc1
e819647c00d80cc1
484ca424004814c1
48d46424005814c1
4834e46400481cc1
2802a42500681cc1
1819ec2c004834c1
68487624008842c1
3850522400c842c1
787072ec00c842c1
5870366400d842c1
684bd224005845c1
e855322400c846c1
7876d52500d84cc1
38490324004879c1
0874002400087bc1
1854003c00087bc1
38cc0024000887c1
78c90024005887c1
085401ec0f6887c1
7821002400c888c1
d8e3002400d888c1
18540024000889c1
1874002c000889c1
08d4012c000889c1
1854003c000889c1
084c0064000889c1
085c0064000889c1
08bc006c000889c1
18d401e4000889c1
0874005c001889c1
48990024002889c1
38ab0024002889c1
48fb0124002889c1
a882005c002889c1
384c0024003889c1
38cc0024003889c1
38990124003889c1
28440024004889c1
48c90024004889c1
484f0124004889c1
58c9002c004889c1
58c9012c004889c1
082c0124005889c1
18f40364005889c1
0834012400d88ac1
3849032400d88ac1
3874012400e88ac1
087c002400088bc1
084c00e400088bc1
48a9002400188bc1
6882036400788bc1
882a032400888bc1
08540024000899c1
18d40124000899c1
08b40064000899c1
184c0024001899c1
386b0024001899c1
389f0064001899c1
881e0024002899c1
98860364005899c1
1874002400089bc1
c8e9fee40088b0c1
0877522c00c8b0c1
185352240048b1c1
085c002c0018b9c1
f8b230640008d0c1
48ea31640088d0c1
3858326c00b8d1c1
d8585c2c0048e5c1
38025c240058f4c1
08ae632400481ac2
68a4a1e400581bc2
28078be401481cc2
58baa36500581ec2
18039524004824c2
18018f5c004824c2
28018f64004824c2
281a9fe5004824c2
38018d6400482cc2
78586c2400c82dc2
7854e55d00282ec2
c8997124008850c2
48403264000851c2
c848d22400c851c2
d852a36400486ac2
18cc012c000887c2
18d400e4000887c2
084c0024001887c2
38670024001887c2
c84807dc004887c2
48c90024005887c2
48c9002400f887c2
4821002c00d888c2
084c0024000889c2
08540024000889c2
18d40024000889c2
08d40124000889c2
084c002c000889c2
084c005c000889c2
084c0064000889c2
38540064000889c2
085400dc010889c2
085400e4030889c2
084c0024001889c2
087c0024001889c2
08b40164001889c2
3899035c002889c2
d8a80024003889c2
18b40024003889c2
48490124004889c2
c8c8005c004889c2
38b90064004889c2
48490364004889c2
c898002c007889c2
082c013c00a889c2
c8b9012c00d88ac2
082c012400e88ac2
184c002400088bc2
1854002400088bc2
085c00e400088bc2
18cc00e407088bc2
58b9002c00188bc2
0854006400188bc2
3854003c00388bc2
48b9006400c88bc2
48b9012400c88ec2
38a9032400188fc2
5869002400288fc2
a882012400288fc2
184c0024000899c2
08cc0024000899c2
18d40064000899c2
48a9007c006899c2
18b4002c00189bc2
4867002400289fc2
c86900240028bbc2
68e200240078bfc2
5828345c0048c4c2
d8a6722400f8d1c2
2803b5640048e4c2
3806a42c00580cc3
3802a4fc01680cc3
180e646400b80cc3
1802ac6c006814c3
f802a46500a814c3
78cb762400c842c3
18065c24006874c3
38540024000889c3
f8b30124000889c3
384c0064000889c3
387c00e4000889c3
880a002c002889c3
c8e700fc012889c3
084c007c003889c3
08dc002c00a88ac3
084c00e400088bc3
08b4012400188bc3
384c003c000899c3
385832240048b1c3
580607240048b8c3
a856072a004851c4
a8b303ee004851c4
9851056a00c853c4
88a18bef008872c4
e813896e00b872c4
c8149b2a005892c4
28108966005892c4
2830892a004896c4
e8484e6f0038abc4
38107f690048b2c4
b81489ea0058b2c4
4807f92600b8b3c4
28845d2900d8d8c4
688076290018d9c4
1805243b00b8e0c4
489024e70018e1c4
c82124690048e1c4
c8451229009816c5
0822122b00881ac5
08aa36d903481bc5
0803ec2a00a820c5
1805fc6900a820c5
180d3c2900f820c5
08072479005821c5
7862642900c821c5
580825e900c822c5
48b0e46a001823c5
1803246900a823c5
5845162900882ac5
18b6122700582bc5
e824416900d84bc5
8870402b00284cc5
2826405b00584cc5
b815402900684cc5
2824432900a84cc5
d803412900c84cc5
d800416900c84cc5
e801433b00d84cc5
5815c06b002854c5
2826c028004854c5
d85a4029004854c5
08414059004854c5
d824c13900a854c5
6801416b004855c5
5854412700c855c5
8813c02800285cc5
a80a402900285cc5
5882c6d900a85ec5
78072cd901a860c5
482224d900c860c5
c8911d5900e860c5
48902d29002861c5
38902479002861c5
38626459004861c5
0803242b00b861c5
c84612e901986ac5
8810c058001874c5
38909f28004881c5
68909478004881c5
38289228003882c5
18cd9e27004882c5
38289228004882c5
18c39228005882c5
1890f52800d882c5
28909c68004883c5
2816902700c884c5
780a9059004885c5
2816b05800d885c5
18107b2900488ec5
3810b92a004892c5
d815c0290038b4c5
185b893a0058b6c5
c8c0a4280088c9c5
a801c1780048cbc5
b80a40690038ccc5
881140690028d4c5
088d253f0008e3c5
484512290088f5c5
8830c0280018fcc5
1895ca28000811c6
f87ccb2b005811c6
58bda62400481ac6
28019527004824c6
a8dc082800d825c6
6862a525001826c6
a840096800e82ac6
984007e801782bc6
882c082800082fc6
0802282800b86cc6
68c0782800686dc6
482b092800986dc6
48b8372400c870c6
2828926900c87dc6
2858b258004882c6
18289668004882c6
18289229005882c6
f844922900c882c6
180a9058004883c6
180a9068004883c6
281eb07800c884c6
c8419028002885c6
084c0024000889c6
18740024000889c6
08d40024000889c6
08d40124000889c6
58b90024005889c6
185c002400088bc6
0854002c00088bc6
4869002400188bc6
d8b8006400288bc6
08cc0124001899c6
781a002c00289bc6
e83567580048a4c6
4854c0280008b4c6
d81ac0290068b4c6
d800c1680048b5c6
08d400240008b9c6
b80b40270028bcc6
282a40270038ccc6
383a40590048ccc6
b80b40290038d4c6
0841c0280048d4c6
282a40690048d4c6
d801c12900c8d4c6
d866c02800c8d5c6
788b403900e8dcc6
38d1642c0048e6c6
9840073800f8eac6
b8c1085800e8eec6
2826402b0048fcc6
28484e5900f800c7
48b136eb00c81ec7
78901c59001821c7
98c4215b005835c7
e8cc3324004845c7
2850d6fc014845c7
d8297564005845c7
a8867024004846c7
2826c05800484cc7
98114067001854c7
68286029004855c7
e8bac06800085cc7
7801415900485dc7
a8a2d52600d868c7
18689238004886c7
1847922900c886c7
084c0024001889c7
0854006400088bc7
684940290008b4c7
e83c432900d8bdc7
58a07e2a00c810c8
0845997a00e810c8
5889b85a004811c8
28a09a79004811c8
d8e1a62b005811c8
28deb969007811c8
d8e1e85900c811c8
a88aa8da03c811c8
b88a682a00c812c8
f8a6682a00c812c8
5899a85900c812c8
d861675e004813c8
385b9a2b004828c8
18cf9636005828c8
6854962a00a828c8
38a0ae2900c830c8
78a0a929004831c8
28a6b839004831c8
68a2a82a005831c8
e862a9e900c831c8
68a2a829004833c8
18149cd600d839c8
18a25a5a000845c8
5849c93e002845c8
6810493a00c845c8
68c79a2e004858c8
48aba92a004859c8
58304239001865c8
58a2782a00c873c8
080f0b2a008884c8
081b152a008884c8
48140fda008884c8
481c0b3600888bc8
08071dda03888bc8
08810c5e00f88cc8
1807157a00888dc8
1811322b00a89dc8
d829626a0048b1c8
98c420290048cdc8
d844e22a0078f1c8
a889692e00c8f2c8
d8a4522900a800c9
78c8525900d800c9
7848b2e8004801c9
68442069003835c9
a822e32a002852c9
d8a32039002855c9
08190b36008884c9
0881145a004885c9
68053d5e0058d2c9
7840075800a8e6c9
b8a41968005825ca
68400ff800a825ca
98c7196800a826ca
98a50828004827ca
68e4092800c827ca
a843092800a82bca
68c0085800582fca
68c018d800b83fca
48139229002882ca
18c59628004882ca
a899c2390048b3ca
881040270018ccca
881040290038ccca
282e40390038ccca
a80b40390058ccca
a80bc0d80068ccca
0843403900c8ccca
3826c02800d8ccca
682a40fb00d8ccca
a8c1092800e8e7ca
08223229009815cb
f807642900a820cb
08051c5900e820cb
48902ce9001821cb
38703c29006821cb
087be739000823cb
7822245900d823cb
d80bc078002854cb
d8e7c13900c85ccb
58f0e52900f861cb
18a4cae9009869cb
3884b426004878cb
68909558004881cb
2828922800c882cb
18259039007885cb
1828962800c886cb
1809152a008887cb
5801c35800c8b4cb
a800c1380048cdcb
d847225a00d8d2cb
d800c13800c8dccb
48890f280048ebcb
68970c2600c850cc
2884cc290038a8cc
2884b4260048a8cc
28108b5a0048b2cc
f8884a5b0058bbcc
0803242900d8e0cc
98b2042600c8f1cc
48911239005817cd
086a136900481dcd
38952529000821cd
48222427004821cd
18032429005821cd
48b02439006821cd
a80a402900284ccd
6815402b00284ccd
e86e402b00484ccd
0841c02800584ccd
5815c029002854cd
3824412700d855cd
8831c02800185ccd
f80c243900e860cd
780fc0e803d87ccd
180e906900d885cd
d80041290048d5cd
1805e45a00a8e0cd
a8a40858004825ce
a840073800d826ce
b841093800d826ce
1807952500d86cce
6840076800e87dce
6828ee38004882ce
1868923800c885ce
68589238004886ce
18dc00e4000889ce
5869002c001889ce
389b0164001889ce
182c012400a889ce
c849013c00d88ace
084c0024001899ce
588230e400c8c2ce
b800c1f800c8ccce
28019d240048e4ce
2803955c0078e4ce
a835c07b0058f4ce
b8364079002854cf
286a4029004874cf
e80b9028004885cf
18dc0024006887cf
8810c0280028cccf
381c94da01c8e9cf
082b802a00c822d7
f85de837004816d8
385baa5a004828d8
0862c92a000845d8
d89dbe6900c870d8
486c152a008884d8
0881742a00c884d8
08811b2a004885d8
38340b3e009885d8
28452e6a00e8f1d8
68292a280048abd9
a844205b0048cdd9
785c0938004825da
68400b6800782bda
3890942800b881da
18e89128003882da
6801415900c8d4da
38aa1229004815db
6844203900484bdb
d801476900b84bdb
c822242900c861db
38091d2a008887db
08a066360098b3db
4890e43a003821dd
d801c16800784bdd
a800c12800d84ddd
68154029005874dd

Testing collisions (high 32-bit) - Expected        512.0, actual 1690317 (3301.40x) (1689806) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1124032/31 (35126.02x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2095870 (1.00x) (2814)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097069 (1.00x) (173)
Testing collisions (low  32-bit) - Expected        512.0, actual 401742 (784.65x) (401231) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 345800/31 (10806.26x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096896 (1.00x) (3840)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 44
Testing collisions ( 64-bit) - Expected    0.0, actual   5935 (49786412220.01x) (5935) !!!!!
Collisions:
b0da53bd01906470
5089c0b200909a72
d080125000d0cb73
708112b001504b74
50c911d003704b74
3081125000b07b74
3081315000507d74
d08113500050b574
d0c911500090ca74
308f0e7000d0ca74
308172f000f0ca74
b02a245100500475
305024d300700475
7050245100900475
70502c5100900475
30d03f5100900475
30505c5100900475
50862c7100900475
50b02d7100900475
508625f100900475
70502c5100b00475
30d0e45600b00475
30b024d700b00475
90c5635100500575
5086245100900575
305064b301900575
f06924d300f00575
30863c7100900b75
5050245700900c75
3050e4d100900c75
5070247f00900f75
503250b000904875
50985cf003905975
b01e805100506875
1082805600906875
50505c5100707c75
b05480b600909875
30c4834e0030a875
d01b80530050a875
30b9f1b30070b575
701580b60070b875
30b422ce00903a76
1006c8d500d04276
10c423de00106f76
b017805100509876
309280510010a876
50cc83520090a876
50b4807300b0a876
5017807200d0a876
106180d100d0a876
5050245100900477
5070645100900477
50ba24b300900477
d0892cb101900477
30d024d703900477
50d0245100b00577
5060124d00902477
506a36cd01702577
5020125d00902577
702012b700903c77
3060124d00906477
702b80d100506877
502d80520050a877
70c882b101d0a977
d066077400b06178
702709d40070a278
d02e09540090a278
7060164d0070e578
5020164d00901c79
d02032b500902479
d020124d00b02479
3020125500b02479
f0a9125d00b02479
706012d500702579
3020125d00902579
d021124d00f02d79
306012d701903c79
5008a9fd00905079
d0a91fb701b06479
d020165300b06579
70c424be0010557a
107181530090987a
d01a80b201d0987a
507c80510090b87a
902149d20030c27a
b0c4c87200b0c77a
102f805200d0f87a
d0d024710090047b
508a245100b0047b
50702c5100b0047b
508a5c730090057b
509a24b10090077b
3060125300902c7b
b0089b720090517b
702032570090647b
504c80530090687b
503580f200f0997b
1021804f0030a87b
302364710030047d
508e24510090047d
305024b10090047d
f0d027730090057d
7050e45300f0077d
5086245100900c7d
505024b100900c7d
50b0245100900d7d
3021804e0050987d
102180530050a87d
5054807300b0a87d
7020c9530050467e
5001825100909a7e
f0b480720090ab7e
705024b30090047f
d0f024b30090057f
505064d700900b7f
505024b103901c7f
502d80520050a87f
303919cc00b0a187
f05464740090d287
306f0f4c00b0e187
50a3075400b0e387
50a3065c00906188
305d195c00906188
5029094c00b06188
5039194c00b06188
50fd19cc01b06188
702b095400f06188
5039094c00706288
706f094c00906288
50e9095400906288
30270b5400906288
505d09bc00906288
d0a20ad400b06288
70a30a5400906388
50a31a5400906388
506709cc00b06388
f010094c00b06688
507f0b5400906788
703909d400706e88
10f2534f00907988
90e8765300108888
1011b25500108888
7011b25500108888
1011d27400108888
3011f27400108888
1011b2d400108888
1011b6d501108888
103156f30f108888
100f565500308888
1052d15400908888
10017d4d00908988
1042b0cc00109788
902bd25500109888
103152d300309888
b0e8b15400b09888
10034d5d00b09888
70b4094c0050a188
5069094c0090a188
502b0b4c0090a188
d05b09540090a188
50a706d40090a188
d0a2064c0090a288
50f906540090a288
502909540090a288
503939540090a288
d02639b40090a288
305909dc0090a288
305b094c00f0a288
30d90a4c0090a388
302709540090a388
30f909b40090a388
30a5094c00b0a388
50eb394c00f0a388
f06207cc0090a688
50eb097400b0a688
502909540090a788
50d90e5c00b0e188
5065094c0090e288
502b1b4c0090e288
3020124d0090e488
5020324d0090e488
d060124f0090e488
302012530090e488
502016530090e488
502072530090e488
d02112550090e488
302012570090e488
d020125d0090e488
70600e730090e488
f0e012750090e488
502016b30090e488
30600eb50090e488
50e031cd0090e488
502016d70090e488
d06112df0090e488
502016b70190e488
d02132d30390e488
5020325300b0e488
50200e5500b0e488
d060125500b0e488
d021325500b0e488
3060725500b0e488
5020125f00b0e488
5020325f00b0e488
50603e7300b0e488
307a12b300b0e488
d02076b700b0e488
306012dd00b0e488
30fa134d00d0e488
70b631d300d0e488
5060125700f0e488
3020127300f0e488
701911750010e588
302012730070e588
305a12d30170e588
30e011530090e588
702076530090e588
30200ebd0090e588
502016cd0090e588
d02112dd0190e588
d020124d00f0e588
3020725500f0e588
3029094c0070e688
3020124d0090e788
50ea12d50350eb88
702032cd0070eb88
d02012fd0070eb88
502012530090eb88
d020125500f0eb88
3020164d0090ec88
502012530090ec88
3020f6530090ec88
506032b30090ec88
702016cd0090ec88
502032d70090ec88
5060124d00b0ec88
302012b300b0ec88
d0600e4f00f0ec88
50de115500f0ec88
d0a9127500f0ec88
d06012530070ed88
502012550070ed88
5020124d0090ed88
502012d50090ed88
302016b500b0ed88
7027094c0090ee88
702b0bd40090ee88
706012730090fb88
50203e4d0090fc88
502032cf0090fc88
302012dd0090fc88
502032dd0090fc88
50da115d0070fd88
302032550090fd88
3020124d00901b89
5020125500901b89
d020125500901b89
3020325700901b89
d02012b300901b89
306012b300901b89
302016b500901b89
706012f701901b89
3060165300b01b89
50e01ecd00b01b89
70200e4d00f01b89
50200e4d00901c89
3020124d00901c89
5020124d00901c89
7020124d00901c89
f020164d00901c89
d0e1114f00901c89
d060124f00901c89
30200e5300901c89
50600e5300901c89
d027125300901c89
3020165300901c89
7020165300901c89
3020125700901c89
5060165700901c89
3020125d00901c89
3060125d00901c89
5020165d00901c89
f0e0325d00901c89
30e0327300901c89
70200e7500901c89
50e0117500901c89
5020f2b200901c89
50200eb500901c89
d02116b700901c89
30e0f2cd00901c89
302012cf00901c89
d0e011d300901c89
f02012d300901c89
70e016d300901c89
d0601ed300901c89
502012f500901c89
d02012f500901c89
30e0f2f500901c89
306012d501901c89
d02032d501901c89
50200ef301901c89
50e00eb303901c89
3020164d00b01c89
305a125300b01c89
d020125500b01c89
3020325d00b01c89
7020727300b01c89
30e0117500b01c89
50e031cd00b01c89
5020f2d200b01c89
50aa11bd01b01c89
505a325500d01c89
50ba135700d01c89
d05af6cd01d01c89
505a725500f01c89
d0200ef303f01c89
5020125300701d89
7060125300701d89
3020125500701d89
5060727700701d89
5020124d00901d89
d020164f00901d89
5060125300901d89
3020f25300901d89
5020125500901d89
f021165700901d89
d0200e7500901d89
502036bd00901d89
50e00ecd00901d89
50200ed500901d89
502012d500901d89
302016d500901d89
502012d503901d89
d060724f00b01d89
502036b300b01d89
5020164d00701f89
302012d300701f89
3020165d00901f89
d020127500901f89
5020125700f01f89
502012f300f01f89
9019125300702489
70190e4d00902489
70200e4d00902489
30e0114d00902489
3020124d00902489
5020124d00902489
f060124d00902489
d021164d00902489
d020324d00902489
3060324d00902489
50203e4d00902489
3020124f00902489
5060124f00902489
70201e4f00902489
d020324f00902489
f020fe5200902489
30200e5300902489
50200e5300902489
70200e5300902489
d0600e5300902489
5020125300902489
f021125300902489
5060125300902489
f060125300902489
50e0125300902489
d0e0125300902489
5020165300902489
50e0175300902489
3020325300902489
5020325300902489
50200e5500902489
30600e5500902489
3020125500902489
5020125500902489
3060125500902489
901a1e5500902489
3020325500902489
f020365500902489
d0200e5700902489
30e0115700902489
5020125700902489
5060125700902489
d021165700902489
3020125d00902489
f020125d00902489
7060125d00902489
d060125d00902489
3020165d00902489
5020165d00902489
3060165d00902489
30207e5d00902489
5020127300902489
5060127500902489
5020167500902489
d060367500902489
7020127700902489
30203e7700902489
5020127d00902489
f023127f00902489
302012b300902489
702016b300902489
706016b300902489
5020f2b300902489
50200eb500902489
302012b500902489
f02012b500902489
306012b500902489
702016b500902489
502032b500902489
5020f2b500902489
506012b700902489
70201eb700902489
d02072b700902489
50200ebd00902489
30e012bd00902489
30200ecd00902489
50e016cd00902489
5020f6ce00902489
50e011cf00902489
306016cf00902489
f060f6d200902489
50200ed300902489
702012d300902489
d02112d300902489
702016d300902489
30e00ed700902489
3020f2d700902489
502016f300902489
50200ef500902489
d02012f700902489
502012fd00902489
d06112b301902489
302032b301902489
502036b501902489
506012cd01902489
502032cd01902489
d02112d301902489
702012d501902489
70e012f501902489
506012b703902489
302012f503902489
302012cd0f902489
5020124d00b02489
505a124d00b02489
5060324d00b02489
5020364d00b02489
f023364d00b02489
3020124f00b02489
5020124f00b02489
30e0124f00b02489
50aa134f00b02489
5020164f00b02489
30e00e5300b02489
50e0115300b02489
5020165300b02489
d0aa315300b02489
3020365300b02489
d020365300b02489
3020125500b02489
5020125500b02489
5020165500b02489
7020165500b02489
3020325500b02489
5056325500b02489
50e0325500b02489
30ea725500b02489
506a0e5d00b02489
7020165d00b02489
3020325d00b02489
5020167300b02489
5060327d00b02489
3020127f00b02489
d02016b300b02489
50aa12b700b02489
502012cd00b02489
506012cf00b02489
d0be11d300b02489
306032d300b02489
506a32d300b02489
506012d700b02489
502012dd00b02489
302012df00b02489
3060f2b201b02489
70200eb501b02489
d0600eb701b02489
3060f6d20fb02489
9094164d00d02489
908c115300d02489
30760e5700d02489
3056325d00d02489
50f611b500d02489
70ba36bd01d02489
30ae0ef303d02489
f061124d00f02489
7060164d00f02489
3020f25200f02489
10c3115300f02489
d020125300f02489
3060125300f02489
d020125d00f02489
302032d701f02489
50e032cd07f02489
d019175300302589
d0db124d00502589
50da0e5300502589
d05b125300502589
d0b9177d00502589
70200e4d00702589
3020325500702589
d0600e5d00702589
5020127300702589
f06032d300702589
30201ed500702589
502012b501702589
7029124d00902589
50200e5300902589
70e0125300902589
7020165300902589
5020325300902589
5020165500902589
d021165500902589
d021325500902589
30600e5700902589
3060125700902589
5020325700902589
50e0117300902589
5020127300902589
502016b500902589
502012d500902589
d02312d500902589
502032d500902589
d0e133f500902589
502012b301902589
d02012d501902589
5020124d00b02589
d060324d00b02589
30e0325300b02589
5020125500b02589
d020125500b02589
5020327300b02589
502012cd00b02589
50200ed500b02589
30600ef700b02589
505a124d00d02589
50ea174d00502789
506a125500502789
3060124d00702789
3020324f00902789
3020165300902789
5020365300902789
3020125500902789
5060127300902789
3020727500902789
30203eb300902789
502032cd00902789
302032d501902789
7060125500b02789
306012d300b02789
30ae127500d02789
d0e90ef501f02789
506a725f00502b89
50d60ebd00502b89
d0d912d500502b89
3020125500702b89
30ae11cd00702b89
50200e4d00902b89
7020164f00902b89
3020125300902b89
d021125300902b89
d0200e5500902b89
3020165500902b89
3020325500902b89
3020765500902b89
5020127300902b89
3060127700902b89
502032bd01902b89
d0600ed501b02b89
30ae125300d02b89
b08316d500502c89
7020124d00902c89
3060124d00902c89
5060124d00902c89
70200e5300902c89
d0200e5300902c89
3020125300902c89
d0e0125300902c89
30e0135300902c89
5020125500902c89
3020165500902c89
5020165500902c89
3020365500902c89
30600e5700902c89
5060125700902c89
3020125d00902c89
5020125d00902c89
7020325d00902c89
d020125f00902c89
3020327500902c89
502012b500902c89
702012b500902c89
502012cd00902c89
d06012cf00902c89
302032d500902c89
502036d301902c89
f020124d00b02c89
3060124d00b02c89
7020125300b02c89
3060365300b02c89
5060365300b02c89
50e0115500b02c89
5020365500b02c89
7020125700b02c89
5060165d00b02c89
502012b500b02c89
302016b500b02c89
502032bd00b02c89
302012cd00b02c89
306032d300b02c89
306012cd01b02c89
30ae114d00d02c89
50ee115300d02c89
70aa135500f02c89
702012b701f02c89
505a32b700502d89
5020125300702d89
5020325300702d89
50200e5500902d89
d020125500902d89
3020f65600902d89
d020327500902d89
50200eb700902d89
302012bd00902d89
502012cf00902d89
706012d301902d89
5060125300b02d89
502016b700b02d89
30b6115f00d02d89
908c327500d02d89
7060124d00702f89
d060125300702f89
3020125500902f89
50e0135500902f89
d0210e7500902f89
502012d300902f89
502012dd00902f89
50200ebd00f02f89
7020364d00903b89
3060725300903b89
702012bd00903b89
506016cd00903b89
502032cd00903b89
7060165300b03b89
5020125f00b03b89
50e0114d00903c89
d0e0315300903c89
3060125500903c89
7020f25600903c89
702012cf01903c89
5020124d00b03c89
f069125300b03c89
3020165500b03c89
3020167300b03c89
d02012d300b03c89
d020364f00903d89
30e0127500903d89
30fe125300b03f89
506032d501b03f89
b0189b7300705089
5018eb5200905089
d041795300905089
f009995500905089
5008a97500905089
d00b97b200905089
b046a9b200905089
50c3aab600905089
500899be01905089
d0e8aad401905089
d041e9f207905089
50086f4d00b05089
d0c7994e00b05089
5041b95200b05089
5008995600b05089
703899d700b05089
7032b54d00905189
5045975300905189
d043a95300905189
5016955600905189
70c7aa7200905189
700ef77200905189
50087b4d00b05189
d0c2e4cd00d05189
f01295f200f05189
d04495b201705389
7041997300905389
504595cf00905389
308596b200505789
b00eb75500b05e89
d0630e4d00906489
5020124d00906489
d0200e4f00906489
7020124f00906489
5020164f00906489
3020125300906489
5020125300906489
d020125300906489
7060125300906489
3060165300906489
30e0115500906489
d020125500906489
3020725500906489
50200e5700906489
50600e5700906489
3020127300906489
5020127d00906489
5020167f00906489
30200eb500906489
702032cf00906489
d02112d300906489
d06076d300906489
f02112d500906489
50200eb301906489
502012b501906489
502012cf03906489
3060f64e00b06489
50e0165300b06489
30e0125700b06489
5060765d00b06489
50200eb300b06489
702012b300b06489
d02012cd00b06489
502016d300b06489
3020325500f06489
5020f65500f06489
7020165d00f06489
b0b3117500306589
306a127300506589
5020124f00706589
5020125f00706589
50200e4d00906589
f023124d00906589
d020124f00906589
50200e5300906589
3020125500906589
d0200e5700906589
d020125700906589
50200e5f00906589
5060327300906589
d02312d500906589
50201e5700b06589
d0e9125300706789
d0b6325300706789
5020125300906789
5060165300906789
50ea124d00506b89
3020325700906b89
d0200e7300906b89
d021165300906c89
5020125500906c89
5020325500906c89
d020165f00906c89
302012b500906c89
502012d500906c89
706032b50f906c89
3020124d00b06c89
70e0115300b06c89
d02112d500b06c89
50200ef300b06c89
502016b501f06c89
d02012b300906d89
502036cd00906d89
50ea135700f06d89
3020165700906f89
7020327500906f89
5008b97300907089
7008abd200907089
5018a95200b07089
30a29a5c00b07089
f0c46b5500907189
d04363b400507289
5092755d00907389
501695cd00f07789
50601e5500b07c89
d0a9125500f07d89
1001cdb400908889
1042b05700108989
50a51a5400b0a289
3039094c0070ae89
d0099bd30070b089
500879530090b089
5008a9b50090b089
7008695300b0b089
b0c495520090b189
f0c66a550090b189
70ae93530070b289
d036ed550090b289
d04c955500b0b289
50a595ce0090b589
103877d50050b689
100a38b20050c189
100658520070c189
9044c84d0090c189
704438520090c189
903c485200b0c189
90e0484e00d0c189
101a5bb20010c289
106ac7ce0010c289
9020394e0030c289
902039520030c289
902059520030c289
9020c7520050c289
9020d9520050c289
10ea4ad20070c289
9043485e0090c289
7044d8d20090c289
300a485200d0c289
100a58f601d0c289
902047520050c689
904538b20090c689
7060c9520070ce89
5042a6d40090ce89
70089b520070d089
b0c6a9520090d089
5043a9570090d089
d0399b5200b0d089
5008a9ce00b0d089
5008a95600f0d089
50476b550070d189
5008eb4e0090d189
d0c495520090d289
500e9bd20390d289
3085ad5500b0d289
108db5d500f0d289
50ad19540090e289
d0201e4d0090e489
502032550090e489
5020365d0090e489
3020725d0090e489
502012b30090e489
7020125300b0e489
3020165500b0e489
7020325500b0e489
5060f24e00b0e589
502016b30090e789
70200e7500b0e789
50201e550090eb89
3020f2520090ec89
3028aa4d0010ef89
3020125d0070ef89
30200ecd0090ef89
5043975700b0f089
b08ca4cc0190f289
100926d600102a8a
70266d5200902a8a
908624d200102b8a
10cc6cd200102b8a
30d1e44e00502b8a
105c235200902b8a
9062235200902b8a
106c63b200902b8a
304c255200702c8a
9085245200102d8a
104c645200102d8a
b0bd244e0010358a
908664560010358a
10442cd60010358a
30b124520030358a
9022254e00b0358a
3044e44f00103b8a
1044245200103b8a
b0122c5600303b8a
b08a5cb200103d8a
10442c5200303d8a
10af4b5200f0408a
106ddfce0010418a
b050484e0030418a
100a38520050418a
301a48520050418a
3006f8560050418a
100648ce0050418a
100638720070418a
7044c8720070418a
904438b20070418a
301a48de0070418a
5093484e0090418a
904458520090418a
904448560090418a
904458720090418a
9044c8720090418a
704448b20090418a
904358b20090418a
f08d48d60090418a
90cdf8f30090418a
904c785200b0418a
7044385600b0418a
903c485600b0418a
7044c85600b0418a
300a48ce01b0418a
7006c85200d0418a
300648d200d0418a
9020395e00f0418a
302acbd200f0418a
102e494e0010428a
1036494e0010428a
102e49520010428a
107a47760010428a
1016d97e0010428a
101a49b20010428a
10eac9b20110428a
b020494e0030428a
101a59520030428a
70e0c8520030428a
90e1c8520030428a
90e148560030428a
902159560030428a
90e078560030428a
90203bb20030428a
70e048b60030428a
90e059d20030428a
90e148f20130428a
90e148520050428a
30b9d8530050428a
9020c9550050428a
90e048720050428a
906049720050428a
9020497e0050428a
9020cb7e0050428a
902149b20050428a
902047be0050428a
902049d20050428a
902149f20150428a
30d9385e0070428a
9020495e0070428a
902139b20070428a
3073484e0090428a
70b558520090428a
d09d48720090428a
509549b20090428a
f04458d20090428a
9045c8d20090428a
90cc58b20190428a
904d48d20390428a
9045c8d200b0428a
f060c75200d0428a
301ed85200d0428a
102a7b5600f0428a
109d38520030438a
100e48520050438a
100a48d60050438a
100648520070438a

Testing collisions (high 32-bit) - Expected        512.0, actual 1836432 (3586.78x) (1835921) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1466971/31 (45842.87x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2096080 (1.00x) (3024)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097075 (1.00x) (179)
Testing collisions (low  32-bit) - Expected        512.0, actual 904562 (1766.72x) (904051) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 684646/31 (21395.20x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097024 (1.00x) (3968)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 45
Testing collisions ( 64-bit) - Expected    0.0, actual  14875 (124780603500.03x) (14875) !!!!!
Collisions:
200e669b00600f11
602eac9a00201011
2022ec9b00201011
6022e4a600201011
2022acaa00201011
2022a4ea00201011
202e6c7901201011
2022646b01601011
20226c9901601011
600be5a600a01111
6009a3aa01e03011
a040649a0020c911
60c01d9e0020c911
a040249e0020c911
a040e4a50020c911
e04024a60020c911
e03224aa0020c911
60c025aa0020c911
a0c064aa0020c911
e04124ea0020c911
a043e4660120c911
60c01c7a0120c911
6040e49a0120c911
205de49d0120c911
a0401caa0120c911
a0c01dae0120c911
a041249a0060c911
a04024aa0060c911
604064aa0060c911
a040e4ab0060c911
a0c06cba0060c911
a04024aa0360c911
e0402caa0360c911
a0541daa00e0c911
600d229a0760ca11
a04024aa00e0ca11
e0c1279a01e0ca11
a04024a60020cb11
a0c024a60020cb11
a0403ca60020cb11
604024aa0020cb11
a0c024aa0020cb11
a0401cba0020cb11
604064fe0020cb11
60402c660120cb11
a041647a0320cb11
6040249a0060cb11
a0c024ae0060cb11
a04024a60020d711
604024a60120d711
a04124aa0120d711
60401c9a0020d911
e0c024a60020d911
a0401cae0020d911
a0c01cea0320d911
60402ca60360d911
a04124aa00e0d911
a04024ea0020db11
a0402c9a0120db11
60c0e3a70060db11
6040249e03e0db11
604024aa01e0de11
6077e4bd0020df11
a0402ce60020df11
a0403c9a0120f911
a0402c9a0160f911
e0b41cbe00a03612
a0c0236a03e03612
a040649a00203712
e04024a600203712
a04324a600203712
a0c0e5aa00203712
60406cae00203712
a0c03c6e01203712
a04064aa00603712
a0d3249a00a03712
a00a27a600e03712
a0401c9a00203912
e040249a00203912
604024a600203912
a0c324a600203912
a04024aa00203912
a0c024aa00203912
a0472caa00203912
60c02daa00203912
604064aa00203912
a04024be00203912
a0411ce600203912
a0401c6a01203912
a040e49a01203912
60402cae01203912
a0402c6a03203912
a0402ca600603912
60c01caa00603912
a04024aa00603912
a04324ea00603912
a040246601603912
a0b3246e01603912
a0c02cee01603912
a040646a03603912
60f424ae00a03912
a040649a00e03912
a04024ae01e03912
604064ba01e03912
a040246a03e03912
60d4249a00a03a12
a0b41ca600e03a12
a04024ba01e03a12
a0c1659a00203b12
e0401ca600203b12
a04024aa00203b12
e0c02caa00203b12
a0c02dba00203b12
60c024e600203b12
e041247a01203b12
a04064aa01203b12
e0c125ba01203b12
e040ec6a03203b12
208a226607203e12
60402c9a00203f12
60c0649a00203f12
a0401ce600203f12
a04124e600203f12
a0406caa01203f12
60c01cae00603f12
a04024a600e03f12
20371c9a00204912
6040249a00204912
a040249a00204912
60c0249a00204912
a0402c9a00204912
a0c03c9a00204912
6040649a00204912
a0c0649a00204912
e0406c9a00204912
a040249e00204912
a040e49f00204912
a040e4a500204912
a0401ca600204912
a0411ca600204912
a04024a600204912
a04124a600204912
e04724a600204912
a0c024a600204912
a0c324a600204912
e04064a600204912
e0401caa00204912
60c01daa00204912
a0c023aa00204912
a04024aa00204912
e04124aa00204912
e0c025aa00204912
a0c125aa00204912
a0402caa00204912
a0412caa00204912
60c063aa00204912
60401cae00204912
604024ae00204912
a04024ae00204912
a0402cae00204912
a04364ae00204912
a04024ba00204912
e0402cba00204912
a0411ce600204912
a0c123e600204912
60c024e600204912
a0c067e600204912
a04324ea00204912
a0c025ea00204912
604064ea00204912
60c024ee00204912
e0c024ee00204912
a0402cfa00204912
a04064fa00204912
6040246601204912
e0402c6a01204912
a0406c6a01204912
60403c6e01204912
60c01c7a01204912
a0402c7a01204912
60402c9a01204912
a04024a601204912
a0c324a601204912
a0401caa01204912
a04124aa01204912
a0c024aa01204912
604064aa01204912
a04064aa01204912
60c064ae01204912
a0412c6603204912
a047246a03204912
a040e46a03204912
a04024a603204912
a04324a603204912
a04024ae03204912
e040ecfa03204912
6040249e07204912
60c0646a0f204912
a055239a00604912
a0c1249a00604912
604024a600604912
a0ac65a600604912
e05423aa00604912
a0c024aa00604912
a0c124aa00604912
e0403caa00604912
e0551cae00604912
e05d1dba00604912
a0401ce600604912
a0c0e56601604912
a0c0246a01604912
a040646a01604912
a040e46a01604912
a0d41c6e01604912
a0401c9a01604912
a0c0249a01604912
a04024aa01604912
60402cba01604912
a04024ee01604912
604064fe01604912
a040249a03604912
605c23ee03604912
e0433c9a07604912
a0c1259a0f604912
e02725ae00a04912
206925a603a04912
a040249a00e04912
e041249a00e04912
60402ca600e04912
a0b464a600e04912
604024aa00e04912
a04024be00e04912
a0401cfa00e04912
a040246601e04912
a054256601e04912
6040249a01e04912
a0d524a600a04a12
a07425a600a04a12
60ac64a600a04a12
60ec25aa03a04a12
a0c165a600e04a12
60c023ea00e04a12
a0ac24ea00e04a12
a040246a01e04a12
a04064a601e04a12
a04024aa07e04a12
e040e49a00204b12
e040ec9a00204b12
60c0239e00204b12
a040249e00204b12
a0c07d9e00204b12
e0c0e49e00204b12
a0406ca600204b12
60c01caa00204b12
a04024aa00204b12
a0c024aa00204b12
a0402cae00204b12
60402ce600204b12
60c01dea00204b12
6040246a01204b12
a0402c9a01204b12
a041249e01204b12
60401ca601204b12
60c0e4aa01204b12
60406c6e03204b12
606f249a03204b12
60c01f9a00604b12
60402c9e00604b12
a041649e00604b12
e040e4a600604b12
604064aa00604b12
a0c125ba00604b12
a0c06cba00604b12
60c064e600604b12
60c01cea00604b12
a0402cee00604b12
a041646601604b12
a04024ea01604b12
a0b524a600a04b12
a0ad23aa00a04b12
a0c06c9a00e04e12
a040249e00e04e12
a040646601e04e12
a040247a01e04e12
a04024aa00204f12
a0c024ba00204f12
a04024ea00204f12
a0402c6601204f12
a040249a01204f12
a040249e01204f12
60403ce601204f12
a0401ca603204f12
60d4259a00604f12
604024ba00604f12
e0c024a600e04f12
e04024fa00e05612
6040249a00205712
a040249a00205712
a0401caa00205712
a04024aa00205712
a040e4fb00205712
a04024a603205712
a0411cba00605712
a0403c6603605712
a0401c9a00205912
a041249a00205912
a0416c9a00205912
604024a600205912
a04024a600205912
e04124a600205912
60401caa00205912
a04024aa00205912
a0c0e4aa00205912
a0c024ae00205912
60c01cea00205912
a043246a01205912
a041646a01205912
a0411c6e01205912
a040e46e03205912
6040247a03205912
60c024aa03205912
a0401c9a00605912
e0402c9e00605912
a0b464a600605912
a04064ba00605912
a0436c6601605912
60ac246a01605912
60c0249a03605912
60f465ea00a05912
a04024a600e05912
60c024a600e05a12
a0c124aa00e05a12
604024ae00e05a12
60c024a601e05a12
a0402c9a00205b12
a04024a600205b12
604064ea00205b12
e0c02d7a01205b12
a041e4e601205b12
e0c02caa03605b12
e0ac249a00a05b12
a0ac24aa00a05b12
6040fca601205f12
6040247a01605f12
a0431c9a00e05f12
a04124e600e07612
a04124a600207712
a0c11c9a00207912
a0c1279a00207912
a040649a00207912
a040649e01207912
a04024ea00607912
e04024aa03607912
a0ec1cea00a07912
60c024aa00607f12
a04024fa01607f12
60505c650120a212
a050dc7b0120a212
a05074650320a212
a08a2d9d00e0a212
e0b93aa500e0a212
6089eaae00e0a212
a08a3ae50020a312
60235ae50020a312
a0646abd0120a312
a09635ad0320a312
e08f6d9d0020a512
a09a2ba50020a512
a08a55a50020a512
a0245aa50020a512
60892aa70020a512
a02cd6aa0020a512
a024eaaa0020a512
a0245afd0020a512
a0643a6d0120a512
60b92ba50120a512
a024f6a60320a512
200a359f0060a512
a024daae0060a512
201a55ad00a0a612
603d2a9d0020a712
a06f2aa50020a712
6025f6aa0020a712
a08a2aa50360a712
a01c6a651f60a712
e03e5ded00e0ad12
a03c6aeb0020bd12
a02c3a9d0060bd12
60c0239a0020c912
6040249a0020c912
e0402c9a0020c912
6040649a0020c912
6040e49a0020c912
a041249e0020c912
60401ca60020c912
20571ca60020c912
60c01ca60020c912
a0c024a60020c912
a0c025a60020c912
a04164ae0020c912
a0411cba0020c912
a0c024ba0020c912
a04024be0020c912
a0c023e60020c912
a0c024e60020c912
a0c067e60020c912
60c0659e0120c912
60402caa0120c912
a04024ea0320c912
a040249a0060c912
e040249e0060c912
a04024aa0060c912
605427aa0060c912
604064aa0060c912
a040e4ea0060c912
a04064aa0160c912
604024ba0160c912
60ac1c6607a0c912
6040249a01e0c912
a04064a601e0c912
a040e49d00e0ca12
60c0e49a0020cb12
a0c124a60020cb12
a0401caa0020cb12
60c024aa0020cb12
a0402caa0020cb12
e0401c660120cb12
a04024a60120cb12
a0c025a60120cb12
60401ca60320cb12
60401c6601e0cb12
a0c0249a0020cf12
a04124aa0020cf12
60c01dba0020cf12
60c0e5a60020d712
a0c0e4ae0120d712
a04024a60320d712
a0c164aa0060d712
a040249a0120d912
a04024a60120d912
a04024a60320d912
a04024aa0060d912
60c02cba0060d912
e040246a0160d912
60403c9a00e0da12
a040249a0020db12
a040249e0020db12
604024ba00e0db12
60253a9d0020dd12
a08a5eab0020df12
60892aad0020e312
a06c7aa50060e312
a064fae50020e512
e0242a650120e512
608beda60060e512
a0d4e49a01a0f612
60401ca60020f912
a04124aa0020f912
e040246a0160f912
e04024aa00e0fa12
a040246a01e0fa12
e0412cea0720fb12
a0ec2a670120fd12
204fe4ea00201013
60e66ca901201013
20229c9a00601013
a08e2ae500205d13
a064d6a603205d13
20e72c6701606213
a0e43fa500206313
a08a2e6503e06713
a0632aad01206d13
201470e400a08213
e02ab19c00208313
e088706401208313
201470a400608313
2014909b01a08313
6041b29d01a08313
205c8ea400208413
203492a400208413
e03492a400208413
205492a400208413
e0c092ac01608413
2043929c00a08413
20c1b2a400a08413
2041926d01a08413
204192e500e08413
20c1926507e08413
2034926c0fe08413
20b9906401208513
e08991a400608513
2089916401608713
20548e9c00208c13
202c92a400208c13
2041929c00a08c13
20928ca400a08c13
a00ab7e500a08c13
20d493a400209c13
a096eaad0020a313
a0e4ea650120a313
a02436e50320a313
a02c6a9b00e0a413
a02c6aa500e0a413
a02d3e650120a513
a01c2aa70160a513
203e7da500a0a513
a0892ba501e0a513
a0896eab0020af13
60c0249a0020c913
a04024be0020c913
a0416c6a0120c913
60402caa0120c913
e04024ae0160c913
a0ed2da600a0c913
a0c02caa01e0d713
60c0649e0020d913
a04024ea0060d913
2089b0ac0020fd13
20a8476401605514
208848a400205614
201549a400205614
208849a400205614
608849a400205614
2088c86401205614
e08948a401205614
208847e401205614
2098c86403205614
208878e401605614
2042cb9c00e05614
204249a400205714
60984ba400205a14
201549ac00205a14
6098486401205a14
600b49a401205a14
2088c8a300605a14
200b4be400605a14
60c248ac00205b14
a0ec449c00a05b14
a0a2466401a05e14
e09848a400e05f14
600f49ac00206a14
208849ac00206a14
200b596401206a14
2088486c01206a14
e09849a400606a14
e00d4fa400e06a14
200f49a400206e14
204b4e9c00207514
200b49e400207614
60884b6401207a14
608849e403207a14
200c90ad00a08214
e00c90a400e08214
2089906401e08214
208971a400208314
e08890a400208314
208791a700208314
e08890ad01208314
e089906501608314
2089b17c03608314
604396a400a08314
601cf0e400a08314
20c192a501a08314
20f48fec01a08314
6041926707a08314
606c929f00208414
205492a400208414
205492a500208414
202cb2ac00208414
60d493ec00208414
607cb6ec00208414
e06d926501208414
20d4729c01208414
202c92a401208414
202c766403208414
202c92bc07208414
20417e9c00608414
202c929c00608414
604192a400608414
e0c391ac00608414
20418e6401608414
e040f29c01608414
e0c096a400a08414
2043b2a400a08414
2041b6a400a08414
2041926401a08414
20419e6501a08414
605291a401a08414
60ee92a401a08414
e04092ac01a08414
60418ee701a08414
2041726403a08414
205f8e6403a08414
2043926403a08414
2041929c03a08414
20c192a407a08414
20c191e407a08414
60c371a400e08414
e04092ec01e08414
2054b2a507e08414
208970a400208514
208990a400208514
608b90a400208514
2087b0a400208514
2021b4ac00208514
e088b0af00208514
2089919c01208514
209695bf00608514
2089b06f01608514
201490a400a08514
20c1b6a400a08514
204392ac00e08514
200c90a400a08614
201c90a400a08614
201490e700a08614
2089719c00208714
e088b0a400208714
602a91a500208714
208973a403208714
2092b49c00a08714
20c392a400608c14
206cb2a400608c14
204196e400608c14
2047b2e400608c14
204192ec01608c14
6041b29b00a08c14
20928fa400a08c14
604192e400a08c14
204392a400e08c14
20418ea401e08c14
e08890ec00208d14
a01a91a400608d14
600c909b00a08d14
a0ad91ac00a08d14
6041b2bb00a08d14
604192a401a08d14
201490a401a08e14
20548e6701209c14
20c371a400a09c14
604192a400a09c14
203c90e400a09d14
601490a400a09e14
2088c89c00e0a914
600f499c0020aa14
60885b9c0020aa14
2015c7a40120aa14
208847ac0120aa14
200f4fbc0060aa14
207f59e40160aa14
2015c96401e0aa14
20685b9c0020ab14
20a847640160ab14
605e46a400a0ab14
208858a400e0ab14
200b47a40020ae14
208848a40120ae14
609858a40020b614
201d47bc0020b614
209858e400e0b614
203492e40020bc14
206c96a40060bc14
20c5c6a50120d514
6088c9a50020d614
2088496401e0d914
208849ac0060da14
208848fc00e0da14
203b4bac0120de14
2078cb9c0020ea14
20885b9c0020ee14
2088f8e30020ee14
2088b8a40120fa14
601549640320fa14
a098019f00202f15
a09800a300202f15
a0a800a300202f15
a09903a300202f15
e098006703202f15
a0d700a500602f15
a02b006301602f15
605700ad01a02f15
a035006501e02f15
6051019d00203015
602401a300203015
a02401a500203015
60b100a501203015
a06403e301203015
e043009d00603015
204200a300603015
204600a300603015
604600a300603015
20c200a300603015
20c600a300603015
604200a500603015
60c200a500603015
e04200a700603015
204600a700603015
20c200a700603015
e0c300ad00603015
204200e300603015
20ce00e300603015
204200e500603015
204600e500603015
604200ed00603015
20c200ed00603015
e043006301603015
2042006701603015
204200a301603015
204200a501603015
204200e301603015
604600e301603015
20c2016503603015
20c201a503603015
a035009d00a03015
a03d009d00a03015
a03e009d00a03015
2042009d00a03015
e042009d00a03015
2046009d00a03015
e05a009d00a03015
a0d5009f00a03015
a02a00a300a03015
602d00a300a03015
a02e00a300a03015
a03500a300a03015
e03700a300a03015
604200a300a03015
e04200a300a03015
a05500a300a03015
a05600a300a03015
a05e00a300a03015
606b00a300a03015
a07a00a300a03015
60c200a300a03015
e0c700a300a03015
a0d500a300a03015
a0ea00a300a03015
60eb00a300a03015
a0f700a300a03015
a0f501a300a03015
a02a00a500a03015
a02e00a500a03015
603500a500a03015
a03500a500a03015
603700a500a03015
a03700a500a03015
605500a500a03015
a05500a500a03015
a05600a500a03015
a06b00a500a03015
606d00a500a03015
a06d00a500a03015
a07a00a500a03015
60d500a500a03015
a0df00a500a03015
20c201a500a03015
602b00a700a03015
a02d00a700a03015
204200a700a03015
605500a700a03015
a07f00a700a03015
20c200a700a03015
204200ad00a03015
a05a00ad00a03015
e06d00ad00a03015
a02a00bd00a03015
a03500bf00a03015
602b00e300a03015
a05d00e300a03015
607b00e300a03015
20c200e300a03015
20c600e300a03015
a0d600e300a03015
a0dd03e300a03015
e02a00e500a03015
a02d00e500a03015
a03600e500a03015
e04200e500a03015
a02a006301a03015
2046006301a03015
a05a006301a03015
20c2006301a03015
e02e006501a03015
a03b006501a03015
6042006501a03015
e056006501a03015
60d5006501a03015
a0da006501a03015
a0d5016501a03015
a02a006701a03015
a02b006701a03015
a0ea006701a03015
a0da019d01a03015
a02a009f01a03015
603d00a301a03015
a03e00a301a03015
204200a301a03015
604200a301a03015
a06e00a301a03015
a07600a301a03015
a02a00a501a03015
a02e00a501a03015
a03b00a501a03015
604200a501a03015
e04500a501a03015
a05500a501a03015
a05600a501a03015
a05b00a501a03015
e06b00a501a03015
60eb00a501a03015
20c201a501a03015
e02d00a701a03015
603500a701a03015
a02f00e301a03015
204200e301a03015
a02d00e501a03015
2042006303a03015
a03a006503a03015
606d006503a03015
a02a006d03a03015
20c2006d03a03015
a02a00a303a03015
e06e00a303a03015
a02a00a503a03015
a03500a503a03015
a03500af03a03015
604200e303a03015
a035006307a03015
a06b006d07a03015
e0c201ad07a03015
20c201631fa03015
607700651fa03015
e035009d00e03015
e03e009d00e03015
a07a009d00e03015
a0f5009d00e03015
a02a00a300e03015
605500a300e03015
a05600a300e03015
a09800a300e03015
a09900a300e03015
a0b800a300e03015
a0e800a300e03015
a09801a300e03015
602d00a500e03015
a02d00a500e03015
a03500a500e03015
605500a500e03015
a05500a500e03015
a09800a500e03015
a0a800a500e03015
60ab00a500e03015
a0eb00a500e03015
60ef00a500e03015
e0a801a500e03015
a0e801a500e03015
a02e00a700e03015
a05a00a700e03015
a0a800a700e03015
a0e800a700e03015
a0fa01a700e03015
a06903a700e03015
a0b803a700e03015
a02a00ad00e03015
e09800ad00e03015
609900ad00e03015
a0a800ad00e03015
e06801ad00e03015
a02d00e300e03015
e04200e300e03015
a09b00e300e03015
a0e800e300e03015
e03e00e500e03015
204200e500e03015
e09900e500e03015
a098006301e03015
e098006501e03015
a02b006701e03015
a056006701e03015
a0ea007d01e03015
a0f6007d01e03015
a02a00a301e03015
60eb00a301e03015
a09800a501e03015
a0e800a501e03015
a0ab01a501e03015
a06803a501e03015
60b903a501e03015
a03a00a701e03015
602d00ad01e03015
a0af016503e03015
a036006703e03015
e09801a303e03015
a02a00a503e03015
a0a900a503e03015
a03600e507e03015
a098009d00203115
e099009d00203115
e09b019d00203115
e097039d00203115
e0a8009f00203115
a09900a300203115
a0a800a300203115
a0ab00a300203115
a0b800a300203115
a0e800a300203115
200401a300203115
a06801a300203115
e06801a300203115
e06f01a300203115
a07801a300203115
a0a801a300203115
a09803a300203115
60b907a300203115
a0a800a500203115
e0a800a500203115
a0bb00a500203115

Testing collisions (high 32-bit) - Expected        512.0, actual 1890131 (3691.66x) (1889620) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1564236/31 (48882.40x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2096013 (1.00x) (2957)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097055 (1.00x) (159)
Testing collisions (low  32-bit) - Expected        512.0, actual 1379540 (2694.42x) (1379029) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1005914/31 (31434.83x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097088 (1.00x) (4032)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 46
Testing collisions ( 64-bit) - Expected    0.0, actual  50116 (420403678992.10x) (50116) !!!!!
Collisions:
40476c4a01404625
c033ebca01404625
4039544a01404a25
4013b5da06c04a25
c013d5da02c04d25
c05ad44a0140ca25
4049f4550340ca26
c01323f902400627
4082243901400727
c081644901c00727
4058244901400827
4058644901400827
40a824c902400827
40a86cc902400827
40582c4903400827
40f8647903400827
4068244b03c00827
4082644907c00827
c082654907c00827
c0816c3901400927
4086fdcb02400927
c0821c4b01c00927
4058245b01c00927
408225d901c00927
40822c7903c00927
c0811c4907c00927
c0117f4901400a27
4012214b01400a27
408624c903400b27
40b8244b01401827
c0d9fcc802401827
40681c4901c01827
40862c5901c01827
408224c901c01827
405824c902c01827
c083e43807c01827
40823d4907403927
40686c4901c03b27
c05ab44a01c04927
401daf4b01404e27
406a92d801c0ab28
4010b1380140ac28
c011b3380140ac28
401a8e390140ac28
403071470140ac28
c03191470140ac28
401091480140ac28
403091480140ac28
402a92480140ac28
406a92480140ac28
401093480140ac28
c01193480140ac28
402a96480140ac28
401097480140ac28
4070b1480140ac28
402ab2480140ac28
4010b3480140ac28
402abe480140ac28
401071490140ac28
c01f72490140ac28
401a8e490140ac28
401091490140ac28
c03091490140ac28
4010b1490140ac28
4030b74b0140ac28
40f691580140ac28
401097580140ac28
40168e780140ac28
4030b1c70140ac28
401e92c80140ac28
403097c80140ac28
401091d80140ac28
402e8ec80240ac28
401a92c80240ac28
401696d80240ac28
4010b1380340ac28
403091480340ac28
401091590340ac28
401ab25b0340ac28
402e8e790340ac28
4010913801c0ac28
4016924801c0ac28
401093c801c0ac28
4010b14803c0ac28
4030914903c0ac28
4010914b07c0ac28
402e924b01c0af28
401091c802c0b328
c03191380140b428
4010b1380140b428
403ab2380140b428
40f091480140b428
40ea92480140b428
403e96480140b428
401eb6480140b428
40f08e490140b428
c0f1f1490140b428
402a92590140b428
401093590140b428
402e8ec70140b428
403a8ec80140b428
401692c80140b428
4010b1c80140b428
4010f1d80140b428
407091d90140b428
403091d90240b428
40ea93d90240b428
c011f1380340b428
401091480340b428
c03091480340b428
407093480340b428
401097480340b428
402ab2480340b428
4010b1c80340b428
402a8ec80640b428
c02a92480740b428
401091590740b428
c01e92c80e40b428
40108f4801c0b428
4010914801c0b428
40fa914801c0b428
4010b34801c0b428
c059904f01c0b428
4010915801c0b428
c044935f01c0b428
403e96f801c0b428
4010b3c802c0b428
401091d802c0b428
c0c48e480140b528
4010914907c0b528
c08a8cd80140b628
c04f97480140b728
c01a924803c0bb28
c01091c80240bc28
403091d80240bc28
403091580340bc28
401091580740bc28
c0168e5801c0bc28
401091cf02c0bc28
4010714901c0d328
401091380140d428
401696380140d428
40169e380140d428
402a8e480140d428
401091480140d428
40f091480140d428
401093480140d428
4010b1480140d428
403091490140d428
401692490140d428
401097490140d428
4070b1c80140d428
c0e9f3c80140d428
401091c80240d428
401091d80240d428
401091fb0240d428
4010933b0340d428
401091480340d428
c03791480340d428
4010b1480340d428
4030714b0340d428
402a8ec80640d428
401091c80640d428
4030b1390740d428
401091c80e40d428
401a924801c0d428
401a96c801c0d428
4010b3c801c0d428
c01191c802c0d428
401091d806c0d428
c016923807c0d428
40438d480140d528
404d8d4b0140d528
401097c901c0d528
4010b1d803c0d528
c08b8b4801c0db28
403071390140dc28
401071470140dc28
406a8e480140dc28
c03093480140dc28
c013b1480140dc28
407093490140dc28
401091580140dc28
401091c80140dc28
c07391c80140dc28
4010b1c80240dc28
407091480340dc28
403091c80340dc28
402a96c80e40dc28
c01391cb01c0dc28
4010b1db01c0dc28
4010914801c0dd28
401091f80fc0dd28
c0899dc80240de28
401692580140ec28
40108fc90240ec28
40109f480740ec28
401091db0e40ec28
c02a92c801c0ec28
401091380140f428
401071390140f428
c010b13b0140f428
401091490140f428
401091580140f428
c011b1580140f428
c029b2c80140f428
4010b7c80240f428
401091480340f428
401091380f40f428
c010913b01c0f428
4016724701c0f428
4010914801c0f428
401696c80140fc28
4016bec80140fc28
403e21c902400629
4082234901400729
c081244901400729
408e654901400729
4058244901c00729
40682c3901400829
4058643901400829
c0a8ec4801400829
40f8254901400829
c0a92c4901400829
40e83c4901400829
c0e83c4901400829
4078644901400829
c0d8644901400829
4058e44901400829
40a81c4b01400829
4068244b01400829
c068244b01400829
40a8244b01400829
c0d8e44b01400829
c0a91c5901400829
40e8fc5901400829
405824c901400829
40a864cb01400829
c0d827c902400829
c0d7655903400829
40682ccb06400829
40e827db06400829
4068643907400829
c0d91cf91e400829
c081253901c00829
4086633901c00829
4082244901c00829
40a8244901c00829
c0a8244901c00829
4086254901c00829
4082644b01c00829
4082645901c00829
40821cc901c00829
c0812cc901c00829
40a82dc901c00829
40581cd701c00829
407824d901c00829
c08124c902c00829
40862dc902c00829
c081233b03c00829
4082247903c00829
40867cf907c00829
40821ccb0fc00829
40687c491fc00829
40821c3701400929
c0821c3701400929
40822c3901400929
40861c4901400929
4082244901400929
c082244901400929
c083244901400929
c086244901400929
40862c4901400929
408624c901400929
408e6cdb01400929
c08324c902400929
4082633903400929
4082e34803400929
40821c4903400929
c081634903400929
40861c3901c00929
4078ec4801c00929
c0a4264b01c00929
4086245f01c00929
c08324c901c00929
40823fc901c00929
c0d8e5cb01c00929
c08664c902c00929
c0a4654901c00a29
c01ee1c802c00a29
4082253b01400b29
4082243f01400b29
40861c4901400b29
c081e44b03400b29
4012214901400e29
c082e4c802400f29
c08164db7f400f29
40a8e54801401829
40b8e54f01401829
40581c5901401829
40a8247901401829
c06824c902401829
c0a9ec5803401829
c0a8244901c01829
40862cc901c01829
c082fcc802c01829
408227c902c01829
40b867c902c01829
c082244903c01829
40b81cc906c01829
4082245907c01829
40e8e5c81ec01829
4082244901401929
c081244b01401929
40821dd901401929
4082654903401929
408223c906401929
408225c901c01929
c08fe44803c01929
40d5223701c01a29
c01121cf06c01a29
c081e44801401b29
c08364c901401b29
c01261d702c01e29
40f8243901403829
40a8644903403829
4082644907c03829
40822d3901403929
4082653901c03929
c08124d902c03929
4010913801405429
4030913801405429
4010b14701405429
4010914801405429
c011914801405429
4030914801405429
401a924801405429
4070934801405429
c029b24801405429
4010734901405429
4010914901405429
4010b15801405429
4030937801405429
4030b17801405429
4030b37801405429
c06a92c801405429
40f0b1c801405429
c01391c901405429
c016b2c901405429
c0e9b2d801405429
403091c802405429
c01093c802405429
401091c902405429
402e8ecb02405429
4010f1d902405429
4010b13803405429
4010914803405429
401a924803405429
40f6964803405429
4010b14803405429
4010914903405429
4070b14b03405429
407091c803405429
4010b1c803405429
4030b1c903405429
4010f1c806405429
40309fd906405429
c01091f806405429
4010934807405429
4010b14807405429
c030715901c05429
c01e8e7901c05429
4010b7c801c05429
c011f1c801c05429
40108fc901c05429
401091c802c05429
404990d802c05429
c010714903c05429
40ea964801c05529
c0a3944901c05529
c01091f806c05529
c0699e4801c05729
4065943901405b29
c030914801405c29
406a925901405c29
4030915b01405c29
4010f14803405c29
402a92c801c05c29
4030b1c901c05c29
4010714903c05c29
c0448d4801c06b29
4010914801406c29
c010914801406c29
406a924801406c29
4010734901406c29
4010b15801406c29
401091c802406c29
4010b1c807406c29
4010934803c06c29
401a923801407429
4010934801407429
c01093c801407429
401eb2c801407429
4010913803407429
4070915803407429
4010f17803407429
c02a724907407429
4016924907407429
c011b1c801c07429
401a92d801c07529
c0d8243901407829
4082644901407929
4070914801407c29
402a8ec901407c29
4010914803c07c29
c059904803407d29
402e8e5801c0ab29
401091380140ac29
401093480140ac29
4010b1480140ac29
401071490140ac29
c0298e490140ac29
402a8e490140ac29
403091d80140ac29
401e92d80140ac29
c06af6380340ac29
401091d80340ac29
402a96f80e40ac29
402a8ec80f40ac29
4010b14801c0ac29
c036964901c0ac29
4010915901c0ac29
4010914901c0ad29
4010914703c0b329
401a92380140b429
4010b1470140b429
40f08e480140b429
c01091480140b429
40f091480140b429
c016b2480140b429
c01191490140b429
406e92490140b429
c0118f580140b429
c02bb2580140b429
406a92c80340b429
403091cb0640b429
c01091480740b429
4010934801c0b429
c011913901c0b529
40108f490140bc29
402a963901c0bc29
401093c802c0bc29
4010b13803c0bc29
401093480140d429
c01091490140d429
401093780140d429
401093470740d429
401091c80e40d429
40ea91480f40d429
4010913b01c0d429
c010914901c0d429
402a924b01c0d429
c01091c806c0d729
401091480140dc29
401e92d80640dc29
40108f4b0140ec29
4010915801c0ec29
401091490140f429
401091c90240f429
4010b74801c0f429
c07091c802c0f429
4008024a01c05d2a
4051013a01405e2a
4071014601405e2a
4018024601405e2a
c036034601405e2a
40d1074601405e2a
4031014a01405e2a
c056014a01405e2a
c008064a01405e2a
4051074e01405e2a
4051015a01405e2a
4071015a01405e2a
c0d1015a01405e2a
402f01c601405e2a
405101da01405e2a
403301ca02405e2a
405101ca02405e2a
40d103ca02405e2a
c02f013a03405e2a
4051014a03405e2a
40f1014a03405e2a
4031014e03405e2a
c052015a03405e2a
c077015a03405e2a
c0f2015a03405e2a
406b003a01c05e2a
407d004601c05e2a
40ab004601c05e2a
4031014601c05e2a
4051014a01c05e2a
4071014a01c05e2a
c0fa034e01c05e2a
c05b00ca01c05e2a
c05600c602c05e2a
40d503c602c05e2a
40d700ce02c05e2a
4051015e03c05e2a
c05600ca06c05e2a
406d00ca06c05e2a
c06b00460fc05e2a
c06d004601405f2a
406d004a01405f2a
c084004a01405f2a
40bd004e01405f2a
c057005a01405f2a
4084005a01405f2a
c07e00ca01405f2a
c08401da02405f2a
4084003a03405f2a
40eb014a03405f2a
40ad00ce03405f2a
405500ce06405f2a
407500c607405f2a
40af003a01c05f2a
4055004601c05f2a
4053014a01c05f2a
c0ea00ce02c05f2a
c0840f3a03c05f2a
40a2013a0140602a
c0c8023a0140602a
c0580e3a0140602a
40a201460140602a
c0a601460140602a
c03802460140602a
403b02460140602a
c04802460140602a
c04902460140602a
c05802460140602a
40a202460140602a
c0a202460140602a
c0cb03460140602a
407906460140602a
c0c80e460140602a
40df0e460140602a
c038024a0140602a
c048024a0140602a
4049024a0140602a
c049024a0140602a
c058024a0140602a
40a2024a0140602a
40c9024a0140602a
c0bd034a0140602a
40a20e4a0140602a
c0481e4a0140602a
4062014e0140602a
c048024e0140602a
4079024e0140602a
40a6024e0140602a
c037064e0140602a
c0480e4e0140602a
c0a3015a0140602a
c048025a0140602a
404b065a0140602a
40c9065a0140602a
c0480e5a0140602a
c048025e0140602a
c0af037a0140602a
404b02c60140602a
40a602c60140602a
c04806ca0140602a
40a206ca0140602a
403b02da0140602a
40a201c60240602a
c04802ca0240602a
404b02ca0240602a
40a202ca0240602a
c0c805ca0240602a
c0c803ce0240602a
40a206ce0240602a
c0380ece0240602a
405902de0240602a
40a202fe0240602a
40e201460340602a
404902460340602a
c04b02460340602a
4066014a0340602a
4049024a0340602a
c0c8024a0340602a
4066034a0340602a
404f064a0340602a
c0a2035a0340602a
40590e5a0340602a
c0a203c60340602a
40e203c60340602a
c0d805c60340602a
406e01ca0340602a
c05802ca0340602a
c0c902ca0340602a
c06503ca0340602a
404906c60640602a
c06303ce0640602a
40e203da0640602a
c048024a0740602a
c07902ca0e40602a
c084003a01c0602a
c085003a01c0602a
c08c003a01c0602a
c09d003a01c0602a
4084013a01c0602a
c0ad013a01c0602a
c038023a01c0602a
4084033a01c0602a
c084003e01c0602a
c08c013e01c0602a
4084004601c0602a
c084004601c0602a
c087004601c0602a
c08b004601c0602a
408c004601c0602a
c08d004601c0602a
4084014601c0602a
c085014601c0602a
c08b014601c0602a
408c014601c0602a
c08f014601c0602a
c0a5014601c0602a
c0bc014601c0602a
c048024601c0602a
40a2024601c0602a
c084034601c0602a
c0a2064601c0602a
4084004a01c0602a
c084004a01c0602a
408c004a01c0602a
c08c004a01c0602a
409c004a01c0602a
c09c004a01c0602a
c084014a01c0602a
40a2014a01c0602a
c0a2014a01c0602a
4062034a01c0602a
c048064a01c0602a
4084004e01c0602a
c085004e01c0602a
c084014e01c0602a
408c034e01c0602a
4084005a01c0602a
c085005a01c0602a
c084015a01c0602a
408c015a01c0602a
4062035a01c0602a
4084035e01c0602a
4084017a01c0602a
408400c601c0602a
c08400c601c0602a
408c00c601c0602a
408c01c601c0602a
c08400ca01c0602a
c09b00ca01c0602a
408401ca01c0602a
c08403ca01c0602a
c08400ce01c0602a
404b02ce01c0602a
c08403ce01c0602a
c08c03ce01c0602a
408400da01c0602a
c08c00da01c0602a
408400de01c0602a
408400c602c0602a
c08700c602c0602a
c0bc01c602c0602a
408400ca02c0602a
c08500ca02c0602a
408c00ca02c0602a
c08c00ca02c0602a
408401ca02c0602a
c08401ca02c0602a
c08b01ca02c0602a
c08403ca02c0602a
40c903ca02c0602a
408400ce02c0602a
c08500ce02c0602a
c08400de02c0602a
408401fa02c0602a
408c003a03c0602a
c08c003a03c0602a
4084004603c0602a
c084014603c0602a
c038024603c0602a
4084034603c0602a
4084074603c0602a
408c074603c0602a
4084004a03c0602a
408c004a03c0602a
c08c004a03c0602a
c084014a03c0602a
408c014a03c0602a
409c014a03c0602a
c0c8024a03c0602a
4084014e03c0602a
c08c005a03c0602a
c09b015a03c0602a
c038025a03c0602a
c08c035a03c0602a
408400c603c0602a
408400da03c0602a
c08b01da03c0602a
408401de03c0602a
c08400c606c0602a
408c00c606c0602a
c09f01c606c0602a
408400ca06c0602a
408c00ca06c0602a
408400da06c0602a
c084004607c0602a
4084034607c0602a
4084004a07c0602a
c084004a07c0602a
c084004e07c0602a
408c005a07c0602a
c08f00c607c0602a
408400ca0ec0602a
c08401de0ec0602a
4084014a0fc0602a
40a2015a0fc0602a
4055003a0140612a
405d003a0140612a
406b003a0140612a
4075003a0140612a
407d003a0140612a
40af003a0140612a
40b7003a0140612a
40bb003a0140612a
40dd003a0140612a
40ed003a0140612a
40ef003a0140612a
4084013a0140612a
c0af013a0140612a
40ef013a0140612a
c0aa033a0140612a
c05a003e0140612a
c06a003e0140612a
c076003e0140612a
c084003e0140612a
c085003e0140612a
c08c003e0140612a
c0ab033e0140612a
405500460140612a
c05500460140612a
c05600460140612a
405700460140612a
405b00460140612a
405d00460140612a
c05d00460140612a
c06b00460140612a
406d00460140612a
c06f00460140612a
407700460140612a
c07b00460140612a
c07d00460140612a
408400460140612a
c08400460140612a
c08500460140612a
c08c00460140612a
c08d00460140612a
409c00460140612a
c0aa00460140612a
40ab00460140612a
40ad00460140612a
c0ad00460140612a
40b500460140612a
c0ba00460140612a
40bb00460140612a
c0be00460140612a
40d500460140612a
c0d500460140612a
40db00460140612a
40dd00460140612a
c0f600460140612a
c0fe00460140612a
408401460140612a
c08401460140612a
c08501460140612a
c0aa01460140612a
40ab01460140612a
40ad01460140612a
c0ad01460140612a
40bb01460140612a
c0be01460140612a
c08403460140612a
40ed03460140612a
c0ba07460140612a
4055004a0140612a
c056004a0140612a
4057004a0140612a
c05a004a0140612a
405b004a0140612a
405d004a0140612a
c05e004a0140612a
406b004a0140612a
406d004a0140612a
406f004a0140612a
c076004a0140612a
c077004a0140612a
407b004a0140612a
407d004a0140612a
4084004a0140612a
c084004a0140612a
408c004a0140612a
409c004a0140612a
40ab004a0140612a
c0ab004a0140612a
40ad004a0140612a
40af004a0140612a
c0b5004a0140612a
c0ba004a0140612a
40bc004a0140612a
40bd004a0140612a

Testing collisions (high 32-bit) - Expected        512.0, actual 1949020 (3806.68x) (1948509) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1707380/31 (53355.65x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2096191 (1.00x) (3135)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097049 (1.00x) (153)
Testing collisions (low  32-bit) - Expected        512.0, actual 1753466 (3424.74x) (1752955) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1418032/31 (44313.52x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097120 (1.00x) (4064)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 47
Testing collisions ( 64-bit) - Expected    0.0, actual 130004 (1090553114448.25x) (130004) !!!!!
Collisions:
80891a8f05805651
803c2c9102805751
8034249f02805751
805324b302805751
8054249305805751
803c64b105805751
80552c7306805751
8034249106805751
80542cb306805751
805c24931e805751
80541c7102805851
8020227102805851
8060227102805851
8063227102805851
80e0237102805851
8034247102805851
8054247102805851
806c247102805851
80d4247102805851
80d5257102805851
80e0627102805851
8033647102805851
8060667102805851
807c6c7102805851
8020e27102805851
8074e47102805851
80ede57202805851
8020227302805851
8034247302805851
8060267302805851
80202e7302805851
80206e7302805851
8020e27602805851
8054247702805851
807c6c7f02805851
8054248f02805851
8060268f02805851
802d1c9102805851
8020229102805851
8021229102805851
8060229102805851
8061229102805851
80d4239102805851
80dc239102805851
802c249102805851
8034249102805851
8035249102805851
805c249102805851
806c249102805851
8077249102805851
80d4249102805851
80ec249102805851
80d4259102805851
8020269102805851
80542c9102805851
80e02d9102805851
80202e9102805851
803c3c9102805851
80d53c9102805851
8020629102805851
8061629102805851
802c649102805851
80d4659102805851
8020e69102805851
8034fc9102805851
8020e69202805851
80e0e79202805851
80541c9302805851
8034249302805851
80d4249302805851
802c2c9302805851
806c2c9302805851
8020629302805851
806c649702805851
8020669702805851
802022b102805851
802122b102805851
802322b102805851
80e123b102805851
805424b102805851
80343cb102805851
802362b102805851
80d363b102805851
803c64b102805851
8021e2b102805851
8020e2b202805851
805464b302805851
802cecbf02805851
80341cf102805851
802022f102805851
802d64f102805851
802066f302805851
8020228f03805851
80601e9103805851
8060229103805851
80e0229103805851
80612e9103805851
802c649103805851
8021669103805851
80556c9103805851
8075e49203805851
803c249303805851
8055249303805851
8020269303805851
803c249703805851
8035e49e03805851
802c24b103805851
80fd24b103805851
80332cb103805851
803364b103805851
80f723bf03805851
8035648f05805851
8020229105805851
8021229105805851
802d249105805851
8055249105805851
8020269105805851
8021269105805851
8023269105805851
80542c9105805851
80202e9105805851
80603e9105805851
8020629105805851
8060629105805851
8055649105805851
8061669105805851
8020e29205805851
8060e69205805851
80e0229305805851
80353c9305805851
80346c9305805851
8060229f05805851
803f1cb105805851
806126b105805851
802d24b305805851
80612ef105805851
8020227106805851
80dd647106805851
8054ec7e06805851
8020229106805851
8021229106805851
80532c9106805851
8020669106805851
8020e29106805851
8020e69106805851
8035ec9106805851
807c249306805851
8020269306805851
8020e29606805851
8020229706805851
80202e9706805851
805424b106805851
805c24b106805851
802366b106805851
80fc1df106805851
802c2c9107805851
8020e29107805851
8021229307805851
807c249307805851
80fc23b107805851
806f24b107805851
802c7cb107805851
80f41df107805851
80546cf107805851
802022910d805851
8027e2910d805851
8034e4910d805851
806026930d805851
80332c930d805851
8074ec960d805851
802c24710e805851
80341c730e805851
80341c910e805851
80d464910e805851
802022910f805851
80e066930f805851
802126911d805851
802126931d805851
807424971d805851
8061e6911e805851
805424911f805851
806122913d805851
805c2c913d805851
802f247102805951
802c2c7102805951
8034247302805951
8099268f02805951
80341c9102805951
805c1c9102805951
8020229102805951
8021229102805951
8060229102805951
8054249102805951
802c2c9102805951
80202e9102805951
8020629102805951
8021629102805951
8033649102805951
80ed649102805951
8020e29102805951
8034249302805951
8020229f02805951
803424b102805951
805c64b102805951
802d24b302805951
80546cf302805951
802d248f03805951
8020229103805951
8020629103805951
8020669103805951
80341cb103805951
806c1c9105805951
8021229105805951
80543c9105805951
8061229305805951
805c249305805951
80351cb105805951
805524f105805951
8021227106805951
8060627106805951
8020228f06805951
8020229106805951
8089279106805951
802c649106805951
8060229306805951
8020229107805951
8021229107805951
8020229307805951
80f723910d805951
80542c910d805951
802c24930e805951
808a67970f805951
807524f11d805951
806062711e805951
802022731e805951
802122911f805951
802ce4933d805951
8020e2913e805951
8089eb7102805a51
808e2a8f02805a51
80871a9103805a51
80991a9305805a51
809f2a7102805b51
802c249102805b51
80d4249102805b51
8054649102805b51
807ce49102805b51
808a2e9302805b51
802c249103805b51
80ece49103805b51
80863b9305805b51
802c249705805b51
802026b105805b51
8060227306805b51
80e0669106805b51
80f42491fd805b51
8086267102805e51
808b1b9106805e51
8060e27102805f51
8023229102805f51
80992f9302805f51
802022b102805f51
802122b302805f51
8021228f05805f51
8033249105805f51
802126f107805f51
80d42c913e805f51
80211e9102806751
8061629102806751
806066b302806751
802022b303806751
806022f103806751
8020e2fe05806751
805c1c7102806851
8020227102806851
8060227102806851
802c247102806851
803d247102806851
8054247102806851
8061267102806851
80752c7102806851
8020627102806851
8034647102806851
80ec647102806851
802fe47102806851
8034e47102806851
8020e27202806851
8037247302806851
8023267302806851
8034e47602806851
8020e28e02806851
80201e8f02806851
8034248f02806851
805c2c8f02806851
8020628f02806851
8023628f02806851
802c1c9102806851
80331c9102806851
80531c9102806851
80541c9102806851
805d1c9102806851
80d31c9102806851
80211e9102806851
80e01e9102806851
8020229102806851
8021229102806851
8060229102806851
8034249102806851
8054249102806851
8055249102806851
8074249102806851
8077249102806851
80d4249102806851
80352c9102806851
80353c9102806851
8020629102806851
8021629102806851
80f4639102806851
803c649102806851
8054649102806851
80d3649102806851
80d4649102806851
8020669102806851
80347c9102806851
8020e29102806851
8074e49102806851
8035e49202806851
8054e49202806851
8020229302806851
8021229302806851
80e1229302806851
80f4249302806851
8061629302806851
802c649302806851
8033649302806851
8055649302806851
8034249702806851
8021269702806851
80342c9702806851
80d3639702806851
8060e29702806851
802022b102806851
80e022b102806851
80e122b102806851
803524b102806851
805c24b102806851
80d324b102806851
803d64b102806851
802066b102806851
805ce4b102806851
802022b302806851
802c24b302806851
802026b302806851
80e022b702806851
80d424b702806851
8027eeb702806851
802022f102806851
806022f102806851
80d425f102806851
803424f302806851
80341c9103806851
8020229103806851
8060229103806851
8063229103806851
803c249103806851
8054249103806851
80d4249103806851
80532c9103806851
8033649103806851
807c649103806851
8027669103806851
8021e29103806851
805ce49103806851
80fde49203806851
8060229303806851
802c249303806851
8020229703806851
80201e9f03806851
8054ec8e05806851
80341c9105806851
80751c9105806851
80f3249105806851
80dc279105806851
8021629105806851
8034649105806851
80e07e9105806851
8020e69105806851
8034ec9205806851
8055649305806851
8020629705806851
8060229f05806851
80201eb105806851
802126b105806851
803c2cb105806851
802c64b105806851
803464b105806851
802d2cb305806851
803464b305806851
802022bf05806851
80d32cf105806851
806c1c7106806851
8023227106806851
805c247106806851
8054e48e06806851
80541c9106806851
8020229106806851
8027229106806851
806c249106806851
8020269106806851
80342c9106806851
802ce49106806851
8020229306806851
805c249306806851
80ef259306806851
802c649706806851
802022b106806851
802c24b106806851
805424f106806851
8060229107806851
80341c9307806851
802022b107806851
80341c910d806851
803c1c910d806851
806062910d806851
80343c930d806851
802066930d806851
80202e710e806851
8020e2710e806851
80e0278f0e806851
80d423910e806851
8034e49e0e806851
802ce4960f806851
802162911d806851
802022931d806851
805424b11d806851
80d425f31d806851
80341c911e806851
80e01e911e806851
8020e6b11e806851
802022913d806851
803464913d806851
8020228f3e806851
8060227102806951
8023267102806951
8020667102806951
803c247302806951
8020267302806951
80202e7702806951
802dec8e02806951
8054248f02806951
80541c9102806951
806d1c9102806951
80e01e9102806951
8060229102806951
80e0239102806951
802f249102806951
8033249102806951
80d4249102806951
80202e9102806951
80743c9102806951
8020629102806951
8034249302806951
8034249702806951
803424b102806951
806c24b102806951
80d524b102806951
802362b102806951
80731cb302806951
802026f102806951
8020e2f102806951
8020229103806951
80352c9103806951
8021229303806951
8023228f05806951
80541c9105806951
80e0229105806951
802c249105806951
80542c9105806951
80991e9305806951
802c249305806951
8023229705806951
807424b305806951
802162f105806951
8020227106806951
80202e7106806951
807c1c9106806951
803f249106806951
809e279106806951
8020629106806951
8060229306806951
8054249306806951
808a669306806951
8020e69606806951
80d524b106806951
8060e2b206806951
803424970d806951
80862e930e806951
802c248f0f806951
806126911e806951
809a257102806a51
80b9267102806a51
8089269102806a51
808a2a9102806a51
807e3a9102806a51
80861a9302806a51
80866ab102806a51
8034247102806b51
80341c9102806b51
805c1c9102806b51
80861d9102806b51
8021229102806b51
8034249102806b51
806c249102806b51
8074649102806b51
8021229302806b51
80ba279302806b51
806022b102806b51
802c24b102806b51
808a27b102806b51
8054249103806b51
8020269103806b51
8020229305806b51
8023229305806b51
808a1eb105806b51
803524b305806b51
8034249106806b51
8020629106806b51
80bae57102806e51
80891a9105806e51
8020667102806f51
8020229102806f51
802c2c9102806f51
8021669302806f51
806122b305806f51
8020669106806f51
80892e7102807651
802f1c9102807751
80ba2d9103807751
8033247102807851
8075647102807851
8061227702807851
80d31c9102807851
8020229102807851
8021229102807851
80e1239102807851
802c249102807851
802d249102807851
8034249102807851
8021269102807851
8060629102807851
802c649102807851
8061669102807851
802c6c9102807851
8020229302807851
8034249302807851
8020269302807851
802c649302807851
80e022b102807851
80332cb102807851
802062b102807851
80541cb302807851
802066f102807851
8027229103807851
8054249103807851
8060629103807851
802f649103807851
8020e29603807851
80dc24b103807851
8060e2b103807851
802022b303807851
80dc239105807851
80e1239105807851
8055249105807851
8054247106807851
8020667106807851
8020227306807851
80573c9106807851
805c249306807851
8021269107807851
8020629307807851
802022910d807851
805564f10d807851
80572c910e807851
8060227102807951
802c1c9102807951
8020229102807951
8035249102807951
803c3c9102807951
8035649102807951
802c649302807951
802c64b102807951
80332cf102807951
8073e49103807951
8020229105807951
8020e29106807951
803c249306807951
802022910f807951
802c24b11d807951
8086e59102807a51
8067e27202807b51
8020e67202807b51
8034249102807b51
8055e49202807b51
802022b102807b51
8061229103807b51
806c249306807f51
803364b106807f51
802062910280a751
802022910380a751
802022970680a751
802022971d80a751
80d71c710280a851
802022710280a851
803424710280a851
803f24710280a851
805324710280a851
805524710280a851
802026710280a851
80d42c710280a851
803464710280a851
80d5e5720280a851
802022730280a851
803524730280a851
802c64730280a851
8033e4760280a851
8020268f0280a851
802c2c8f0280a851
80202e8f0280a851
80351c910280a851
802022910280a851
806722910280a851
802c24910280a851
803524910280a851
805424910280a851
805c24910280a851
807424910280a851
802026910280a851
80d427910280a851
80372c910280a851
80542c910280a851
80202e910280a851
806062910280a851
806362910280a851
805564910280a851
805c64910280a851
80d464910280a851
80dd65910280a851
80e165910280a851
80356c910280a851
8020e2910280a851
8035e4910280a851
805ce4910280a851
8020e6910280a851
8054ec910280a851
8020e6920280a851
803cec920280a851
802122930280a851
802d24930280a851
807424930280a851
80d424930280a851
802026930280a851
802062930280a851
802066930280a851
803ce4960280a851
802022970280a851
807424970280a851
80343c9f0280a851
802022b10280a851
802c24b10280a851
803c24b10280a851
805424b10280a851
802326b10280a851
802162b10280a851
806062b10280a851
802066b10280a851
802c6cb10280a851
8021e6b10280a851
802022b30280a851
802122b30280a851
802c2cb30280a851
80542cb30280a851
805564b30280a851
802066b30280a851
802c6cb30280a851
8054e4b60280a851
802ce4b70280a851
80341cf10280a851
802c24f10280a851
806026f70280a851
8020268f0380a851
80552c8f0380a851
80541c910380a851
802022910380a851
80d423910380a851
807424910380a851
80e326910380a851
803c64910380a851
807464910380a851
806066910380a851
80546c910380a851
8021e2920380a851
8033e4920380a851
8034e4920380a851
8054e4920380a851
8020ee920380a851
80531c930380a851
802122930380a851
806022930380a851
807c2c930380a851
8020269f0380a851
80f524b10380a851
8020e2b10380a851
802022bf0380a851
802022f10380a851
8020e28e0580a851
8077ec8e0580a851
802022910580a851
80e022910580a851
806c24910580a851
806d2c910580a851
802d64910580a851
8020e2920580a851
805de4920580a851
802d1c930580a851
802022930580a851
806022930580a851
803524930580a851
80346c930580a851
803424b10580a851
805424b10580a851
802062b10580a851
802366b10580a851
8021e2b60580a851
80d41c710680a851
805464710680a851
806c6c710680a851
806022730680a851
802c248f0680a851
802022910680a851
806022910680a851
803c24910680a851
805524910680a851
80d324910680a851
80352c910680a851
80633e910680a851
8020e2920680a851
807524930680a851
806022b10680a851
806122b10680a851
80332cb10680a851
802de4b10680a851
8034e4b20680a851
80731cb30680a851
805c24b30680a851
806022910780a851
803424910780a851
802362910780a851
806d24930780a851
803c64f10780a851
80e026910d80a851
802022b10d80a851
802122710e80a851
8020228f0e80a851
8023268f0e80a851
802022910e80a851
802122910e80a851
80532cb10e80a851
802166f10e80a851
803424910f80a851
802022930f80a851
805c24930f80a851
8021e2911d80a851
802062931d80a851
803424b11d80a851
80631e710280a951
806722710280a951
805c24710280a951
80e063710280a951
808e7d710280a951
802026770280a951
8020228f0280a951
802022910280a951
80d723910280a951
80e325910280a951
802062910280a951
802d64910280a951
803de4910280a951
8020e2920280a951
8053e4920280a951
802322930280a951
80602e930280a951
803464970280a951
803424b10280a951
806c24b10280a951
805c64b10280a951
805c64b30280a951
806022f10280a951
80e123f10280a951
803524f10280a951
8054248f0380a951
806c1c910380a951
802122910380a951
802322910380a951
803724910380a951
805424910380a951
80342c910380a951
802c3c910380a951
802062910380a951
8099e6b20380a951
803c24910580a951
805424910580a951
8020e6920580a951
80341cb10580a951
806c64b10580a951
807364b10580a951
80866a710680a951
803c648f0680a951
802026910680a951
805c64910680a951
803c24930680a951
80201eb10680a951
802022b30680a951
8060e28e0780a951
802122910780a951
80543c910780a951
802c1c930780a951
80341c930780a951
809a2d910d80a951
8020228f0e80a951
80996a910e80a951
808626910280aa51
808aeeb10280aa51
808a25930580aa51
808a2a710680aa51
808627910680aa51
808a2b910680aa51
809e1ab30680aa51
80e322910280ab51
803324930280ab51
802066930280ab51
80877e930280ab51
802026b10280ab51
803424b30280ab51
802022910380ab51
807424910380ab51
802026910580ab51
808a25b10580ab51
80f424910e80ab51
80e025910e80ab51
802c24930e80ab51
80862d930680ae51
80996ff10680ae51
802c24910280af51
8020e2f20280af51
80601e710680af51
803464910280b751
80546cb30d80b751
8021228f0280b851
802c1c910280b851
802022910280b851
806022910280b851
806122910280b851
80e022910280b851
803424910280b851
806026910280b851
805c2c910280b851
80202e910280b851
80343c910280b851
8021e2910280b851
8034e4910280b851

Testing collisions (high 32-bit) - Expected        512.0, actual 2010501 (3926.76x) (2009990) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 1853951/31 (57936.00x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2096548 (1.00x) (3492)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097058 (1.00x) (162)
Testing collisions (low  32-bit) - Expected        512.0, actual 2018392 (3942.17x) (2017881) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1781847/31 (55682.75x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097136 (1.00x) (4080)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 48
Testing collisions ( 64-bit) - Expected    0.0, actual 782971 (6568039926253.49x) (782971) !!!!!
Collisions:
b510000000bc0100
1916000000c00100
2916000000c00100
7916000000c00100
e919000000c00100
191a000000c00100
291a000000c00100
791a000000c00100
e91b000000c00100
291e000000c00100
e929000000c00100
192a000000c00100
292a000000c00100
792a000000c00100
e92b000000c00100
192e000000c00100
792e000000c00100
e92f000000c00100
1936000000c00100
2936000000c00100
7936000000c00100
e939000000c00100
793a000000c00100
196a000000c00100
1976000000c00100
2976000000c00100
e977000000c00100
e979000000c00100
29ee000000c00100
19f6000000c00100
19fa000000c00100
29fa000000c00100
e9e9010000c00100
29ea010000c00100
19ee010000c00100
29f6010000c00100
19ea030000c00100
b112000000c20100
7d19000000c20100
8519000000c20100
8d19000000c20100
b11d000000c20100
8d1e000000c20100
851f000000c20100
8526000000c20100
8d26000000c20100
852a000000c20100
b12e000000c20100
8539000000c20100
8566000000c20100
8569000000c20100
856a000000c20100
8d6a000000c20100
8d6e000000c20100
b172000000c20100
7d79000000c20100
857a000000c20100
85ea000000c20100
8dee000000c20100
85e6010000c20100
d50f000000c40100
b510000000c40100
e51c000000c40100
7d1d000000c40100
2d23000000c40100
7d23000000c40100
e524000000c40100
2d25000000c40100
7d25000000c40100
e525000000c40100
e527000000c40100
2d2d000000c40100
2d2f000000c40100
b530000000c40100
2d63000000c40100
e56c000000c40100
2d6d000000c40100
7d6d000000c40100
7d7d000000c40100
e5ec000000c40100
2de5010000c40100
e5ec010000c40100
b112000000c60100
2d14000000c60100
8519000000c60100
851a000000c60100
851b000000c60100
851e000000c60100
4920000000c60100
7920000000c60100
d920000000c60100
c921000000c60100
8526000000c60100
7d29000000c60100
852a000000c60100
8d2e000000c60100
8d3e000000c60100
4960000000c60100
7960000000c60100
d960000000c60100
8566000000c60100
8d66000000c60100
7de9000000c60100
d9e0030000c60100
810b000000c80100
d125000000c80100
d12f000000c80100
2905000000ca0100
4920000000ca0100
7920000000ca0100
d920000000ca0100
c921000000ca0100
152b000000ca0100
4960000000ca0100
7960000000ca0100
49e0000000ca0100
79e0000000ca0100
49e0010000ca0100
e53d000000cc0100
e563000000cc0100
b570000000cc0100
25e3000000cc0100
e5e5000000cc0100
851a000000ce0100
4920000000ce0100
7920000000ce0100
c927000000ce0100
1529000000ce0100
4960000000ce0100
d960000000ce0100
c963000000ce0100
2d48000000d40100
8945000000d60100
e141000000d80100
21c1000000d80100
e1c1000000d80100
8945000000da0100
7960000000da0100
4d02000000dc0100
d511000000dc0100
7d23000000dc0100
e523000000dc0100
e53c000000dc0100
5546000000dc0100
d546000000dc0100
754a000000dc0100
d571000000dc0100
e57f000000dc0100
4920000000de0100
7159000000de0100
8579000000de0100
794c000000e00100
894c000000e00100
994c000000e00100
b94c000000e00100
894d000000e00100
994d000000e00100
894f000000e00100
8953000000e00100
9953000000e00100
7954000000e00100
8954000000e00100
9954000000e00100
8955000000e00100
9955000000e00100
8957000000e00100
795c000000e00100
895c000000e00100
995c000000e00100
b95c000000e00100
895d000000e00100
995d000000e00100
895f000000e00100
8973000000e00100
8974000000e00100
9974000000e00100
8975000000e00100
8977000000e00100
797c000000e00100
897c000000e00100
897d000000e00100
897f000000e00100
89b3000000e00100
79b4000000e00100
89b4000000e00100
99b4000000e00100
b9b4000000e00100
89b7000000e00100
79bc000000e00100
89bc000000e00100
99bc000000e00100
b9bc000000e00100
89bd000000e00100
79cc000000e00100
89cc000000e00100
99cc000000e00100
89cd000000e00100
89cf000000e00100
89d3000000e00100
99d3000000e00100
79d4000000e00100
89d4000000e00100
99d4000000e00100
b9d4000000e00100
89d5000000e00100
99d5000000e00100
89d7000000e00100
79dc000000e00100
89dc000000e00100
89f3000000e00100
99f4000000e00100
79fc000000e00100
89fc000000e00100
99b3010000e00100
99b4010000e00100
89b5010000e00100
99b5010000e00100
79bc010000e00100
99bc010000e00100
89bd010000e00100
79cc010000e00100
89cc010000e00100
99cc010000e00100
89cd010000e00100
89d3010000e00100
99d3010000e00100
89d4010000e00100
89d5010000e00100
89f3010000e00100
b9f4010000e00100
89b5030000e00100
99b5030000e00100
89cc030000e00100
89cd030000e00100
89d3030000e00100
79d4030000e00100
89d5030000e00100
89f3030000e00100
1149000000e20100
3149000000e20100
114b000000e20100
dd4f000000e20100
2550000000e20100
2d50000000e20100
6550000000e20100
dd50000000e20100
dd51000000e20100
1159000000e20100
2570000000e20100
2d70000000e20100
6570000000e20100
7d70000000e20100
dd70000000e20100
e570000000e20100
dd71000000e20100
1177000000e20100
25b0000000e20100
2db0000000e20100
65b0000000e20100
ddb0000000e20100
e5b0000000e20100
ddcf000000e20100
25d0000000e20100
2dd0000000e20100
65d0000000e20100
e5d0000000e20100
25f0000000e20100
65f0000000e20100
25b0010000e20100
2db0010000e20100
65b0010000e20100
7db0010000e20100
edb0010000e20100
25d0010000e20100
ddd0010000e20100
e5d0010000e20100
65b0030000e20100
ddb0030000e20100
25d0030000e20100
edd0030000e20100
25f0030000e20100
e5f0030000e20100
25d0070000e20100
b54e000000e40100
c554000000e40100
cd54000000e40100
dd54000000e40100
4555000000e40100
4d55000000e40100
7d55000000e40100
4557000000e40100
dd5c000000e40100
455d000000e40100
4d5d000000e40100
455f000000e40100
4d5f000000e40100
ed5f000000e40100
cd6c000000e40100
456d000000e40100
7d6d000000e40100
456f000000e40100
4573000000e40100
4575000000e40100
4d75000000e40100
4577000000e40100
ddac000000e40100
45ad000000e40100
4dad000000e40100
ddb4000000e40100
45b5000000e40100
ddb5000000e40100
45b7000000e40100
ddbc000000e40100
45bd000000e40100
45bf000000e40100
d5ca000000e40100
45d3000000e40100
ddd3000000e40100
cdd4000000e40100
45d7000000e40100
4ddd000000e40100
45ed000000e40100
45af010000e40100
45b3010000e40100
cdb4010000e40100
45b5010000e40100
4dd3010000e40100
45dd010000e40100
45fd030000e40100
1149000000e60100
3149000000e60100
2550000000e60100
2d50000000e60100
6550000000e60100
dd50000000e60100
ed50000000e60100
d956000000e60100
1157000000e60100
b95a000000e60100
e95e000000e60100
d969000000e60100
e969000000e60100
2570000000e60100
2d70000000e60100
6570000000e60100
dd70000000e60100
b976000000e60100
a97a000000e60100
d9a9000000e60100
d9aa000000e60100
e9ab000000e60100
25b0000000e60100
65b0000000e60100
a9b9000000e60100
e9ba000000e60100
31c9000000e60100
25d0000000e60100
65d0000000e60100
e5d0000000e60100
79d9000000e60100
d9d9000000e60100
b9ea000000e60100
65f0000000e60100
79a9010000e60100
d9aa010000e60100
25b0010000e60100
d9b9010000e60100
11c9010000e60100
25d0010000e60100
2dd0010000e60100
65d0010000e60100
ddf1010000e60100
2dd0030000e60100
b9da030000e60100
2143000000e80100
115a000000e80100
715a000000e80100
1166000000e80100
3166000000e80100
7166000000e80100
116a000000e80100
316a000000e80100
116e000000e80100
11a6000000e80100
31a6000000e80100
11aa000000e80100
11be000000e80100
11da000000e80100
11de000000e80100
11a6010000e80100
71aa010000e80100
11e6010000e80100
11ea010000e80100
11a6030000e80100
11aa070000e80100
7957000000ea0100
a959000000ea0100
d959000000ea0100
795b000000ea0100
b95e000000ea0100
b565000000ea0100
7969000000ea0100
a969000000ea0100
796f000000ea0100
d96f000000ea0100
e97a000000ea0100
7da3000000ea0100
79a9000000ea0100
a9aa000000ea0100
a9b9000000ea0100
d9d7000000ea0100
d9ee000000ea0100
e9e9010000ea0100
a9eb010000ea0100
d9ee010000ea0100
a9f7010000ea0100
d546000000ec0100
4553000000ec0100
c55c000000ec0100
cd5c000000ec0100
dd5c000000ec0100
456d000000ec0100
4573000000ec0100
dd74000000ec0100
4575000000ec0100
dd77000000ec0100
dda0000000ec0100
4db5000000ec0100
45b7000000ec0100
45d7000000ec0100
cdec000000ec0100
45f3000000ec0100
ddf4000000ec0100
ddb4010000ec0100
4d42000000ee0100
2550000000ee0100
6550000000ee0100
ed50000000ee0100
b96e000000ee0100
6570000000ee0100
ed70000000ee0100
e976000000ee0100
117f000000ee0100
65b0000000ee0100
79b9000000ee0100
a9ba000000ee0100
edd0000000ee0100
41ec000000ee0100
a9eb010000ee0100
d978000000f00100
7998000000f00100
a99b000000f00100
b9b8000000f00100
d9e8000000f00100
d99b010000f00100
79b8030000f00100
1db7000000f20100
41e4000000f20100
dd60000000f40100
bd92000000f40100
dda3000000f40100
8d92070000f40100
8947000000f60100
9da7000000f60100
41ac010000f60100
e143000000f80100
115a000000f80100
d163000000f80100
1166000000f80100
3166000000f80100
316a000000f80100
116e000000f80100
117e000000f80100
c18d000000f80100
c18e000000f80100
11aa000000f80100
31aa000000f80100
11da000000f80100
11aa010000f80100
4920000000fa0100
d95f000000fa0100
bd66000000fa0100
d9ae000000fa0100
79b2000000fa0100
e9b6000000fa0100
b9da030000fa0100
7d3f000000fc0100
4553000000fc0100
4557000000fc0100
455f000000fc0100
7584000000fc0100
dda0000000fc0100
ddac000000fc0100
ddb4000000fc0100
45b5010000fc0100
7d1f000000fe0100
4920000000fe0100
2550000000fe0100
416c000000fe0100
2570000000fe0100
9180000000fe0100
7181000000fe0100
dd88000000fe0100
798e000000fe0100
7181010000fe0100
d9ae010000fe0100
d982000000000200

Testing collisions (high 32-bit) - Expected        512.0, actual 2090453 (4082.92x) (2089942) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2089412/31 (65294.16x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 1919636 (3749.29x) (1919125) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1919635/31 (59988.62x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096169 (1.00x) (3113)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 49
Testing collisions ( 64-bit) - Expected    0.0, actual 645112 (5411594264545.23x) (645112) !!!!!
Collisions:
32900400006c0500
32901c00006c0500
5690040000740500
3292030000800500
3692030000800500
5292030000800500
2e96030000800500
3296030000800500
3696030000800500
5296030000800500
5696030000800500
d2ad030000800500
56b2030000800500
5eb2030000800500
56f2030000800500
f26d040000800500
326e040000800500
366e040000800500
3272040000800500
3672040000800500
5272040000800500
5672040000800500
5e72040000800500
f273040000800500
f275040000800500
3276040000800500
3676040000800500
3292040000800500
3692040000800500
5292040000800500
5692040000800500
f292040000800500
fe92040000800500
d293040000800500
f293040000800500
d295040000800500
f295040000800500
2e96040000800500
3696040000800500
5296040000800500
5696040000800500
f297040000800500
369e040000800500
529e040000800500
2eae040000800500
36b2040000800500
52b2040000800500
feb2040000800500
f2b6040000800500
32ee040000800500
56fe040000800500
3292050000800500
3692050000800500
5292050000800500
5692050000800500
5296050000800500
5696050000800500
f296050000800500
32ae050000800500
36ae050000800500
52ae050000800500
56ae050000800500
32b2050000800500
36b2050000800500
5eb2050000800500
56be050000800500
56f2050000800500
32f6050000800500
f293070000800500
5696070000800500
f296070000800500
52b2070000800500
567e0c0000800500
36920c0000800500
52920c0000800500
56920c0000800500
5e920c0000800500
fe920c0000800500
32960c0000800500
369e0c0000800500
f2ad0c0000800500
32ae0c0000800500
2eb20c0000800500
52be0c0000800500
32ee0c0000800500
36ee0c0000800500
56f20c0000800500
32920d0000800500
36920d0000800500
52960d0000800500
52b20d0000800500
32920f0000800500
56960f0000800500
326e1c0000800500
32761c0000800500
2e921c0000800500
32921c0000800500
52921c0000800500
2e961c0000800500
32961c0000800500
fe961c0000800500
529e1c0000800500
36ae1c0000800500
36b21c0000800500
56b61c0000800500
36921d0000800500
52921d0000800500
f2921d0000800500
36b21d0000800500
56723c0000800500
56963c0000800500
52b63c0000800500
56963d0000800500
628f030000840500
6295030000840500
0699030000840500
1aa9030000840500
aeb4030000840500
0669040000840500
0a69040000840500
066b040000840500
a274040000840500
627d040000840500
fe8c040000840500
e28d040000840500
e28f040000840500
0699040000840500
0a99040000840500
e29b040000840500
e29d040000840500
06a7040000840500
0aa7040000840500
06a9040000840500
06ab040000840500
0aaf040000840500
a2b4040000840500
66b5040000840500
1ab9040000840500
e2bd040000840500
0ae9040000840500
9e8c050000840500
628f050000840500
faa8050000840500
0af9050000840500
06a9070000840500
06e9070000840500
fe8b0c0000840500
a2940c0000840500
e2950c0000840500
629b0c0000840500
0ab90c0000840500
62bf0c0000840500
0a990d0000840500
a2741c0000840500
62951c0000840500
46a0030000880500
faa0030000880500
4660040000880500
5a60040000880500
c660040000880500
fa60040000880500
ca63040000880500
ae84040000880500
ae9c040000880500
46a0040000880500
4aa0040000880500
5aa0040000880500
c6a0040000880500
cea0040000880500
faa0040000880500
caa3040000880500
46e0040000880500
c6e0040000880500
ae84050000880500
46a0050000880500
5aa0050000880500
c6a0050000880500
caa1050000880500
cea0070000880500
46e0070000880500
46600c0000880500
5a600c0000880500
fa600c0000880500
ca610c0000880500
46a00c0000880500
c6a00c0000880500
c6a00d0000880500
c6601c0000880500
faa03c0000880500
fa980300008c0500
92a90300008c0500
b2590400008c0500
f26f0400008c0500
e2750400008c0500
fe8c0400008c0500
a68d0400008c0500
06990400008c0500
b2a60400008c0500
faa80400008c0500
b6aa0400008c0500
66b50400008c0500
b6ee0400008c0500
9ef40400008c0500
628b0500008c0500
628d0500008c0500
92a90500008c0500
628d0c00008c0500
e28d0c00008c0500
b6aa0c00008c0500
069f0f00008c0500
fe991c00008c0500
a2b2030000900500
6253040000900500
6653040000900500
ae53040000900500
e25d040000900500
6275040000900500
ae77040000900500
028b040000900500
a2b2040000900500
feb2040000900500
62b3040000900500
66d3040000900500
0289050000900500
a2b2050000900500
62d30c0000900500
62d70c0000900500
5eb30d0000900500
fe521c0000900500
e2531c0000900500
62571c0000900500
f259040000940500
9266040000940500
926a040000940500
5a86040000940500
92a7040000940500
92a9040000940500
fe87050000940500
92aa050000940500
966e3c0000940500
46a0030000980500
ce60040000980500
ca63040000980500
ae84040000980500
46a0040000980500
c6a0040000980500
46a0050000980500
cea0050000980500
c6e0050000980500
5a600c0000980500
ce600c0000980500
caa70c0000980500
c6e00c0000980500
cee00d0000980500
cae10f0000980500
46a01c0000980500
c6e01c0000980500
2e540400009c0500
f2590400009c0500
f26b0400009c0500
1aa90400009c0500
06bb0400009c0500
06a90500009c0500
f2aa0c00009c0500
9648040000a00500
9658040000a00500
96c8040000a00500
b2c8050000a00500
c242040000a40500
5a2a040000a80500
0e23040000ac0500
f263040000ac0500
722f3c0000ac0500
a6ef030000b00500
c223040000b00500
4224040000b00500
4624040000b00500
be24040000b00500
422c040000b00500
be2c040000b00500
ae52040000b00500
4264040000b00500
627d040000b00500
c27f040000b00500
a6f5040000b00500
be240c0000b00500
e2550c0000b00500
62770c0000b00500
c21d1c0000b00500
feb21c0000b00500
5ed73f0000b00500
7267040000b40500
be160c0000b40500
16230c0000b40500
b6a61c0000b40500
6a11040000b80500
6a13040000b80500
6e13040000b80500
c660040000b80500
c6a0050000b80500
6e110c0000b80500
aa320c0000b80500
5a5a0c0000b80500
c6a00d0000b80500
ee331c0000b80500
c6a01c0000b80500
2208040000bc0500
2608040000bc0500
3e08040000bc0500
6208040000bc0500
6608040000bc0500
6e08040000bc0500
2218040000bc0500
2618040000bc0500
e618040000bc0500
f223040000bc0500
2238040000bc0500
2278040000bc0500
92a6050000bc0500
26080c0000bc0500
3e080c0000bc0500
62080c0000bc0500
22180c0000bc0500
62180c0000bc0500
22380c0000bc0500
06ab0c0000bc0500
22081c0000bc0500
26081c0000bc0500
22083c0000bc0500
22183c0000bc0500
0e253c0000bc0500
1201040000c00500
1601040000c00500
1e01040000c00500
2e01040000c00500
3201040000c00500
3601040000c00500
3e01040000c00500
6e01040000c00500
7201040000c00500
7601040000c00500
ee01040000c00500
f201040000c00500
f601040000c00500
ee02040000c00500
f202040000c00500
f602040000c00500
fe02040000c00500
1203040000c00500
1603040000c00500
1e03040000c00500
2e03040000c00500
3203040000c00500

Testing collisions (high 32-bit) - Expected        512.0, actual 2091923 (4085.79x) (2091412) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2090182/31 (65318.22x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 1853030 (3619.20x) (1852519) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1853027/31 (57907.12x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096167 (1.00x) (3111)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097088 (1.00x) (192)

Testing bit 50
Testing collisions ( 64-bit) - Expected    0.0, actual 724445 (6077088020341.38x) (724445) !!!!!
Collisions:
04a1080000e00b00
ac95080000e80b00
f4bd080000f00b00
5cd7080000000c00
64d7080000000c00
6cd7080000000c00
a4d7080000000c00
acd7080000000c00
e4d7080000000c00
a4d8080000000c00
acd8080000000c00
e4d8080000000c00
5cd9080000000c00
64d9080000000c00
6cd9080000000c00
a4d9080000000c00
acd9080000000c00
e4d9080000000c00
5cdb080000000c00
64db080000000c00
6cdb080000000c00
a4db080000000c00
acdb080000000c00
e4db080000000c00
64df080000000c00
6cdf080000000c00
a4df080000000c00
e4df080000000c00
a4e8080000000c00
ace8080000000c00
e4e8080000000c00
fce8080000000c00
5ce9080000000c00
64e9080000000c00
6ce9080000000c00
a4e9080000000c00
ace9080000000c00
e4e9080000000c00
fce9080000000c00
5ceb080000000c00
64eb080000000c00
6ceb080000000c00
a4eb080000000c00
aceb080000000c00
e4eb080000000c00
64ef080000000c00
6cef080000000c00
e4ef080000000c00
5cf7080000000c00
64f7080000000c00
acf7080000000c00
e4f7080000000c00
a4f8080000000c00
e4f8080000000c00
fcf8080000000c00
5cf9080000000c00
64f9080000000c00
6cf9080000000c00
a4f9080000000c00
acf9080000000c00
bcf9080000000c00
e4f9080000000c00
64fb080000000c00
acfb080000000c00
e4fb080000000c00
64ff080000000c00
a428090000000c00
ac28090000000c00
e428090000000c00
fc28090000000c00
5c29090000000c00
6429090000000c00
6c29090000000c00
a429090000000c00
ac29090000000c00
e429090000000c00
fc29090000000c00
5c2b090000000c00
642b090000000c00
6c2b090000000c00
a42b090000000c00
ac2b090000000c00
e42b090000000c00
5c2f090000000c00
642f090000000c00
6c2f090000000c00
ac2f090000000c00
e42f090000000c00
5c37090000000c00
6437090000000c00
6c37090000000c00
a437090000000c00
ac37090000000c00
e437090000000c00
a438090000000c00
ac38090000000c00
e438090000000c00
5c39090000000c00
6439090000000c00
6c39090000000c00
a439090000000c00
ac39090000000c00
bc39090000000c00
e439090000000c00
5c3b090000000c00
643b090000000c00
6c3b090000000c00
ac3b090000000c00
e43b090000000c00
5c3f090000000c00
643f090000000c00
e43f090000000c00
5c57090000000c00
6457090000000c00
6c57090000000c00
a457090000000c00
ac57090000000c00
e457090000000c00
a458090000000c00
ac58090000000c00
e458090000000c00
fc58090000000c00
5c59090000000c00
6459090000000c00
6c59090000000c00
a459090000000c00
ac59090000000c00
e459090000000c00
645b090000000c00
6c5b090000000c00
a45b090000000c00
ac5b090000000c00
e45b090000000c00
fc5b090000000c00
5c5f090000000c00
6c5f090000000c00
a45f090000000c00
a468090000000c00
ac68090000000c00
e468090000000c00
fc68090000000c00
5c69090000000c00
6469090000000c00
6c69090000000c00
a469090000000c00
ac69090000000c00
bc69090000000c00
e469090000000c00
5c6b090000000c00
646b090000000c00
6c6b090000000c00

Testing collisions (high 32-bit) - Expected        512.0, actual 2092849 (4087.60x) (2092338) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2090525/31 (65328.94x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 1913887 (3738.06x) (1913376) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1913869/31 (59808.43x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096662 (1.00x) (3606)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097120 (1.00x) (224)

Testing bit 51
Testing collisions ( 64-bit) - Expected    0.0, actual 737082 (6183094910185.41x) (737082) !!!!!
Collisions:
a892140000a01900
a8f2140000a01900
a8921d0000a01900
a88e2c0000a01900
a896340000a01900
5893150000b01900
c894150000b01900
5895150000b01900
c8952c0000b01900
488f350000b01900
08a8140000c01900
18a8140000c01900
08b8140000c01900
08e8140000c01900
18e8140000c01900
f8e8140000c01900
0858150000c01900
1858150000c01900
0868150000c01900
1868150000c01900
18a8150000c01900
0858170000c01900
1868170000c01900
08a81c0000c01900
18a81c0000c01900
08581d0000c01900
18b81d0000c01900
08582b0000c01900
18582b0000c01900
08a82c0000c01900
08d82c0000c01900
08582f0000c01900
08a8340000c01900
18a8340000c01900
f8a8340000c01900
f8d9340000c01900
08e8340000c01900
f868350000c01900
0868370000c01900
08683b0000c01900
08a83c0000c01900
08b83c0000c01900
08a83d0000c01900
08a86b0000c01900
08686d0000c01900
08d86d0000c01900
08a87c0000c01900
08a8f40100c01900
08d8f40100c01900
488d140000d01900
c895140000d01900
2843170000d01900
2845350000d01900
a861150000e01900
68e2150000e01900
6822170000e01900
6826170000e01900
68621d0000e01900
68221f0000e01900
68622b0000e01900
a88e350000e01900
a8e1350000e01900
e861370000e01900
b862770000e01900
588d140000f01900
9809150000f01900
b809150000f01900
880b150000f01900
881f150000f01900
8806170000f01900
8807170000f01900
9807170000f01900
88091b0000f01900
880e1b0000f01900
88091d0000f01900
98091d0000f01900
880a1d0000f01900
b8091f0000f01900
b8062b0000f01900
88072b0000f01900
88092b0000f01900
880e2b0000f01900
98072d0000f01900
88092d0000f01900
980b2d0000f01900
88fa340000f01900
8806350000f01900
9806350000f01900
980b350000f01900
880a370000f01900
98063d0000f01900
98093d0000f01900
980a6b0000f01900
880b6d0000f01900
881a750000f01900
98067b0000f01900
883eed0000f01900
b814150000001a00
c814150000001a00
d814150000001a00
f814150000001a00
4815150000001a00
5815150000001a00
7815150000001a00
b815150000001a00
c815150000001a00
d815150000001a00
f815150000001a00
4817150000001a00
5817150000001a00
7817150000001a00
b817150000001a00
c817150000001a00
d817150000001a00
f817150000001a00
481b150000001a00
581b150000001a00
781b150000001a00
b81b150000001a00
c81b150000001a00
d81b150000001a00
f81b150000001a00
b81c150000001a00
c81c150000001a00
d81c150000001a00
f81c150000001a00
481d150000001a00
581d150000001a00
781d150000001a00
b81d150000001a00
c81d150000001a00
d81d150000001a00
481f150000001a00
581f150000001a00
781f150000001a00
b81f150000001a00
c81f150000001a00
482b150000001a00
582b150000001a00
782b150000001a00
b82b150000001a00
c82b150000001a00
d82b150000001a00
b82c150000001a00
c82c150000001a00
d82c150000001a00
f82c150000001a00
482d150000001a00
582d150000001a00
782d150000001a00
b82d150000001a00
c82d150000001a00
d82d150000001a00
f82d150000001a00
482f150000001a00
582f150000001a00
b82f150000001a00
c82f150000001a00
b834150000001a00
c834150000001a00
d834150000001a00
f834150000001a00
4835150000001a00
5835150000001a00
b835150000001a00
c835150000001a00
d835150000001a00
f835150000001a00
4837150000001a00
5837150000001a00
7837150000001a00
b837150000001a00
c837150000001a00
d837150000001a00
483b150000001a00
583b150000001a00
783b150000001a00
b83b150000001a00
c83b150000001a00
f83b150000001a00
b83c150000001a00
c83c150000001a00
d83c150000001a00
483d150000001a00
583d150000001a00
b83d150000001a00
c83d150000001a00
483f150000001a00
583f150000001a00
b83f150000001a00
486b150000001a00
586b150000001a00
786b150000001a00
b86b150000001a00
c86b150000001a00
b86c150000001a00
c86c150000001a00
d86c150000001a00
f86c150000001a00
486d150000001a00

Testing collisions (high 32-bit) - Expected        512.0, actual 2093508 (4088.88x) (2092997) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2090463/31 (65327.00x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097129 (1.00x) (4073)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 1940988 (3790.99x) (1940477) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 1940893/31 (60652.94x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2096904 (1.00x) (3848)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097136 (1.00x) (240)

Testing bit 52
Testing collisions ( 64-bit) - Expected    0.0, actual 936479 (7855758977149.79x) (936479) !!!!!
Collisions:
505f2c0000403500
f0ca2c0000403500
50c92d0000403500
50c9330000403500
30c9340000403500
f0573c0000403500
f04a540000403500
d04e540000403500
5057540000403500
3059540000403500
50cb540000403500
f0ca5c0000403500
30b7ec0100403500
90802c0000603500
b0802c0000603500
f0802c0000603500
90812c0000603500
b0812c0000603500
f0812c0000603500
90832c0000603500
f0832c0000603500
f0872c0000603500
909f2c0000603500
90802d0000603500
b0802d0000603500
f0802d0000603500
90812d0000603500
90832d0000603500
90802f0000603500
b0802f0000603500
f0812f0000603500
f0872f0000603500
9080330000603500
b080330000603500
9080340000603500
b080340000603500
f080340000603500
9081340000603500
b081340000603500
f081340000603500
9083340000603500
9087340000603500
9080350000603500
b080350000603500
9081350000603500
f081350000603500
9080370000603500
b080370000603500
90803c0000603500
b0803c0000603500
90813c0000603500
b0813c0000603500
f0813c0000603500
90833c0000603500
90803d0000603500
7080530000603500
9080530000603500
9080540000603500
b080540000603500
f080540000603500
9081540000603500
b081540000603500
9083540000603500
f087540000603500
9080550000603500
b080550000603500
9081550000603500
b081550000603500
9083550000603500
b083550000603500
f083550000603500
9080570000603500
9081570000603500
90805c0000603500
b0805c0000603500
90815c0000603500
90805d0000603500
f0815d0000603500
90805f0000603500
90806c0000603500
90816c0000603500
90836c0000603500
f0876c0000603500
b08f6c0000603500
90806d0000603500
b0806d0000603500
90806f0000603500
7080730000603500
9080730000603500
b080730000603500
9080740000603500
b080740000603500
9081740000603500
9083740000603500
9080750000603500
b081750000603500
b080770000603500
9081770000603500
9083770000603500
90807c0000603500
b0807c0000603500
9080d30000603500
9081d30000603500
9080d40000603500
b080d40000603500
9081d40000603500
9087d40000603500
f081d50000603500
b087d50000603500
9080d70000603500
9080dc0000603500
b080dc0000603500
9081dd0000603500
9080ec0000603500
b080ec0000603500
9080ed0000603500
9080f30000603500
b080f30000603500
9080f50000603500
b080f50000603500
f081f50000603500
9081f70000603500
9080d40100603500
9081d40100603500
9083d50100603500
9080dc0100603500
9081dc0100603500
b080ec0100603500
9081ec0100603500
9081ed0100603500
f083ed0100603500
9080ef0100603500
b087f70100603500
9080d40300603500
f083d40300603500
9080ed0300603500
10b62c0000803500
30b62c0000803500
10ba2c0000803500
30ba2c0000803500
30be2c0000803500
10ca2c0000803500
30ca2c0000803500
30ce2c0000803500
30d62c0000803500
10da2c0000803500
30da2c0000803500
10de2c0000803500
10f62c0000803500
30fa2c0000803500
104a2d0000803500
304a2d0000803500
104e2d0000803500
304e2d0000803500
10562d0000803500
30562d0000803500
105a2d0000803500
305a2d0000803500
10762d0000803500
107a2d0000803500
30ba2d0000803500
70ba2d0000803500
10ca2d0000803500
30ca2d0000803500
10d62d0000803500
104a2f0000803500
104e2f0000803500
10562f0000803500
105a2f0000803500
104a330000803500
304a330000803500
104e330000803500
304e330000803500
1056330000803500
3056330000803500
305a330000803500
1076330000803500
107e330000803500
30ba330000803500
30ca330000803500
10ce330000803500
10b6340000803500
10ba340000803500
10ca340000803500
10ce340000803500
30ce340000803500
10da340000803500
30de340000803500
10f6340000803500
10fa340000803500
10fe340000803500
104a350000803500
304a350000803500
1056350000803500
105a350000803500
f05e350000803500
1076350000803500
107a350000803500
10b6350000803500
10ba350000803500
10ca350000803500
30ca350000803500
30ce350000803500
10da350000803500
10de350000803500
104a370000803500
f04b370000803500
10b6370000803500
10ca370000803500
10ba3c0000803500
10ca3c0000803500
30ca3c0000803500
10ce3c0000803500
10da3c0000803500
30f63c0000803500
30fa3c0000803500
104a3d0000803500
304a3d0000803500
10563d0000803500
105a3d0000803500
10763d0000803500
107a3d0000803500
10ce3d0000803500
104a3f0000803500
104a530000803500
f04a530000803500
104e530000803500
f055530000803500
f056530000803500
105a530000803500
105e530000803500
f075530000803500
1076530000803500
7076530000803500
307a530000803500
10ba530000803500
30ca530000803500
10da530000803500
10f6530000803500
10b6540000803500
f0b7540000803500
30ba540000803500
f0bd540000803500
10be540000803500
10ca540000803500
f0ca540000803500
f0cd540000803500
10ce540000803500
10d6540000803500
10da540000803500
30da540000803500
10de540000803500
10f6540000803500
f0f6540000803500
10fa540000803500
30fe540000803500
104a550000803500
304a550000803500
104e550000803500
304e550000803500
f056550000803500
105a550000803500
f05d550000803500
1076550000803500
107a550000803500
f0b5550000803500
10ba550000803500
70ba550000803500
10ce550000803500
10d6550000803500
30d6550000803500
10da550000803500
10ca570000803500
30ce570000803500
10b65c0000803500
10ca5c0000803500
10ce5c0000803500
30ce5c0000803500
10d65c0000803500
30d65c0000803500
104a5d0000803500
304a5d0000803500
104e5d0000803500
105a5d0000803500
10b65d0000803500
30ce5d0000803500
10d65d0000803500
10de5d0000803500
104a5f0000803500
30565f0000803500
10b66c0000803500
10ca6c0000803500
30ca6c0000803500
10da6c0000803500
10f66c0000803500
104a6d0000803500
104e6d0000803500
10566d0000803500
705a6d0000803500
10ba6d0000803500
10ca6d0000803500
104a6f0000803500
304a6f0000803500
10566f0000803500
10ca6f0000803500
104a730000803500
104e730000803500
105a730000803500
10ce730000803500
10da730000803500
30be740000803500
10ca740000803500
30ca740000803500
10da740000803500
10fa740000803500
104a750000803500
3056750000803500
305a750000803500
30da750000803500
10b67c0000803500
30ca7c0000803500
10da7c0000803500
30da7c0000803500
f0b57d0000803500
10ca7d0000803500
10b67f0000803500
104ad30000803500
104ed30000803500
1056d30000803500
10b6d30000803500
10cad30000803500
30dad30000803500
10b6d40000803500
10bad40000803500
10bed40000803500
10ced40000803500
10d6d40000803500
10dad40000803500
10ded40000803500
304ad50000803500
105ad50000803500
f05ad50000803500
107ed50000803500
10cad50000803500
10ced50000803500
10dad50000803500
104ad70000803500
10d6dc0000803500
104add0000803500
304edd0000803500
10dadd0000803500
10f6ec0000803500
104eed0000803500
3076ed0000803500
10daef0000803500
104ef30000803500
10caf40000803500
30cef40000803500
10d6f40000803500
10daf40000803500
104af50000803500
304af50000803500
10cef70000803500
30fefc0000803500
304ad30100803500
10cad40100803500
104ad50100803500
304ad50100803500
104ed50100803500
10cad50100803500
10dadc0100803500
10caec0100803500
30daec0100803500
104aed0100803500
10bad50300803500
10cad50300803500
10dad30700803500
90802c0000a03500
b0802c0000a03500
90812c0000a03500
b0812c0000a03500
90832c0000a03500
90872c0000a03500
70802d0000a03500
90802d0000a03500
b0802d0000a03500
b0832d0000a03500
90802f0000a03500
90812f0000a03500
f0812f0000a03500
90832f0000a03500
f0bf2f0000a03500
5014330000a03500
9080330000a03500
b080330000a03500
9081330000a03500
f081330000a03500
9080340000a03500
b080340000a03500
f080340000a03500
9081340000a03500
f081340000a03500
f083340000a03500
9087340000a03500
5014350000a03500
9080350000a03500
b080350000a03500
9081350000a03500
b081350000a03500
9080370000a03500
90803c0000a03500
b0803c0000a03500
90813c0000a03500
b0813c0000a03500
b0803d0000a03500
5014530000a03500
9080530000a03500
b080530000a03500
b081530000a03500
f081530000a03500
b083530000a03500
9080540000a03500
b080540000a03500
f080540000a03500
9081540000a03500
b081540000a03500
f081540000a03500
9083540000a03500
9087540000a03500
f034550000a03500
9080550000a03500
b080550000a03500
9081550000a03500
9080570000a03500
f080570000a03500
90805c0000a03500
90815c0000a03500
f0815c0000a03500
90805d0000a03500
b0805d0000a03500
90835d0000a03500
f0835f0000a03500
70806c0000a03500
90806c0000a03500
f0806c0000a03500
90816c0000a03500
b0816c0000a03500
f0816c0000a03500
f03c6d0000a03500
90806d0000a03500
b0806d0000a03500
f080730000a03500
9083730000a03500
9080740000a03500
b080740000a03500
9081740000a03500
9080750000a03500
b080750000a03500
9081750000a03500
9083750000a03500
b080770000a03500
90807c0000a03500
b0807c0000a03500
b0807d0000a03500
9080d30000a03500
b080d30000a03500
9083d30000a03500
9080d40000a03500
b080d40000a03500
f080d40000a03500
9081d40000a03500
f081d40000a03500
f083d40000a03500
9081d50000a03500
9080d70000a03500
f081d70000a03500
9080dc0000a03500
f081dc0000a03500
9080dd0000a03500
9080ec0000a03500
9080ed0000a03500
9080f30000a03500

Testing collisions (high 32-bit) - Expected        512.0, actual 2094126 (4090.09x) (2093615) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2090865/31 (65339.56x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097121 (1.00x) (4065)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2001808 (3909.78x) (2001297) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2001354/31 (62542.34x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097041 (1.00x) (3985)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)

Testing bit 53
Testing collisions ( 64-bit) - Expected    0.0, actual 1025165 (8599711420981.96x) (1025165) !!!!!
Collisions:
e05b5a0000806b00
605d5a0000806b00
a07a5a0000806b00
6045660000806b00
604d660000806b00
a0456e0000806b00
60bd7a0000806b00
60c57a0000806b00
a0c5a50000806b00
6045a60000806b00
6047a60000806b00
60c5a60000806b00
60fbaa0000806b00
60cbab0000806b00
6045ae0000806b00
60c5bd0000806b00
a0c6da0000806b00
a045e60000806b00
a04ae60000806b00
e04ae60000806b00
605be60000806b00
a0cae70000806b00
605bea0000806b00
a04aee0000806b00
6045da0100806b00
6045e60100806b00
a0cee60100806b00
60c5ea0100806b00
20b25a0000c06b00
20d25a0000c06b00
60d25a0000c06b00
20d65a0000c06b00
20de5a0000c06b00
20f25a0000c06b00
204e5b0000c06b00
20525b0000c06b00
e0525b0000c06b00
20b65b0000c06b00
20ce5b0000c06b00
204e5d0000c06b00
e04e5d0000c06b00
20525d0000c06b00
20565d0000c06b00
20b25d0000c06b00
20d25d0000c06b00
20b25e0000c06b00
20b65e0000c06b00
604e5f0000c06b00
20565f0000c06b00
20b25f0000c06b00
204e650000c06b00
604e650000c06b00
2052650000c06b00
6052650000c06b00
e052650000c06b00
2056650000c06b00
e057650000c06b00
205e650000c06b00
605e650000c06b00
2072650000c06b00
6072650000c06b00
20b2650000c06b00
20b6650000c06b00
e0cd650000c06b00
60ce650000c06b00
20d2650000c06b00
e0d2650000c06b00
60f2650000c06b00
60f6650000c06b00
20b2660000c06b00
60b2660000c06b00
e0b2660000c06b00
20b6660000c06b00
60b6660000c06b00
20d2660000c06b00
2052670000c06b00
6052670000c06b00
e052670000c06b00
2072670000c06b00
6072670000c06b00
20b2670000c06b00
20d2670000c06b00
60d2670000c06b00
20b26a0000c06b00
60b26a0000c06b00
20b66a0000c06b00
20ce6a0000c06b00
20d26a0000c06b00
60d26a0000c06b00
20d66a0000c06b00
20de6a0000c06b00
60f26a0000c06b00
20526b0000c06b00
20566b0000c06b00
60566b0000c06b00
20726b0000c06b00
20d26b0000c06b00
60d26b0000c06b00
204e6d0000c06b00
20526d0000c06b00
20566d0000c06b00
60726d0000c06b00
20766d0000c06b00
20d26d0000c06b00
20d66d0000c06b00
20b26e0000c06b00
20b27a0000c06b00
20d67a0000c06b00
60f27a0000c06b00
20527b0000c06b00
20727b0000c06b00
60727b0000c06b00
20527d0000c06b00
20727d0000c06b00
20b27d0000c06b00
20d27e0000c06b00
60d27e0000c06b00
204ea50000c06b00
2052a50000c06b00
6052a50000c06b00
2056a50000c06b00
205ea50000c06b00
2072a50000c06b00
e072a50000c06b00
2076a50000c06b00
6076a50000c06b00
20b2a50000c06b00
60b2a50000c06b00
20b6a50000c06b00
20bea50000c06b00
60bea50000c06b00
20d2a50000c06b00
e0d5a50000c06b00
20d6a50000c06b00
20b2a60000c06b00
60b2a60000c06b00
e0b5a60000c06b00
20cea60000c06b00
20d2a60000c06b00
20f6a60000c06b00
204ea70000c06b00
604ea70000c06b00
2052a70000c06b00
e053a70000c06b00
2056a70000c06b00
6056a70000c06b00
e07da70000c06b00
20d2a70000c06b00
60d6a70000c06b00
20f2a70000c06b00
e0b2aa0000c06b00
e0b5aa0000c06b00
20b6aa0000c06b00
20d2aa0000c06b00
20f2aa0000c06b00
60f2aa0000c06b00
e04fab0000c06b00
2052ab0000c06b00
6052ab0000c06b00
6056ab0000c06b00
205eab0000c06b00
20b6ab0000c06b00
204ead0000c06b00
e055ad0000c06b00
205ead0000c06b00
6072ad0000c06b00
20b2ad0000c06b00
20b6ad0000c06b00
20d2ad0000c06b00
20b6ae0000c06b00
e056af0000c06b00
6072af0000c06b00
20d2af0000c06b00
20feaf0000c06b00
20d6ba0000c06b00
204ebb0000c06b00
2052bb0000c06b00
e053bb0000c06b00
20d2bb0000c06b00
20bebe0000c06b00
20d2be0000c06b00
2052bf0000c06b00
6072bf0000c06b00
20d2da0000c06b00
20deda0000c06b00
204edb0000c06b00
2052db0000c06b00
2052dd0000c06b00
2072dd0000c06b00
60d2dd0000c06b00
2052e50000c06b00
60b2e50000c06b00
20bee50000c06b00
20d2e50000c06b00
20d6e50000c06b00
20b2e60000c06b00
60cee60000c06b00
20d2e60000c06b00
60dee60000c06b00
e04fe70000c06b00
20d2e70000c06b00
20b2ea0000c06b00
60f2eb0000c06b00
204eed0000c06b00
2052ed0000c06b00
6052ed0000c06b00
2052ef0000c06b00
20cefa0000c06b00
2052fd0000c06b00
2052a50100c06b00
2072a50100c06b00
20f6a50100c06b00
60f6a50100c06b00
20b2a60100c06b00
60b2a60100c06b00
20d2a60100c06b00
20f2a60100c06b00
20b2a70100c06b00
20cea70100c06b00
e0f2a70100c06b00
20b2aa0100c06b00
60b2aa0100c06b00
20b6aa0100c06b00
20d2aa0100c06b00
2052ab0100c06b00
2052ad0100c06b00
2072af0100c06b00
2056bb0100c06b00
204ebd0100c06b00
2052bd0100c06b00
2056bf0100c06b00
20d6da0100c06b00
20b2db0100c06b00
204ee50100c06b00
2052e50100c06b00
e077e50100c06b00
20b2ea0100c06b00
20f2ea0100c06b00
20d2ee0100c06b00
2052a50300c06b00
e052a50300c06b00
20b2aa0300c06b00
2056ab0300c06b00
e0b2ab0300c06b00
20b2af0300c06b00
20f6ba0300c06b00
20f2de0300c06b00
2052e50300c06b00
2072e50300c06b00
e04deb0300c06b00
2056ed0300c06b00
20b2a50700c06b00
60d2a50700c06b00
20b2a60700c06b00
2052dd0700c06b00
20f2a50f00c06b00
20deba0f00c06b00
60b2e60f00c06b00
60b2a53f00c06b00
e01e5b0000006c00
201f5b0000006c00
601f5b0000006c00
20215b0000006c00
60215b0000006c00
e0215b0000006c00
e0225b0000006c00
20235b0000006c00
60235b0000006c00
e0235b0000006c00
e0265b0000006c00
20275b0000006c00
60275b0000006c00
e0275b0000006c00
e02e5b0000006c00
202f5b0000006c00
e02f5b0000006c00
e03e5b0000006c00
203f5b0000006c00
603f5b0000006c00
20615b0000006c00
60615b0000006c00
e0615b0000006c00
e0625b0000006c00
20635b0000006c00
60635b0000006c00
e0635b0000006c00
e0665b0000006c00
20675b0000006c00
60675b0000006c00
e0675b0000006c00
e06e5b0000006c00
206f5b0000006c00
207f5b0000006c00
20e15b0000006c00
60e15b0000006c00
e0e15b0000006c00
20e35b0000006c00
60e35b0000006c00
20e75b0000006c00
60e75b0000006c00
e0e75b0000006c00
e0ee5b0000006c00
20ef5b0000006c00
20e15c0000006c00
60e15c0000006c00
e0e15c0000006c00
e0e25c0000006c00
20e35c0000006c00
60e35c0000006c00
e0e35c0000006c00
e0e65c0000006c00
20e75c0000006c00
60e75c0000006c00
e0e75c0000006c00
e0ee5c0000006c00
20ef5c0000006c00
60ff5c0000006c00
e01e5d0000006c00
201f5d0000006c00
601f5d0000006c00
e01f5d0000006c00
20215d0000006c00

Testing collisions (high 32-bit) - Expected        512.0, actual 2094256 (4090.35x) (2093745) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2090774/31 (65336.72x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097105 (1.00x) (4049)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2022887 (3950.95x) (2022376) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2021588/31 (63174.66x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097098 (1.00x) (4042)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097148 (1.00x) (252)

Testing bit 54
Testing collisions ( 64-bit) - Expected    0.0, actual 1160322 (9733491053066.21x) (1160322) !!!!!
Collisions:
c03db6000000d800
403eb6000000d800
4042b6000000d800
c042b6000000d800
c043b6000000d800
c045b6000000d800
4046b6000000d800
c046b6000000d800
c047b6000000d800
c04db6000000d800
404eb6000000d800
c05db6000000d800
405eb6000000d800
c05eb6000000d800
c05fb6000000d800
c07db6000000d800
40c2b6000000d800
c0c2b6000000d800
c0c3b6000000d800
c0c5b6000000d800
40c6b6000000d800
c0c6b6000000d800
c0c7b6000000d800
c0cdb6000000d800
40ceb6000000d800
c0ceb6000000d800
40c2b7000000d800
c0c2b7000000d800
c0c3b7000000d800
c0c5b7000000d800
40c6b7000000d800
c0c6b7000000d800
c0c7b7000000d800
40ceb7000000d800
40c2b9000000d800
c0c2b9000000d800
c0c3b9000000d800
c0c5b9000000d800
40c6b9000000d800
c0c6b9000000d800
c0ceb9000000d800
403eba000000d800
c03eba000000d800
4042ba000000d800
c042ba000000d800
c043ba000000d800
c045ba000000d800
4046ba000000d800
c046ba000000d800
c047ba000000d800
c04dba000000d800
404eba000000d800
c04eba000000d800
c04fba000000d800
c05dba000000d800
c05fba000000d800
407eba000000d800
40c2ba000000d800
c0c2ba000000d800
c0c3ba000000d800
c0c5ba000000d800
40c6ba000000d800
c0c6ba000000d800
c0c7ba000000d800
c0ceba000000d800
c0ddba000000d800
40c2bb000000d800
c0c2bb000000d800
c0c3bb000000d800
c0c5bb000000d800
40c6bb000000d800
c0c7bb000000d800
40cebb000000d800
c0cebb000000d800
403ebe000000d800
4042be000000d800
c042be000000d800
c043be000000d800
c045be000000d800
4046be000000d800
c046be000000d800
c047be000000d800
c04ebe000000d800
c04fbe000000d800
40c2be000000d800
c0c2be000000d800
c0c3be000000d800
40c6be000000d800
c0c6be000000d800
c0c7be000000d800
40cebe000000d800
40c2bf000000d800
c0c2bf000000d800
c0c3bf000000d800
c0cdbf000000d800
40c2c9000000d800
c0c2c9000000d800
c0c3c9000000d800
c0c5c9000000d800
40c6c9000000d800
c0c6c9000000d800
c0c7c9000000d800
c0cdc9000000d800
40cec9000000d800
c0cfc9000000d800
c0ddc9000000d800
40dec9000000d800
c0dec9000000d800
c03dca000000d800
403eca000000d800
c03eca000000d800
4042ca000000d800
c042ca000000d800
c043ca000000d800
c045ca000000d800
4046ca000000d800
c046ca000000d800
c047ca000000d800
c04dca000000d800
404eca000000d800
c04eca000000d800
c04fca000000d800
c05dca000000d800
405eca000000d800
c05eca000000d800
c05fca000000d800
40c2ca000000d800
c0c2ca000000d800
c0c3ca000000d800
c0c5ca000000d800
40c6ca000000d800
c0c6ca000000d800
c0c7ca000000d800
c0cdca000000d800
40ceca000000d800
c0cfca000000d800
c0ddca000000d800
40deca000000d800
c0deca000000d800
40c2cb000000d800
c0c2cb000000d800
c0c3cb000000d800
c0c5cb000000d800
40c6cb000000d800
c0c6cb000000d800
c0cdcb000000d800
c0cecb000000d800
40decb000000d800
c0fdcb000000d800
c03dce000000d800
403ece000000d800
c03ece000000d800
4042ce000000d800
c042ce000000d800
c043ce000000d800
c045ce000000d800
4046ce000000d800
c046ce000000d800
c047ce000000d800
404ece000000d800
c04ece000000d800
c05dce000000d800
405ece000000d800
c07dce000000d800
40c2ce000000d800
c0c2ce000000d800
c0c3ce000000d800
c0c5ce000000d800
40c6ce000000d800
c0c6ce000000d800
c0cdce000000d800
40cece000000d800
c0cece000000d800
40fece000000d800
40c2cf000000d800
c0c2cf000000d800
c0c5cf000000d800
40c6cf000000d800
c0c6cf000000d800
c0cdcf000000d800
c03dd6000000d800
403ed6000000d800
c03ed6000000d800
4042d6000000d800
c042d6000000d800
c043d6000000d800
c045d6000000d800

Testing collisions (high 32-bit) - Expected        512.0, actual 2094452 (4090.73x) (2093941) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2091320/31 (65353.78x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097085 (1.00x) (4029)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2051161 (4006.18x) (2050650) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2048243/31 (64007.62x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097122 (1.00x) (4066)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 55
Testing collisions ( 64-bit) - Expected    0.0, actual 1294643 (10860257805518.47x) (1294643) !!!!!
Collisions:
80e16f010000b201
80e26f010000b201
80e36f010000b201
80fe6f010000b201
801e70010000b201
801f70010000b201
802170010000b201
802270010000b201
802370010000b201
802670010000b201
802770010000b201
802e70010000b201
802f70010000b201
803e70010000b201
803f70010000b201
806170010000b201
806270010000b201
806370010000b201
806670010000b201
806770010000b201
806e70010000b201
806f70010000b201
807e70010000b201
80e170010000b201
80e270010000b201
80e370010000b201
80e670010000b201
80e770010000b201
80ee70010000b201
80ef70010000b201
80fe70010000b201
80ff70010000b201
80e171010000b201
80e271010000b201
80e371010000b201
80e671010000b201
80e771010000b201
80ee71010000b201
80ef71010000b201
80ff71010000b201
80e173010000b201
80e273010000b201
80e773010000b201
80ee73010000b201
80e177010000b201
80e377010000b201
80e677010000b201
80e17f010000b201
80e27f010000b201
80ee7f010000b201
801e90010000b201

Testing collisions (high 32-bit) - Expected        512.0, actual 2094355 (4090.54x) (2093844) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2091755/31 (65367.37x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097071 (1.00x) (4015)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097137 (1.00x) (241)
Testing collisions (low  32-bit) - Expected        512.0, actual 2071851 (4046.59x) (2071340) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2067253/31 (64601.69x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097138 (1.00x) (4082)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

Testing bit 56
Testing collisions ( 64-bit) - Expected    0.0, actual 2093715 (17563362773583.99x) (2093715) !!!!!
Collisions:
b301000000010000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097131 (4095.96x) (2096620) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097128/31 (65535.28x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097142 (1.00x) (4086)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097146 (1.00x) (250)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096706 (4095.13x) (2096195) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096706/31 (65522.09x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097061 (1.00x) (4005)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097135 (1.00x) (239)

Testing bit 57
Testing collisions ( 64-bit) - Expected    0.0, actual 2091859 (17547793509711.99x) (2091859) !!!!!
Collisions:
6603000000020000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097126 (4095.95x) (2096615) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097120/31 (65535.03x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096435 (4094.60x) (2095924) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096435/31 (65513.62x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097043 (1.00x) (3987)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097135 (1.00x) (239)

Testing bit 58
Testing collisions ( 64-bit) - Expected    0.0, actual 2091883 (17547994836399.99x) (2091883) !!!!!
Collisions:
cc06000000040000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097130 (4095.96x) (2096619) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097123/31 (65535.12x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097140 (1.00x) (4084)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097144 (1.00x) (248)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096432 (4094.60x) (2095921) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096432/31 (65513.53x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097089 (1.00x) (4033)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097140 (1.00x) (244)

Testing bit 59
Testing collisions ( 64-bit) - Expected    0.0, actual 2091880 (17547969670563.99x) (2091880) !!!!!
Collisions:
980d000000080000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097130 (4095.96x) (2096619) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097122/31 (65535.09x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096443 (4094.62x) (2095932) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096443/31 (65513.87x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097106 (1.00x) (4050)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097145 (1.00x) (249)

Testing bit 60
Testing collisions ( 64-bit) - Expected    0.0, actual 2091893 (17548078722519.99x) (2091893) !!!!!
Collisions:
301b000000100000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097129 (4095.96x) (2096618) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097116/31 (65534.91x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096449 (4094.63x) (2095938) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096449/31 (65514.06x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097123 (1.00x) (4067)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097147 (1.00x) (251)

Testing bit 61
Testing collisions ( 64-bit) - Expected    0.0, actual 2091897 (17548112276967.99x) (2091897) !!!!!
Collisions:
6036000000200000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097129 (4095.96x) (2096618) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097111/31 (65534.75x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096451 (4094.63x) (2095940) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096450/31 (65514.09x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097135 (1.00x) (4079)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097149 (1.00x) (253)

Testing bit 62
Testing collisions ( 64-bit) - Expected    0.0, actual 2091944 (17548506541731.99x) (2091944) !!!!!
Collisions:
c06c000000400000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097124 (4095.95x) (2096613) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097103/31 (65534.50x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096453 (4094.64x) (2095942) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096444/31 (65513.91x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097140 (1.00x) (4084)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097150 (1.00x) (254)

Testing bit 63
Testing collisions ( 64-bit) - Expected    0.0, actual 2091844 (17547667680531.99x) (2091844) !!!!!
Collisions:
80d9000000800000

Testing collisions (high 32-bit) - Expected        512.0, actual 2097124 (4095.95x) (2096613) !!!!!
Testing collisions (high 24-36 bits) - Worst is 36 bits: 2097100/31 (65534.41x) !!!!!
Testing collisions (high 12-bit) - Expected    2093056.0, actual 2097139 (1.00x) (4083)
Testing collisions (high  8-bit) - Expected    2096896.0, actual 2097143 (1.00x) (247)
Testing collisions (low  32-bit) - Expected        512.0, actual 2096450 (4094.63x) (2095939) !!!!!
Testing collisions (low  24-36 bits) - Worst is 36 bits: 2096435/31 (65513.62x) !!!!!
Testing collisions (low  12-bit) - Expected    2093056.0, actual 2097145 (1.00x) (4089)
Testing collisions (low   8-bit) - Expected    2096896.0, actual 2097151 (1.00x) (255)

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


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

Generating 33554432 random numbers : 
Testing collisions ( 64-bit) - Expected    0.0, actual      0 (0.00x)
Testing collisions (high 32-bit) - Expected     262144.0, actual 131180 (0.50x)
Testing collisions (high 29-45 bits) - Worst is 43 bits: 74/127 (0.58x)
Testing collisions (low  32-bit) - Expected     262144.0, actual 131558 (0.50x)
Testing collisions (low  29-45 bits) - Worst is 44 bits: 40/63 (0.63x)


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

...........
Max bias 3.000000 - (  0 :   0,  1)
*********FAIL*********


[[[ BadSeeds Tests ]]]

Testing 1 internal secrets:
0xcbf29ce484222325 PASS
Testing the first 0xffffffff seeds ...
4 threads starting...
at 0 at 80000000 at 40000000 at c0000000 81ffffff 1ffffff 41ffffff 83ffffff 43ffffff 3ffffff 85ffffff 45ffffff 5ffffff 47ffffff 87ffffff 7ffffff 49ffffff 89ffffff 9ffffff 4bffffff 8bffffff bffffff 4dffffff 8dffffff dffffff 4fffffff 8fffffff fffffff 51ffffff 91ffffff 11ffffff 53ffffff 93ffffff 13ffffff 55ffffff 95ffffff 15ffffff 57ffffff 97ffffff 17ffffff 59ffffff 99ffffff 19ffffff 5bffffff 9bffffff 1bffffff 5dffffff 9dffffff 1dffffff 9fffffff 5fffffff 1fffffff a1ffffff 61ffffff 21ffffff a3ffffff 63ffffff 23ffffff a5ffffff 65ffffff 25ffffff a7ffffff 67ffffff 27ffffff a9ffffff 69ffffff 29ffffff abffffff 6bffffff 2bffffff adffffff 6dffffff 2dffffff afffffff 6fffffff 2fffffff 71ffffff b1ffffff 31ffffff b3ffffff 73ffffff 33ffffff b5ffffff 75ffffff 35ffffff b7ffffff 77ffffff 37ffffff b9ffffff 79ffffff 39ffffff bbffffff 7bffffff 3bffffff bdffffff 7dffffff 3dffffff bfffffff 7fffffff 3fffffff All 4 threads ended
And the last 0xffffffff00000000 seeds ...
4 threads starting...
at ffffffff00000000 at ffffffffc0000000 at ffffffff80000000 at ffffffff40000000 ffffffff81ffffff ffffffff01ffffff ffffffff41ffffff ffffffff03ffffff ffffffff83ffffff ffffffff43ffffff ffffffff05ffffff ffffffff85ffffff ffffffff45ffffff ffffffff07ffffff ffffffff87ffffff ffffffff47ffffff ffffffff89ffffff ffffffff09ffffff ffffffff49ffffff ffffffff8bffffff ffffffff0bffffff ffffffff4bffffff ffffffff0dffffff ffffffff8dffffff ffffffff4dffffff ffffffff8fffffff ffffffff0fffffff ffffffff4fffffff ffffffff11ffffff ffffffff91ffffff ffffffff51ffffff ffffffff13ffffff ffffffff93ffffff ffffffff53ffffff ffffffff15ffffff ffffffff95ffffff ffffffff55ffffff ffffffff17ffffff ffffffff97ffffff ffffffff57ffffff ffffffff19ffffff ffffffff99ffffff ffffffff59ffffff ffffffff1bffffff ffffffff9bffffff ffffffff5bffffff ffffffff1dffffff ffffffff9dffffff ffffffff5dffffff ffffffff1fffffff ffffffff9fffffff ffffffff5fffffff ffffffff21ffffff ffffffffa1ffffff ffffffff61ffffff ffffffff23ffffff ffffffffa3ffffff ffffffff63ffffff ffffffff25ffffff ffffffffa5ffffff ffffffff65ffffff ffffffff27ffffff ffffffff67ffffff ffffffffa7ffffff ffffffff29ffffff ffffffffa9ffffff ffffffff69ffffff ffffffff2bffffff ffffffffabffffff ffffffff6bffffff ffffffff2dffffff ffffffffadffffff ffffffff6dffffff ffffffff2fffffff ffffffffafffffff ffffffff6fffffff ffffffff31ffffff ffffffffb1ffffff ffffffff71ffffff ffffffff33ffffff ffffffffb3ffffff ffffffff73ffffff ffffffff35ffffff ffffffffb5ffffff ffffffff75ffffff ffffffff37ffffff ffffffffb7ffffff ffffffff77ffffff ffffffff39ffffff ffffffffb9ffffff ffffffff79ffffff ffffffff3bffffff ffffffffbbffffff ffffffff7bffffff ffffffff3dffffff ffffffffbdffffff ffffffff7dffffff ffffffff3fffffff ffffffffbfffffff ffffffff7fffffff All 4 threads ended
PASS