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 |
|---|---|---|---|
| 16502 | 330020 | 1447318.489890 | 1471943.788475 |
| 16503 | 330040 | 1447424.992855 | 1472050.950217 |
| 16504 | 330060 | 1447531.496505 | 1472158.112626 |
| 16505 | 330080 | 1447638.000840 | 1472265.275702 |
| 16506 | 330100 | 1447744.505861 | 1472372.439445 |
| 16507 | 330120 | 1447851.011567 | 1472479.603855 |
| 16508 | 330140 | 1447957.517959 | 1472586.768933 |
| 16509 | 330160 | 1448064.025036 | 1472693.934677 |
| 16510 | 330180 | 1448170.532799 | 1472801.101088 |
| 16511 | 330200 | 1448277.041246 | 1472908.268166 |
| 16512 | 330220 | 1448383.550379 | 1473015.435910 |
| 16513 | 330240 | 1448490.060197 | 1473122.604322 |
| 16514 | 330260 | 1448596.570700 | 1473229.773400 |
| 16515 | 330280 | 1448703.081889 | 1473336.943145 |
| 16516 | 330300 | 1448809.593762 | 1473444.113556 |
| 16517 | 330320 | 1448916.106320 | 1473551.284634 |
| 16518 | 330340 | 1449022.619564 | 1473658.456379 |
| 16519 | 330360 | 1449129.133492 | 1473765.628790 |
| 16520 | 330380 | 1449235.648105 | 1473872.801868 |
| 16521 | 330400 | 1449342.163403 | 1473979.975612 |
| 16522 | 330420 | 1449448.679386 | 1474087.150022 |
| 16523 | 330440 | 1449555.196053 | 1474194.325099 |
| 16524 | 330460 | 1449661.713405 | 1474301.500842 |
| 16525 | 330480 | 1449768.231442 | 1474408.677251 |
| 16526 | 330500 | 1449874.750163 | 1474515.854327 |
| 16527 | 330520 | 1449981.269569 | 1474623.032069 |
| 16528 | 330540 | 1450087.789659 | 1474730.210477 |
| 16529 | 330560 | 1450194.310434 | 1474837.389550 |
| 16530 | 330580 | 1450300.831893 | 1474944.569290 |
| 16531 | 330600 | 1450407.354037 | 1475051.749696 |
| 16532 | 330620 | 1450513.876865 | 1475158.930768 |
| 16533 | 330640 | 1450620.400377 | 1475266.112506 |
| 16534 | 330660 | 1450726.924574 | 1475373.294910 |
| 16535 | 330680 | 1450833.449454 | 1475480.477979 |
| 16536 | 330700 | 1450939.975019 | 1475587.661715 |
| 16537 | 330720 | 1451046.501268 | 1475694.846116 |
| 16538 | 330740 | 1451153.028201 | 1475802.031182 |
| 16539 | 330760 | 1451259.555818 | 1475909.216915 |
| 16540 | 330780 | 1451366.084119 | 1476016.403313 |
| 16541 | 330800 | 1451472.613104 | 1476123.590376 |
| 16542 | 330820 | 1451579.142772 | 1476230.778105 |
| 16543 | 330840 | 1451685.673125 | 1476337.966500 |
| 16544 | 330860 | 1451792.204161 | 1476445.155560 |
| 16545 | 330880 | 1451898.735882 | 1476552.345285 |
| 16546 | 330900 | 1452005.268285 | 1476659.535676 |
| 16547 | 330920 | 1452111.801373 | 1476766.726732 |
| 16548 | 330940 | 1452218.335144 | 1476873.918453 |
| 16549 | 330960 | 1452324.869599 | 1476981.110839 |
| 16550 | 330980 | 1452431.404737 | 1477088.303891 |
| 16551 | 331000 | 1452537.940558 | 1477195.497608 |
| 16552 | 331020 | 1452644.477063 | 1477302.691990 |
| 16553 | 331040 | 1452751.014252 | 1477409.887037 |
| 16554 | 331060 | 1452857.552124 | 1477517.082748 |
| 16555 | 331080 | 1452964.090679 | 1477624.279125 |
| 16556 | 331100 | 1453070.629917 | 1477731.476167 |
| 16557 | 331120 | 1453177.169839 | 1477838.673874 |
| 16558 | 331140 | 1453283.710444 | 1477945.872245 |
| 16559 | 331160 | 1453390.251732 | 1478053.071282 |
| 16560 | 331180 | 1453496.793702 | 1478160.270983 |
| 16561 | 331200 | 1453603.336356 | 1478267.471349 |
| 16562 | 331220 | 1453709.879693 | 1478374.672379 |
| 16563 | 331240 | 1453816.423713 | 1478481.874074 |
| 16564 | 331260 | 1453922.968416 | 1478589.076434 |
| 16565 | 331280 | 1454029.513802 | 1478696.279458 |
| 16566 | 331300 | 1454136.059870 | 1478803.483146 |
| 16567 | 331320 | 1454242.606621 | 1478910.687499 |
| 16568 | 331340 | 1454349.154055 | 1479017.892517 |
| 16569 | 331360 | 1454455.702172 | 1479125.098199 |
| 16570 | 331380 | 1454562.250971 | 1479232.304545 |
| 16571 | 331400 | 1454668.800453 | 1479339.511555 |
| 16572 | 331420 | 1454775.350618 | 1479446.719230 |
| 16573 | 331440 | 1454881.901464 | 1479553.927569 |
| 16574 | 331460 | 1454988.452994 | 1479661.136572 |
| 16575 | 331480 | 1455095.005206 | 1479768.346239 |
| 16576 | 331500 | 1455201.558100 | 1479875.556570 |
| 16577 | 331520 | 1455308.111676 | 1479982.767565 |
| 16578 | 331540 | 1455414.665935 | 1480089.979225 |
| 16579 | 331560 | 1455521.220876 | 1480197.191548 |
| 16580 | 331580 | 1455627.776499 | 1480304.404535 |
| 16581 | 331600 | 1455734.332804 | 1480411.618185 |
| 16582 | 331620 | 1455840.889791 | 1480518.832500 |
| 16583 | 331640 | 1455947.447461 | 1480626.047478 |
| 16584 | 331660 | 1456054.005812 | 1480733.263121 |
| 16585 | 331680 | 1456160.564846 | 1480840.479426 |
| 16586 | 331700 | 1456267.124561 | 1480947.696396 |
| 16587 | 331720 | 1456373.684958 | 1481054.914029 |
| 16588 | 331740 | 1456480.246037 | 1481162.132325 |
| 16589 | 331760 | 1456586.807798 | 1481269.351285 |
| 16590 | 331780 | 1456693.370241 | 1481376.570909 |
| 16591 | 331800 | 1456799.933365 | 1481483.791196 |
| 16592 | 331820 | 1456906.497171 | 1481591.012146 |
| 16593 | 331840 | 1457013.061658 | 1481698.233760 |
| 16594 | 331860 | 1457119.626827 | 1481805.456037 |
| 16595 | 331880 | 1457226.192678 | 1481912.678977 |
| 16596 | 331900 | 1457332.759210 | 1482019.902580 |
| 16597 | 331920 | 1457439.326423 | 1482127.126847 |
| 16598 | 331940 | 1457545.894318 | 1482234.351777 |
| 16599 | 331960 | 1457652.462894 | 1482341.577369 |
| 16600 | 331980 | 1457759.032152 | 1482448.803625 |
| 16601 | 332000 | 1457865.602091 | 1482556.030544 |
| 16602 | 332020 | 1457972.172711 | 1482663.258126 |
| 16603 | 332040 | 1458078.744012 | 1482770.486370 |
| 16604 | 332060 | 1458185.315994 | 1482877.715278 |
| 16605 | 332080 | 1458291.888657 | 1482984.944848 |
| 16606 | 332100 | 1458398.462002 | 1483092.175081 |
| 16607 | 332120 | 1458505.036027 | 1483199.405977 |
| 16608 | 332140 | 1458611.610734 | 1483306.637535 |
| 16609 | 332160 | 1458718.186121 | 1483413.869757 |
| 16610 | 332180 | 1458824.762189 | 1483521.102640 |
| 16611 | 332200 | 1458931.338938 | 1483628.336187 |
| 16612 | 332220 | 1459037.916367 | 1483735.570396 |
| 16613 | 332240 | 1459144.494478 | 1483842.805267 |
| 16614 | 332260 | 1459251.073269 | 1483950.040801 |
| 16615 | 332280 | 1459357.652740 | 1484057.276997 |
| 16616 | 332300 | 1459464.232893 | 1484164.513855 |
| 16617 | 332320 | 1459570.813725 | 1484271.751376 |
| 16618 | 332340 | 1459677.395239 | 1484378.989559 |
| 16619 | 332360 | 1459783.977432 | 1484486.228405 |
| 16620 | 332380 | 1459890.560307 | 1484593.467912 |
| 16621 | 332400 | 1459997.143861 | 1484700.708082 |
| 16622 | 332420 | 1460103.728096 | 1484807.948913 |
| 16623 | 332440 | 1460210.313011 | 1484915.190407 |
| 16624 | 332460 | 1460316.898607 | 1485022.432563 |
| 16625 | 332480 | 1460423.484882 | 1485129.675381 |
| 16626 | 332500 | 1460530.071838 | 1485236.918860 |
| 16627 | 332520 | 1460636.659474 | 1485344.163002 |
| 16628 | 332540 | 1460743.247790 | 1485451.407805 |
| 16629 | 332560 | 1460849.836785 | 1485558.653271 |
| 16630 | 332580 | 1460956.426461 | 1485665.899398 |
| 16631 | 332600 | 1461063.016817 | 1485773.146186 |
| 16632 | 332620 | 1461169.607853 | 1485880.393637 |
| 16633 | 332640 | 1461276.199568 | 1485987.641749 |
| 16634 | 332660 | 1461382.791964 | 1486094.890522 |
| 16635 | 332680 | 1461489.385039 | 1486202.139957 |
| 16636 | 332700 | 1461595.978793 | 1486309.390054 |
| 16637 | 332720 | 1461702.573228 | 1486416.640812 |
| 16638 | 332740 | 1461809.168342 | 1486523.892231 |
| 16639 | 332760 | 1461915.764135 | 1486631.144312 |
| 16640 | 332780 | 1462022.360609 | 1486738.397054 |
| 16641 | 332800 | 1462128.957761 | 1486845.650458 |
| 16642 | 332820 | 1462235.555593 | 1486952.904522 |
| 16643 | 332840 | 1462342.154105 | 1487060.159248 |
| 16644 | 332860 | 1462448.753296 | 1487167.414635 |
| 16645 | 332880 | 1462555.353166 | 1487274.670684 |
| 16646 | 332900 | 1462661.953715 | 1487381.927393 |
| 16647 | 332920 | 1462768.554944 | 1487489.184763 |
| 16648 | 332940 | 1462875.156851 | 1487596.442794 |
| 16649 | 332960 | 1462981.759438 | 1487703.701487 |
| 16650 | 332980 | 1463088.362704 | 1487810.960840 |
| 16651 | 333000 | 1463194.966649 | 1487918.220854 |
| 16652 | 333020 | 1463301.571273 | 1488025.481529 |
| 16653 | 333040 | 1463408.176576 | 1488132.742864 |
| 16654 | 333060 | 1463514.782558 | 1488240.004860 |
| 16655 | 333080 | 1463621.389219 | 1488347.267517 |
| 16656 | 333100 | 1463727.996559 | 1488454.530835 |
| 16657 | 333120 | 1463834.604577 | 1488561.794813 |
| 16658 | 333140 | 1463941.213274 | 1488669.059452 |
| 16659 | 333160 | 1464047.822650 | 1488776.324752 |
| 16660 | 333180 | 1464154.432704 | 1488883.590711 |
| 16661 | 333200 | 1464261.043438 | 1488990.857332 |
| 16662 | 333220 | 1464367.654849 | 1489098.124612 |
| 16663 | 333240 | 1464474.266939 | 1489205.392553 |
| 16664 | 333260 | 1464580.879708 | 1489312.661155 |
| 16665 | 333280 | 1464687.493155 | 1489419.930416 |
| 16666 | 333300 | 1464794.107280 | 1489527.200338 |
| 16667 | 333320 | 1464900.722084 | 1489634.470920 |
| 16668 | 333340 | 1465007.337566 | 1489741.742162 |
| 16669 | 333360 | 1465113.953726 | 1489849.014065 |
| 16670 | 333380 | 1465220.570565 | 1489956.286627 |
| 16671 | 333400 | 1465327.188082 | 1490063.559849 |
| 16672 | 333420 | 1465433.806276 | 1490170.833732 |
| 16673 | 333440 | 1465540.425149 | 1490278.108274 |
| 16674 | 333460 | 1465647.044700 | 1490385.383476 |
| 16675 | 333480 | 1465753.664929 | 1490492.659338 |
| 16676 | 333500 | 1465860.285836 | 1490599.935860 |
| 16677 | 333520 | 1465966.907421 | 1490707.213041 |
| 16678 | 333540 | 1466073.529683 | 1490814.490882 |
| 16679 | 333560 | 1466180.152624 | 1490921.769383 |
| 16680 | 333580 | 1466286.776242 | 1491029.048544 |
| 16681 | 333600 | 1466393.400538 | 1491136.328364 |
| 16682 | 333620 | 1466500.025511 | 1491243.608844 |
| 16683 | 333640 | 1466606.651163 | 1491350.889983 |
| 16684 | 333660 | 1466713.277491 | 1491458.171782 |
| 16685 | 333680 | 1466819.904498 | 1491565.454240 |
| 16686 | 333700 | 1466926.532182 | 1491672.737357 |
| 16687 | 333720 | 1467033.160543 | 1491780.021134 |
| 16688 | 333740 | 1467139.789582 | 1491887.305570 |
| 16689 | 333760 | 1467246.419298 | 1491994.590665 |
| 16690 | 333780 | 1467353.049691 | 1492101.876420 |
| 16691 | 333800 | 1467459.680762 | 1492209.162834 |
| 16692 | 333820 | 1467566.312510 | 1492316.449907 |
| 16693 | 333840 | 1467672.944935 | 1492423.737639 |
| 16694 | 333860 | 1467779.578037 | 1492531.026030 |
| 16695 | 333880 | 1467886.211817 | 1492638.315080 |
| 16696 | 333900 | 1467992.846273 | 1492745.604789 |
| 16697 | 333920 | 1468099.481407 | 1492852.895156 |
| 16698 | 333940 | 1468206.117217 | 1492960.186183 |
| 16699 | 333960 | 1468312.753705 | 1493067.477869 |
| 16700 | 333980 | 1468419.390869 | 1493174.770213 |
| 16701 | 334000 | 1468526.028710 | 1493282.063216 |
| 16702 | 334020 | 1468632.667228 | 1493389.356878 |
| 16703 | 334040 | 1468739.306423 | 1493496.651198 |
| 16704 | 334060 | 1468845.946295 | 1493603.946178 |
| 16705 | 334080 | 1468952.586843 | 1493711.241815 |
| 16706 | 334100 | 1469059.228068 | 1493818.538111 |
| 16707 | 334120 | 1469165.869969 | 1493925.835066 |
| 16708 | 334140 | 1469272.512547 | 1494033.132679 |
| 16709 | 334160 | 1469379.155801 | 1494140.430951 |
| 16710 | 334180 | 1469485.799732 | 1494247.729881 |
| 16711 | 334200 | 1469592.444339 | 1494355.029469 |
| 16712 | 334220 | 1469699.089623 | 1494462.329716 |
| 16713 | 334240 | 1469805.735583 | 1494569.630620 |
| 16714 | 334260 | 1469912.382219 | 1494676.932183 |
| 16715 | 334280 | 1470019.029532 | 1494784.234405 |
| 16716 | 334300 | 1470125.677520 | 1494891.537284 |
| 16717 | 334320 | 1470232.326185 | 1494998.840821 |
| 16718 | 334340 | 1470338.975526 | 1495106.145016 |
| 16719 | 334360 | 1470445.625543 | 1495213.449870 |
| 16720 | 334380 | 1470552.276236 | 1495320.755381 |
| 16721 | 334400 | 1470658.927605 | 1495428.061550 |
| 16722 | 334420 | 1470765.579650 | 1495535.368377 |
| 16723 | 334440 | 1470872.232371 | 1495642.675862 |
| 16724 | 334460 | 1470978.885767 | 1495749.984005 |
| 16725 | 334480 | 1471085.539840 | 1495857.292805 |
| 16726 | 334500 | 1471192.194588 | 1495964.602263 |
| 16727 | 334520 | 1471298.850012 | 1496071.912379 |
| 16728 | 334540 | 1471405.506111 | 1496179.223153 |
| 16729 | 334560 | 1471512.162886 | 1496286.534583 |
| 16730 | 334580 | 1471618.820337 | 1496393.846672 |
| 16731 | 334600 | 1471725.478464 | 1496501.159418 |
| 16732 | 334620 | 1471832.137265 | 1496608.472821 |
| 16733 | 334640 | 1471938.796743 | 1496715.786882 |
| 16734 | 334660 | 1472045.456895 | 1496823.101600 |
| 16735 | 334680 | 1472152.117723 | 1496930.416976 |
| 16736 | 334700 | 1472258.779227 | 1497037.733008 |
| 16737 | 334720 | 1472365.441405 | 1497145.049698 |
| 16738 | 334740 | 1472472.104259 | 1497252.367045 |
| 16739 | 334760 | 1472578.767788 | 1497359.685050 |
| 16740 | 334780 | 1472685.431992 | 1497467.003711 |
| 16741 | 334800 | 1472792.096872 | 1497574.323030 |
| 16742 | 334820 | 1472898.762426 | 1497681.643005 |
| 16743 | 334840 | 1473005.428655 | 1497788.963638 |
| 16744 | 334860 | 1473112.095560 | 1497896.284927 |
| 16745 | 334880 | 1473218.763139 | 1498003.606873 |
| 16746 | 334900 | 1473325.431393 | 1498110.929476 |
| 16747 | 334920 | 1473432.100322 | 1498218.252736 |
| 16748 | 334940 | 1473538.769926 | 1498325.576653 |
| 16749 | 334960 | 1473645.440204 | 1498432.901227 |
| 16750 | 334980 | 1473752.111157 | 1498540.226457 |
| 16751 | 335000 | 1473858.782785 | 1498647.552344 |
| 16752 | 335020 | 1473965.455088 | 1498754.878887 |
| 16753 | 335040 | 1474072.128065 | 1498862.206087 |
| 16754 | 335060 | 1474178.801717 | 1498969.533944 |
| 16755 | 335080 | 1474285.476043 | 1499076.862457 |
| 16756 | 335100 | 1474392.151043 | 1499184.191626 |
| 16757 | 335120 | 1474498.826718 | 1499291.521452 |
| 16758 | 335140 | 1474605.503068 | 1499398.851934 |
| 16759 | 335160 | 1474712.180091 | 1499506.183072 |
| 16760 | 335180 | 1474818.857789 | 1499613.514867 |
| 16761 | 335200 | 1474925.536161 | 1499720.847318 |
| 16762 | 335220 | 1475032.215208 | 1499828.180425 |
| 16763 | 335240 | 1475138.894928 | 1499935.514188 |
| 16764 | 335260 | 1475245.575323 | 1500042.848608 |
| 16765 | 335280 | 1475352.256392 | 1500150.183683 |
| 16766 | 335300 | 1475458.938134 | 1500257.519415 |
| 16767 | 335320 | 1475565.620551 | 1500364.855802 |
| 16768 | 335340 | 1475672.303642 | 1500472.192846 |
| 16769 | 335360 | 1475778.987406 | 1500579.530545 |
| 16770 | 335380 | 1475885.671844 | 1500686.868900 |
| 16771 | 335400 | 1475992.356956 | 1500794.207911 |
| 16772 | 335420 | 1476099.042742 | 1500901.547578 |
| 16773 | 335440 | 1476205.729202 | 1501008.887900 |
| 16774 | 335460 | 1476312.416335 | 1501116.228878 |
| 16775 | 335480 | 1476419.104142 | 1501223.570512 |
| 16776 | 335500 | 1476525.792622 | 1501330.912801 |
| 16777 | 335520 | 1476632.481776 | 1501438.255746 |
| 16778 | 335540 | 1476739.171604 | 1501545.599346 |
| 16779 | 335560 | 1476845.862105 | 1501652.943602 |
| 16780 | 335580 | 1476952.553279 | 1501760.288514 |
| 16781 | 335600 | 1477059.245127 | 1501867.634080 |
| 16782 | 335620 | 1477165.937648 | 1501974.980302 |
| 16783 | 335640 | 1477272.630842 | 1502082.327180 |
| 16784 | 335660 | 1477379.324710 | 1502189.674712 |
| 16785 | 335680 | 1477486.019250 | 1502297.022900 |
| 16786 | 335700 | 1477592.714464 | 1502404.371743 |
| 16787 | 335720 | 1477699.410351 | 1502511.721241 |
| 16788 | 335740 | 1477806.106911 | 1502619.071395 |
| 16789 | 335760 | 1477912.804144 | 1502726.422203 |
| 16790 | 335780 | 1478019.502050 | 1502833.773666 |
| 16791 | 335800 | 1478126.200629 | 1502941.125785 |
| 16792 | 335820 | 1478232.899881 | 1503048.478558 |
| 16793 | 335840 | 1478339.599806 | 1503155.831986 |
| 16794 | 335860 | 1478446.300403 | 1503263.186069 |
| 16795 | 335880 | 1478553.001674 | 1503370.540807 |
| 16796 | 335900 | 1478659.703617 | 1503477.896199 |
| 16797 | 335920 | 1478766.406232 | 1503585.252247 |
| 16798 | 335940 | 1478873.109520 | 1503692.608949 |
| 16799 | 335960 | 1478979.813481 | 1503799.966305 |
| 16800 | 335980 | 1479086.518115 | 1503907.324316 |
| 16801 | 336000 | 1479193.223421 | 1504014.682982 |
| 16802 | 336020 | 1479299.929399 | 1504122.042302 |
| 16803 | 336040 | 1479406.636050 | 1504229.402277 |
| 16804 | 336060 | 1479513.343373 | 1504336.762906 |
| 16805 | 336080 | 1479620.051368 | 1504444.124190 |
| 16806 | 336100 | 1479726.760036 | 1504551.486128 |
| 16807 | 336120 | 1479833.469376 | 1504658.848720 |
| 16808 | 336140 | 1479940.179388 | 1504766.211967 |
| 16809 | 336160 | 1480046.890072 | 1504873.575867 |
| 16810 | 336180 | 1480153.601429 | 1504980.940422 |
| 16811 | 336200 | 1480260.313457 | 1505088.305631 |
| 16812 | 336220 | 1480367.026158 | 1505195.671494 |
| 16813 | 336240 | 1480473.739530 | 1505303.038012 |
| 16814 | 336260 | 1480580.453575 | 1505410.405183 |
| 16815 | 336280 | 1480687.168291 | 1505517.773008 |
| 16816 | 336300 | 1480793.883679 | 1505625.141487 |
| 16817 | 336320 | 1480900.599739 | 1505732.510620 |
| 16818 | 336340 | 1481007.316471 | 1505839.880407 |
| 16819 | 336360 | 1481114.033875 | 1505947.250848 |
| 16820 | 336380 | 1481220.751950 | 1506054.621942 |
| 16821 | 336400 | 1481327.470696 | 1506161.993690 |
| 16822 | 336420 | 1481434.190115 | 1506269.366092 |
| 16823 | 336440 | 1481540.910205 | 1506376.739147 |
| 16824 | 336460 | 1481647.630966 | 1506484.112857 |
| 16825 | 336480 | 1481754.352399 | 1506591.487219 |
| 16826 | 336500 | 1481861.074503 | 1506698.862235 |
| 16827 | 336520 | 1481967.797279 | 1506806.237905 |
| 16828 | 336540 | 1482074.520726 | 1506913.614228 |
| 16829 | 336560 | 1482181.244844 | 1507020.991204 |
| 16830 | 336580 | 1482287.969634 | 1507128.368834 |
| 16831 | 336600 | 1482394.695095 | 1507235.747117 |
| 16832 | 336620 | 1482501.421227 | 1507343.126054 |
| 16833 | 336640 | 1482608.148030 | 1507450.505643 |
| 16834 | 336660 | 1482714.875504 | 1507557.885886 |
| 16835 | 336680 | 1482821.603649 | 1507665.266782 |
| 16836 | 336700 | 1482928.332465 | 1507772.648331 |
| 16837 | 336720 | 1483035.061952 | 1507880.030533 |
| 16838 | 336740 | 1483141.792110 | 1507987.413388 |
| 16839 | 336760 | 1483248.522939 | 1508094.796896 |
| 16840 | 336780 | 1483355.254439 | 1508202.181058 |
| 16841 | 336800 | 1483461.986609 | 1508309.565871 |
| 16842 | 336820 | 1483568.719450 | 1508416.951338 |
| 16843 | 336840 | 1483675.452962 | 1508524.337458 |
| 16844 | 336860 | 1483782.187145 | 1508631.724230 |
| 16845 | 336880 | 1483888.921998 | 1508739.111655 |
| 16846 | 336900 | 1483995.657522 | 1508846.499733 |
| 16847 | 336920 | 1484102.393716 | 1508953.888464 |
| 16848 | 336940 | 1484209.130580 | 1509061.277847 |
| 16849 | 336960 | 1484315.868116 | 1509168.667882 |
| 16850 | 336980 | 1484422.606321 | 1509276.058570 |
| 16851 | 337000 | 1484529.345197 | 1509383.449911 |
| 16852 | 337020 | 1484636.084743 | 1509490.841904 |
| 16853 | 337040 | 1484742.824959 | 1509598.234549 |
| 16854 | 337060 | 1484849.565846 | 1509705.627847 |
| 16855 | 337080 | 1484956.307403 | 1509813.021797 |
| 16856 | 337100 | 1485063.049630 | 1509920.416400 |
| 16857 | 337120 | 1485169.792527 | 1510027.811654 |
| 16858 | 337140 | 1485276.536094 | 1510135.207561 |
| 16859 | 337160 | 1485383.280331 | 1510242.604120 |
| 16860 | 337180 | 1485490.025238 | 1510350.001331 |
| 16861 | 337200 | 1485596.770815 | 1510457.399194 |
| 16862 | 337220 | 1485703.517061 | 1510564.797710 |
| 16863 | 337240 | 1485810.263978 | 1510672.196877 |
| 16864 | 337260 | 1485917.011564 | 1510779.596696 |
| 16865 | 337280 | 1486023.759821 | 1510886.997167 |
| 16866 | 337300 | 1486130.508746 | 1510994.398290 |
| 16867 | 337320 | 1486237.258342 | 1511101.800064 |
| 16868 | 337340 | 1486344.008607 | 1511209.202491 |
| 16869 | 337360 | 1486450.759542 | 1511316.605569 |
| 16870 | 337380 | 1486557.511146 | 1511424.009299 |
| 16871 | 337400 | 1486664.263420 | 1511531.413680 |
| 16872 | 337420 | 1486771.016363 | 1511638.818714 |
| 16873 | 337440 | 1486877.769975 | 1511746.224398 |
| 16874 | 337460 | 1486984.524257 | 1511853.630735 |
| 16875 | 337480 | 1487091.279208 | 1511961.037722 |
| 16876 | 337500 | 1487198.034829 | 1512068.445362 |
| 16877 | 337520 | 1487304.791119 | 1512175.853652 |
| 16878 | 337540 | 1487411.548078 | 1512283.262594 |
| 16879 | 337560 | 1487518.305706 | 1512390.672187 |
| 16880 | 337580 | 1487625.064003 | 1512498.082432 |
| 16881 | 337600 | 1487731.822969 | 1512605.493328 |
| 16882 | 337620 | 1487838.582604 | 1512712.904875 |
| 16883 | 337640 | 1487945.342908 | 1512820.317073 |
| 16884 | 337660 | 1488052.103882 | 1512927.729922 |
| 16885 | 337680 | 1488158.865524 | 1513035.143423 |
| 16886 | 337700 | 1488265.627834 | 1513142.557574 |
| 16887 | 337720 | 1488372.390814 | 1513249.972377 |
| 16888 | 337740 | 1488479.154463 | 1513357.387830 |
| 16889 | 337760 | 1488585.918780 | 1513464.803934 |
| 16890 | 337780 | 1488692.683766 | 1513572.220689 |
| 16891 | 337800 | 1488799.449420 | 1513679.638095 |
| 16892 | 337820 | 1488906.215743 | 1513787.056152 |
| 16893 | 337840 | 1489012.982735 | 1513894.474860 |
| 16894 | 337860 | 1489119.750395 | 1514001.894218 |
| 16895 | 337880 | 1489226.518723 | 1514109.314227 |
| 16896 | 337900 | 1489333.287720 | 1514216.734886 |
| 16897 | 337920 | 1489440.057386 | 1514324.156196 |
| 16898 | 337940 | 1489546.827719 | 1514431.578157 |
| 16899 | 337960 | 1489653.598721 | 1514539.000768 |
| 16900 | 337980 | 1489760.370391 | 1514646.424030 |
| 16901 | 338000 | 1489867.142730 | 1514753.847942 |
| 16902 | 338020 | 1489973.915736 | 1514861.272504 |
| 16903 | 338040 | 1490080.689411 | 1514968.697717 |
| 16904 | 338060 | 1490187.463754 | 1515076.123580 |
| 16905 | 338080 | 1490294.238765 | 1515183.550093 |
| 16906 | 338100 | 1490401.014443 | 1515290.977257 |
| 16907 | 338120 | 1490507.790790 | 1515398.405070 |
| 16908 | 338140 | 1490614.567805 | 1515505.833534 |
| 16909 | 338160 | 1490721.345487 | 1515613.262648 |
| 16910 | 338180 | 1490828.123838 | 1515720.692412 |
| 16911 | 338200 | 1490934.902856 | 1515828.122826 |
| 16912 | 338220 | 1491041.682541 | 1515935.553890 |
| 16913 | 338240 | 1491148.462895 | 1516042.985604 |
| 16914 | 338260 | 1491255.243916 | 1516150.417967 |
| 16915 | 338280 | 1491362.025605 | 1516257.850981 |
| 16916 | 338300 | 1491468.807961 | 1516365.284644 |
| 16917 | 338320 | 1491575.590985 | 1516472.718958 |
| 16918 | 338340 | 1491682.374677 | 1516580.153920 |
| 16919 | 338360 | 1491789.159035 | 1516687.589533 |
| 16920 | 338380 | 1491895.944061 | 1516795.025795 |
| 16921 | 338400 | 1492002.729755 | 1516902.462707 |
| 16922 | 338420 | 1492109.516116 | 1517009.900268 |
| 16923 | 338440 | 1492216.303144 | 1517117.338479 |
| 16924 | 338460 | 1492323.090839 | 1517224.777339 |
| 16925 | 338480 | 1492429.879202 | 1517332.216849 |
| 16926 | 338500 | 1492536.668231 | 1517439.657008 |
| 16927 | 338520 | 1492643.457928 | 1517547.097817 |
| 16928 | 338540 | 1492750.248292 | 1517654.539274 |
| 16929 | 338560 | 1492857.039323 | 1517761.981382 |
| 16930 | 338580 | 1492963.831021 | 1517869.424138 |
| 16931 | 338600 | 1493070.623385 | 1517976.867543 |
| 16932 | 338620 | 1493177.416417 | 1518084.311598 |
| 16933 | 338640 | 1493284.210115 | 1518191.756302 |
| 16934 | 338660 | 1493391.004480 | 1518299.201654 |
| 16935 | 338680 | 1493497.799512 | 1518406.647656 |
| 16936 | 338700 | 1493604.595211 | 1518514.094307 |
| 16937 | 338720 | 1493711.391577 | 1518621.541607 |
| 16938 | 338740 | 1493818.188609 | 1518728.989556 |
| 16939 | 338760 | 1493924.986307 | 1518836.438153 |
| 16940 | 338780 | 1494031.784672 | 1518943.887399 |
| 16941 | 338800 | 1494138.583704 | 1519051.337294 |
| 16942 | 338820 | 1494245.383402 | 1519158.787838 |
| 16943 | 338840 | 1494352.183766 | 1519266.239031 |
| 16944 | 338860 | 1494458.984797 | 1519373.690872 |
| 16945 | 338880 | 1494565.786495 | 1519481.143362 |
| 16946 | 338900 | 1494672.588858 | 1519588.596500 |
| 16947 | 338920 | 1494779.391888 | 1519696.050287 |
| 16948 | 338940 | 1494886.195584 | 1519803.504723 |
| 16949 | 338960 | 1494992.999946 | 1519910.959806 |
| 16950 | 338980 | 1495099.804974 | 1520018.415539 |
| 16951 | 339000 | 1495206.610668 | 1520125.871919 |
| 16952 | 339020 | 1495313.417029 | 1520233.328948 |
| 16953 | 339040 | 1495420.224055 | 1520340.786626 |
| 16954 | 339060 | 1495527.031747 | 1520448.244951 |
| 16955 | 339080 | 1495633.840105 | 1520555.703925 |
| 16956 | 339100 | 1495740.649129 | 1520663.163547 |
| 16957 | 339120 | 1495847.458819 | 1520770.623817 |
| 16958 | 339140 | 1495954.269175 | 1520878.084735 |
| 16959 | 339160 | 1496061.080196 | 1520985.546301 |
| 16960 | 339180 | 1496167.891883 | 1521093.008515 |
| 16961 | 339200 | 1496274.704236 | 1521200.471377 |
| 16962 | 339220 | 1496381.517255 | 1521307.934887 |
| 16963 | 339240 | 1496488.330938 | 1521415.399045 |
| 16964 | 339260 | 1496595.145288 | 1521522.863851 |
| 16965 | 339280 | 1496701.960303 | 1521630.329304 |
| 16966 | 339300 | 1496808.775983 | 1521737.795405 |
| 16967 | 339320 | 1496915.592329 | 1521845.262154 |
| 16968 | 339340 | 1497022.409340 | 1521952.729551 |
| 16969 | 339360 | 1497129.227017 | 1522060.197595 |
| 16970 | 339380 | 1497236.045358 | 1522167.666287 |
| 16971 | 339400 | 1497342.864365 | 1522275.135627 |
| 16972 | 339420 | 1497449.684037 | 1522382.605614 |
| 16973 | 339440 | 1497556.504375 | 1522490.076248 |
| 16974 | 339460 | 1497663.325377 | 1522597.547530 |
| 16975 | 339480 | 1497770.147044 | 1522705.019459 |
| 16976 | 339500 | 1497876.969377 | 1522812.492036 |
| 16977 | 339520 | 1497983.792374 | 1522919.965260 |
| 16978 | 339540 | 1498090.616037 | 1523027.439131 |
| 16979 | 339560 | 1498197.440364 | 1523134.913649 |
| 16980 | 339580 | 1498304.265356 | 1523242.388815 |
| 16981 | 339600 | 1498411.091013 | 1523349.864628 |
| 16982 | 339620 | 1498517.917335 | 1523457.341087 |
| 16983 | 339640 | 1498624.744321 | 1523564.818194 |
| 16984 | 339660 | 1498731.571972 | 1523672.295948 |
| 16985 | 339680 | 1498838.400288 | 1523779.774349 |
| 16986 | 339700 | 1498945.229268 | 1523887.253397 |
| 16987 | 339720 | 1499052.058913 | 1523994.733092 |
| 16988 | 339740 | 1499158.889222 | 1524102.213433 |
| 16989 | 339760 | 1499265.720196 | 1524209.694422 |
| 16990 | 339780 | 1499372.551834 | 1524317.176057 |
| 16991 | 339800 | 1499479.384137 | 1524424.658339 |
| 16992 | 339820 | 1499586.217104 | 1524532.141268 |
| 16993 | 339840 | 1499693.050735 | 1524639.624843 |
| 16994 | 339860 | 1499799.885031 | 1524747.109065 |
| 16995 | 339880 | 1499906.719991 | 1524854.593933 |
| 16996 | 339900 | 1500013.555615 | 1524962.079448 |
| 16997 | 339920 | 1500120.391903 | 1525069.565610 |
| 16998 | 339940 | 1500227.228855 | 1525177.052418 |
| 16999 | 339960 | 1500334.066471 | 1525284.539872 |
| 17000 | 339980 | 1500440.904751 | 1525392.027973 |
| 17001 | 340000 | 1500547.743695 | 1525499.516720 |
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())