Let’s make a human-readable display of the data we have gathered.

The display function (in src/primes_in_intervals/display.py; pii display from the shell) turns any dataset into a pandas DataFrame, one row per checkpoint for flat data and one row per interval for nested data. In this book its output renders as an actual table, captions included; on a terminal, the same call prints plain text.

Its seven options, each a string, select what the table shows.

orient is passed through to pandas: 'index' (the default) puts the checkpoints down the rows, 'columns' puts them across the top.

description controls the caption. With the default 'on', the returned table is styled with a caption of the form “Interval type: overlapping. Lower bound: 2000000. Upper bound: 3000000. Interval length: 100. Partial counts: cumulative.”, and when a comparisons view is on, the caption gains the sentence naming the tuple order: “In tuple (a,b,c,d), a is actual data, b is Binomial prediction, c is frei prediction, and d is frei_alt prediction.” With 'off', the bare DataFrame comes back, which is also the form that accepts further pandas chaining such as .head() and .tail().

zeroth_item set to 'no show' drops the trivial first checkpoint’s row (or column), whose counts are all zero.

count selects 'cumulative' counts (the default) or the 'partition' item’s per-gap counts, which must exist. In the partitioned view a totals row or column is appended, giving the total number of intervals between \(A\) and \(B\) containing \(m\) primes; in the cumulative view the totals would just repeat the last checkpoint. For disjoint intervals a prime_tally column is appended in either view: the total number of primes from \(C_0\) to \(C_k\) in the cumulative case, or from \(C_{k-1}\) to \(C_k\) in the partitioned case.

comparisons switches the cells from plain counts to the comparison quadruples: 'absolute' shows the counts quadruple, 'probabilities' the probabilities quadruple, and the dataset must have been through compare first. Only cumulative data is compared. For nested datasets there is additionally single_cell: with the default 'true' each cell holds the whole quadruple, and with 'false' each value of \(m\) expands into four columns, labelled \(m\), B\(m\), F\(m\), and F*\(m\), holding the four components side by side.

winners set to 'show' replaces the counts altogether with the scoreboard from the winners function: one row per range, opening with the range’s size (B - A for overlapping intervals, (B - A)/H for disjoint ones, pi(B) - pi(A) for prime-starting ones), the bounds and \(H\), then the squared errors, the ranks, the win lists, and the win rankings.

Guard messages cover the missing prerequisites: partitioned view without a partition, comparisons view without a comparison, winners view without winners.

Every chapter runs in its own session; the folded cells below rebuild the running datasets of Chapter 4 and take them through analyze and compare, reproducing the state at the end of Chapter 6.

Setup: rebuild the running datasets from the database
import numpy as np

# NumPy 2 displays scalars inside containers as np.float64(...); restore the
# plain numeric display so statistics read cleanly.
np.set_printoptions(legacy="1.25")

from primes_in_intervals import nest, partition, retrieve


def pick(found, lower_bound):
    """Return the retrieved dataset whose data begins at the given lower bound.

    Introduced in the Datasets chapter: accepts either return shape of
    ``retrieve`` (one dataset, or a list of them).
    """
    if isinstance(found, dict):
        found = [found]
    return next(d for d in found if d['header']['lower_bound'] == lower_bound)


# Example 1: interval length 100 over (2 * 10**6, 3 * 10**6].
A1, B1, H1 = 2*10**6, 3*10**6, 100
retrieve_data1disj = retrieve(H1, 'disjoint')
retrieve_data1olap = pick(retrieve(H1, 'overlap'), A1)
partition(retrieve_data1disj)
partition(retrieve_data1olap)
nest_data1disj = nest(retrieve(H1, 'disjoint'))
nest_data1olap = nest(pick(retrieve(H1, 'overlap'), A1))

# Example 2: interval length 85 about exp(18), and the companion length-90
# datasets used for nesting.
N2, H2 = int(np.exp(18)), 85
retrieve_data2disj = retrieve(H2, 'disjoint')
retrieve_data2olap = retrieve(H2, 'overlap')
partition(retrieve_data2disj)
partition(retrieve_data2olap)
nest_data2disj = nest(retrieve(90, 'disjoint'))
nest_data2olap = nest(pick(retrieve(90, 'overlap'), 65559979))
Setup: analyze the running datasets
from primes_in_intervals import analyze

for _ds in (retrieve_data1disj, retrieve_data1olap,
            retrieve_data2disj, retrieve_data2olap,
            nest_data1disj, nest_data1olap,
            nest_data2disj, nest_data2olap):
    analyze(_ds)
Setup: attach the comparisons
from primes_in_intervals import compare

for _ds in (retrieve_data1disj, retrieve_data1olap,
            retrieve_data2disj, retrieve_data2olap,
            nest_data1disj, nest_data1olap,
            nest_data2disj, nest_data2olap):
    compare(_ds)
from primes_in_intervals import display, intervals, partition

Example 1

display(retrieve_data1disj)
Table 7.1: Interval type: disjoint. Lower bound: 2000000. Upper bound: 3000000. Interval length: 100. Partial counts: cumulative.
  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 prime_tally
