E-023-finite-height-assembly.py
Experiments: E-023 · script updated 08-19-2026
E-023-assembly.csv
— 710.1 KB, updated 08-19-2026
| # | n | margin_traced | margin_measured |
|---|---|---|---|
| 12502 | 250020 | 1027345.448368 | 1049167.381438 |
| 12503 | 250040 | 1027448.772759 | 1049271.454893 |
| 12504 | 250060 | 1027552.098076 | 1049375.529247 |
| 12505 | 250080 | 1027655.424322 | 1049479.604501 |
| 12506 | 250100 | 1027758.751494 | 1049583.680655 |
| 12507 | 250120 | 1027862.079594 | 1049687.757709 |
| 12508 | 250140 | 1027965.408622 | 1049791.835662 |
| 12509 | 250160 | 1028068.738576 | 1049895.914514 |
| 12510 | 250180 | 1028172.069458 | 1049999.994266 |
| 12511 | 250200 | 1028275.401267 | 1050104.074917 |
| 12512 | 250220 | 1028378.734003 | 1050208.156467 |
| 12513 | 250240 | 1028482.067665 | 1050312.238916 |
| 12514 | 250260 | 1028585.402255 | 1050416.322265 |
| 12515 | 250280 | 1028688.737771 | 1050520.406512 |
| 12516 | 250300 | 1028792.074214 | 1050624.491659 |
| 12517 | 250320 | 1028895.411584 | 1050728.577704 |
| 12518 | 250340 | 1028998.749879 | 1050832.664648 |
| 12519 | 250360 | 1029102.089102 | 1050936.752490 |
| 12520 | 250380 | 1029205.429251 | 1051040.841231 |
| 12521 | 250400 | 1029308.770325 | 1051144.930871 |
| 12522 | 250420 | 1029412.112327 | 1051249.021409 |
| 12523 | 250440 | 1029515.455254 | 1051353.112845 |
| 12524 | 250460 | 1029618.799107 | 1051457.205180 |
| 12525 | 250480 | 1029722.143886 | 1051561.298412 |
| 12526 | 250500 | 1029825.489591 | 1051665.392543 |
| 12527 | 250520 | 1029928.836222 | 1051769.487572 |
| 12528 | 250540 | 1030032.183778 | 1051873.583499 |
| 12529 | 250560 | 1030135.532260 | 1051977.680324 |
| 12530 | 250580 | 1030238.881667 | 1052081.778047 |
| 12531 | 250600 | 1030342.232000 | 1052185.876667 |
| 12532 | 250620 | 1030445.583258 | 1052289.976185 |
| 12533 | 250640 | 1030548.935442 | 1052394.076600 |
| 12534 | 250660 | 1030652.288551 | 1052498.177913 |
| 12535 | 250680 | 1030755.642585 | 1052602.280124 |
| 12536 | 250700 | 1030858.997543 | 1052706.383232 |
| 12537 | 250720 | 1030962.353427 | 1052810.487237 |
| 12538 | 250740 | 1031065.710236 | 1052914.592139 |
| 12539 | 250760 | 1031169.067969 | 1053018.697938 |
| 12540 | 250780 | 1031272.426627 | 1053122.804634 |
| 12541 | 250800 | 1031375.786210 | 1053226.912228 |
| 12542 | 250820 | 1031479.146717 | 1053331.020718 |
| 12543 | 250840 | 1031582.508149 | 1053435.130105 |
| 12544 | 250860 | 1031685.870505 | 1053539.240388 |
| 12545 | 250880 | 1031789.233786 | 1053643.351569 |
| 12546 | 250900 | 1031892.597990 | 1053747.463646 |
| 12547 | 250920 | 1031995.963119 | 1053851.576619 |
| 12548 | 250940 | 1032099.329172 | 1053955.690489 |
| 12549 | 250960 | 1032202.696149 | 1054059.805255 |
| 12550 | 250980 | 1032306.064050 | 1054163.920917 |
| 12551 | 251000 | 1032409.432874 | 1054268.037475 |
| 12552 | 251020 | 1032512.802622 | 1054372.154930 |
| 12553 | 251040 | 1032616.173294 | 1054476.273280 |
| 12554 | 251060 | 1032719.544890 | 1054580.392527 |
| 12555 | 251080 | 1032822.917409 | 1054684.512669 |
| 12556 | 251100 | 1032926.290851 | 1054788.633707 |
| 12557 | 251120 | 1033029.665217 | 1054892.755641 |
| 12558 | 251140 | 1033133.040506 | 1054996.878471 |
| 12559 | 251160 | 1033236.416718 | 1055101.002196 |
| 12560 | 251180 | 1033339.793853 | 1055205.126816 |
| 12561 | 251200 | 1033443.171911 | 1055309.252332 |
| 12562 | 251220 | 1033546.550892 | 1055413.378743 |
| 12563 | 251240 | 1033649.930796 | 1055517.506050 |
| 12564 | 251260 | 1033753.311623 | 1055621.634251 |
| 12565 | 251280 | 1033856.693373 | 1055725.763348 |
| 12566 | 251300 | 1033960.076045 | 1055829.893340 |
| 12567 | 251320 | 1034063.459639 | 1055934.024226 |
| 12568 | 251340 | 1034166.844156 | 1056038.156008 |
| 12569 | 251360 | 1034270.229596 | 1056142.288684 |
| 12570 | 251380 | 1034373.615957 | 1056246.422255 |
| 12571 | 251400 | 1034477.003241 | 1056350.556720 |
| 12572 | 251420 | 1034580.391447 | 1056454.692080 |
| 12573 | 251440 | 1034683.780575 | 1056558.828335 |
| 12574 | 251460 | 1034787.170625 | 1056662.965484 |
| 12575 | 251480 | 1034890.561597 | 1056767.103527 |
| 12576 | 251500 | 1034993.953490 | 1056871.242465 |
| 12577 | 251520 | 1035097.346306 | 1056975.382296 |
| 12578 | 251540 | 1035200.740043 | 1057079.523022 |
| 12579 | 251560 | 1035304.134701 | 1057183.664642 |
| 12580 | 251580 | 1035407.530281 | 1057287.807156 |
| 12581 | 251600 | 1035510.926783 | 1057391.950563 |
| 12582 | 251620 | 1035614.324205 | 1057496.094864 |
| 12583 | 251640 | 1035717.722549 | 1057600.240059 |
| 12584 | 251660 | 1035821.121814 | 1057704.386148 |
| 12585 | 251680 | 1035924.522000 | 1057808.533130 |
| 12586 | 251700 | 1036027.923108 | 1057912.681006 |
| 12587 | 251720 | 1036131.325136 | 1058016.829775 |
| 12588 | 251740 | 1036234.728084 | 1058120.979437 |
| 12589 | 251760 | 1036338.131954 | 1058225.129992 |
| 12590 | 251780 | 1036441.536744 | 1058329.281441 |
| 12591 | 251800 | 1036544.942455 | 1058433.433783 |
| 12592 | 251820 | 1036648.349087 | 1058537.587017 |
| 12593 | 251840 | 1036751.756639 | 1058641.741145 |
| 12594 | 251860 | 1036855.165111 | 1058745.896166 |
| 12595 | 251880 | 1036958.574503 | 1058850.052079 |
| 12596 | 251900 | 1037061.984816 | 1058954.208885 |
| 12597 | 251920 | 1037165.396049 | 1059058.366583 |
| 12598 | 251940 | 1037268.808201 | 1059162.525175 |
| 12599 | 251960 | 1037372.221274 | 1059266.684658 |
| 12600 | 251980 | 1037475.635267 | 1059370.845034 |
| 12601 | 252000 | 1037579.050179 | 1059475.006302 |
| 12602 | 252020 | 1037682.466011 | 1059579.168463 |
| 12603 | 252040 | 1037785.882763 | 1059683.331516 |
| 12604 | 252060 | 1037889.300434 | 1059787.495460 |
| 12605 | 252080 | 1037992.719025 | 1059891.660297 |
| 12606 | 252100 | 1038096.138535 | 1059995.826026 |
| 12607 | 252120 | 1038199.558965 | 1060099.992646 |
| 12608 | 252140 | 1038302.980313 | 1060204.160158 |
| 12609 | 252160 | 1038406.402581 | 1060308.328562 |
| 12610 | 252180 | 1038509.825768 | 1060412.497858 |
| 12611 | 252200 | 1038613.249874 | 1060516.668045 |
| 12612 | 252220 | 1038716.674899 | 1060620.839124 |
| 12613 | 252240 | 1038820.100842 | 1060725.011094 |
| 12614 | 252260 | 1038923.527705 | 1060829.183955 |
| 12615 | 252280 | 1039026.955486 | 1060933.357707 |
| 12616 | 252300 | 1039130.384185 | 1061037.532351 |
| 12617 | 252320 | 1039233.813803 | 1061141.707886 |
| 12618 | 252340 | 1039337.244340 | 1061245.884312 |
| 12619 | 252360 | 1039440.675795 | 1061350.061628 |
| 12620 | 252380 | 1039544.108168 | 1061454.239836 |
| 12621 | 252400 | 1039647.541459 | 1061558.418934 |
| 12622 | 252420 | 1039750.975669 | 1061662.598923 |
| 12623 | 252440 | 1039854.410796 | 1061766.779803 |
| 12624 | 252460 | 1039957.846842 | 1061870.961573 |
| 12625 | 252480 | 1040061.283805 | 1061975.144233 |
| 12626 | 252500 | 1040164.721686 | 1062079.327784 |
| 12627 | 252520 | 1040268.160485 | 1062183.512226 |
| 12628 | 252540 | 1040371.600201 | 1062287.697557 |
| 12629 | 252560 | 1040475.040835 | 1062391.883779 |
| 12630 | 252580 | 1040578.482387 | 1062496.070891 |
| 12631 | 252600 | 1040681.924855 | 1062600.258892 |
| 12632 | 252620 | 1040785.368242 | 1062704.447784 |
| 12633 | 252640 | 1040888.812545 | 1062808.637566 |
| 12634 | 252660 | 1040992.257765 | 1062912.828237 |
| 12635 | 252680 | 1041095.703903 | 1063017.019798 |
| 12636 | 252700 | 1041199.150958 | 1063121.212249 |
| 12637 | 252720 | 1041302.598929 | 1063225.405589 |
| 12638 | 252740 | 1041406.047817 | 1063329.599819 |
| 12639 | 252760 | 1041509.497623 | 1063433.794938 |
| 12640 | 252780 | 1041612.948344 | 1063537.990946 |
| 12641 | 252800 | 1041716.399983 | 1063642.187844 |
| 12642 | 252820 | 1041819.852537 | 1063746.385631 |
| 12643 | 252840 | 1041923.306009 | 1063850.584306 |
| 12644 | 252860 | 1042026.760396 | 1063954.783871 |
| 12645 | 252880 | 1042130.215700 | 1064058.984325 |
| 12646 | 252900 | 1042233.671920 | 1064163.185668 |
| 12647 | 252920 | 1042337.129057 | 1064267.387899 |
| 12648 | 252940 | 1042440.587109 | 1064371.591020 |
| 12649 | 252960 | 1042544.046077 | 1064475.795028 |
| 12650 | 252980 | 1042647.505961 | 1064579.999926 |
| 12651 | 253000 | 1042750.966761 | 1064684.205712 |
| 12652 | 253020 | 1042854.428477 | 1064788.412386 |
| 12653 | 253040 | 1042957.891108 | 1064892.619948 |
| 12654 | 253060 | 1043061.354655 | 1064996.828399 |
| 12655 | 253080 | 1043164.819117 | 1065101.037738 |
| 12656 | 253100 | 1043268.284495 | 1065205.247965 |
| 12657 | 253120 | 1043371.750788 | 1065309.459080 |
| 12658 | 253140 | 1043475.217996 | 1065413.671083 |
| 12659 | 253160 | 1043578.686120 | 1065517.883974 |
| 12660 | 253180 | 1043682.155158 | 1065622.097753 |
| 12661 | 253200 | 1043785.625112 | 1065726.312419 |
| 12662 | 253220 | 1043889.095980 | 1065830.527974 |
| 12663 | 253240 | 1043992.567763 | 1065934.744415 |
| 12664 | 253260 | 1044096.040461 | 1066038.961744 |
| 12665 | 253280 | 1044199.514074 | 1066143.179961 |
| 12666 | 253300 | 1044302.988601 | 1066247.399065 |
| 12667 | 253320 | 1044406.464043 | 1066351.619056 |
| 12668 | 253340 | 1044509.940400 | 1066455.839934 |
| 12669 | 253360 | 1044613.417670 | 1066560.061700 |
| 12670 | 253380 | 1044716.895855 | 1066664.284352 |
| 12671 | 253400 | 1044820.374954 | 1066768.507891 |
| 12672 | 253420 | 1044923.854968 | 1066872.732318 |
| 12673 | 253440 | 1045027.335895 | 1066976.957631 |
| 12674 | 253460 | 1045130.817736 | 1067081.183831 |
| 12675 | 253480 | 1045234.300492 | 1067185.410917 |
| 12676 | 253500 | 1045337.784161 | 1067289.638890 |
| 12677 | 253520 | 1045441.268744 | 1067393.867750 |
| 12678 | 253540 | 1045544.754240 | 1067498.097496 |
| 12679 | 253560 | 1045648.240650 | 1067602.328128 |
| 12680 | 253580 | 1045751.727974 | 1067706.559647 |
| 12681 | 253600 | 1045855.216210 | 1067810.792051 |
| 12682 | 253620 | 1045958.705361 | 1067915.025342 |
| 12683 | 253640 | 1046062.195424 | 1068019.259519 |
| 12684 | 253660 | 1046165.686401 | 1068123.494582 |
| 12685 | 253680 | 1046269.178291 | 1068227.730531 |
| 12686 | 253700 | 1046372.671094 | 1068331.967365 |
| 12687 | 253720 | 1046476.164810 | 1068436.205086 |
| 12688 | 253740 | 1046579.659438 | 1068540.443692 |
| 12689 | 253760 | 1046683.154980 | 1068644.683183 |
| 12690 | 253780 | 1046786.651434 | 1068748.923561 |
| 12691 | 253800 | 1046890.148801 | 1068853.164823 |
| 12692 | 253820 | 1046993.647080 | 1068957.406971 |
| 12693 | 253840 | 1047097.146272 | 1069061.650004 |
| 12694 | 253860 | 1047200.646376 | 1069165.893923 |
| 12695 | 253880 | 1047304.147393 | 1069270.138726 |
| 12696 | 253900 | 1047407.649321 | 1069374.384415 |
| 12697 | 253920 | 1047511.152162 | 1069478.630989 |
| 12698 | 253940 | 1047614.655915 | 1069582.878447 |
| 12699 | 253960 | 1047718.160580 | 1069687.126790 |
| 12700 | 253980 | 1047821.666157 | 1069791.376019 |
| 12701 | 254000 | 1047925.172646 | 1069895.626131 |
| 12702 | 254020 | 1048028.680046 | 1069999.877129 |
| 12703 | 254040 | 1048132.188359 | 1070104.129011 |
| 12704 | 254060 | 1048235.697582 | 1070208.381777 |
| 12705 | 254080 | 1048339.207718 | 1070312.635428 |
| 12706 | 254100 | 1048442.718765 | 1070416.889963 |
| 12707 | 254120 | 1048546.230723 | 1070521.145382 |
| 12708 | 254140 | 1048649.743592 | 1070625.401685 |
| 12709 | 254160 | 1048753.257373 | 1070729.658873 |
| 12710 | 254180 | 1048856.772065 | 1070833.916945 |
| 12711 | 254200 | 1048960.287667 | 1070938.175900 |
| 12712 | 254220 | 1049063.804181 | 1071042.435739 |
| 12713 | 254240 | 1049167.321606 | 1071146.696462 |
| 12714 | 254260 | 1049270.839941 | 1071250.958069 |
| 12715 | 254280 | 1049374.359188 | 1071355.220559 |
| 12716 | 254300 | 1049477.879345 | 1071459.483933 |
| 12717 | 254320 | 1049581.400412 | 1071563.748191 |
| 12718 | 254340 | 1049684.922390 | 1071668.013332 |
| 12719 | 254360 | 1049788.445279 | 1071772.279356 |
| 12720 | 254380 | 1049891.969077 | 1071876.546263 |
| 12721 | 254400 | 1049995.493787 | 1071980.814054 |
| 12722 | 254420 | 1050099.019406 | 1072085.082727 |
| 12723 | 254440 | 1050202.545935 | 1072189.352284 |
| 12724 | 254460 | 1050306.073375 | 1072293.622724 |
| 12725 | 254480 | 1050409.601724 | 1072397.894046 |
| 12726 | 254500 | 1050513.130983 | 1072502.166251 |
| 12727 | 254520 | 1050616.661152 | 1072606.439339 |
| 12728 | 254540 | 1050720.192231 | 1072710.713310 |
| 12729 | 254560 | 1050823.724219 | 1072814.988163 |
| 12730 | 254580 | 1050927.257117 | 1072919.263899 |
| 12731 | 254600 | 1051030.790925 | 1073023.540517 |
| 12732 | 254620 | 1051134.325641 | 1073127.818017 |
| 12733 | 254640 | 1051237.861268 | 1073232.096400 |
| 12734 | 254660 | 1051341.397803 | 1073336.375665 |
| 12735 | 254680 | 1051444.935248 | 1073440.655812 |
| 12736 | 254700 | 1051548.473601 | 1073544.936841 |
| 12737 | 254720 | 1051652.012864 | 1073649.218752 |
| 12738 | 254740 | 1051755.553036 | 1073753.501545 |
| 12739 | 254760 | 1051859.094116 | 1073857.785220 |
| 12740 | 254780 | 1051962.636105 | 1073962.069776 |
| 12741 | 254800 | 1052066.179003 | 1074066.355215 |
| 12742 | 254820 | 1052169.722810 | 1074170.641534 |
| 12743 | 254840 | 1052273.267525 | 1074274.928736 |
| 12744 | 254860 | 1052376.813149 | 1074379.216818 |
| 12745 | 254880 | 1052480.359680 | 1074483.505782 |
| 12746 | 254900 | 1052583.907121 | 1074587.795628 |
| 12747 | 254920 | 1052687.455469 | 1074692.086354 |
| 12748 | 254940 | 1052791.004726 | 1074796.377962 |
| 12749 | 254960 | 1052894.554891 | 1074900.670451 |
| 12750 | 254980 | 1052998.105963 | 1075004.963821 |
| 12751 | 255000 | 1053101.657944 | 1075109.258071 |
| 12752 | 255020 | 1053205.210833 | 1075213.553203 |
| 12753 | 255040 | 1053308.764629 | 1075317.849215 |
| 12754 | 255060 | 1053412.319333 | 1075422.146108 |
| 12755 | 255080 | 1053515.874944 | 1075526.443882 |
| 12756 | 255100 | 1053619.431463 | 1075630.742536 |
| 12757 | 255120 | 1053722.988890 | 1075735.042071 |
| 12758 | 255140 | 1053826.547224 | 1075839.342486 |
| 12759 | 255160 | 1053930.106465 | 1075943.643781 |
| 12760 | 255180 | 1054033.666613 | 1076047.945956 |
| 12761 | 255200 | 1054137.227669 | 1076152.249012 |
| 12762 | 255220 | 1054240.789632 | 1076256.552948 |
| 12763 | 255240 | 1054344.352501 | 1076360.857764 |
| 12764 | 255260 | 1054447.916278 | 1076465.163460 |
| 12765 | 255280 | 1054551.480961 | 1076569.470035 |
| 12766 | 255300 | 1054655.046551 | 1076673.777491 |
| 12767 | 255320 | 1054758.613048 | 1076778.085826 |
| 12768 | 255340 | 1054862.180451 | 1076882.395041 |
| 12769 | 255360 | 1054965.748761 | 1076986.705135 |
| 12770 | 255380 | 1055069.317977 | 1077091.016109 |
| 12771 | 255400 | 1055172.888100 | 1077195.327962 |
| 12772 | 255420 | 1055276.459129 | 1077299.640695 |
| 12773 | 255440 | 1055380.031064 | 1077403.954307 |
| 12774 | 255460 | 1055483.603905 | 1077508.268798 |
| 12775 | 255480 | 1055587.177652 | 1077612.584168 |
| 12776 | 255500 | 1055690.752306 | 1077716.900417 |
| 12777 | 255520 | 1055794.327865 | 1077821.217546 |
| 12778 | 255540 | 1055897.904330 | 1077925.535553 |
| 12779 | 255560 | 1056001.481701 | 1078029.854439 |
| 12780 | 255580 | 1056105.059977 | 1078134.174204 |
| 12781 | 255600 | 1056208.639159 | 1078238.494847 |
| 12782 | 255620 | 1056312.219246 | 1078342.816369 |
| 12783 | 255640 | 1056415.800239 | 1078447.138769 |
| 12784 | 255660 | 1056519.382137 | 1078551.462048 |
| 12785 | 255680 | 1056622.964941 | 1078655.786206 |
| 12786 | 255700 | 1056726.548650 | 1078760.111241 |
| 12787 | 255720 | 1056830.133263 | 1078864.437155 |
| 12788 | 255740 | 1056933.718782 | 1078968.763947 |
| 12789 | 255760 | 1057037.305206 | 1079073.091617 |
| 12790 | 255780 | 1057140.892535 | 1079177.420165 |
| 12791 | 255800 | 1057244.480768 | 1079281.749591 |
| 12792 | 255820 | 1057348.069906 | 1079386.079895 |
| 12793 | 255840 | 1057451.659949 | 1079490.411077 |
| 12794 | 255860 | 1057555.250897 | 1079594.743136 |
| 12795 | 255880 | 1057658.842749 | 1079699.076073 |
| 12796 | 255900 | 1057762.435505 | 1079803.409888 |
| 12797 | 255920 | 1057866.029166 | 1079907.744580 |
| 12798 | 255940 | 1057969.623731 | 1080012.080149 |
| 12799 | 255960 | 1058073.219200 | 1080116.416596 |
| 12800 | 255980 | 1058176.815573 | 1080220.753920 |
| 12801 | 256000 | 1058280.412850 | 1080325.092121 |
| 12802 | 256020 | 1058384.011031 | 1080429.431199 |
| 12803 | 256040 | 1058487.610116 | 1080533.771155 |
| 12804 | 256060 | 1058591.210105 | 1080638.111987 |
| 12805 | 256080 | 1058694.810998 | 1080742.453696 |
| 12806 | 256100 | 1058798.412794 | 1080846.796282 |
| 12807 | 256120 | 1058902.015494 | 1080951.139745 |
| 12808 | 256140 | 1059005.619097 | 1081055.484084 |
| 12809 | 256160 | 1059109.223604 | 1081159.829300 |
| 12810 | 256180 | 1059212.829014 | 1081264.175393 |
| 12811 | 256200 | 1059316.435327 | 1081368.522361 |
| 12812 | 256220 | 1059420.042544 | 1081472.870207 |
| 12813 | 256240 | 1059523.650663 | 1081577.218928 |
| 12814 | 256260 | 1059627.259686 | 1081681.568526 |
| 12815 | 256280 | 1059730.869611 | 1081785.919000 |
| 12816 | 256300 | 1059834.480440 | 1081890.270350 |
| 12817 | 256320 | 1059938.092171 | 1081994.622576 |
| 12818 | 256340 | 1060041.704805 | 1082098.975678 |
| 12819 | 256360 | 1060145.318341 | 1082203.329656 |
| 12820 | 256380 | 1060248.932781 | 1082307.684509 |
| 12821 | 256400 | 1060352.548122 | 1082412.040239 |
| 12822 | 256420 | 1060456.164366 | 1082516.396843 |
| 12823 | 256440 | 1060559.781512 | 1082620.754324 |
| 12824 | 256460 | 1060663.399561 | 1082725.112680 |
| 12825 | 256480 | 1060767.018512 | 1082829.471911 |
| 12826 | 256500 | 1060870.638365 | 1082933.832018 |
| 12827 | 256520 | 1060974.259119 | 1083038.193000 |
| 12828 | 256540 | 1061077.880776 | 1083142.554857 |
| 12829 | 256560 | 1061181.503335 | 1083246.917589 |
| 12830 | 256580 | 1061285.126795 | 1083351.281196 |
| 12831 | 256600 | 1061388.751157 | 1083455.645678 |
| 12832 | 256620 | 1061492.376421 | 1083560.011035 |
| 12833 | 256640 | 1061596.002587 | 1083664.377267 |
| 12834 | 256660 | 1061699.629653 | 1083768.744374 |
| 12835 | 256680 | 1061803.257622 | 1083873.112355 |
| 12836 | 256700 | 1061906.886491 | 1083977.481211 |
| 12837 | 256720 | 1062010.516262 | 1084081.850941 |
| 12838 | 256740 | 1062114.146934 | 1084186.221546 |
| 12839 | 256760 | 1062217.778507 | 1084290.593025 |
| 12840 | 256780 | 1062321.410981 | 1084394.965378 |
| 12841 | 256800 | 1062425.044356 | 1084499.338606 |
| 12842 | 256820 | 1062528.678632 | 1084603.712708 |
| 12843 | 256840 | 1062632.313809 | 1084708.087684 |
| 12844 | 256860 | 1062735.949886 | 1084812.463534 |
| 12845 | 256880 | 1062839.586864 | 1084916.840257 |
| 12846 | 256900 | 1062943.224743 | 1085021.217855 |
| 12847 | 256920 | 1063046.863522 | 1085125.596327 |
| 12848 | 256940 | 1063150.503201 | 1085229.975672 |
| 12849 | 256960 | 1063254.143781 | 1085334.355890 |
| 12850 | 256980 | 1063357.785261 | 1085438.736983 |
| 12851 | 257000 | 1063461.427641 | 1085543.118949 |
| 12852 | 257020 | 1063565.070922 | 1085647.501788 |
| 12853 | 257040 | 1063668.715102 | 1085751.885500 |
| 12854 | 257060 | 1063772.360182 | 1085856.270086 |
| 12855 | 257080 | 1063876.006162 | 1085960.655545 |
| 12856 | 257100 | 1063979.653042 | 1086065.041877 |
| 12857 | 257120 | 1064083.300822 | 1086169.429082 |
| 12858 | 257140 | 1064186.949501 | 1086273.817160 |
| 12859 | 257160 | 1064290.599080 | 1086378.206111 |
| 12860 | 257180 | 1064394.249558 | 1086482.595935 |
| 12861 | 257200 | 1064497.900936 | 1086586.986632 |
| 12862 | 257220 | 1064601.553213 | 1086691.378201 |
| 12863 | 257240 | 1064705.206389 | 1086795.770643 |
| 12864 | 257260 | 1064808.860465 | 1086900.163957 |
| 12865 | 257280 | 1064912.515439 | 1087004.558144 |
| 12866 | 257300 | 1065016.171313 | 1087108.953203 |
| 12867 | 257320 | 1065119.828085 | 1087213.349135 |
| 12868 | 257340 | 1065223.485757 | 1087317.745938 |
| 12869 | 257360 | 1065327.144327 | 1087422.143614 |
| 12870 | 257380 | 1065430.803796 | 1087526.542162 |
| 12871 | 257400 | 1065534.464163 | 1087630.941582 |
| 12872 | 257420 | 1065638.125429 | 1087735.341874 |
| 12873 | 257440 | 1065741.787594 | 1087839.743038 |
| 12874 | 257460 | 1065845.450657 | 1087944.145073 |
| 12875 | 257480 | 1065949.114618 | 1088048.547980 |
| 12876 | 257500 | 1066052.779478 | 1088152.951759 |
| 12877 | 257520 | 1066156.445235 | 1088257.356410 |
| 12878 | 257540 | 1066260.111891 | 1088361.761932 |
| 12879 | 257560 | 1066363.779445 | 1088466.168325 |
| 12880 | 257580 | 1066467.447897 | 1088570.575590 |
| 12881 | 257600 | 1066571.117247 | 1088674.983726 |
| 12882 | 257620 | 1066674.787494 | 1088779.392733 |
| 12883 | 257640 | 1066778.458639 | 1088883.802611 |
| 12884 | 257660 | 1066882.130682 | 1088988.213361 |
| 12885 | 257680 | 1066985.803623 | 1089092.624981 |
| 12886 | 257700 | 1067089.477461 | 1089197.037472 |
| 12887 | 257720 | 1067193.152196 | 1089301.450834 |
| 12888 | 257740 | 1067296.827829 | 1089405.865067 |
| 12889 | 257760 | 1067400.504358 | 1089510.280171 |
| 12890 | 257780 | 1067504.181786 | 1089614.696145 |
| 12891 | 257800 | 1067607.860110 | 1089719.112990 |
| 12892 | 257820 | 1067711.539331 | 1089823.530705 |
| 12893 | 257840 | 1067815.219449 | 1089927.949290 |
| 12894 | 257860 | 1067918.900464 | 1090032.368746 |
| 12895 | 257880 | 1068022.582376 | 1090136.789072 |
| 12896 | 257900 | 1068126.265185 | 1090241.210269 |
| 12897 | 257920 | 1068229.948890 | 1090345.632335 |
| 12898 | 257940 | 1068333.633492 | 1090450.055272 |
| 12899 | 257960 | 1068437.318990 | 1090554.479078 |
| 12900 | 257980 | 1068541.005385 | 1090658.903754 |
| 12901 | 258000 | 1068644.692676 | 1090763.329300 |
| 12902 | 258020 | 1068748.380864 | 1090867.755716 |
| 12903 | 258040 | 1068852.069947 | 1090972.183002 |
| 12904 | 258060 | 1068955.759927 | 1091076.611157 |
| 12905 | 258080 | 1069059.450803 | 1091181.040181 |
| 12906 | 258100 | 1069163.142574 | 1091285.470075 |
| 12907 | 258120 | 1069266.835242 | 1091389.900839 |
| 12908 | 258140 | 1069370.528805 | 1091494.332471 |
| 12909 | 258160 | 1069474.223265 | 1091598.764973 |
| 12910 | 258180 | 1069577.918619 | 1091703.198344 |
| 12911 | 258200 | 1069681.614870 | 1091807.632585 |
| 12912 | 258220 | 1069785.312016 | 1091912.067694 |
| 12913 | 258240 | 1069889.010057 | 1092016.503672 |
| 12914 | 258260 | 1069992.708994 | 1092120.940519 |
| 12915 | 258280 | 1070096.408826 | 1092225.378235 |
| 12916 | 258300 | 1070200.109553 | 1092329.816819 |
| 12917 | 258320 | 1070303.811175 | 1092434.256272 |
| 12918 | 258340 | 1070407.513693 | 1092538.696594 |
| 12919 | 258360 | 1070511.217105 | 1092643.137784 |
| 12920 | 258380 | 1070614.921412 | 1092747.579843 |
| 12921 | 258400 | 1070718.626614 | 1092852.022770 |
| 12922 | 258420 | 1070822.332711 | 1092956.466565 |
| 12923 | 258440 | 1070926.039703 | 1093060.911228 |
| 12924 | 258460 | 1071029.747589 | 1093165.356760 |
| 12925 | 258480 | 1071133.456369 | 1093269.803159 |
| 12926 | 258500 | 1071237.166044 | 1093374.250427 |
| 12927 | 258520 | 1071340.876614 | 1093478.698562 |
| 12928 | 258540 | 1071444.588078 | 1093583.147566 |
| 12929 | 258560 | 1071548.300436 | 1093687.597437 |
| 12930 | 258580 | 1071652.013688 | 1093792.048176 |
| 12931 | 258600 | 1071755.727834 | 1093896.499782 |
| 12932 | 258620 | 1071859.442874 | 1094000.952256 |
| 12933 | 258640 | 1071963.158808 | 1094105.405598 |
| 12934 | 258660 | 1072066.875636 | 1094209.859806 |
| 12935 | 258680 | 1072170.593358 | 1094314.314883 |
| 12936 | 258700 | 1072274.311973 | 1094418.770826 |
| 12937 | 258720 | 1072378.031482 | 1094523.227637 |
| 12938 | 258740 | 1072481.751885 | 1094627.685314 |
| 12939 | 258760 | 1072585.473181 | 1094732.143859 |
| 12940 | 258780 | 1072689.195370 | 1094836.603271 |
| 12941 | 258800 | 1072792.918453 | 1094941.063550 |
| 12942 | 258820 | 1072896.642428 | 1095045.524695 |
| 12943 | 258840 | 1073000.367298 | 1095149.986707 |
| 12944 | 258860 | 1073104.093060 | 1095254.449586 |
| 12945 | 258880 | 1073207.819715 | 1095358.913332 |
| 12946 | 258900 | 1073311.547263 | 1095463.377944 |
| 12947 | 258920 | 1073415.275704 | 1095567.843422 |
| 12948 | 258940 | 1073519.005038 | 1095672.309767 |
| 12949 | 258960 | 1073622.735264 | 1095776.776978 |
| 12950 | 258980 | 1073726.466383 | 1095881.245056 |
| 12951 | 259000 | 1073830.198395 | 1095985.713999 |
| 12952 | 259020 | 1073933.931299 | 1096090.183809 |
| 12953 | 259040 | 1074037.665095 | 1096194.654485 |
| 12954 | 259060 | 1074141.399784 | 1096299.126026 |
| 12955 | 259080 | 1074245.135365 | 1096403.598434 |
| 12956 | 259100 | 1074348.871838 | 1096508.071707 |
| 12957 | 259120 | 1074452.609204 | 1096612.545846 |
| 12958 | 259140 | 1074556.347461 | 1096717.020851 |
| 12959 | 259160 | 1074660.086611 | 1096821.496721 |
| 12960 | 259180 | 1074763.826652 | 1096925.973457 |
| 12961 | 259200 | 1074867.567585 | 1097030.451059 |
| 12962 | 259220 | 1074971.309409 | 1097134.929525 |
| 12963 | 259240 | 1075075.052126 | 1097239.408857 |
| 12964 | 259260 | 1075178.795734 | 1097343.889054 |
| 12965 | 259280 | 1075282.540233 | 1097448.370117 |
| 12966 | 259300 | 1075386.285624 | 1097552.852044 |
| 12967 | 259320 | 1075490.031906 | 1097657.334837 |
| 12968 | 259340 | 1075593.779080 | 1097761.818494 |
| 12969 | 259360 | 1075697.527144 | 1097866.303016 |
| 12970 | 259380 | 1075801.276100 | 1097970.788403 |
| 12971 | 259400 | 1075905.025947 | 1098075.274655 |
| 12972 | 259420 | 1076008.776685 | 1098179.761771 |
| 12973 | 259440 | 1076112.528314 | 1098284.249752 |
| 12974 | 259460 | 1076216.280833 | 1098388.738598 |
| 12975 | 259480 | 1076320.034243 | 1098493.228308 |
| 12976 | 259500 | 1076423.788544 | 1098597.718882 |
| 12977 | 259520 | 1076527.543736 | 1098702.210321 |
| 12978 | 259540 | 1076631.299818 | 1098806.702623 |
| 12979 | 259560 | 1076735.056791 | 1098911.195790 |
| 12980 | 259580 | 1076838.814653 | 1099015.689821 |
| 12981 | 259600 | 1076942.573407 | 1099120.184716 |
| 12982 | 259620 | 1077046.333050 | 1099224.680475 |
| 12983 | 259640 | 1077150.093583 | 1099329.177098 |
| 12984 | 259660 | 1077253.855007 | 1099433.674584 |
| 12985 | 259680 | 1077357.617321 | 1099538.172935 |
| 12986 | 259700 | 1077461.380524 | 1099642.672149 |
| 12987 | 259720 | 1077565.144618 | 1099747.172226 |
| 12988 | 259740 | 1077668.909601 | 1099851.673167 |
| 12989 | 259760 | 1077772.675473 | 1099956.174971 |
| 12990 | 259780 | 1077876.442236 | 1100060.677639 |
| 12991 | 259800 | 1077980.209888 | 1100165.181170 |
| 12992 | 259820 | 1078083.978429 | 1100269.685564 |
| 12993 | 259840 | 1078187.747860 | 1100374.190822 |
| 12994 | 259860 | 1078291.518180 | 1100478.696942 |
| 12995 | 259880 | 1078395.289390 | 1100583.203926 |
| 12996 | 259900 | 1078499.061488 | 1100687.711772 |
| 12997 | 259920 | 1078602.834476 | 1100792.220481 |
| 12998 | 259940 | 1078706.608352 | 1100896.730053 |
| 12999 | 259960 | 1078810.383118 | 1101001.240488 |
| 13000 | 259980 | 1078914.158773 | 1101105.751785 |
| 13001 | 260000 | 1079017.935316 | 1101210.263945 |
E-023-assembly.json
— 1.2 KB, updated 08-19-2026
JSON sidecar (click to expand)
{
"experiment": "E-023",
"task": "3.8 support: D-037 assembly (short-segment max, S_inf lower bound validation, margin/N0/N1)",
"script": "research/numerics/scripts/E-023-finite-height-assembly.py",
"checks": {
"V1_sinf_lower_holds": true,
"V2_margin_positive_convex": true,
"V3_lambda_positive_3000": true
},
"key_values": {
"M0_grid_max": 1.3323650421270834,
"M0_lipschitz": 1.4075796709577815,
"M0_use": 1.335180201468999,
"C1": -1.1303307007539063,
"C1_lower_form": -1.4189385332046727,
"sinf_lower_min_slack": 9.520071987843544,
"N0_measured_constants": 30217,
"N0_traced_constants": 32871,
"margin_N0_traced": 0.0795673057436943,
"margin_at": {
"32871": 0.0795673057436943,
"100000": 287298.63095573196,
"1000000": 5256686.503113639,
"1000000000": 8938721534.500193,
"1000000000000": 12396419838890.791,
"1000000000000000000": 1.9304327085473796e+19,
"8999999999994000000000001": 2.457962538414764e+26
},
"N1": 8999999999994000000000001,
"N1_conservative_lagarias_window": 2.725978018024122e+21,
"T0_platt_trudgian": 3000000000000.0
},
"elapsed_seconds": 56.2
}
Source code
Python script (click to expand)
"""E-023 — task 3.8 support: D-037 assembly computation.
Three components:
S1. Short-segment max M0 = max |zeta'/zeta(-5/2+it)| for |t| <= 10.
CLOSES THE D-036 GAP: the |R(s)| <= A log(t+2)+B0 bound was
E-021-verified only for |t| >= 10; segment (III) passes within
0.5 of the trivial pole at w = -2 (digamma pole), so the uniform
bound fails near t = 0. Method: mpmath dps 30 grid (step 0.002)
via the E-021 xi-route + sampled-Lipschitz correction x2 safety.
(Only feeds an additive O(1) constant; slack is enormous.)
S2. Validate the explicit S_inf lower bound used in D-037:
S_inf(n) >= (1/2) n log n + (C1 - gamma/2) n - 4 (n >= 20)
against E-021's EXACT S_inf (n <= 5000, validated 4.8e-25).
S3. Assemble the full |S_f(n)| bound B(n) (D-036 constants, A = 0.9,
B0 = 1.0, M0 from S1) and the margin
margin(n) = Sinf_lower(n) - B(n) + 1;
find N0 (margin > 0 and increasing); print margin at reference
points and at N1 = (T0-1)^2, T0 = 3e12 (Platt-Trudgian 2021);
conservative fallback N1* = T0^2/(4 log^2 T0) (Lagarias (1.16)).
Checks:
V1. S_inf lower bound holds for all 20 <= n <= 5000 (exact values).
V2. margin(n) > 0 for all n in [N0, 1e7] (grid, step 1) and margin
convex (2nd differences > 0) on a log grid to N1 — with
convexity + margin(N0) > 0 + margin'(N0) > 0 this gives
margin(n) > 0 for ALL n in [N0, N1] (analytic in D-037).
V3. lambda_n > 0 reconfirmed for n <= 3000 from E-021 exact CSV.
Outputs: research/numerics/data/E-023-assembly.csv (+ .json)
"""
import json
import sys
import time
from pathlib import Path
import mpmath as mp
import numpy as np
REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
E021 = DATA / "E-021-sinf-sf-curve.csv"
CSV = DATA / "E-023-assembly.csv"
JSON = DATA / "E-023-assembly.json"
GAMMA = 0.577215664901532860606512090082402431
C1 = (GAMMA - 1 - np.log(2 * np.pi)) / 2 # -1.1303...
C1L = C1 - GAMMA / 2 # -1.4189... (lower-bound form)
A_USE, B0_USE = 0.9, 1.0
T0_PLATT = 3.0e12
# ---------------------------------------------------------------- S1
def zeta_logder(s):
"""zeta'/zeta via xi'/xi minus explicit terms (E-021 route, dps 30)."""
sm = mp.mpc(s.real, s.imag)
def xi_mp(u):
return 0.5 * u * (u - 1) * mp.pi ** (-u / 2) * mp.gamma(u / 2) \
* mp.zeta(u)
xi_log = mp.diff(xi_mp, sm) / xi_mp(sm)
return complex(xi_log - 1 / sm - 1 / (sm - 1)
+ mp.mpf(0.5) * mp.log(mp.pi)
- mp.mpf(0.5) * mp.digamma(sm / 2))
def short_segment_max():
mp.mp.dps = 30
ts = np.arange(-10.0, 10.0 + 1e-12, 0.002)
vals = np.array([abs(zeta_logder(complex(-2.5, t))) for t in ts])
gmax = float(vals.max())
# sampled Lipschitz constant (max adjacent slope), x2 safety
lips = float(np.max(np.abs(np.diff(vals))) / 0.002)
m0 = gmax + 0.002 * lips # (h/2)*L would be 0.001*L; x2
return gmax, lips, m0
# ------------------------------------------------------- D-036 pieces
def F_count(T):
return (T / (2 * np.pi)) * np.log(T / (2 * np.pi)) - T / (2 * np.pi) \
+ 7 / 8
def S_bound(T):
return 0.137 * np.log(T) + 0.443 * np.log(np.log(T)) + 1.588
def C0(t):
return (F_count(t + 1) - F_count(t)) + S_bound(t + 1) + S_bound(t)
def H_bound(T, a, b0):
return 3 * C0(T) ** 2 + a * np.log(T + 2) + b0
def B_bound(n, m0, a=A_USE, b0=B0_USE):
"""Full |S_f(n)| upper bound (D-036, variant-B contour, T = sqrt(n)+1)."""
n = float(n)
T = np.sqrt(n) + 1.0
twoN = 2 * (F_count(T) + S_bound(T))
I3_long = 4 * T * ((2 / 3) * C0(T) + a * np.log(T + 2) + b0)
I3_short = 40.0 * m0 # |k|<=2, length 20, max m0
I24 = 2 * (np.e ** 4 + 1) * (7 * H_bound(T, a, b0) + 3.3)
# I1 in log space: log I1 = log(2 sqrt(n) (e^{sqrt(n)/2}+1) 0.5699)
# - (2 sqrt(n) - 2) log 2 -> hugely negative for sqrt(n) > 60
r = np.sqrt(n)
logI1 = np.log(2 * r * 0.5699) + r / 2 - (2 * r - 2) * np.log(2)
I1 = np.exp(logI1) if logI1 > -700 else 0.0
triv = 1.0
return twoN + I3_long + I3_short + I24 + I1 + triv
def sinf_lower(n):
n = np.asarray(n, dtype=np.float64)
return 0.5 * n * np.log(n) + C1L * n - 4.0
def margin(n, m0, a=A_USE, b0=B0_USE):
return sinf_lower(n) - B_bound(n, m0, a, b0) + 1.0
def find_N0(m0, a, b0):
ngrid = np.arange(20, 400001)
marg = np.array([margin(n, m0, a, b0) for n in ngrid])
pos = ngrid[(marg > 0) & (np.gradient(marg, ngrid) > 0)]
N0 = int(pos[0]) if len(pos) else -1
cont = bool(np.all(marg[ngrid >= N0] > 0)) if N0 > 0 else False
return N0, cont, float(marg[ngrid == N0][0]) if N0 > 0 else float("nan")
def main() -> int:
if JSON.exists() and "--force" not in sys.argv:
print(f"cached: {JSON} (use --force to recompute)")
return 0
t0 = time.time()
print("S1: short-segment max ...", flush=True)
gmax, lips, m0 = short_segment_max()
print(f" grid max = {gmax:.4f}, Lipschitz {lips:.1f}, "
f"M0 = {m0:.4f}", flush=True)
print("S2: S_inf lower-bound validation vs E-021 exact ...", flush=True)
import csv as csvmod
with open(E021) as f:
rows = list(csvmod.DictReader(f))
ns = np.array([int(r["n"]) for r in rows])
sinf = np.array([float(r["S_inf"]) for r in rows])
lam = np.array([float(r["lambda_n"]) for r in rows])
mask = ns >= 20
slack = sinf[mask] - sinf_lower(ns[mask])
v1 = bool(np.all(slack > 0))
print(f" V1: min slack = {slack.min():.4f} at n = "
f"{ns[mask][slack.argmin()]} (bound holds: {v1})", flush=True)
v3 = bool(np.all(lam[ns <= 3000] > 0))
print(f" V3: lambda_n > 0 for n <= 3000 reconfirmed: {v3}", flush=True)
print("S3: margin assembly ...", flush=True)
# Two constant sets: measured (0.9, 1.0) and traced (2.0, 2.0, the
# D-036 first-estimate analytic assembly).
N0_meas, cont_meas, margN0_meas = find_N0(m0, 0.9, 1.0)
N0_tr, cont_tr, margN0_tr = find_N0(m0, 2.0, 2.0)
N0, cont = N0_tr, cont_tr
print(f" N0 (measured 0.9/1.0) = {N0_meas} (contiguous {cont_meas})")
print(f" N0 (traced 2.0/2.0) = {N0_tr} (contiguous {cont_tr})")
logn = np.unique(np.logspace(np.log10(max(N0, 20)), np.log10(9e24),
4000).astype(np.float64))
bmarg = np.array([margin(n, m0, 2.0, 2.0) for n in logn])
conv = bool(np.all(np.diff(bmarg, 2) > -1e-6 * bmarg[:-2].max()))
N1 = int(3_000_000_000_000 - 1) ** 2
N1_cons = T0_PLATT ** 2 / (4 * np.log(T0_PLATT) ** 2)
refs = {int(n): float(margin(n, m0, 2.0, 2.0)) for n in
[N0, 100000, 10 ** 6, 10 ** 9, 10 ** 12, 10 ** 18, N1]}
print(f" N0 = {N0} (traced; contiguous to 4e5: {cont}, "
f"convex: {conv})")
print(f" margin(N0) = {refs[N0]:.1f}")
print(f" N1 = (T0-1)^2 = {N1:.6e}; N1* (Lagarias window) = "
f"{N1_cons:.6e}")
print(f" margin(N1) = {refs[N1]:.3e}")
v2 = bool(N0 > 0 and cont and conv and cont_meas)
with open(CSV, "w", newline="") as f:
w = csvmod.writer(f)
w.writerow(["n", "margin_traced", "margin_measured"])
for n in range(20, 400001, 20):
w.writerow([n, f"{margin(n, m0, 2.0, 2.0):.6f}",
f"{margin(n, m0, 0.9, 1.0):.6f}"])
meta = {
"experiment": "E-023",
"task": "3.8 support: D-037 assembly (short-segment max, S_inf "
"lower bound validation, margin/N0/N1)",
"script": "research/numerics/scripts/E-023-finite-height-assembly.py",
"checks": {"V1_sinf_lower_holds": v1,
"V2_margin_positive_convex": v2,
"V3_lambda_positive_3000": v3},
"key_values": {
"M0_grid_max": gmax, "M0_lipschitz": lips, "M0_use": m0,
"C1": C1, "C1_lower_form": C1L,
"sinf_lower_min_slack": float(slack.min()),
"N0_measured_constants": N0_meas,
"N0_traced_constants": N0_tr,
"margin_N0_traced": margN0_tr,
"margin_at": {str(k): float(v) for k, v in refs.items()},
"N1": N1, "N1_conservative_lagarias_window": N1_cons,
"T0_platt_trudgian": T0_PLATT,
},
"elapsed_seconds": round(time.time() - t0, 1),
}
JSON.write_text(json.dumps(meta, indent=2))
print(f" wrote {CSV.name}, {JSON.name}; "
f"elapsed {meta['elapsed_seconds']}s")
return 0 if (v1 and v2 and v3) else 1
if __name__ == "__main__":
sys.exit(main())