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 |
|---|---|---|---|
| 19002 | 380020 | 1715609.322374 | 1741827.948651 |
| 19003 | 380040 | 1715717.412545 | 1741936.656131 |
| 19004 | 380060 | 1715825.503305 | 1742045.364184 |
| 19005 | 380080 | 1715933.594654 | 1742154.072812 |
| 19006 | 380100 | 1716041.686592 | 1742262.782013 |
| 19007 | 380120 | 1716149.779119 | 1742371.491789 |
| 19008 | 380140 | 1716257.872235 | 1742480.202138 |
| 19009 | 380160 | 1716365.965939 | 1742588.913061 |
| 19010 | 380180 | 1716474.060232 | 1742697.624558 |
| 19011 | 380200 | 1716582.155114 | 1742806.336629 |
| 19012 | 380220 | 1716690.250585 | 1742915.049273 |
| 19013 | 380240 | 1716798.346644 | 1743023.762491 |
| 19014 | 380260 | 1716906.443292 | 1743132.476283 |
| 19015 | 380280 | 1717014.540529 | 1743241.190649 |
| 19016 | 380300 | 1717122.638354 | 1743349.905588 |
| 19017 | 380320 | 1717230.736768 | 1743458.621101 |
| 19018 | 380340 | 1717338.835770 | 1743567.337187 |
| 19019 | 380360 | 1717446.935361 | 1743676.053847 |
| 19020 | 380380 | 1717555.035540 | 1743784.771081 |
| 19021 | 380400 | 1717663.136308 | 1743893.488888 |
| 19022 | 380420 | 1717771.237664 | 1744002.207268 |
| 19023 | 380440 | 1717879.339608 | 1744110.926222 |
| 19024 | 380460 | 1717987.442141 | 1744219.645749 |
| 19025 | 380480 | 1718095.545262 | 1744328.365849 |
| 19026 | 380500 | 1718203.648971 | 1744437.086523 |
| 19027 | 380520 | 1718311.753268 | 1744545.807770 |
| 19028 | 380540 | 1718419.858153 | 1744654.529590 |
| 19029 | 380560 | 1718527.963627 | 1744763.251984 |
| 19030 | 380580 | 1718636.069689 | 1744871.974951 |
| 19031 | 380600 | 1718744.176339 | 1744980.698491 |
| 19032 | 380620 | 1718852.283577 | 1745089.422604 |
| 19033 | 380640 | 1718960.391403 | 1745198.147290 |
| 19034 | 380660 | 1719068.499816 | 1745306.872549 |
| 19035 | 380680 | 1719176.608818 | 1745415.598381 |
| 19036 | 380700 | 1719284.718408 | 1745524.324786 |
| 19037 | 380720 | 1719392.828586 | 1745633.051764 |
| 19038 | 380740 | 1719500.939351 | 1745741.779316 |
| 19039 | 380760 | 1719609.050704 | 1745850.507439 |
| 19040 | 380780 | 1719717.162645 | 1745959.236136 |
| 19041 | 380800 | 1719825.275174 | 1746067.965406 |
| 19042 | 380820 | 1719933.388291 | 1746176.695248 |
| 19043 | 380840 | 1720041.501995 | 1746285.425664 |
| 19044 | 380860 | 1720149.616287 | 1746394.156652 |
| 19045 | 380880 | 1720257.731166 | 1746502.888212 |
| 19046 | 380900 | 1720365.846633 | 1746611.620346 |
| 19047 | 380920 | 1720473.962688 | 1746720.353052 |
| 19048 | 380940 | 1720582.079330 | 1746829.086330 |
| 19049 | 380960 | 1720690.196560 | 1746937.820182 |
| 19050 | 380980 | 1720798.314377 | 1747046.554605 |
| 19051 | 381000 | 1720906.432781 | 1747155.289602 |
| 19052 | 381020 | 1721014.551773 | 1747264.025170 |
| 19053 | 381040 | 1721122.671352 | 1747372.761311 |
| 19054 | 381060 | 1721230.791519 | 1747481.498025 |
| 19055 | 381080 | 1721338.912272 | 1747590.235311 |
| 19056 | 381100 | 1721447.033613 | 1747698.973169 |
| 19057 | 381120 | 1721555.155542 | 1747807.711600 |
| 19058 | 381140 | 1721663.278057 | 1747916.450603 |
| 19059 | 381160 | 1721771.401160 | 1748025.190178 |
| 19060 | 381180 | 1721879.524849 | 1748133.930326 |
| 19061 | 381200 | 1721987.649126 | 1748242.671045 |
| 19062 | 381220 | 1722095.773990 | 1748351.412337 |
| 19063 | 381240 | 1722203.899441 | 1748460.154201 |
| 19064 | 381260 | 1722312.025479 | 1748568.896637 |
| 19065 | 381280 | 1722420.152104 | 1748677.639645 |
| 19066 | 381300 | 1722528.279315 | 1748786.383225 |
| 19067 | 381320 | 1722636.407114 | 1748895.127378 |
| 19068 | 381340 | 1722744.535499 | 1749003.872102 |
| 19069 | 381360 | 1722852.664472 | 1749112.617398 |
| 19070 | 381380 | 1722960.794031 | 1749221.363266 |
| 19071 | 381400 | 1723068.924176 | 1749330.109706 |
| 19072 | 381420 | 1723177.054909 | 1749438.856717 |
| 19073 | 381440 | 1723285.186228 | 1749547.604301 |
| 19074 | 381460 | 1723393.318134 | 1749656.352456 |
| 19075 | 381480 | 1723501.450627 | 1749765.101183 |
| 19076 | 381500 | 1723609.583706 | 1749873.850482 |
| 19077 | 381520 | 1723717.717371 | 1749982.600352 |
| 19078 | 381540 | 1723825.851623 | 1750091.350794 |
| 19079 | 381560 | 1723933.986462 | 1750200.101808 |
| 19080 | 381580 | 1724042.121887 | 1750308.853393 |
| 19081 | 381600 | 1724150.257899 | 1750417.605550 |
| 19082 | 381620 | 1724258.394497 | 1750526.358279 |
| 19083 | 381640 | 1724366.531681 | 1750635.111579 |
| 19084 | 381660 | 1724474.669452 | 1750743.865450 |
| 19085 | 381680 | 1724582.807809 | 1750852.619893 |
| 19086 | 381700 | 1724690.946752 | 1750961.374907 |
| 19087 | 381720 | 1724799.086281 | 1751070.130492 |
| 19088 | 381740 | 1724907.226397 | 1751178.886649 |
| 19089 | 381760 | 1725015.367099 | 1751287.643378 |
| 19090 | 381780 | 1725123.508386 | 1751396.400677 |
| 19091 | 381800 | 1725231.650260 | 1751505.158548 |
| 19092 | 381820 | 1725339.792720 | 1751613.916990 |
| 19093 | 381840 | 1725447.935767 | 1751722.676003 |
| 19094 | 381860 | 1725556.079399 | 1751831.435587 |
| 19095 | 381880 | 1725664.223617 | 1751940.195742 |
| 19096 | 381900 | 1725772.368421 | 1752048.956469 |
| 19097 | 381920 | 1725880.513810 | 1752157.717766 |
| 19098 | 381940 | 1725988.659786 | 1752266.479635 |
| 19099 | 381960 | 1726096.806348 | 1752375.242074 |
| 19100 | 381980 | 1726204.953495 | 1752484.005085 |
| 19101 | 382000 | 1726313.101228 | 1752592.768666 |
| 19102 | 382020 | 1726421.249547 | 1752701.532818 |
| 19103 | 382040 | 1726529.398452 | 1752810.297541 |
| 19104 | 382060 | 1726637.547942 | 1752919.062835 |
| 19105 | 382080 | 1726745.698018 | 1753027.828700 |
| 19106 | 382100 | 1726853.848679 | 1753136.595135 |
| 19107 | 382120 | 1726961.999926 | 1753245.362142 |
| 19108 | 382140 | 1727070.151759 | 1753354.129719 |
| 19109 | 382160 | 1727178.304177 | 1753462.897866 |
| 19110 | 382180 | 1727286.457180 | 1753571.666584 |
| 19111 | 382200 | 1727394.610769 | 1753680.435873 |
| 19112 | 382220 | 1727502.764944 | 1753789.205733 |
| 19113 | 382240 | 1727610.919703 | 1753897.976163 |
| 19114 | 382260 | 1727719.075048 | 1754006.747163 |
| 19115 | 382280 | 1727827.230979 | 1754115.518734 |
| 19116 | 382300 | 1727935.387495 | 1754224.290875 |
| 19117 | 382320 | 1728043.544595 | 1754333.063587 |
| 19118 | 382340 | 1728151.702282 | 1754441.836869 |
| 19119 | 382360 | 1728259.860553 | 1754550.610722 |
| 19120 | 382380 | 1728368.019409 | 1754659.385145 |
| 19121 | 382400 | 1728476.178851 | 1754768.160138 |
| 19122 | 382420 | 1728584.338877 | 1754876.935701 |
| 19123 | 382440 | 1728692.499489 | 1754985.711835 |
| 19124 | 382460 | 1728800.660686 | 1755094.488539 |
| 19125 | 382480 | 1728908.822467 | 1755203.265813 |
| 19126 | 382500 | 1729016.984834 | 1755312.043657 |
| 19127 | 382520 | 1729125.147785 | 1755420.822071 |
| 19128 | 382540 | 1729233.311322 | 1755529.601056 |
| 19129 | 382560 | 1729341.475443 | 1755638.380610 |
| 19130 | 382580 | 1729449.640149 | 1755747.160734 |
| 19131 | 382600 | 1729557.805440 | 1755855.941428 |
| 19132 | 382620 | 1729665.971316 | 1755964.722693 |
| 19133 | 382640 | 1729774.137776 | 1756073.504527 |
| 19134 | 382660 | 1729882.304821 | 1756182.286931 |
| 19135 | 382680 | 1729990.472450 | 1756291.069905 |
| 19136 | 382700 | 1730098.640665 | 1756399.853448 |
| 19137 | 382720 | 1730206.809463 | 1756508.637562 |
| 19138 | 382740 | 1730314.978847 | 1756617.422245 |
| 19139 | 382760 | 1730423.148815 | 1756726.207498 |
| 19140 | 382780 | 1730531.319367 | 1756834.993321 |
| 19141 | 382800 | 1730639.490504 | 1756943.779713 |
| 19142 | 382820 | 1730747.662225 | 1757052.566675 |
| 19143 | 382840 | 1730855.834531 | 1757161.354206 |
| 19144 | 382860 | 1730964.007421 | 1757270.142307 |
| 19145 | 382880 | 1731072.180895 | 1757378.930978 |
| 19146 | 382900 | 1731180.354954 | 1757487.720218 |
| 19147 | 382920 | 1731288.529596 | 1757596.510028 |
| 19148 | 382940 | 1731396.704824 | 1757705.300407 |
| 19149 | 382960 | 1731504.880635 | 1757814.091355 |
| 19150 | 382980 | 1731613.057030 | 1757922.882873 |
| 19151 | 383000 | 1731721.234010 | 1758031.674960 |
| 19152 | 383020 | 1731829.411573 | 1758140.467616 |
| 19153 | 383040 | 1731937.589721 | 1758249.260842 |
| 19154 | 383060 | 1732045.768453 | 1758358.054637 |
| 19155 | 383080 | 1732153.947769 | 1758466.849001 |
| 19156 | 383100 | 1732262.127668 | 1758575.643934 |
| 19157 | 383120 | 1732370.308152 | 1758684.439437 |
| 19158 | 383140 | 1732478.489219 | 1758793.235508 |
| 19159 | 383160 | 1732586.670871 | 1758902.032149 |
| 19160 | 383180 | 1732694.853106 | 1759010.829359 |
| 19161 | 383200 | 1732803.035925 | 1759119.627137 |
| 19162 | 383220 | 1732911.219328 | 1759228.425485 |
| 19163 | 383240 | 1733019.403314 | 1759337.224402 |
| 19164 | 383260 | 1733127.587884 | 1759446.023888 |
| 19165 | 383280 | 1733235.773038 | 1759554.823942 |
| 19166 | 383300 | 1733343.958776 | 1759663.624565 |
| 19167 | 383320 | 1733452.145097 | 1759772.425758 |
| 19168 | 383340 | 1733560.332002 | 1759881.227519 |
| 19169 | 383360 | 1733668.519490 | 1759990.029849 |
| 19170 | 383380 | 1733776.707562 | 1760098.832747 |
| 19171 | 383400 | 1733884.896217 | 1760207.636214 |
| 19172 | 383420 | 1733993.085455 | 1760316.440250 |
| 19173 | 383440 | 1734101.275277 | 1760425.244855 |
| 19174 | 383460 | 1734209.465683 | 1760534.050028 |
| 19175 | 383480 | 1734317.656672 | 1760642.855770 |
| 19176 | 383500 | 1734425.848244 | 1760751.662080 |
| 19177 | 383520 | 1734534.040399 | 1760860.468959 |
| 19178 | 383540 | 1734642.233138 | 1760969.276406 |
| 19179 | 383560 | 1734750.426459 | 1761078.084422 |
| 19180 | 383580 | 1734858.620364 | 1761186.893006 |
| 19181 | 383600 | 1734966.814853 | 1761295.702159 |
| 19182 | 383620 | 1735075.009924 | 1761404.511880 |
| 19183 | 383640 | 1735183.205578 | 1761513.322169 |
| 19184 | 383660 | 1735291.401815 | 1761622.133027 |
| 19185 | 383680 | 1735399.598636 | 1761730.944453 |
| 19186 | 383700 | 1735507.796039 | 1761839.756447 |
| 19187 | 383720 | 1735615.994026 | 1761948.569009 |
| 19188 | 383740 | 1735724.192595 | 1762057.382140 |
| 19189 | 383760 | 1735832.391747 | 1762166.195838 |
| 19190 | 383780 | 1735940.591482 | 1762275.010105 |
| 19191 | 383800 | 1736048.791800 | 1762383.824940 |
| 19192 | 383820 | 1736156.992700 | 1762492.640343 |
| 19193 | 383840 | 1736265.194184 | 1762601.456314 |
| 19194 | 383860 | 1736373.396250 | 1762710.272853 |
| 19195 | 383880 | 1736481.598898 | 1762819.089959 |
| 19196 | 383900 | 1736589.802130 | 1762927.907634 |
| 19197 | 383920 | 1736698.005944 | 1763036.725877 |
| 19198 | 383940 | 1736806.210340 | 1763145.544687 |
| 19199 | 383960 | 1736914.415320 | 1763254.364066 |
| 19200 | 383980 | 1737022.620881 | 1763363.184012 |
| 19201 | 384000 | 1737130.827025 | 1763472.004526 |
| 19202 | 384020 | 1737239.033752 | 1763580.825607 |
| 19203 | 384040 | 1737347.241061 | 1763689.647257 |
| 19204 | 384060 | 1737455.448953 | 1763798.469474 |
| 19205 | 384080 | 1737563.657426 | 1763907.292258 |
| 19206 | 384100 | 1737671.866483 | 1764016.115610 |
| 19207 | 384120 | 1737780.076121 | 1764124.939530 |
| 19208 | 384140 | 1737888.286342 | 1764233.764018 |
| 19209 | 384160 | 1737996.497145 | 1764342.589072 |
| 19210 | 384180 | 1738104.708530 | 1764451.414695 |
| 19211 | 384200 | 1738212.920497 | 1764560.240885 |
| 19212 | 384220 | 1738321.133047 | 1764669.067642 |
| 19213 | 384240 | 1738429.346178 | 1764777.894967 |
| 19214 | 384260 | 1738537.559892 | 1764886.722859 |
| 19215 | 384280 | 1738645.774188 | 1764995.551318 |
| 19216 | 384300 | 1738753.989066 | 1765104.380344 |
| 19217 | 384320 | 1738862.204525 | 1765213.209938 |
| 19218 | 384340 | 1738970.420567 | 1765322.040099 |
| 19219 | 384360 | 1739078.637190 | 1765430.870828 |
| 19220 | 384380 | 1739186.854396 | 1765539.702123 |
| 19221 | 384400 | 1739295.072183 | 1765648.533986 |
| 19222 | 384420 | 1739403.290552 | 1765757.366415 |
| 19223 | 384440 | 1739511.509503 | 1765866.199412 |
| 19224 | 384460 | 1739619.729036 | 1765975.032976 |
| 19225 | 384480 | 1739727.949150 | 1766083.867107 |
| 19226 | 384500 | 1739836.169846 | 1766192.701805 |
| 19227 | 384520 | 1739944.391123 | 1766301.537069 |
| 19228 | 384540 | 1740052.612983 | 1766410.372901 |
| 19229 | 384560 | 1740160.835424 | 1766519.209300 |
| 19230 | 384580 | 1740269.058446 | 1766628.046265 |
| 19231 | 384600 | 1740377.282050 | 1766736.883797 |
| 19232 | 384620 | 1740485.506235 | 1766845.721896 |
| 19233 | 384640 | 1740593.731002 | 1766954.560562 |
| 19234 | 384660 | 1740701.956350 | 1767063.399795 |
| 19235 | 384680 | 1740810.182280 | 1767172.239594 |
| 19236 | 384700 | 1740918.408791 | 1767281.079960 |
| 19237 | 384720 | 1741026.635883 | 1767389.920893 |
| 19238 | 384740 | 1741134.863557 | 1767498.762392 |
| 19239 | 384760 | 1741243.091812 | 1767607.604457 |
| 19240 | 384780 | 1741351.320648 | 1767716.447090 |
| 19241 | 384800 | 1741459.550065 | 1767825.290288 |
| 19242 | 384820 | 1741567.780064 | 1767934.134054 |
| 19243 | 384840 | 1741676.010644 | 1768042.978385 |
| 19244 | 384860 | 1741784.241804 | 1768151.823284 |
| 19245 | 384880 | 1741892.473546 | 1768260.668748 |
| 19246 | 384900 | 1742000.705869 | 1768369.514779 |
| 19247 | 384920 | 1742108.938773 | 1768478.361376 |
| 19248 | 384940 | 1742217.172257 | 1768587.208540 |
| 19249 | 384960 | 1742325.406323 | 1768696.056269 |
| 19250 | 384980 | 1742433.640970 | 1768804.904565 |
| 19251 | 385000 | 1742541.876197 | 1768913.753428 |
| 19252 | 385020 | 1742650.112006 | 1769022.602856 |
| 19253 | 385040 | 1742758.348395 | 1769131.452850 |
| 19254 | 385060 | 1742866.585365 | 1769240.303411 |
| 19255 | 385080 | 1742974.822915 | 1769349.154538 |
| 19256 | 385100 | 1743083.061047 | 1769458.006230 |
| 19257 | 385120 | 1743191.299759 | 1769566.858489 |
| 19258 | 385140 | 1743299.539052 | 1769675.711314 |
| 19259 | 385160 | 1743407.778925 | 1769784.564704 |
| 19260 | 385180 | 1743516.019379 | 1769893.418661 |
| 19261 | 385200 | 1743624.260413 | 1770002.273183 |
| 19262 | 385220 | 1743732.502028 | 1770111.128272 |
| 19263 | 385240 | 1743840.744224 | 1770219.983926 |
| 19264 | 385260 | 1743948.987000 | 1770328.840146 |
| 19265 | 385280 | 1744057.230356 | 1770437.696932 |
| 19266 | 385300 | 1744165.474293 | 1770546.554283 |
| 19267 | 385320 | 1744273.718810 | 1770655.412200 |
| 19268 | 385340 | 1744381.963907 | 1770764.270683 |
| 19269 | 385360 | 1744490.209585 | 1770873.129731 |
| 19270 | 385380 | 1744598.455843 | 1770981.989345 |
| 19271 | 385400 | 1744706.702681 | 1771090.849525 |
| 19272 | 385420 | 1744814.950099 | 1771199.710270 |
| 19273 | 385440 | 1744923.198098 | 1771308.571581 |
| 19274 | 385460 | 1745031.446676 | 1771417.433457 |
| 19275 | 385480 | 1745139.695835 | 1771526.295899 |
| 19276 | 385500 | 1745247.945574 | 1771635.158906 |
| 19277 | 385520 | 1745356.195893 | 1771744.022478 |
| 19278 | 385540 | 1745464.446791 | 1771852.886616 |
| 19279 | 385560 | 1745572.698270 | 1771961.751319 |
| 19280 | 385580 | 1745680.950329 | 1772070.616587 |
| 19281 | 385600 | 1745789.202968 | 1772179.482421 |
| 19282 | 385620 | 1745897.456186 | 1772288.348820 |
| 19283 | 385640 | 1746005.709984 | 1772397.215784 |
| 19284 | 385660 | 1746113.964363 | 1772506.083313 |
| 19285 | 385680 | 1746222.219320 | 1772614.951408 |
| 19286 | 385700 | 1746330.474858 | 1772723.820067 |
| 19287 | 385720 | 1746438.730975 | 1772832.689292 |
| 19288 | 385740 | 1746546.987673 | 1772941.559081 |
| 19289 | 385760 | 1746655.244949 | 1773050.429436 |
| 19290 | 385780 | 1746763.502806 | 1773159.300356 |
| 19291 | 385800 | 1746871.761241 | 1773268.171840 |
| 19292 | 385820 | 1746980.020257 | 1773377.043890 |
| 19293 | 385840 | 1747088.279852 | 1773485.916504 |
| 19294 | 385860 | 1747196.540026 | 1773594.789683 |
| 19295 | 385880 | 1747304.800780 | 1773703.663427 |
| 19296 | 385900 | 1747413.062113 | 1773812.537736 |
| 19297 | 385920 | 1747521.324026 | 1773921.412610 |
| 19298 | 385940 | 1747629.586518 | 1774030.288048 |
| 19299 | 385960 | 1747737.849590 | 1774139.164051 |
| 19300 | 385980 | 1747846.113240 | 1774248.040619 |
| 19301 | 386000 | 1747954.377470 | 1774356.917751 |
| 19302 | 386020 | 1748062.642279 | 1774465.795448 |
| 19303 | 386040 | 1748170.907668 | 1774574.673710 |
| 19304 | 386060 | 1748279.173635 | 1774683.552536 |
| 19305 | 386080 | 1748387.440182 | 1774792.431927 |
| 19306 | 386100 | 1748495.707308 | 1774901.311882 |
| 19307 | 386120 | 1748603.975012 | 1775010.192402 |
| 19308 | 386140 | 1748712.243296 | 1775119.073486 |
| 19309 | 386160 | 1748820.512159 | 1775227.955134 |
| 19310 | 386180 | 1748928.781601 | 1775336.837347 |
| 19311 | 386200 | 1749037.051622 | 1775445.720124 |
| 19312 | 386220 | 1749145.322221 | 1775554.603465 |
| 19313 | 386240 | 1749253.593400 | 1775663.487371 |
| 19314 | 386260 | 1749361.865157 | 1775772.371841 |
| 19315 | 386280 | 1749470.137493 | 1775881.256875 |
| 19316 | 386300 | 1749578.410408 | 1775990.142473 |
| 19317 | 386320 | 1749686.683902 | 1776099.028636 |
| 19318 | 386340 | 1749794.957974 | 1776207.915362 |
| 19319 | 386360 | 1749903.232625 | 1776316.802653 |
| 19320 | 386380 | 1750011.507855 | 1776425.690508 |
| 19321 | 386400 | 1750119.783663 | 1776534.578926 |
| 19322 | 386420 | 1750228.060050 | 1776643.467909 |
| 19323 | 386440 | 1750336.337016 | 1776752.357456 |
| 19324 | 386460 | 1750444.614560 | 1776861.247566 |
| 19325 | 386480 | 1750552.892682 | 1776970.138241 |
| 19326 | 386500 | 1750661.171383 | 1777079.029479 |
| 19327 | 386520 | 1750769.450663 | 1777187.921281 |
| 19328 | 386540 | 1750877.730520 | 1777296.813647 |
| 19329 | 386560 | 1750986.010956 | 1777405.706577 |
| 19330 | 386580 | 1751094.291971 | 1777514.600071 |
| 19331 | 386600 | 1751202.573564 | 1777623.494128 |
| 19332 | 386620 | 1751310.855735 | 1777732.388749 |
| 19333 | 386640 | 1751419.138484 | 1777841.283933 |
| 19334 | 386660 | 1751527.421811 | 1777950.179682 |
| 19335 | 386680 | 1751635.705717 | 1778059.075993 |
| 19336 | 386700 | 1751743.990201 | 1778167.972869 |
| 19337 | 386720 | 1751852.275262 | 1778276.870308 |
| 19338 | 386740 | 1751960.560902 | 1778385.768310 |
| 19339 | 386760 | 1752068.847120 | 1778494.666876 |
| 19340 | 386780 | 1752177.133916 | 1778603.566005 |
| 19341 | 386800 | 1752285.421290 | 1778712.465698 |
| 19342 | 386820 | 1752393.709242 | 1778821.365954 |
| 19343 | 386840 | 1752501.997772 | 1778930.266773 |
| 19344 | 386860 | 1752610.286879 | 1779039.168156 |
| 19345 | 386880 | 1752718.576565 | 1779148.070102 |
| 19346 | 386900 | 1752826.866828 | 1779256.972611 |
| 19347 | 386920 | 1752935.157669 | 1779365.875683 |
| 19348 | 386940 | 1753043.449088 | 1779474.779319 |
| 19349 | 386960 | 1753151.741085 | 1779583.683518 |
| 19350 | 386980 | 1753260.033659 | 1779692.588279 |
| 19351 | 387000 | 1753368.326811 | 1779801.493604 |
| 19352 | 387020 | 1753476.620540 | 1779910.399492 |
| 19353 | 387040 | 1753584.914847 | 1780019.305943 |
| 19354 | 387060 | 1753693.209732 | 1780128.212958 |
| 19355 | 387080 | 1753801.505194 | 1780237.120535 |
| 19356 | 387100 | 1753909.801234 | 1780346.028675 |
| 19357 | 387120 | 1754018.097851 | 1780454.937377 |
| 19358 | 387140 | 1754126.395046 | 1780563.846643 |
| 19359 | 387160 | 1754234.692818 | 1780672.756472 |
| 19360 | 387180 | 1754342.991167 | 1780781.666863 |
| 19361 | 387200 | 1754451.290094 | 1780890.577817 |
| 19362 | 387220 | 1754559.589598 | 1780999.489334 |
| 19363 | 387240 | 1754667.889679 | 1781108.401414 |
| 19364 | 387260 | 1754776.190338 | 1781217.314056 |
| 19365 | 387280 | 1754884.491573 | 1781326.227261 |
| 19366 | 387300 | 1754992.793386 | 1781435.141029 |
| 19367 | 387320 | 1755101.095776 | 1781544.055359 |
| 19368 | 387340 | 1755209.398743 | 1781652.970252 |
| 19369 | 387360 | 1755317.702287 | 1781761.885708 |
| 19370 | 387380 | 1755426.006409 | 1781870.801725 |
| 19371 | 387400 | 1755534.311107 | 1781979.718306 |
| 19372 | 387420 | 1755642.616382 | 1782088.635449 |
| 19373 | 387440 | 1755750.922234 | 1782197.553154 |
| 19374 | 387460 | 1755859.228664 | 1782306.471421 |
| 19375 | 387480 | 1755967.535670 | 1782415.390251 |
| 19376 | 387500 | 1756075.843252 | 1782524.309644 |
| 19377 | 387520 | 1756184.151412 | 1782633.229598 |
| 19378 | 387540 | 1756292.460149 | 1782742.150115 |
| 19379 | 387560 | 1756400.769462 | 1782851.071194 |
| 19380 | 387580 | 1756509.079352 | 1782959.992835 |
| 19381 | 387600 | 1756617.389818 | 1783068.915039 |
| 19382 | 387620 | 1756725.700862 | 1783177.837804 |
| 19383 | 387640 | 1756834.012482 | 1783286.761132 |
| 19384 | 387660 | 1756942.324678 | 1783395.685022 |
| 19385 | 387680 | 1757050.637451 | 1783504.609473 |
| 19386 | 387700 | 1757158.950801 | 1783613.534487 |
| 19387 | 387720 | 1757267.264727 | 1783722.460063 |
| 19388 | 387740 | 1757375.579230 | 1783831.386201 |
| 19389 | 387760 | 1757483.894309 | 1783940.312900 |
| 19390 | 387780 | 1757592.209964 | 1784049.240162 |
| 19391 | 387800 | 1757700.526196 | 1784158.167985 |
| 19392 | 387820 | 1757808.843004 | 1784267.096370 |
| 19393 | 387840 | 1757917.160389 | 1784376.025317 |
| 19394 | 387860 | 1758025.478350 | 1784484.954826 |
| 19395 | 387880 | 1758133.796887 | 1784593.884897 |
| 19396 | 387900 | 1758242.116000 | 1784702.815529 |
| 19397 | 387920 | 1758350.435689 | 1784811.746723 |
| 19398 | 387940 | 1758458.755955 | 1784920.678478 |
| 19399 | 387960 | 1758567.076797 | 1785029.610796 |
| 19400 | 387980 | 1758675.398215 | 1785138.543674 |
| 19401 | 388000 | 1758783.720208 | 1785247.477115 |
| 19402 | 388020 | 1758892.042778 | 1785356.411117 |
| 19403 | 388040 | 1759000.365924 | 1785465.345680 |
| 19404 | 388060 | 1759108.689646 | 1785574.280805 |
| 19405 | 388080 | 1759217.013944 | 1785683.216491 |
| 19406 | 388100 | 1759325.338818 | 1785792.152738 |
| 19407 | 388120 | 1759433.664267 | 1785901.089547 |
| 19408 | 388140 | 1759541.990293 | 1786010.026918 |
| 19409 | 388160 | 1759650.316894 | 1786118.964849 |
| 19410 | 388180 | 1759758.644071 | 1786227.903342 |
| 19411 | 388200 | 1759866.971823 | 1786336.842396 |
| 19412 | 388220 | 1759975.300152 | 1786445.782012 |
| 19413 | 388240 | 1760083.629056 | 1786554.722188 |
| 19414 | 388260 | 1760191.958536 | 1786663.662926 |
| 19415 | 388280 | 1760300.288591 | 1786772.604225 |
| 19416 | 388300 | 1760408.619222 | 1786881.546085 |
| 19417 | 388320 | 1760516.950428 | 1786990.488506 |
| 19418 | 388340 | 1760625.282210 | 1787099.431488 |
| 19419 | 388360 | 1760733.614568 | 1787208.375031 |
| 19420 | 388380 | 1760841.947501 | 1787317.319135 |
| 19421 | 388400 | 1760950.281009 | 1787426.263800 |
| 19422 | 388420 | 1761058.615093 | 1787535.209025 |
| 19423 | 388440 | 1761166.949752 | 1787644.154812 |
| 19424 | 388460 | 1761275.284986 | 1787753.101160 |
| 19425 | 388480 | 1761383.620796 | 1787862.048068 |
| 19426 | 388500 | 1761491.957181 | 1787970.995537 |
| 19427 | 388520 | 1761600.294141 | 1788079.943567 |
| 19428 | 388540 | 1761708.631677 | 1788188.892158 |
| 19429 | 388560 | 1761816.969787 | 1788297.841309 |
| 19430 | 388580 | 1761925.308473 | 1788406.791021 |
| 19431 | 388600 | 1762033.647734 | 1788515.741294 |
| 19432 | 388620 | 1762141.987570 | 1788624.692127 |
| 19433 | 388640 | 1762250.327981 | 1788733.643521 |
| 19434 | 388660 | 1762358.668967 | 1788842.595475 |
| 19435 | 388680 | 1762467.010528 | 1788951.547990 |
| 19436 | 388700 | 1762575.352664 | 1789060.501065 |
| 19437 | 388720 | 1762683.695374 | 1789169.454701 |
| 19438 | 388740 | 1762792.038660 | 1789278.408897 |
| 19439 | 388760 | 1762900.382521 | 1789387.363654 |
| 19440 | 388780 | 1763008.726956 | 1789496.318971 |
| 19441 | 388800 | 1763117.071966 | 1789605.274848 |
| 19442 | 388820 | 1763225.417551 | 1789714.231285 |
| 19443 | 388840 | 1763333.763711 | 1789823.188283 |
| 19444 | 388860 | 1763442.110445 | 1789932.145841 |
| 19445 | 388880 | 1763550.457754 | 1790041.103960 |
| 19446 | 388900 | 1763658.805637 | 1790150.062638 |
| 19447 | 388920 | 1763767.154096 | 1790259.021877 |
| 19448 | 388940 | 1763875.503128 | 1790367.981675 |
| 19449 | 388960 | 1763983.852736 | 1790476.942034 |
| 19450 | 388980 | 1764092.202918 | 1790585.902953 |
| 19451 | 389000 | 1764200.553674 | 1790694.864432 |
| 19452 | 389020 | 1764308.905005 | 1790803.826470 |
| 19453 | 389040 | 1764417.256910 | 1790912.789069 |
| 19454 | 389060 | 1764525.609389 | 1791021.752228 |
| 19455 | 389080 | 1764633.962443 | 1791130.715947 |
| 19456 | 389100 | 1764742.316071 | 1791239.680225 |
| 19457 | 389120 | 1764850.670274 | 1791348.645063 |
| 19458 | 389140 | 1764959.025050 | 1791457.610462 |
| 19459 | 389160 | 1765067.380401 | 1791566.576419 |
| 19460 | 389180 | 1765175.736326 | 1791675.542937 |
| 19461 | 389200 | 1765284.092826 | 1791784.510014 |
| 19462 | 389220 | 1765392.449899 | 1791893.477651 |
| 19463 | 389240 | 1765500.807546 | 1792002.445848 |
| 19464 | 389260 | 1765609.165768 | 1792111.414605 |
| 19465 | 389280 | 1765717.524563 | 1792220.383920 |
| 19466 | 389300 | 1765825.883933 | 1792329.353796 |
| 19467 | 389320 | 1765934.243877 | 1792438.324231 |
| 19468 | 389340 | 1766042.604394 | 1792547.295225 |
| 19469 | 389360 | 1766150.965485 | 1792656.266779 |
| 19470 | 389380 | 1766259.327151 | 1792765.238893 |
| 19471 | 389400 | 1766367.689390 | 1792874.211566 |
| 19472 | 389420 | 1766476.052202 | 1792983.184798 |
| 19473 | 389440 | 1766584.415589 | 1793092.158590 |
| 19474 | 389460 | 1766692.779549 | 1793201.132940 |
| 19475 | 389480 | 1766801.144084 | 1793310.107851 |
| 19476 | 389500 | 1766909.509191 | 1793419.083320 |
| 19477 | 389520 | 1767017.874873 | 1793528.059349 |
| 19478 | 389540 | 1767126.241128 | 1793637.035937 |
| 19479 | 389560 | 1767234.607956 | 1793746.013084 |
| 19480 | 389580 | 1767342.975359 | 1793854.990790 |
| 19481 | 389600 | 1767451.343334 | 1793963.969055 |
| 19482 | 389620 | 1767559.711884 | 1794072.947879 |
| 19483 | 389640 | 1767668.081006 | 1794181.927263 |
| 19484 | 389660 | 1767776.450702 | 1794290.907205 |
| 19485 | 389680 | 1767884.820972 | 1794399.887706 |
| 19486 | 389700 | 1767993.191815 | 1794508.868767 |
| 19487 | 389720 | 1768101.563231 | 1794617.850386 |
| 19488 | 389740 | 1768209.935220 | 1794726.832564 |
| 19489 | 389760 | 1768318.307783 | 1794835.815301 |
| 19490 | 389780 | 1768426.680919 | 1794944.798597 |
| 19491 | 389800 | 1768535.054628 | 1795053.782452 |
| 19492 | 389820 | 1768643.428911 | 1795162.766865 |
| 19493 | 389840 | 1768751.803766 | 1795271.751837 |
| 19494 | 389860 | 1768860.179195 | 1795380.737368 |
| 19495 | 389880 | 1768968.555196 | 1795489.723458 |
| 19496 | 389900 | 1769076.931771 | 1795598.710106 |
| 19497 | 389920 | 1769185.308919 | 1795707.697313 |
| 19498 | 389940 | 1769293.686640 | 1795816.685078 |
| 19499 | 389960 | 1769402.064934 | 1795925.673402 |
| 19500 | 389980 | 1769510.443800 | 1796034.662284 |
| 19501 | 390000 | 1769618.823240 | 1796143.651725 |
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())