2000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2010000 0 0 0 3 7 13 25 10 13 16 10 2 0 1 0 0 0 705
2020000 0 0 0 6 15 23 45 32 31 30 12 3 2 1 0 0 0 1395
2030000 0 0 2 11 24 32 58 55 46 41 20 8 2 1 0 0 0 2088
2040000 0 0 4 13 28 47 74 80 68 45 26 11 2 2 0 0 0 2778
2050000 0 2 5 15 36 60 100 93 80 56 37 11 3 2 0 0 0 3449
2060000 0 3 5 18 41 70 123 116 93 68 44 12 5 2 0 0 0 4145
2070000 0 3 5 22 47 82 148 134 105 79 51 15 7 2 0 0 0 4839
2080000 0 3 7 27 54 95 163 156 121 93 54 18 7 2 0 0 0 5512
2090000 0 3 9 29 63 104 180 181 139 104 57 21 8 2 0 0 0 6198
2100000 0 3 10 32 69 119 198 203 158 114 63 21 8 2 0 0 0 6872
2110000 0 3 11 37 76 131 210 222 180 126 69 24 9 2 0 0 0 7571
2120000 0 4 12 40 83 145 230 236 201 136 74 26 10 3 0 0 0 8254
2130000 0 4 13 43 85 165 247 254 221 144 80 29 11 4 0 0 0 8951
2140000 0 4 13 44 98 181 261 277 241 151 82 30 12 5 1 0 0 9624
2150000 0 4 13 48 103 197 277 303 253 160 89 34 13 5 1 0 0 10317
2160000 0 4 14 48 106 209 302 325 269 170 96 36 15 5 1 0 0 11029
2170000 0 5 15 50 115 226 318 343 288 178 104 37 15 5 1 0 0 11696
2180000 0 5 16 53 122 238 341 365 298 191 109 37 17 5 3 0 0 12386
2190000 0 5 17 55 131 250 362 387 310 207 111 39 17 6 3 0 0 13065
2200000 0 5 19 59 139 264 381 404 325 224 115 39 17 6 3 0 0 13729
2210000 0 5 19 64 147 276 398 423 337 238 122 44 18 6 3 0 0 14430
2220000 0 5 19 66 156 300 416 440 349 247 128 46 19 6 3 0 0 15090
2230000 0 5 20 70 161 316 428 465 368 253 134 50 21 6 3 0 0 15785
2240000 0 5 21 77 166 329 446 486 383 262 140 54 22 6 3 0 0 16465
2250000 0 6 21 79 176 340 464 504 401 281 141 56 22 6 3 0 0 17148
2260000 0 6 23 80 183 350 484 524 425 292 144 58 22 6 3 0 0 17836
2270000 0 6 23 82 190 364 500 547 438 308 151 60 22 6 3 0 0 18537
2280000 0 6 23 84 197 378 517 572 455 317 156 62 24 6 3 0 0 19231
2290000 0 7 26 86 203 393 538 591 471 330 156 64 26 6 3 0 0 19893
2300000 0 7 28 88 212 402 560 609 493 337 159 69 27 6 3 0 0 20578
2310000 0 8 28 92 220 415 575 631 506 350 166 72 28 6 3 0 0 21268
2320000 0 9 28 93 232 433 591 656 515 359 171 75 28 7 3 0 0 21930
2330000 0 10 29 95 242 446 612 676 531 365 174 79 31 7 3 0 0 22602
2340000 0 10 29 98 251 460 632 696 552 372 176 82 32 7 3 0 0 23273
2350000 0 11 31 102 259 476 649 709 569 386 181 85 32 7 3 0 0 23940
2360000 0 11 33 105 266 488 670 725 584 400 186 90 32 7 3 0 0 24630
2370000 0 11 34 107 269 498 696 751 599 408 194 91 32 7 3 0 0 25321
2380000 0 11 35 114 282 511 707 769 614 421 200 94 32 7 3 0 0 25983
2390000 0 11 36 118 289 521 721 788 635 435 208 96 32 7 3 0 0 26688
2400000 0 11 38 121 298 537 737 803 650 450 213 98 34 7 3 0 0 27369
2410000 0 11 40 125 310 550 755 824 660 458 222 100 35 7 3 0 0 28029
2420000 0 11 40 131 318 564 771 840 676 471 226 106 35 8 3 0 0 28721
2430000 0 11 40 135 325 581 792 859 690 480 231 109 36 8 3 0 0 29393
2440000 0 11 40 139 332 600 812 879 704 491 235 110 36 8 3 0 0 30050
2450000 0 11 40 140 341 615 830 896 725 498 241 114 37 9 3 0 0 30751
2460000 0 11 40 145 348 627 852 913 742 510 245 115 38 11 3 0 0 31438
2470000 0 11 41 148 358 644 870 935 752 516 253 119 39 11 3 0 0 32106
2480000 0 11 42 153 366 655 888 957 769 527 259 120 39 11 3 0 0 32778
2490000 0 12 44 156 372 666 908 976 785 539 266 122 39 12 3 0 0 33465
2500000 0 12 47 158 376 683 930 993 801 552 269 123 41 12 3 0 0 34139
2510000 0 12 48 162 383 693 952 1018 818 560 271 124 42 14 3 0 0 34815
2520000 0 13 50 162 401 704 966 1035 833 570 276 129 43 15 3 0 0 35490
2530000 0 14 50 168 410 711 986 1047 853 583 283 133 44 15 3 0 0 36187
2540000 0 14 51 174 417 726 1006 1067 863 590 293 135 46 15 3 0 0 36859
2550000 0 14 52 176 425 741 1026 1089 879 599 298 137 46 15 3 0 0 37529
2560000 0 14 52 178 431 764 1041 1110 898 606 302 138 48 15 3 0 0 38201
2570000 0 14 52 179 441 780 1059 1133 914 612 309 140 49 15 3 0 0 38879
2580000 0 14 52 181 448 796 1078 1147 935 624 313 143 51 15 3 0 0 39578
2590000 0 14 52 189 456 806 1098 1160 954 630 322 148 52 16 3 0 0 40271
2600000 0 15 52 193 464 819 1123 1172 973 640 326 148 54 18 3 0 0 40947
2610000 0 15 53 196 473 830 1149 1195 987 649 329 149 54 18 3 0 0 41600
2620000 0 15 55 202 479 845 1166 1206 1010 659 335 150 57 18 3 0 0 42281
2630000 0 17 56 204 485 859 1180 1233 1026 672 340 150 57 18 3 0 0 42953
2640000 1 17 56 206 497 870 1198 1253 1039 687 345 151 59 18 3 0 0 43634
2650000 1 17 58 210 500 883 1221 1274 1054 697 347 154 63 18 3 0 0 44323
2660000 1 17 58 210 507 900 1240 1295 1070 707 355 155 64 18 3 0 0 45018
2670000 1 17 59 213 513 923 1260 1316 1081 713 357 159 65 19 4 0 0 45680
2680000 1 19 61 216 521 939 1284 1330 1089 723 362 163 69 19 4 0 0 46345
2690000 1 19 62 219 527 957 1303 1352 1101 728 370 168 70 19 4 0 0 47026
2700000 1 19 62 221 534 978 1318 1373 1114 736 380 170 71 19 4 0 0 47712
2710000 1 19 64 225 543 988 1342 1391 1127 745 386 173 72 19 4 0 1 48391
2720000 1 19 64 230 550 1002 1360 1413 1137 754 395 176 75 19 4 0 1 49086
2730000 1 19 66 236 565 1016 1375 1428 1150 764 401 180 75 19 4 0 1 49731
2740000 1 19 66 241 572 1030 1403 1448 1162 768 408 182 76 19 4 0 1 50388
2750000 1 19 66 245 580 1043 1422 1472 1177 779 413 182 77 19 4 0 1 51060
2760000 1 20 68 249 589 1055 1442 1488 1190 791 421 184 78 19 4 0 1 51731
2770000 1 20 68 253 597 1068 1457 1511 1210 799 429 184 78 20 4 0 1 52416
2780000 1 20 68 256 605 1085 1478 1530 1229 806 431 187 78 21 4 0 1 53082
2790000 1 21 69 259 616 1097 1496 1552 1244 814 438 188 79 21 4 0 1 53745
2800000 1 21 69 264 627 1115 1513 1561 1259 822 448 194 80 21 4 0 1 54429
2810000 1 21 69 266 636 1129 1531 1585 1272 832 455 194 82 21 5 0 1 55119
2820000 1 21 71 270 643 1136 1548 1607 1290 849 459 195 83 21 5 0 1 55814
2830000 1 21 75 274 649 1150 1568 1628 1299 861 465 198 83 22 5 0 1 56481
2840000 1 21 75 277 658 1164 1581 1648 1319 873 468 201 83 24 6 0 1 57185
2850000 1 22 80 281 665 1171 1604 1668 1332 881 473 206 83 26 6 0 1 57856
2860000 1 22 82 284 673 1187 1622 1695 1344 887 480 206 84 26 6 0 1 58510
2870000 1 23 82 285 683 1206 1638 1717 1352 902 485 207 86 26 6 0 1 59183
2880000 1 23 83 288 694 1222 1656 1740 1364 911 490 209 86 26 6 0 1 59836
2890000 1 23 84 290 703 1241 1671 1761 1376 921 498 210 87 27 6 0 1 60514
2900000 1 23 84 294 711 1256 1692 1783 1390 932 501 212 87 27 6 0 1 61176
2910000 1 23 84 297 718 1276 1709 1801 1405 942 507 214 89 27 6 0 1 61857
2920000 1 24 85 300 724 1288 1731 1830 1416 951 511 215 90 27 6 0 1 62520
2930000 1 24 87 305 730 1302 1753 1848 1428 963 516 218 90 28 6 0 1 63191
2940000 1 24 88 307 736 1320 1771 1870 1440 976 522 219 91 28 6 0 1 63871
2950000 1 24 90 315 743 1332 1789 1892 1457 985 525 219 93 28 6 0 1 64520
2960000 1 24 92 321 752 1347 1805 1917 1468 991 531 221 95 28 6 0 1 65172
2970000 1 24 92 325 758 1364 1816 1944 1481 1003 539 222 95 28 6 1 1 65866
2980000 1 24 93 328 765 1383 1842 1957 1492 1015 546 222 96 28 6 1 1 66525
2990000 1 25 94 333 772 1397 1864 1972 1506 1024 555 223 98 28 6 1 1 67196
3000000 1 25 97 337 776 1408 1881 1995 1525 1035 559 227 98 28 6 1 1 67883
display(retrieve_data1olap, zeroth_item = 'no show', orient='columns', count='partition')
Table 7.2: Interval type: overlapping. Lower bound: 2000000. Upper bound: 3000000. Interval length: 100. Partial counts: non-cumulative.
  2010000 2020000 2030000 2040000 2050000 2060000 2070000 2080000 2090000 2100000 2110000 2120000 2130000 2140000 2150000 2160000 2170000 2180000 2190000 2200000 2210000 2220000 2230000 2240000 2250000 2260000 2270000 2280000 2290000 2300000 2310000 2320000 2330000 2340000 2350000 2360000 2370000 2380000 2390000 2400000 2410000 2420000 2430000 2440000 2450000 2460000 2470000 2480000 2490000 2500000 2510000 2520000 2530000 2540000 2550000 2560000 2570000 2580000 2590000 2600000 2610000 2620000 2630000 2640000 2650000 2660000 2670000 2680000 2690000 2700000 2710000 2720000 2730000 2740000 2750000 2760000 2770000 2780000 2790000 2800000 2810000 2820000 2830000 2840000 2850000 2860000 2870000 2880000 2890000 2900000 2910000 2920000 2930000 2940000 2950000 2960000 2970000 2980000 2990000 3000000 totals
