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 |
|---|---|---|---|
| 15502 | 310020 | 1341166.416951 | 1365123.431067 |
| 15503 | 310040 | 1341272.210845 | 1365229.903031 |
| 15504 | 310060 | 1341378.005473 | 1365336.375707 |
| 15505 | 310080 | 1341483.800834 | 1365442.849098 |
| 15506 | 310100 | 1341589.596928 | 1365549.323201 |
| 15507 | 310120 | 1341695.393756 | 1365655.798018 |
| 15508 | 310140 | 1341801.191318 | 1365762.273548 |
| 15509 | 310160 | 1341906.989612 | 1365868.749791 |
| 15510 | 310180 | 1342012.788640 | 1365975.226747 |
| 15511 | 310200 | 1342118.588401 | 1366081.704416 |
| 15512 | 310220 | 1342224.388896 | 1366188.182798 |
| 15513 | 310240 | 1342330.190123 | 1366294.661893 |
| 15514 | 310260 | 1342435.992084 | 1366401.141701 |
| 15515 | 310280 | 1342541.794777 | 1366507.622222 |
| 15516 | 310300 | 1342647.598204 | 1366614.103455 |
| 15517 | 310320 | 1342753.402363 | 1366720.585402 |
| 15518 | 310340 | 1342859.207255 | 1366827.068061 |
| 15519 | 310360 | 1342965.012881 | 1366933.551432 |
| 15520 | 310380 | 1343070.819238 | 1367040.035516 |
| 15521 | 310400 | 1343176.626329 | 1367146.520313 |
| 15522 | 310420 | 1343282.434152 | 1367253.005822 |
| 15523 | 310440 | 1343388.242708 | 1367359.492044 |
| 15524 | 310460 | 1343494.051996 | 1367465.978978 |
| 15525 | 310480 | 1343599.862017 | 1367572.466624 |
| 15526 | 310500 | 1343705.672770 | 1367678.954983 |
| 15527 | 310520 | 1343811.484256 | 1367785.444054 |
| 15528 | 310540 | 1343917.296474 | 1367891.933837 |
| 15529 | 310560 | 1344023.109425 | 1367998.424332 |
| 15530 | 310580 | 1344128.923107 | 1368104.915539 |
| 15531 | 310600 | 1344234.737522 | 1368211.407459 |
| 15532 | 310620 | 1344340.552669 | 1368317.900090 |
| 15533 | 310640 | 1344446.368548 | 1368424.393433 |
| 15534 | 310660 | 1344552.185159 | 1368530.887488 |
| 15535 | 310680 | 1344658.002502 | 1368637.382255 |
| 15536 | 310700 | 1344763.820577 | 1368743.877734 |
| 15537 | 310720 | 1344869.639384 | 1368850.373925 |
| 15538 | 310740 | 1344975.458923 | 1368956.870827 |
| 15539 | 310760 | 1345081.279194 | 1369063.368441 |
| 15540 | 310780 | 1345187.100196 | 1369169.866766 |
| 15541 | 310800 | 1345292.921930 | 1369276.365803 |
| 15542 | 310820 | 1345398.744395 | 1369382.865552 |
| 15543 | 310840 | 1345504.567593 | 1369489.366012 |
| 15544 | 310860 | 1345610.391521 | 1369595.867183 |
| 15545 | 310880 | 1345716.216182 | 1369702.369066 |
| 15546 | 310900 | 1345822.041573 | 1369808.871660 |
| 15547 | 310920 | 1345927.867696 | 1369915.374965 |
| 15548 | 310940 | 1346033.694551 | 1370021.878982 |
| 15549 | 310960 | 1346139.522136 | 1370128.383710 |
| 15550 | 310980 | 1346245.350453 | 1370234.889148 |
| 15551 | 311000 | 1346351.179501 | 1370341.395298 |
| 15552 | 311020 | 1346457.009280 | 1370447.902159 |
| 15553 | 311040 | 1346562.839791 | 1370554.409731 |
| 15554 | 311060 | 1346668.671032 | 1370660.918014 |
| 15555 | 311080 | 1346774.503004 | 1370767.427007 |
| 15556 | 311100 | 1346880.335707 | 1370873.936711 |
| 15557 | 311120 | 1346986.169141 | 1370980.447127 |
| 15558 | 311140 | 1347092.003306 | 1371086.958253 |
| 15559 | 311160 | 1347197.838202 | 1371193.470089 |
| 15560 | 311180 | 1347303.673828 | 1371299.982636 |
| 15561 | 311200 | 1347409.510185 | 1371406.495894 |
| 15562 | 311220 | 1347515.347273 | 1371513.009862 |
| 15563 | 311240 | 1347621.185091 | 1371619.524541 |
| 15564 | 311260 | 1347727.023639 | 1371726.039930 |
| 15565 | 311280 | 1347832.862919 | 1371832.556030 |
| 15566 | 311300 | 1347938.702928 | 1371939.072839 |
| 15567 | 311320 | 1348044.543668 | 1372045.590360 |
| 15568 | 311340 | 1348150.385138 | 1372152.108590 |
| 15569 | 311360 | 1348256.227339 | 1372258.627530 |
| 15570 | 311380 | 1348362.070269 | 1372365.147181 |
| 15571 | 311400 | 1348467.913930 | 1372471.667542 |
| 15572 | 311420 | 1348573.758321 | 1372578.188613 |
| 15573 | 311440 | 1348679.603442 | 1372684.710393 |
| 15574 | 311460 | 1348785.449293 | 1372791.232884 |
| 15575 | 311480 | 1348891.295874 | 1372897.756084 |
| 15576 | 311500 | 1348997.143185 | 1373004.279995 |
| 15577 | 311520 | 1349102.991226 | 1373110.804615 |
| 15578 | 311540 | 1349208.839996 | 1373217.329945 |
| 15579 | 311560 | 1349314.689497 | 1373323.855985 |
| 15580 | 311580 | 1349420.539727 | 1373430.382734 |
| 15581 | 311600 | 1349526.390686 | 1373536.910193 |
| 15582 | 311620 | 1349632.242375 | 1373643.438361 |
| 15583 | 311640 | 1349738.094794 | 1373749.967239 |
| 15584 | 311660 | 1349843.947943 | 1373856.496826 |
| 15585 | 311680 | 1349949.801820 | 1373963.027123 |
| 15586 | 311700 | 1350055.656427 | 1374069.558129 |
| 15587 | 311720 | 1350161.511764 | 1374176.089844 |
| 15588 | 311740 | 1350267.367830 | 1374282.622269 |
| 15589 | 311760 | 1350373.224625 | 1374389.155403 |
| 15590 | 311780 | 1350479.082149 | 1374495.689246 |
| 15591 | 311800 | 1350584.940402 | 1374602.223798 |
| 15592 | 311820 | 1350690.799385 | 1374708.759059 |
| 15593 | 311840 | 1350796.659096 | 1374815.295029 |
| 15594 | 311860 | 1350902.519537 | 1374921.831708 |
| 15595 | 311880 | 1351008.380706 | 1375028.369096 |
| 15596 | 311900 | 1351114.242604 | 1375134.907193 |
| 15597 | 311920 | 1351220.105231 | 1375241.445998 |
| 15598 | 311940 | 1351325.968587 | 1375347.985513 |
| 15599 | 311960 | 1351431.832672 | 1375454.525736 |
| 15600 | 311980 | 1351537.697485 | 1375561.066667 |
| 15601 | 312000 | 1351643.563027 | 1375667.608308 |
| 15602 | 312020 | 1351749.429298 | 1375774.150657 |
| 15603 | 312040 | 1351855.296297 | 1375880.693714 |
| 15604 | 312060 | 1351961.164024 | 1375987.237480 |
| 15605 | 312080 | 1352067.032480 | 1376093.781955 |
| 15606 | 312100 | 1352172.901665 | 1376200.327137 |
| 15607 | 312120 | 1352278.771578 | 1376306.873028 |
| 15608 | 312140 | 1352384.642219 | 1376413.419628 |
| 15609 | 312160 | 1352490.513588 | 1376519.966935 |
| 15610 | 312180 | 1352596.385685 | 1376626.514951 |
| 15611 | 312200 | 1352702.258511 | 1376733.063675 |
| 15612 | 312220 | 1352808.132064 | 1376839.613107 |
| 15613 | 312240 | 1352914.006346 | 1376946.163247 |
| 15614 | 312260 | 1353019.881356 | 1377052.714094 |
| 15615 | 312280 | 1353125.757093 | 1377159.265650 |
| 15616 | 312300 | 1353231.633559 | 1377265.817914 |
| 15617 | 312320 | 1353337.510752 | 1377372.370886 |
| 15618 | 312340 | 1353443.388673 | 1377478.924565 |
| 15619 | 312360 | 1353549.267322 | 1377585.478952 |
| 15620 | 312380 | 1353655.146698 | 1377692.034047 |
| 15621 | 312400 | 1353761.026802 | 1377798.589849 |
| 15622 | 312420 | 1353866.907634 | 1377905.146359 |
| 15623 | 312440 | 1353972.789193 | 1378011.703577 |
| 15624 | 312460 | 1354078.671480 | 1378118.261502 |
| 15625 | 312480 | 1354184.554494 | 1378224.820135 |
| 15626 | 312500 | 1354290.438235 | 1378331.379474 |
| 15627 | 312520 | 1354396.322704 | 1378437.939522 |
| 15628 | 312540 | 1354502.207900 | 1378544.500276 |
| 15629 | 312560 | 1354608.093823 | 1378651.061738 |
| 15630 | 312580 | 1354713.980473 | 1378757.623907 |
| 15631 | 312600 | 1354819.867851 | 1378864.186783 |
| 15632 | 312620 | 1354925.755956 | 1378970.750367 |
| 15633 | 312640 | 1355031.644787 | 1379077.314657 |
| 15634 | 312660 | 1355137.534346 | 1379183.879654 |
| 15635 | 312680 | 1355243.424631 | 1379290.445359 |
| 15636 | 312700 | 1355349.315644 | 1379397.011770 |
| 15637 | 312720 | 1355455.207383 | 1379503.578888 |
| 15638 | 312740 | 1355561.099849 | 1379610.146713 |
| 15639 | 312760 | 1355666.993041 | 1379716.715244 |
| 15640 | 312780 | 1355772.886961 | 1379823.284483 |
| 15641 | 312800 | 1355878.781607 | 1379929.854428 |
| 15642 | 312820 | 1355984.676979 | 1380036.425079 |
| 15643 | 312840 | 1356090.573078 | 1380142.996438 |
| 15644 | 312860 | 1356196.469904 | 1380249.568503 |
| 15645 | 312880 | 1356302.367456 | 1380356.141274 |
| 15646 | 312900 | 1356408.265734 | 1380462.714751 |
| 15647 | 312920 | 1356514.164739 | 1380569.288936 |
| 15648 | 312940 | 1356620.064469 | 1380675.863826 |
| 15649 | 312960 | 1356725.964926 | 1380782.439423 |
| 15650 | 312980 | 1356831.866110 | 1380889.015725 |
| 15651 | 313000 | 1356937.768019 | 1380995.592735 |
| 15652 | 313020 | 1357043.670654 | 1381102.170450 |
| 15653 | 313040 | 1357149.574016 | 1381208.748871 |
| 15654 | 313060 | 1357255.478103 | 1381315.327998 |
| 15655 | 313080 | 1357361.382917 | 1381421.907832 |
| 15656 | 313100 | 1357467.288456 | 1381528.488371 |
| 15657 | 313120 | 1357573.194721 | 1381635.069616 |
| 15658 | 313140 | 1357679.101711 | 1381741.651567 |
| 15659 | 313160 | 1357785.009428 | 1381848.234224 |
| 15660 | 313180 | 1357890.917870 | 1381954.817587 |
| 15661 | 313200 | 1357996.827038 | 1382061.401655 |
| 15662 | 313220 | 1358102.736931 | 1382167.986429 |
| 15663 | 313240 | 1358208.647550 | 1382274.571909 |
| 15664 | 313260 | 1358314.558894 | 1382381.158094 |
| 15665 | 313280 | 1358420.470963 | 1382487.744984 |
| 15666 | 313300 | 1358526.383758 | 1382594.332580 |
| 15667 | 313320 | 1358632.297279 | 1382700.920882 |
| 15668 | 313340 | 1358738.211524 | 1382807.509889 |
| 15669 | 313360 | 1358844.126495 | 1382914.099601 |
| 15670 | 313380 | 1358950.042191 | 1383020.690018 |
| 15671 | 313400 | 1359055.958612 | 1383127.281141 |
| 15672 | 313420 | 1359161.875758 | 1383233.872969 |
| 15673 | 313440 | 1359267.793629 | 1383340.465502 |
| 15674 | 313460 | 1359373.712225 | 1383447.058740 |
| 15675 | 313480 | 1359479.631546 | 1383553.652683 |
| 15676 | 313500 | 1359585.551592 | 1383660.247331 |
| 15677 | 313520 | 1359691.472363 | 1383766.842684 |
| 15678 | 313540 | 1359797.393858 | 1383873.438742 |
| 15679 | 313560 | 1359903.316078 | 1383980.035504 |
| 15680 | 313580 | 1360009.239023 | 1384086.632972 |
| 15681 | 313600 | 1360115.162692 | 1384193.231144 |
| 15682 | 313620 | 1360221.087086 | 1384299.830021 |
| 15683 | 313640 | 1360327.012205 | 1384406.429602 |
| 15684 | 313660 | 1360432.938048 | 1384513.029888 |
| 15685 | 313680 | 1360538.864615 | 1384619.630879 |
| 15686 | 313700 | 1360644.791907 | 1384726.232574 |
| 15687 | 313720 | 1360750.719922 | 1384832.834974 |
| 15688 | 313740 | 1360856.648663 | 1384939.438078 |
| 15689 | 313760 | 1360962.578127 | 1385046.041886 |
| 15690 | 313780 | 1361068.508316 | 1385152.646399 |
| 15691 | 313800 | 1361174.439228 | 1385259.251616 |
| 15692 | 313820 | 1361280.370865 | 1385365.857537 |
| 15693 | 313840 | 1361386.303226 | 1385472.464162 |
| 15694 | 313860 | 1361492.236311 | 1385579.071491 |
| 15695 | 313880 | 1361598.170119 | 1385685.679525 |
| 15696 | 313900 | 1361704.104652 | 1385792.288262 |
| 15697 | 313920 | 1361810.039908 | 1385898.897704 |
| 15698 | 313940 | 1361915.975888 | 1386005.507849 |
| 15699 | 313960 | 1362021.912592 | 1386112.118698 |
| 15700 | 313980 | 1362127.850019 | 1386218.730251 |
| 15701 | 314000 | 1362233.788170 | 1386325.342508 |
| 15702 | 314020 | 1362339.727045 | 1386431.955469 |
| 15703 | 314040 | 1362445.666643 | 1386538.569133 |
| 15704 | 314060 | 1362551.606964 | 1386645.183501 |
| 15705 | 314080 | 1362657.548009 | 1386751.798572 |
| 15706 | 314100 | 1362763.489777 | 1386858.414347 |
| 15707 | 314120 | 1362869.432269 | 1386965.030825 |
| 15708 | 314140 | 1362975.375484 | 1387071.648007 |
| 15709 | 314160 | 1363081.319422 | 1387178.265893 |
| 15710 | 314180 | 1363187.264083 | 1387284.884481 |
| 15711 | 314200 | 1363293.209467 | 1387391.503773 |
| 15712 | 314220 | 1363399.155575 | 1387498.123768 |
| 15713 | 314240 | 1363505.102405 | 1387604.744467 |
| 15714 | 314260 | 1363611.049958 | 1387711.365868 |
| 15715 | 314280 | 1363716.998235 | 1387817.987973 |
| 15716 | 314300 | 1363822.947234 | 1387924.610780 |
| 15717 | 314320 | 1363928.896956 | 1388031.234291 |
| 15718 | 314340 | 1364034.847400 | 1388137.858505 |
| 15719 | 314360 | 1364140.798568 | 1388244.483421 |
| 15720 | 314380 | 1364246.750458 | 1388351.109041 |
| 15721 | 314400 | 1364352.703070 | 1388457.735363 |
| 15722 | 314420 | 1364458.656406 | 1388564.362388 |
| 15723 | 314440 | 1364564.610463 | 1388670.990115 |
| 15724 | 314460 | 1364670.565244 | 1388777.618546 |
| 15725 | 314480 | 1364776.520746 | 1388884.247679 |
| 15726 | 314500 | 1364882.476971 | 1388990.877514 |
| 15727 | 314520 | 1364988.433918 | 1389097.508052 |
| 15728 | 314540 | 1365094.391588 | 1389204.139293 |
| 15729 | 314560 | 1365200.349980 | 1389310.771236 |
| 15730 | 314580 | 1365306.309094 | 1389417.403881 |
| 15731 | 314600 | 1365412.268930 | 1389524.037229 |
| 15732 | 314620 | 1365518.229488 | 1389630.671279 |
| 15733 | 314640 | 1365624.190768 | 1389737.306031 |
| 15734 | 314660 | 1365730.152770 | 1389843.941485 |
| 15735 | 314680 | 1365836.115494 | 1389950.577642 |
| 15736 | 314700 | 1365942.078939 | 1390057.214501 |
| 15737 | 314720 | 1366048.043107 | 1390163.852061 |
| 15738 | 314740 | 1366154.007997 | 1390270.490324 |
| 15739 | 314760 | 1366259.973608 | 1390377.129289 |
| 15740 | 314780 | 1366365.939940 | 1390483.768955 |
| 15741 | 314800 | 1366471.906995 | 1390590.409324 |
| 15742 | 314820 | 1366577.874771 | 1390697.050394 |
| 15743 | 314840 | 1366683.843268 | 1390803.692166 |
| 15744 | 314860 | 1366789.812487 | 1390910.334640 |
| 15745 | 314880 | 1366895.782427 | 1391016.977815 |
| 15746 | 314900 | 1367001.753089 | 1391123.621692 |
| 15747 | 314920 | 1367107.724472 | 1391230.266270 |
| 15748 | 314940 | 1367213.696576 | 1391336.911551 |
| 15749 | 314960 | 1367319.669402 | 1391443.557532 |
| 15750 | 314980 | 1367425.642949 | 1391550.204215 |
| 15751 | 315000 | 1367531.617216 | 1391656.851599 |
| 15752 | 315020 | 1367637.592205 | 1391763.499685 |
| 15753 | 315040 | 1367743.567915 | 1391870.148472 |
| 15754 | 315060 | 1367849.544346 | 1391976.797960 |
| 15755 | 315080 | 1367955.521498 | 1392083.448150 |
| 15756 | 315100 | 1368061.499370 | 1392190.099040 |
| 15757 | 315120 | 1368167.477964 | 1392296.750632 |
| 15758 | 315140 | 1368273.457278 | 1392403.402924 |
| 15759 | 315160 | 1368379.437313 | 1392510.055918 |
| 15760 | 315180 | 1368485.418069 | 1392616.709613 |
| 15761 | 315200 | 1368591.399545 | 1392723.364008 |
| 15762 | 315220 | 1368697.381742 | 1392830.019104 |
| 15763 | 315240 | 1368803.364659 | 1392936.674902 |
| 15764 | 315260 | 1368909.348297 | 1393043.331399 |
| 15765 | 315280 | 1369015.332655 | 1393149.988598 |
| 15766 | 315300 | 1369121.317734 | 1393256.646497 |
| 15767 | 315320 | 1369227.303533 | 1393363.305097 |
| 15768 | 315340 | 1369333.290052 | 1393469.964398 |
| 15769 | 315360 | 1369439.277291 | 1393576.624399 |
| 15770 | 315380 | 1369545.265251 | 1393683.285100 |
| 15771 | 315400 | 1369651.253931 | 1393789.946502 |
| 15772 | 315420 | 1369757.243331 | 1393896.608604 |
| 15773 | 315440 | 1369863.233450 | 1394003.271407 |
| 15774 | 315460 | 1369969.224290 | 1394109.934910 |
| 15775 | 315480 | 1370075.215850 | 1394216.599113 |
| 15776 | 315500 | 1370181.208130 | 1394323.264016 |
| 15777 | 315520 | 1370287.201129 | 1394429.929620 |
| 15778 | 315540 | 1370393.194848 | 1394536.595923 |
| 15779 | 315560 | 1370499.189287 | 1394643.262927 |
| 15780 | 315580 | 1370605.184446 | 1394749.930630 |
| 15781 | 315600 | 1370711.180324 | 1394856.599034 |
| 15782 | 315620 | 1370817.176922 | 1394963.268137 |
| 15783 | 315640 | 1370923.174240 | 1395069.937941 |
| 15784 | 315660 | 1371029.172277 | 1395176.608444 |
| 15785 | 315680 | 1371135.171033 | 1395283.279646 |
| 15786 | 315700 | 1371241.170509 | 1395389.951549 |
| 15787 | 315720 | 1371347.170704 | 1395496.624151 |
| 15788 | 315740 | 1371453.171618 | 1395603.297453 |
| 15789 | 315760 | 1371559.173252 | 1395709.971454 |
| 15790 | 315780 | 1371665.175604 | 1395816.646155 |
| 15791 | 315800 | 1371771.178676 | 1395923.321556 |
| 15792 | 315820 | 1371877.182467 | 1396029.997655 |
| 15793 | 315840 | 1371983.186977 | 1396136.674455 |
| 15794 | 315860 | 1372089.192206 | 1396243.351953 |
| 15795 | 315880 | 1372195.198154 | 1396350.030151 |
| 15796 | 315900 | 1372301.204821 | 1396456.709048 |
| 15797 | 315920 | 1372407.212207 | 1396563.388644 |
| 15798 | 315940 | 1372513.220311 | 1396670.068940 |
| 15799 | 315960 | 1372619.229135 | 1396776.749934 |
| 15800 | 315980 | 1372725.238677 | 1396883.431628 |
| 15801 | 316000 | 1372831.248937 | 1396990.114020 |
| 15802 | 316020 | 1372937.259916 | 1397096.797112 |
| 15803 | 316040 | 1373043.271614 | 1397203.480902 |
| 15804 | 316060 | 1373149.284030 | 1397310.165391 |
| 15805 | 316080 | 1373255.297165 | 1397416.850579 |
| 15806 | 316100 | 1373361.311018 | 1397523.536466 |
| 15807 | 316120 | 1373467.325590 | 1397630.223051 |
| 15808 | 316140 | 1373573.340879 | 1397736.910336 |
| 15809 | 316160 | 1373679.356887 | 1397843.598318 |
| 15810 | 316180 | 1373785.373613 | 1397950.287000 |
| 15811 | 316200 | 1373891.391058 | 1398056.976380 |
| 15812 | 316220 | 1373997.409220 | 1398163.666458 |
| 15813 | 316240 | 1374103.428101 | 1398270.357235 |
| 15814 | 316260 | 1374209.447699 | 1398377.048710 |
| 15815 | 316280 | 1374315.468016 | 1398483.740883 |
| 15816 | 316300 | 1374421.489050 | 1398590.433755 |
| 15817 | 316320 | 1374527.510802 | 1398697.127325 |
| 15818 | 316340 | 1374633.533272 | 1398803.821594 |
| 15819 | 316360 | 1374739.556460 | 1398910.516560 |
| 15820 | 316380 | 1374845.580366 | 1399017.212224 |
| 15821 | 316400 | 1374951.604989 | 1399123.908587 |
| 15822 | 316420 | 1375057.630330 | 1399230.605647 |
| 15823 | 316440 | 1375163.656388 | 1399337.303406 |
| 15824 | 316460 | 1375269.683164 | 1399444.001862 |
| 15825 | 316480 | 1375375.710657 | 1399550.701017 |
| 15826 | 316500 | 1375481.738868 | 1399657.400869 |
| 15827 | 316520 | 1375587.767796 | 1399764.101418 |
| 15828 | 316540 | 1375693.797441 | 1399870.802666 |
| 15829 | 316560 | 1375799.827804 | 1399977.504611 |
| 15830 | 316580 | 1375905.858884 | 1400084.207254 |
| 15831 | 316600 | 1376011.890681 | 1400190.910595 |
| 15832 | 316620 | 1376117.923195 | 1400297.614633 |
| 15833 | 316640 | 1376223.956427 | 1400404.319368 |
| 15834 | 316660 | 1376329.990375 | 1400511.024801 |
| 15835 | 316680 | 1376436.025040 | 1400617.730931 |
| 15836 | 316700 | 1376542.060422 | 1400724.437759 |
| 15837 | 316720 | 1376648.096521 | 1400831.145284 |
| 15838 | 316740 | 1376754.133337 | 1400937.853506 |
| 15839 | 316760 | 1376860.170870 | 1401044.562425 |
| 15840 | 316780 | 1376966.209119 | 1401151.272042 |
| 15841 | 316800 | 1377072.248086 | 1401257.982355 |
| 15842 | 316820 | 1377178.287768 | 1401364.693366 |
| 15843 | 316840 | 1377284.328168 | 1401471.405074 |
| 15844 | 316860 | 1377390.369283 | 1401578.117478 |
| 15845 | 316880 | 1377496.411116 | 1401684.830580 |
| 15846 | 316900 | 1377602.453665 | 1401791.544378 |
| 15847 | 316920 | 1377708.496930 | 1401898.258874 |
| 15848 | 316940 | 1377814.540911 | 1402004.974066 |
| 15849 | 316960 | 1377920.585609 | 1402111.689955 |
| 15850 | 316980 | 1378026.631023 | 1402218.406540 |
| 15851 | 317000 | 1378132.677153 | 1402325.123822 |
| 15852 | 317020 | 1378238.724000 | 1402431.841801 |
| 15853 | 317040 | 1378344.771562 | 1402538.560476 |
| 15854 | 317060 | 1378450.819840 | 1402645.279848 |
| 15855 | 317080 | 1378556.868835 | 1402751.999916 |
| 15856 | 317100 | 1378662.918545 | 1402858.720680 |
| 15857 | 317120 | 1378768.968972 | 1402965.442141 |
| 15858 | 317140 | 1378875.020114 | 1403072.164299 |
| 15859 | 317160 | 1378981.071972 | 1403178.887152 |
| 15860 | 317180 | 1379087.124546 | 1403285.610702 |
| 15861 | 317200 | 1379193.177835 | 1403392.334948 |
| 15862 | 317220 | 1379299.231840 | 1403499.059890 |
| 15863 | 317240 | 1379405.286561 | 1403605.785528 |
| 15864 | 317260 | 1379511.341997 | 1403712.511862 |
| 15865 | 317280 | 1379617.398149 | 1403819.238892 |
| 15866 | 317300 | 1379723.455016 | 1403925.966618 |
| 15867 | 317320 | 1379829.512599 | 1404032.695040 |
| 15868 | 317340 | 1379935.570897 | 1404139.424157 |
| 15869 | 317360 | 1380041.629910 | 1404246.153971 |
| 15870 | 317380 | 1380147.689638 | 1404352.884480 |
| 15871 | 317400 | 1380253.750082 | 1404459.615685 |
| 15872 | 317420 | 1380359.811241 | 1404566.347585 |
| 15873 | 317440 | 1380465.873115 | 1404673.080182 |
| 15874 | 317460 | 1380571.935704 | 1404779.813473 |
| 15875 | 317480 | 1380677.999008 | 1404886.547461 |
| 15876 | 317500 | 1380784.063027 | 1404993.282143 |
| 15877 | 317520 | 1380890.127761 | 1405100.017521 |
| 15878 | 317540 | 1380996.193210 | 1405206.753595 |
| 15879 | 317560 | 1381102.259374 | 1405313.490364 |
| 15880 | 317580 | 1381208.326252 | 1405420.227828 |
| 15881 | 317600 | 1381314.393846 | 1405526.965987 |
| 15882 | 317620 | 1381420.462154 | 1405633.704841 |
| 15883 | 317640 | 1381526.531176 | 1405740.444391 |
| 15884 | 317660 | 1381632.600913 | 1405847.184636 |
| 15885 | 317680 | 1381738.671365 | 1405953.925575 |
| 15886 | 317700 | 1381844.742531 | 1406060.667210 |
| 15887 | 317720 | 1381950.814411 | 1406167.409540 |
| 15888 | 317740 | 1382056.887006 | 1406274.152564 |
| 15889 | 317760 | 1382162.960316 | 1406380.896284 |
| 15890 | 317780 | 1382269.034339 | 1406487.640698 |
| 15891 | 317800 | 1382375.109077 | 1406594.385807 |
| 15892 | 317820 | 1382481.184529 | 1406701.131610 |
| 15893 | 317840 | 1382587.260695 | 1406807.878109 |
| 15894 | 317860 | 1382693.337575 | 1406914.625301 |
| 15895 | 317880 | 1382799.415169 | 1407021.373189 |
| 15896 | 317900 | 1382905.493478 | 1407128.121771 |
| 15897 | 317920 | 1383011.572500 | 1407234.871047 |
| 15898 | 317940 | 1383117.652236 | 1407341.621018 |
| 15899 | 317960 | 1383223.732686 | 1407448.371684 |
| 15900 | 317980 | 1383329.813850 | 1407555.123043 |
| 15901 | 318000 | 1383435.895727 | 1407661.875097 |
| 15902 | 318020 | 1383541.978318 | 1407768.627845 |
| 15903 | 318040 | 1383648.061623 | 1407875.381288 |
| 15904 | 318060 | 1383754.145642 | 1407982.135424 |
| 15905 | 318080 | 1383860.230374 | 1408088.890255 |
| 15906 | 318100 | 1383966.315819 | 1408195.645779 |
| 15907 | 318120 | 1384072.401978 | 1408302.401998 |
| 15908 | 318140 | 1384178.488850 | 1408409.158911 |
| 15909 | 318160 | 1384284.576436 | 1408515.916517 |
| 15910 | 318180 | 1384390.664735 | 1408622.674818 |
| 15911 | 318200 | 1384496.753748 | 1408729.433812 |
| 15912 | 318220 | 1384602.843473 | 1408836.193500 |
| 15913 | 318240 | 1384708.933912 | 1408942.953882 |
| 15914 | 318260 | 1384815.025064 | 1409049.714957 |
| 15915 | 318280 | 1384921.116929 | 1409156.476726 |
| 15916 | 318300 | 1385027.209507 | 1409263.239189 |
| 15917 | 318320 | 1385133.302797 | 1409370.002345 |
| 15918 | 318340 | 1385239.396801 | 1409476.766194 |
| 15919 | 318360 | 1385345.491518 | 1409583.530737 |
| 15920 | 318380 | 1385451.586948 | 1409690.295974 |
| 15921 | 318400 | 1385557.683090 | 1409797.061904 |
| 15922 | 318420 | 1385663.779945 | 1409903.828527 |
| 15923 | 318440 | 1385769.877513 | 1410010.595843 |
| 15924 | 318460 | 1385875.975793 | 1410117.363853 |
| 15925 | 318480 | 1385982.074786 | 1410224.132556 |
| 15926 | 318500 | 1386088.174491 | 1410330.901952 |
| 15927 | 318520 | 1386194.274909 | 1410437.672041 |
| 15928 | 318540 | 1386300.376040 | 1410544.442823 |
| 15929 | 318560 | 1386406.477883 | 1410651.214298 |
| 15930 | 318580 | 1386512.580438 | 1410757.986466 |
| 15931 | 318600 | 1386618.683705 | 1410864.759326 |
| 15932 | 318620 | 1386724.787685 | 1410971.532880 |
| 15933 | 318640 | 1386830.892377 | 1411078.307126 |
| 15934 | 318660 | 1386936.997781 | 1411185.082066 |
| 15935 | 318680 | 1387043.103897 | 1411291.857697 |
| 15936 | 318700 | 1387149.210725 | 1411398.634022 |
| 15937 | 318720 | 1387255.318266 | 1411505.411039 |
| 15938 | 318740 | 1387361.426518 | 1411612.188749 |
| 15939 | 318760 | 1387467.535482 | 1411718.967151 |
| 15940 | 318780 | 1387573.645158 | 1411825.746246 |
| 15941 | 318800 | 1387679.755546 | 1411932.526033 |
| 15942 | 318820 | 1387785.866645 | 1412039.306512 |
| 15943 | 318840 | 1387891.978457 | 1412146.087684 |
| 15944 | 318860 | 1387998.090979 | 1412252.869548 |
| 15945 | 318880 | 1388104.204214 | 1412359.652104 |
| 15946 | 318900 | 1388210.318160 | 1412466.435353 |
| 15947 | 318920 | 1388316.432818 | 1412573.219294 |
| 15948 | 318940 | 1388422.548187 | 1412680.003926 |
| 15949 | 318960 | 1388528.664267 | 1412786.789251 |
| 15950 | 318980 | 1388634.781059 | 1412893.575268 |
| 15951 | 319000 | 1388740.898563 | 1413000.361977 |
| 15952 | 319020 | 1388847.016777 | 1413107.149377 |
| 15953 | 319040 | 1388953.135703 | 1413213.937470 |
| 15954 | 319060 | 1389059.255340 | 1413320.726254 |
| 15955 | 319080 | 1389165.375688 | 1413427.515730 |
| 15956 | 319100 | 1389271.496747 | 1413534.305898 |
| 15957 | 319120 | 1389377.618517 | 1413641.096757 |
| 15958 | 319140 | 1389483.740998 | 1413747.888309 |
| 15959 | 319160 | 1389589.864191 | 1413854.680551 |
| 15960 | 319180 | 1389695.988094 | 1413961.473486 |
| 15961 | 319200 | 1389802.112707 | 1414068.267111 |
| 15962 | 319220 | 1389908.238032 | 1414175.061428 |
| 15963 | 319240 | 1390014.364068 | 1414281.856437 |
| 15964 | 319260 | 1390120.490814 | 1414388.652137 |
| 15965 | 319280 | 1390226.618271 | 1414495.448528 |
| 15966 | 319300 | 1390332.746438 | 1414602.245611 |
| 15967 | 319320 | 1390438.875316 | 1414709.043384 |
| 15968 | 319340 | 1390545.004904 | 1414815.841849 |
| 15969 | 319360 | 1390651.135203 | 1414922.641005 |
| 15970 | 319380 | 1390757.266213 | 1415029.440852 |
| 15971 | 319400 | 1390863.397932 | 1415136.241390 |
| 15972 | 319420 | 1390969.530362 | 1415243.042619 |
| 15973 | 319440 | 1391075.663503 | 1415349.844539 |
| 15974 | 319460 | 1391181.797353 | 1415456.647150 |
| 15975 | 319480 | 1391287.931914 | 1415563.450452 |
| 15976 | 319500 | 1391394.067185 | 1415670.254445 |
| 15977 | 319520 | 1391500.203165 | 1415777.059128 |
| 15978 | 319540 | 1391606.339856 | 1415883.864502 |
| 15979 | 319560 | 1391712.477257 | 1415990.670566 |
| 15980 | 319580 | 1391818.615368 | 1416097.477322 |
| 15981 | 319600 | 1391924.754189 | 1416204.284767 |
| 15982 | 319620 | 1392030.893719 | 1416311.092904 |
| 15983 | 319640 | 1392137.033960 | 1416417.901731 |
| 15984 | 319660 | 1392243.174910 | 1416524.711248 |
| 15985 | 319680 | 1392349.316569 | 1416631.521455 |
| 15986 | 319700 | 1392455.458939 | 1416738.332353 |
| 15987 | 319720 | 1392561.602018 | 1416845.143942 |
| 15988 | 319740 | 1392667.745806 | 1416951.956220 |
| 15989 | 319760 | 1392773.890304 | 1417058.769189 |
| 15990 | 319780 | 1392880.035512 | 1417165.582847 |
| 15991 | 319800 | 1392986.181429 | 1417272.397196 |
| 15992 | 319820 | 1393092.328055 | 1417379.212235 |
| 15993 | 319840 | 1393198.475391 | 1417486.027964 |
| 15994 | 319860 | 1393304.623435 | 1417592.844383 |
| 15995 | 319880 | 1393410.772190 | 1417699.661492 |
| 15996 | 319900 | 1393516.921653 | 1417806.479291 |
| 15997 | 319920 | 1393623.071825 | 1417913.297779 |
| 15998 | 319940 | 1393729.222706 | 1418020.116957 |
| 15999 | 319960 | 1393835.374297 | 1418126.936825 |
| 16000 | 319980 | 1393941.526596 | 1418233.757383 |
| 16001 | 320000 | 1394047.679604 | 1418340.578631 |
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())