0 0 48 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 8 6 0 0 0 0 0 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 4 0 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 20 0 0 0 0 0 0 0 0 0 0 130
1 0 12 0 28 38 12 0 0 18 28 12 12 8 14 0 0 20 16 22 78 4 0 0 26 100 0 0 0 52 34 46 86 8 26 38 26 0 0 4 4 52 2 6 0 0 0 2 16 116 2 0 30 50 14 28 0 18 0 0 32 10 50 74 14 8 0 0 66 0 16 10 0 8 18 4 54 10 0 42 0 0 0 10 26 80 0 14 20 0 32 34 38 20 10 24 14 0 0 10 26 1882
2 38 20 122 100 108 62 70 138 80 190 82 110 26 84 58 40 130 112 70 196 102 48 102 60 102 76 18 30 126 86 98 84 70 104 184 152 54 78 104 136 146 56 40 56 50 106 80 156 148 104 76 104 142 218 80 34 62 32 68 88 90 160 184 94 138 14 56 174 98 74 124 30 128 156 90 164 128 42 96 52 38 82 164 52 190 58 70 112 48 126 86 132 200 58 136 142 14 104 126 162 9688
3 314 136 438 160 242 304 422 342 272 260 344 424 288 194 232 208 376 200 242 338 318 346 376 394 216 282 302 254 340 244 276 306 238 348 404 324 200 658 334 320 434 292 286 430 186 310 422 480 256 334 406 446 304 518 328 216 156 204 300 206 340 520 428 240 352 118 398 438 408 264 370 352 486 334 188 282 412 358 346 386 238 362 458 210 538 256 262 432 274 310 326 358 424 410 522 462 428 350 328 326 33024
4 586 578 804 532 904 906 748 830 748 604 724 650 780 810 548 494 890 738 800 868 732 904 756 786 698 608 710 702 1004 670 770 1030 898 810 842 650 666 1048 728 894 848 804 750 992 656 720 1014 816 618 588 762 994 720 756 636 792 794 734 892 848 828 788 730 868 682 732 872 946 728 668 908 860 1026 952 786 842 808 968 900 982 822 656 1014 746 838 878 964 928 772 790 704 864 818 902 928 1008 748 874 974 610 79894
5 1250 1468 1090 1284 1348 1228 1184 1314 1188 1342 1254 1330 1426 1536 1464 1190 1686 1306 1310 1522 1188 1914 1188 1366 1356 1206 1210 1312 1328 1262 1516 1560 1328 1364 1238 1266 1308 1330 1118 1428 1358 1578 1592 1350 1432 1448 1476 1264 1200 1470 1258 1422 1116 1222 1558 1600 1684 1456 1304 1778 1536 1250 1270 1222 1312 1376 1756 1530 1408 1462 1406 1454 1518 1696 1590 1402 1312 1584 1590 1532 1378 1166 1598 1346 1254 1772 1552 1556 1456 1584 1420 1374 1496 1384 1476 1460 1324 1568 1464 1088 139994
6 1962 1898 1606 2122 1952 1578 1698 1692 1674 2022 1598 1926 1666 1844 2150 2038 1702 1932 1914 1724 1736 2042 1528 1854 1882 2004 1822 1830 1822 2004 1752 1930 2258 1902 1942 1832 2130 1774 1402 1810 1940 1624 2142 1868 1918 2086 1786 1762 1946 2156 1992 1758 1664 1852 2016 2076 1916 1928 1686 1994 2070 1488 1912 1786 1932 1920 2226 1746 1660 2014 1740 1748 2082 1824 2100 1960 1610 1802 1910 1784 1914 1902 1768 1814 1808 2228 1990 1972 2084 1890 2104 2066 1860 1714 1916 2110 1818 1862 1956 1814 187968
7 1914 2184 2008 2100 1880 1850 2060 2208 2280 2208 1820 1966 1814 2198 2142 2142 1746 1994 2354 1898 2010 1722 2112 1854 1916 2108 2066 2158 1918 2164 1656 1808 2192 1994 1982 1962 2094 1738 1874 1792 2072 1678 1776 1944 2018 1684 1848 1982 1910 1932 1956 1634 1844 2052 2038 2172 1980 1830 1932 1526 2236 1774 1856 2126 1894 2046 1718 1684 1998 2032 1868 1960 1814 1864 1980 1922 2020 1822 1872 1638 2048 1930 1470 1810 1872 2032 1776 1906 2082 1976 1744 1898 1638 1670 1824 1844 1868 2034 1604 2224 193068
8 1452 1878 1730 1768 1630 1756 1642 1698 1884 1748 1766 1636 1724 1768 1400 1534 1580 1714 1442 1482 1468 1320 1798 1718 1718 1726 1650 1774 1600 1694 1546 1364 1418 1542 1488 1468 1626 1474 1960 1518 1518 1640 1664 1794 1748 1578 1372 1620 1726 1664 1756 1436 1696 1534 1636 1522 1552 1674 1518 1640 1724 1548 1648 1710 1538 1926 1252 1314 1614 1496 1414 1350 1266 1482 1508 1526 1598 1656 1414 1366 1510 1704 1306 1700 1338 1252 1404 1518 1398 1616 1592 1486 1534 1746 1606 1402 1620 1544 1444 1912 158372
9 1234 1032 1166 1142 1218 1342 996 996 1104 930 1328 1072 1140 1008 976 1154 1098 1084 1060 1066 1152 928 1130 1044 1144 1268 1204 980 1040 1024 1252 886 690 1118 1060 1344 966 966 1398 1114 968 1262 962 1166 1002 1040 964 1070 1134 986 1146 1132 1370 874 932 842 962 1070 1146 1014 778 1350 1074 1152 1050 1130 786 1026 1132 1026 1078 926 1016 856 1048 854 1132 1034 994 994 1026 1244 1176 1084 964 898 986 952 952 1032 1002 1006 1038 1128 1042 666 1276 1060 1192 1134 106190
10 780 424 678 526 532 664 694 528 526 406 750 468 698 236 620 714 476 480 566 490 720 446 574 462 574 554 672 504 526 550 758 574 480 542 514 628 580 546 780 508 432 622 498 370 410 562 688 550 636 474 406 636 686 572 480 468 610 588 690 434 266 698 600 458 516 510 470 622 678 638 622 764 464 510 522 550 658 500 530 604 562 596 642 644 566 402 620 406 596 428 588 530 570 664 410 440 606 378 596 458 55442
11 332 170 298 164 120 224 372 196 184 194 210 240 312 100 276 312 200 188 156 204 404 214 266 304 228 122 244 302 186 226 248 240 284 196 260 314 242 296 214 338 192 314 228 30 304 252 216 230 230 228 106 276 252 290 196 194 186 296 288 178 88 210 164 184 336 160 264 306 258 244 274 384 108 258 170 296 230 172 246 420 304 254 282 326 358 174 272 168 228 150 308 210 290 252 80 338 158 168 252 196 23606
12 114 102 52 48 28 66 104 38 42 56 74 134 96 80 88 114 76 120 56 114 152 100 126 102 50 46 72 118 58 40 68 46 112 44 48 34 104 78 84 124 38 68 52 0 188 176 104 52 72 56 70 116 110 94 64 46 76 118 100 134 24 122 40 104 186 52 124 132 18 64 124 136 68 50 14 116 60 52 58 190 104 80 86 132 122 38 72 26 82 46 82 36 66 52 36 94 54 48 42 48 8022
13 24 40 8 26 0 8 10 14 0 8 28 32 16 96 34 46 12 52 8 20 14 16 38 22 10 0 26 34 0 2 12 46 18 10 0 0 30 10 0 14 2 52 4 0 78 38 28 2 8 6 60 16 40 4 8 34 4 58 36 92 10 36 20 30 44 16 60 16 0 2 16 28 16 0 0 32 22 10 2 42 44 20 18 96 44 12 12 4 26 0 10 2 34 10 0 18 22 10 12 2 2152
14 0 10 0 0 0 0 0 6 0 4 10 0 0 32 12 14 8 50 0 0 0 0 6 0 0 0 4 2 0 0 0 28 6 0 0 0 0 4 0 0 0 8 0 0 10 0 0 0 0 0 6 0 6 0 0 4 0 12 24 8 0 2 0 0 12 0 18 0 0 0 26 8 0 0 0 0 0 0 0 10 12 4 8 14 24 0 0 0 2 0 0 0 12 0 0 2 14 0 0 0 442
15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 16 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 80
16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 18
17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 16
18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 12
display(nest_data1disj)
(B - A)/H A B H 0 1 2 3 4 5 ... 8 9 10 11 12 13 14 15 17 prime tally
0 200 2490000 2510000 100 0 0 4 6 11 27 ... 33 21 5 2 3 2 0 0 0 1350
1 400 2480000 2520000 100 0 2 8 9 35 49 ... 64 43 17 9 4 4 0 0 0 2712
2 600 2470000 2530000 100 0 3 9 20 52 67 ... 101 67 30 14 5 4 0 0 0 4081
3 800 2460000 2540000 100 0 3 11 29 69 99 ... 121 80 48 20 8 4 0 0 0 5421
4 1000 2450000 2550000 100 0 3 12 36 84 126 ... 154 101 57 23 9 6 0 0 0 6778
5 1200 2440000 2560000 100 0 3 12 39 99 164 ... 194 115 67 28 12 7 0 0 0 8151
6 1400 2430000 2570000 100 0 3 12 44 116 199 ... 224 132 78 31 13 7 0 0 0 9486
7 1600 2420000 2580000 100 0 3 12 50 130 232 ... 259 153 87 37 16 7 0 0 0 10857
8 1800 2410000 2590000 100 0 3 12 64 146 256 ... 294 172 100 48 17 9 0 0 0 12242
9 2000 2400000 2600000 100 0 4 14 72 166 282 ... 323 190 113 50 20 11 0 0 0 13578
10 2200 2390000 2610000 100 0 4 17 78 184 309 ... 352 214 121 53 22 11 0 0 0 14912
11 2400 2380000 2620000 100 0 4 20 88 197 334 ... 396 238 135 56 25 11 0 0 0 16298
12 2600 2370000 2630000 100 0 6 22 97 216 361 ... 427 264 146 59 25 11 0 0 0 17632
13 2800 2360000 2640000 100 1 6 23 101 231 382 ... 455 287 159 61 27 11 0 0 0 19004
14 3000 2350000 2650000 100 1 6 27 108 241 407 ... 485 311 166 69 31 11 0 0 0 20383
15 3200 2340000 2660000 100 1 7 29 112 256 440 ... 518 335 179 73 32 11 0 0 0 21745
16 3400 2330000 2670000 100 1 7 30 118 271 477 ... 550 348 183 80 34 12 1 0 0 23078
17 3600 2320000 2680000 100 1 10 33 123 289 506 ... 574 364 191 88 41 12 1 0 0 24415
18 3800 2310000 2690000 100 1 11 34 127 307 542 ... 595 378 204 96 42 13 1 0 0 25758
19 4000 2300000 2700000 100 1 12 34 133 322 576 ... 621 399 221 101 44 13 1 0 0 27134
20 4200 2290000 2710000 100 1 12 38 139 340 595 ... 656 415 230 109 46 13 1 0 1 28498
21 4400 2280000 2720000 100 1 13 41 146 353 624 ... 682 437 239 114 51 13 1 0 1 29855
22 4600 2270000 2730000 100 1 13 43 154 375 652 ... 712 456 250 120 53 13 1 0 1 31194
23 4800 2260000 2740000 100 1 13 43 161 389 680 ... 737 476 264 124 54 13 1 0 1 32552
24 5000 2250000 2750000 100 1 13 45 166 404 703 ... 776 498 272 126 55 13 1 0 1 33912
25 5200 2240000 2760000 100 1 15 47 172 423 726 ... 807 529 281 130 56 13 1 0 1 35266
26 5400 2230000 2770000 100 1 15 48 183 436 752 ... 842 546 295 134 57 14 1 0 1 36631
27 5600 2220000 2780000 100 1 15 49 190 449 785 ... 880 559 303 141 59 15 1 0 1 37992
28 5800 2210000 2790000 100 1 16 50 195 469 821 ... 907 576 316 144 61 15 1 0 1 39315
29 6000 2200000 2800000 100 1 16 50 205 488 851 ... 934 598 333 155 63 15 1 0 1 40700
30 6200 2190000 2810000 100 1 16 52 211 505 879 ... 962 625 344 155 65 15 2 0 1 42054
31 6400 2180000 2820000 100 1 16 55 217 521 898 ... 992 658 350 158 66 16 2 0 1 43428
32 6600 2170000 2830000 100 1 16 60 224 534 924 ... 1011 683 361 161 68 17 4 0 1 44785
33 6800 2160000 2840000 100 1 17 61 229 552 955 ... 1050 703 372 165 68 19 5 0 1 46156
34 7000 2150000 2850000 100 1 18 67 233 562 974 ... 1079 721 384 172 70 21 5 0 1 47539
35 7200 2140000 2860000 100 1 18 69 240 575 1006 ... 1103 736 398 176 72 21 5 0 1 48886
36 7400 2130000 2870000 100 1 19 69 242 598 1041 ... 1131 758 405 178 75 22 6 0 1 50232
37 7600 2120000 2880000 100 1 19 71 248 611 1077 ... 1163 775 416 183 76 23 6 0 1 51582
38 7800 2110000 2890000 100 1 20 73 253 627 1110 ... 1196 795 429 186 78 25 6 0 1 52943
39 8000 2100000 2900000 100 1 20 74 262 642 1137 ... 1232 818 438 191 79 25 6 0 1 54304
40 8200 2090000 2910000 100 1 20 75 268 655 1172 ... 1266 838 450 193 81 25 6 0 1 55659
41 8400 2080000 2920000 100 1 21 78 273 670 1193 ... 1295 858 457 197 83 25 6 0 1 57008
42 8600 2070000 2930000 100 1 21 82 283 683 1220 ... 1323 884 465 203 83 26 6 0 1 58352
43 8800 2060000 2940000 100 1 21 83 289 695 1250 ... 1347 908 478 207 86 26 6 0 1 59726
44 9000 2050000 2950000 100 1 22 85 300 707 1272 ... 1377 929 488 208 90 26 6 0 1 61071
45 9200 2040000 2960000 100 1 24 88 308 724 1300 ... 1400 946 505 210 93 26 6 0 1 62394
46 9400 2030000 2970000 100 1 24 90 314 734 1332 ... 1435 962 519 214 93 27 6 1 1 63778
47 9600 2020000 2980000 100 1 24 93 322 750 1360 ... 1461 985 534 219 94 27 6 1 1 65130
48 9800 2010000 2990000 100 1 25 94 330 765 1384 ... 1493 1008 545 221 98 27 6 1 1 66491
49 10000 2000000 3000000 100 1 25 97 337 776 1408 ... 1525 1035 559 227 98 28 6 1 1 67883

50 rows × 22 columns

The comparison tables run to fifty rows of quadruples, so here and below we chain .head() onto the caption-free form.

display(nest_data1olap,comparisons='absolute', description='off').head()
B - A A B H 0 1 2 3 4 5 ... 9 10 11 12 13 14 15 16 17 18
0 20000 2490000 2510000 100 (0, 10, -8, -19) (2, 81, -15, -56) (180, 317, 80, 23) (740, 815, 476, 471) (1350, 1552, 1282, 1390) (2728, 2341, 2332, 2525) ... (2132, 2251, 2580, 2421) (880, 1609, 1714, 1559) (334, 1034, 963, 862) (126, 602, 441, 404) (66, 320, 145, 153) (6, 156, 11, 39) (0, 70, -30, -1) (0, 29, -33, -9) (0, 11, -23, -8) (0, 4, -13, -4)
1 40000 2480000 2520000 100 (0, 20, -16, -38) (148, 163, -31, -113) (432, 635, 160, 46) (1442, 1630, 952, 943) (2962, 3105, 2565, 2780) (5350, 4683, 4664, 5051) ... (4398, 4503, 5160, 4842) (2152, 3218, 3429, 3118) (840, 2068, 1926, 1724) (314, 1204, 882, 808) (90, 640, 291, 306) (6, 312, 23, 78) (0, 140, -61, -2) (0, 58, -66, -19) (0, 22, -46, -16) (0, 8, -27, -9)
2 60000 2470000 2530000 100 (0, 31, -24, -57) (214, 245, -47, -170) (730, 953, 240, 70) (2226, 2445, 1429, 1414) (4498, 4658, 3848, 4171) (7730, 7025, 6996, 7577) ... (6838, 6755, 7741, 7263) (3388, 4828, 5144, 4678) (1322, 3102, 2889, 2587) (476, 1807, 1324, 1212) (132, 960, 437, 459) (12, 469, 35, 118) (0, 211, -92, -3) (0, 88, -99, -29) (0, 34, -70, -24) (0, 12, -40, -14)
3 80000 2460000 2540000 100 (0, 41, -32, -76) (230, 326, -63, -227) (1028, 1271, 321, 93) (3166, 3261, 1905, 1886) (6268, 6211, 5131, 5561) (10428, 9366, 9329, 10103) ... (8676, 9006, 10321, 9685) (4648, 6437, 6858, 6237) (1828, 4137, 3852, 3449) (674, 2409, 1765, 1616) (164, 1281, 582, 612) (12, 625, 46, 157) (0, 281, -123, -4) (0, 117, -132, -39) (0, 45, -93, -32) (0, 16, -54, -19)
4 100000 2450000 2550000 100 (0, 52, -41, -95) (258, 408, -79, -284) (1214, 1588, 401, 117) (3804, 4076, 2382, 2357) (7624, 7764, 6414, 6951) (13434, 11708, 11661, 12628) ... (10648, 11258, 12901, 12106) (5690, 8047, 8573, 7796) (2276, 5171, 4815, 4311) (914, 3012, 2207, 2020) (210, 1601, 728, 766) (12, 781, 58, 196) (0, 352, -154, -5) (0, 146, -165, -48) (0, 57, -117, -40) (0, 20, -68, -24)

5 rows × 23 columns

Example 2

display(retrieve_data2disj, count='partition', description='off').head()
0 1 2 3 4 5 6 7 8 9 10 11 prime_tally
65557969 0 0 0 0 0 0 0 0 0 0 0 0 0
65558989 0 1 1 2 1 5 1 0 0 0 1 0 54
65560009 0 0 0 0 5 5 1 1 0 0 0 0 58
65561029 0 0 2 2 2 3 2 1 0 0 0 0 52
65562049 0 0 1 0 3 4 1 1 2 0 0 0 63
display(retrieve_data2olap, comparisons='absolute', description='off').head()
0 1 2 3 4 5 6 7 8 9 10 11 12 13
65557969 0 0 0 0 0 0 0 0 0 0 0 0 0 0
65558989 (0, 5, 0, 0) (40, 31, 16, 14) (128, 82, 65, 66) (177, 142, 138, 144) (195, 182, 197, 202) (212, 184, 209, 210) (98, 153, 174, 170) (74, 108, 117, 112) (51, 66, 64, 60) (35, 35, 28, 26) (10, 16, 8, 9) (0, 7, 1, 2) (0, 2, 0, 0) (0, 0, -1, 0)
65560009 (0, 11, 1, 0) (45, 62, 33, 29) (180, 164, 130, 133) (280, 284, 276, 288) (485, 364, 394, 405) (521, 368, 419, 420) (238, 307, 349, 341) (154, 216, 235, 224) (79, 132, 128, 121) (48, 70, 56, 53) (10, 33, 17, 18) (0, 14, 2, 4) (0, 5, -1, 0) (0, 1, -2, 0)
65561029 (0, 17, 2, 0) (48, 93, 49, 44) (247, 246, 195, 200) (395, 426, 414, 432) (829, 546, 592, 608) (775, 553, 629, 631) (392, 461, 524, 512) (212, 325, 352, 336) (104, 198, 192, 181) (48, 106, 84, 80) (10, 50, 26, 28) (0, 21, 3, 6) (0, 8, -2, 0) (0, 2, -3, -1)
65562049 (0, 23, 3, -1) (48, 125, 66, 59) (262, 328, 260, 267) (445, 568, 552, 576) (1068, 728, 789, 811) (1080, 737, 839, 841) (629, 614, 699, 682) (299, 433, 470, 448) (169, 264, 257, 242) (69, 141, 112, 107) (11, 67, 35, 37) (0, 28, 4, 8) (0, 11, -3, 0) (0, 3, -4, -1)
display(retrieve_data2olap, comparisons='probabilities', description='off').head()
0 1 2 3 4 5 6 7 8 9 10 11 12 13
65557969 0 0 0 0 0 0 0 0 0 0 0 0 0 0
65558989 (0.0, 0.005778701344443381, 0.0009321768164829... (0.0392156862745098, 0.030702319208985536, 0.0... (0.12549019607843137, 0.08060138050813222, 0.0... (0.17352941176470588, 0.1393866964422863, 0.13... (0.19117647058823528, 0.17860647258590573, 0.1... (0.20784313725490197, 0.18085653880006008, 0.2... (0.09607843137254903, 0.15072835483128574, 0.1... (0.07254901960784314, 0.10632760152069547, 0.1... (0.05, 0.06479964704118212, 0.0630520825794851... (0.03431372549019608, 0.03465316155125581, 0.0... (0.00980392156862745, 0.016461843276652573, 0.... (0.0, 0.007015668311226328, 0.0011442693852909... (0.0, 0.002704216940090859, -0.000943991229544... (0.0, 0.0009491679036882558, -0.00100071604751...
65560009 (0.0, 0.0057787153952650345, 0.000932184260900... (0.022058823529411766, 0.030702378932092114, 0... (0.08823529411764706, 0.08060149810378546, 0.0... (0.13725490196078433, 0.13938683202727034, 0.1... (0.23774509803921567, 0.1786065594731217, 0.19... (0.2553921568627451, 0.18085653883997324, 0.20... (0.11666666666666667, 0.15072828157258367, 0.1... (0.07549019607843137, 0.10632749814016507, 0.1... (0.03872549019607843, 0.06479955252865188, 0.0... (0.023529411764705882, 0.03465309415827406, 0.... (0.004901960784313725, 0.01646180325730215, 0.... (0.0, 0.007015647844502383, 0.0011442584407660... (0.0, 0.0027042077361845284, -0.00094399199902... (0.0, 0.0009491642116255664, -0.00100071405151...
65561029 (0.0, 0.005778729445998309, 0.0009321917052807... (0.01568627450980392, 0.030702438654787192, 0.... (0.08071895424836602, 0.08060161569854893, 0.0... (0.12908496732026145, 0.13938696761111108, 0.1... (0.27091503267973854, 0.17860664635946377, 0.1... (0.25326797385620914, 0.18085653887968556, 0.2... (0.12810457516339868, 0.15072820831435563, 0.1... (0.06928104575163399, 0.10632739476047177, 0.1... (0.03398692810457516, 0.06479945801696885, 0.0... (0.01568627450980392, 0.034653026765941994, 0.... (0.0032679738562091504, 0.01646176323836154, 0... (0.0, 0.007015627377999535, 0.0011442474963822... (0.0, 0.0027041985323826003, -0.00094399276849... (0.0, 0.0009491605196067024, -0.00100071205554...
65562049 (0.0, 0.005778743496643146, 0.0009321991496227... (0.011764705882352941, 0.030702498377070453, 0... (0.0642156862745098, 0.08060173329242182, 0.06... (0.1090686274509804, 0.13938710319380707, 0.13... (0.26176470588235295, 0.17860673324493018, 0.1... (0.2647058823529412, 0.18085653891919523, 0.20... (0.15416666666666667, 0.15072813505660015, 0.1... (0.0732843137254902, 0.10632729138161454, 0.11... (0.04142156862745098, 0.06479936350613236, 0.0... (0.016911764705882352, 0.034652959374259266, 0... (0.002696078431372549, 0.01646172321983058, 0.... (0.0, 0.007015606911717711, 0.0011442365521393... (0.0, 0.0027041893286850463, -0.00094399353793... (0.0, 0.0009491568276316541, -0.00100071005958...
display(nest_data2disj,comparisons='probabilities').head()
(B - A)/H A B H 0 1 2 3 4 5 6 7 8 9 10 11 12
0 22 65658979 65660959 90 (0.0, 0.004269681843779133, 0.0003966344376837... (0.045454545454545456, 0.02401696037439715, 0.... (0.045454545454545456, 0.06679717105002388, 0.... (0.09090909090909091, 0.12246148027438541, 0.1... (0.18181818181818182, 0.16647107476975395, 0.1... (0.18181818181818182, 0.1789564054008789, 0.20... (0.18181818181818182, 0.15845098396940777, 0.1... (0.2727272727272727, 0.11883823799259051, 0.13... (0.0, 0.07705916995839368, 0.0785587454927965,... (0.0, 0.043880916232043675, 0.0381723019329632... (0.0, 0.02221471384537604, 0.0143802762415794,... (0.0, 0.010097597203763622, 0.0033588253937842... (0.0, 0.00415474051667502, -0.0004236606410890...
1 44 65657989 65661949 90 (0.0, 0.004269681843779133, 0.0003966344376837... (0.06818181818181818, 0.02401696037439715, 0.0... (0.06818181818181818, 0.06679717105002388, 0.0... (0.11363636363636363, 0.12246148027438541, 0.1... (0.20454545454545456, 0.16647107476975395, 0.1... (0.20454545454545456, 0.1789564054008789, 0.20... (0.18181818181818182, 0.15845098396940777, 0.1... (0.13636363636363635, 0.11883823799259051, 0.1... (0.022727272727272728, 0.07705916995839368, 0.... (0.0, 0.043880916232043675, 0.0381723019329632... (0.0, 0.02221471384537604, 0.0143802762415794,... (0.0, 0.010097597203763622, 0.0033588253937842... (0.0, 0.00415474051667502, -0.0004236606410890...
2 66 65656999 65662939 90 (0.0, 0.004269681843779133, 0.0003966344376837... (0.06060606060606061, 0.02401696037439715, 0.0... (0.06060606060606061, 0.06679717105002388, 0.0... (0.13636363636363635, 0.12246148027438541, 0.1... (0.19696969696969696, 0.16647107476975395, 0.1... (0.24242424242424243, 0.1789564054008789, 0.20... (0.13636363636363635, 0.15845098396940777, 0.1... (0.13636363636363635, 0.11883823799259051, 0.1... (0.030303030303030304, 0.07705916995839368, 0.... (0.0, 0.043880916232043675, 0.0381723019329632... (0.0, 0.02221471384537604, 0.0143802762415794,... (0.0, 0.010097597203763622, 0.0033588253937842... (0.0, 0.00415474051667502, -0.0004236606410890...
3 88 65656009 65663929 90 (0.0, 0.004269681843779133, 0.0003966344376837... (0.045454545454545456, 0.02401696037439715, 0.... (0.045454545454545456, 0.06679717105002388, 0.... (0.13636363636363635, 0.12246148027438541, 0.1... (0.22727272727272727, 0.16647107476975395, 0.1... (0.22727272727272727, 0.1789564054008789, 0.20... (0.13636363636363635, 0.15845098396940777, 0.1... (0.13636363636363635, 0.11883823799259051, 0.1... (0.03409090909090909, 0.07705916995839368, 0.0... (0.011363636363636364, 0.043880916232043675, 0... (0.0, 0.02221471384537604, 0.0143802762415794,... (0.0, 0.010097597203763622, 0.0033588253937842... (0.0, 0.00415474051667502, -0.0004236606410890...
4 110 65655019 65664919 90 (0.0, 0.004269681843779133, 0.0003966344376837... (0.03636363636363636, 0.02401696037439715, 0.0... (0.045454545454545456, 0.06679717105002388, 0.... (0.13636363636363635, 0.12246148027438541, 0.1... (0.23636363636363636, 0.16647107476975395, 0.1... (0.20909090909090908, 0.1789564054008789, 0.20... (0.16363636363636364, 0.15845098396940777, 0.1... (0.11818181818181818, 0.11883823799259051, 0.1... (0.045454545454545456, 0.07705916995839368, 0.... (0.00909090909090909, 0.043880916232043675, 0.... (0.0, 0.02221471384537604, 0.0143802762415794,... (0.0, 0.010097597203763622, 0.0033588253937842... (0.0, 0.00415474051667502, -0.0004236606410890...
display(nest_data2olap).tail()
B - A A B H 0 1 2 3 4 5 6 7 8 9 10 11 12 13
96 192060 65563939 65755999 90 408 3120 12408 26114 38316 40653 32506 21257 10560 4770 1528 358 54 8
97 194040 65562949 65756989 90 414 3200 12470 26294 38664 41097 33038 21447 10674 4794 1528 358 54 8
98 196020 65561959 65757979 90 414 3200 12517 26544 39044 41519 33382 21728 10880 4834 1538 358 54 8
99 198000 65560969 65758969 90 414 3212 12660 26885 39450 41874 33758 21938 10985 4860 1544 358 54 8
100 199980 65559979 65759959 90 414 3212 12769 27089 40018 42404 34116 22080 11054 4860 1544 358 54 8

To see the winners scoreboard rendered, we score the nested overlap data of Example 1 and show its first rows.

from primes_in_intervals import winners

winners(nest_data1olap)
display(nest_data1olap, winners='show').head()
B - A A B H B sq error F sq error F* sq error 1 2 3 B wins for m in F wins for m in F* wins for m in most wins 2nd most wins least wins
0 20000 2490000 2510000 100 4151021 2607133 1723328 F* F B [3, 9, 18] [0, 1, 2, 8, 13, 14] [4, 5, 6, 7, 10, 11, 12, 15, 16, 17, 18] F* F B
1 40000 2480000 2520000 100 11130663 6796337 3971322 F* F B [1, 2, 3, 4, 9, 18] [0, 8, 13, 14] [5, 6, 7, 10, 11, 12, 15, 16, 17] F* B F
2 60000 2470000 2530000 100 21435610 11962243 6854826 F* F B [1, 2, 3, 4, 9, 18] [0, 8, 13, 14] [5, 6, 7, 10, 11, 12, 15, 16, 17] F* B F
3 80000 2460000 2540000 100 36023184 22759126 12791183 F* F B [1, 2, 3, 4, 9, 18] [0, 13, 14] [5, 6, 7, 8, 10, 11, 12, 15, 16, 17] F* B F
4 100000 2450000 2550000 100 60892338 38919815 21657224 F* F B [1, 2, 3, 4, 9, 18] [0, 13, 14] [5, 6, 7, 8, 10, 11, 12, 15, 16, 17] F* B F

Example 3 (table from Gauss’s Nachlass)

# We can now re-create Goldschmidt's table in one line, in about one second.

display(partition(intervals(list(range(2*10**6,3*10**6 + 1, 10**5)), 100, 'disjoint')), orient='columns', zeroth_item='no show', count='partition')
Table 7.3: Interval type: disjoint. Lower bound: 2000000. Upper bound: 3000000. Interval length: 100. Partial counts: non-cumulative.
  2100000 2200000 2300000 2400000 2500000 2600000 2700000 2800000 2900000 3000000 totals
0 0 0 0 0 0 0 1 0 0 0 1
1 3 2 2 4 1 3 4 2 2 2 25
2 10 9 9 10 9 5 10 7 15 13 97
3 32 27 29 33 37 35 28 43 30 43 337
4 69 70 73 86 78 88 70 93 84 65 776
5 119 145 138 135 146 136 159 137 141 152 1408
6 198 183 179 177 193 193 195 195 179 189 1881
7 203 201 205 194 190 179 201 188 222 212 1995
8 158 167 168 157 151 172 141 145 131 135 1525
9 114 110 113 113 102 88 96 86 110 103 1035
10 63 52 44 54 56 57 54 68 53 58 559
11 21 18 30 29 25 25 22 24 18 15 227
12 8 9 10 7 7 13 17 9 7 11 98
13 2 4 0 1 5 6 1 2 6 1 28
14 0 3 0 0 0 0 1 0 2 0 6
15 0 0 0 0 0 0 0 0 0 1 1
17 0 0 0 0 0 0 0 1 0 0 1
prime_tally 6872 6857 6849 6791 6770 6808 6765 6717 6747 6707 67883