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 |
|---|---|---|---|
| 18502 | 370020 | 1661638.712741 | 1687546.786953 |
| 18503 | 370040 | 1661746.504180 | 1687655.203327 |
| 18504 | 370060 | 1661854.296226 | 1687763.620291 |
| 18505 | 370080 | 1661962.088877 | 1687872.037847 |
| 18506 | 370100 | 1662069.882135 | 1687980.455992 |
| 18507 | 370120 | 1662177.675999 | 1688088.874728 |
| 18508 | 370140 | 1662285.470468 | 1688197.294055 |
| 18509 | 370160 | 1662393.265543 | 1688305.713972 |
| 18510 | 370180 | 1662501.061225 | 1688414.134479 |
| 18511 | 370200 | 1662608.857512 | 1688522.555576 |
| 18512 | 370220 | 1662716.654405 | 1688630.977264 |
| 18513 | 370240 | 1662824.451904 | 1688739.399542 |
| 18514 | 370260 | 1662932.250008 | 1688847.822410 |
| 18515 | 370280 | 1663040.048718 | 1688956.245868 |
| 18516 | 370300 | 1663147.848034 | 1689064.669917 |
| 18517 | 370320 | 1663255.647955 | 1689173.094555 |
| 18518 | 370340 | 1663363.448482 | 1689281.519784 |
| 18519 | 370360 | 1663471.249615 | 1689389.945602 |
| 18520 | 370380 | 1663579.051353 | 1689498.372011 |
| 18521 | 370400 | 1663686.853696 | 1689606.799009 |
| 18522 | 370420 | 1663794.656645 | 1689715.226597 |
| 18523 | 370440 | 1663902.460200 | 1689823.654776 |
| 18524 | 370460 | 1664010.264360 | 1689932.083544 |
| 18525 | 370480 | 1664118.069125 | 1690040.512902 |
| 18526 | 370500 | 1664225.874495 | 1690148.942849 |
| 18527 | 370520 | 1664333.680471 | 1690257.373387 |
| 18528 | 370540 | 1664441.487052 | 1690365.804514 |
| 18529 | 370560 | 1664549.294238 | 1690474.236231 |
| 18530 | 370580 | 1664657.102029 | 1690582.668537 |
| 18531 | 370600 | 1664764.910426 | 1690691.101433 |
| 18532 | 370620 | 1664872.719427 | 1690799.534919 |
| 18533 | 370640 | 1664980.529034 | 1690907.968994 |
| 18534 | 370660 | 1665088.339245 | 1691016.403659 |
| 18535 | 370680 | 1665196.150062 | 1691124.838913 |
| 18536 | 370700 | 1665303.961483 | 1691233.274756 |
| 18537 | 370720 | 1665411.773510 | 1691341.711189 |
| 18538 | 370740 | 1665519.586141 | 1691450.148212 |
| 18539 | 370760 | 1665627.399377 | 1691558.585823 |
| 18540 | 370780 | 1665735.213218 | 1691667.024024 |
| 18541 | 370800 | 1665843.027664 | 1691775.462815 |
| 18542 | 370820 | 1665950.842715 | 1691883.902194 |
| 18543 | 370840 | 1666058.658370 | 1691992.342163 |
| 18544 | 370860 | 1666166.474630 | 1692100.782721 |
| 18545 | 370880 | 1666274.291495 | 1692209.223868 |
| 18546 | 370900 | 1666382.108964 | 1692317.665604 |
| 18547 | 370920 | 1666489.927037 | 1692426.107929 |
| 18548 | 370940 | 1666597.745716 | 1692534.550843 |
| 18549 | 370960 | 1666705.564999 | 1692642.994346 |
| 18550 | 370980 | 1666813.384886 | 1692751.438439 |
| 18551 | 371000 | 1666921.205377 | 1692859.883120 |
| 18552 | 371020 | 1667029.026474 | 1692968.328390 |
| 18553 | 371040 | 1667136.848174 | 1693076.774249 |
| 18554 | 371060 | 1667244.670479 | 1693185.220696 |
| 18555 | 371080 | 1667352.493388 | 1693293.667733 |
| 18556 | 371100 | 1667460.316901 | 1693402.115358 |
| 18557 | 371120 | 1667568.141019 | 1693510.563572 |
| 18558 | 371140 | 1667675.965740 | 1693619.012375 |
| 18559 | 371160 | 1667783.791066 | 1693727.461766 |
| 18560 | 371180 | 1667891.616996 | 1693835.911746 |
| 18561 | 371200 | 1667999.443530 | 1693944.362315 |
| 18562 | 371220 | 1668107.270668 | 1694052.813472 |
| 18563 | 371240 | 1668215.098410 | 1694161.265217 |
| 18564 | 371260 | 1668322.926756 | 1694269.717552 |
| 18565 | 371280 | 1668430.755706 | 1694378.170474 |
| 18566 | 371300 | 1668538.585260 | 1694486.623985 |
| 18567 | 371320 | 1668646.415418 | 1694595.078085 |
| 18568 | 371340 | 1668754.246180 | 1694703.532773 |
| 18569 | 371360 | 1668862.077545 | 1694811.988049 |
| 18570 | 371380 | 1668969.909514 | 1694920.443913 |
| 18571 | 371400 | 1669077.742087 | 1695028.900366 |
| 18572 | 371420 | 1669185.575264 | 1695137.357407 |
| 18573 | 371440 | 1669293.409044 | 1695245.815036 |
| 18574 | 371460 | 1669401.243428 | 1695354.273253 |
| 18575 | 371480 | 1669509.078416 | 1695462.732058 |
| 18576 | 371500 | 1669616.914007 | 1695571.191452 |
| 18577 | 371520 | 1669724.750201 | 1695679.651433 |
| 18578 | 371540 | 1669832.586999 | 1695788.112003 |
| 18579 | 371560 | 1669940.424401 | 1695896.573160 |
| 18580 | 371580 | 1670048.262406 | 1696005.034906 |
| 18581 | 371600 | 1670156.101014 | 1696113.497239 |
| 18582 | 371620 | 1670263.940226 | 1696221.960160 |
| 18583 | 371640 | 1670371.780041 | 1696330.423670 |
| 18584 | 371660 | 1670479.620459 | 1696438.887767 |
| 18585 | 371680 | 1670587.461480 | 1696547.352451 |
| 18586 | 371700 | 1670695.303105 | 1696655.817724 |
| 18587 | 371720 | 1670803.145333 | 1696764.283584 |
| 18588 | 371740 | 1670910.988164 | 1696872.750032 |
| 18589 | 371760 | 1671018.831598 | 1696981.217067 |
| 18590 | 371780 | 1671126.675635 | 1697089.684691 |
| 18591 | 371800 | 1671234.520275 | 1697198.152901 |
| 18592 | 371820 | 1671342.365519 | 1697306.621700 |
| 18593 | 371840 | 1671450.211365 | 1697415.091085 |
| 18594 | 371860 | 1671558.057814 | 1697523.561059 |
| 18595 | 371880 | 1671665.904866 | 1697632.031619 |
| 18596 | 371900 | 1671773.752521 | 1697740.502768 |
| 18597 | 371920 | 1671881.600778 | 1697848.974503 |
| 18598 | 371940 | 1671989.449639 | 1697957.446826 |
| 18599 | 371960 | 1672097.299102 | 1698065.919736 |
| 18600 | 371980 | 1672205.149168 | 1698174.393234 |
| 18601 | 372000 | 1672312.999837 | 1698282.867319 |
| 18602 | 372020 | 1672420.851108 | 1698391.341991 |
| 18603 | 372040 | 1672528.702982 | 1698499.817250 |
| 18604 | 372060 | 1672636.555458 | 1698608.293096 |
| 18605 | 372080 | 1672744.408537 | 1698716.769529 |
| 18606 | 372100 | 1672852.262219 | 1698825.246550 |
| 18607 | 372120 | 1672960.116503 | 1698933.724157 |
| 18608 | 372140 | 1673067.971389 | 1699042.202352 |
| 18609 | 372160 | 1673175.826878 | 1699150.681133 |
| 18610 | 372180 | 1673283.682969 | 1699259.160502 |
| 18611 | 372200 | 1673391.539663 | 1699367.640457 |
| 18612 | 372220 | 1673499.396959 | 1699476.121000 |
| 18613 | 372240 | 1673607.254857 | 1699584.602129 |
| 18614 | 372260 | 1673715.113357 | 1699693.083845 |
| 18615 | 372280 | 1673822.972460 | 1699801.566147 |
| 18616 | 372300 | 1673930.832164 | 1699910.049037 |
| 18617 | 372320 | 1674038.692471 | 1700018.532513 |
| 18618 | 372340 | 1674146.553380 | 1700127.016576 |
| 18619 | 372360 | 1674254.414891 | 1700235.501225 |
| 18620 | 372380 | 1674362.277004 | 1700343.986461 |
| 18621 | 372400 | 1674470.139719 | 1700452.472284 |
| 18622 | 372420 | 1674578.003036 | 1700560.958693 |
| 18623 | 372440 | 1674685.866955 | 1700669.445689 |
| 18624 | 372460 | 1674793.731476 | 1700777.933271 |
| 18625 | 372480 | 1674901.596599 | 1700886.421440 |
| 18626 | 372500 | 1675009.462323 | 1700994.910195 |
| 18627 | 372520 | 1675117.328649 | 1701103.399536 |
| 18628 | 372540 | 1675225.195577 | 1701211.889464 |
| 18629 | 372560 | 1675333.063107 | 1701320.379978 |
| 18630 | 372580 | 1675440.931238 | 1701428.871079 |
| 18631 | 372600 | 1675548.799971 | 1701537.362765 |
| 18632 | 372620 | 1675656.669306 | 1701645.855038 |
| 18633 | 372640 | 1675764.539242 | 1701754.347897 |
| 18634 | 372660 | 1675872.409780 | 1701862.841342 |
| 18635 | 372680 | 1675980.280919 | 1701971.335373 |
| 18636 | 372700 | 1676088.152660 | 1702079.829991 |
| 18637 | 372720 | 1676196.025002 | 1702188.325194 |
| 18638 | 372740 | 1676303.897945 | 1702296.820983 |
| 18639 | 372760 | 1676411.771490 | 1702405.317359 |
| 18640 | 372780 | 1676519.645636 | 1702513.814320 |
| 18641 | 372800 | 1676627.520384 | 1702622.311867 |
| 18642 | 372820 | 1676735.395733 | 1702730.810000 |
| 18643 | 372840 | 1676843.271683 | 1702839.308719 |
| 18644 | 372860 | 1676951.148234 | 1702947.808024 |
| 18645 | 372880 | 1677059.025386 | 1703056.307914 |
| 18646 | 372900 | 1677166.903140 | 1703164.808391 |
| 18647 | 372920 | 1677274.781494 | 1703273.309453 |
| 18648 | 372940 | 1677382.660450 | 1703381.811100 |
| 18649 | 372960 | 1677490.540006 | 1703490.313333 |
| 18650 | 372980 | 1677598.420164 | 1703598.816152 |
| 18651 | 373000 | 1677706.300923 | 1703707.319557 |
| 18652 | 373020 | 1677814.182282 | 1703815.823547 |
| 18653 | 373040 | 1677922.064242 | 1703924.328122 |
| 18654 | 373060 | 1678029.946804 | 1704032.833283 |
| 18655 | 373080 | 1678137.829966 | 1704141.339030 |
| 18656 | 373100 | 1678245.713728 | 1704249.845361 |
| 18657 | 373120 | 1678353.598092 | 1704358.352279 |
| 18658 | 373140 | 1678461.483056 | 1704466.859781 |
| 18659 | 373160 | 1678569.368621 | 1704575.367869 |
| 18660 | 373180 | 1678677.254787 | 1704683.876542 |
| 18661 | 373200 | 1678785.141553 | 1704792.385800 |
| 18662 | 373220 | 1678893.028920 | 1704900.895644 |
| 18663 | 373240 | 1679000.916887 | 1705009.406073 |
| 18664 | 373260 | 1679108.805455 | 1705117.917087 |
| 18665 | 373280 | 1679216.694623 | 1705226.428686 |
| 18666 | 373300 | 1679324.584391 | 1705334.940870 |
| 18667 | 373320 | 1679432.474760 | 1705443.453639 |
| 18668 | 373340 | 1679540.365730 | 1705551.966993 |
| 18669 | 373360 | 1679648.257300 | 1705660.480932 |
| 18670 | 373380 | 1679756.149470 | 1705768.995456 |
| 18671 | 373400 | 1679864.042240 | 1705877.510565 |
| 18672 | 373420 | 1679971.935610 | 1705986.026259 |
| 18673 | 373440 | 1680079.829581 | 1706094.542537 |
| 18674 | 373460 | 1680187.724152 | 1706203.059401 |
| 18675 | 373480 | 1680295.619323 | 1706311.576849 |
| 18676 | 373500 | 1680403.515094 | 1706420.094882 |
| 18677 | 373520 | 1680511.411465 | 1706528.613500 |
| 18678 | 373540 | 1680619.308436 | 1706637.132702 |
| 18679 | 373560 | 1680727.206007 | 1706745.652489 |
| 18680 | 373580 | 1680835.104178 | 1706854.172861 |
| 18681 | 373600 | 1680943.002949 | 1706962.693817 |
| 18682 | 373620 | 1681050.902320 | 1707071.215357 |
| 18683 | 373640 | 1681158.802291 | 1707179.737483 |
| 18684 | 373660 | 1681266.702862 | 1707288.260192 |
| 18685 | 373680 | 1681374.604032 | 1707396.783486 |
| 18686 | 373700 | 1681482.505802 | 1707505.307365 |
| 18687 | 373720 | 1681590.408172 | 1707613.831828 |
| 18688 | 373740 | 1681698.311141 | 1707722.356875 |
| 18689 | 373760 | 1681806.214710 | 1707830.882507 |
| 18690 | 373780 | 1681914.118879 | 1707939.408723 |
| 18691 | 373800 | 1682022.023647 | 1708047.935523 |
| 18692 | 373820 | 1682129.929015 | 1708156.462907 |
| 18693 | 373840 | 1682237.834982 | 1708264.990875 |
| 18694 | 373860 | 1682345.741549 | 1708373.519428 |
| 18695 | 373880 | 1682453.648715 | 1708482.048565 |
| 18696 | 373900 | 1682561.556480 | 1708590.578286 |
| 18697 | 373920 | 1682669.464845 | 1708699.108590 |
| 18698 | 373940 | 1682777.373809 | 1708807.639479 |
| 18699 | 373960 | 1682885.283373 | 1708916.170952 |
| 18700 | 373980 | 1682993.193536 | 1709024.703009 |
| 18701 | 374000 | 1683101.104298 | 1709133.235649 |
| 18702 | 374020 | 1683209.015659 | 1709241.768874 |
| 18703 | 374040 | 1683316.927619 | 1709350.302682 |
| 18704 | 374060 | 1683424.840179 | 1709458.837075 |
| 18705 | 374080 | 1683532.753337 | 1709567.372051 |
| 18706 | 374100 | 1683640.667095 | 1709675.907610 |
| 18707 | 374120 | 1683748.581451 | 1709784.443754 |
| 18708 | 374140 | 1683856.496407 | 1709892.980481 |
| 18709 | 374160 | 1683964.411961 | 1710001.517792 |
| 18710 | 374180 | 1684072.328115 | 1710110.055686 |
| 18711 | 374200 | 1684180.244867 | 1710218.594164 |
| 18712 | 374220 | 1684288.162219 | 1710327.133225 |
| 18713 | 374240 | 1684396.080169 | 1710435.672870 |
| 18714 | 374260 | 1684503.998717 | 1710544.213099 |
| 18715 | 374280 | 1684611.917865 | 1710652.753911 |
| 18716 | 374300 | 1684719.837611 | 1710761.295306 |
| 18717 | 374320 | 1684827.757956 | 1710869.837285 |
| 18718 | 374340 | 1684935.678899 | 1710978.379847 |
| 18719 | 374360 | 1685043.600442 | 1711086.922992 |
| 18720 | 374380 | 1685151.522582 | 1711195.466721 |
| 18721 | 374400 | 1685259.445322 | 1711304.011033 |
| 18722 | 374420 | 1685367.368659 | 1711412.555928 |
| 18723 | 374440 | 1685475.292596 | 1711521.101406 |
| 18724 | 374460 | 1685583.217130 | 1711629.647468 |
| 18725 | 374480 | 1685691.142263 | 1711738.194112 |
| 18726 | 374500 | 1685799.067995 | 1711846.741340 |
| 18727 | 374520 | 1685906.994325 | 1711955.289151 |
| 18728 | 374540 | 1686014.921253 | 1712063.837544 |
| 18729 | 374560 | 1686122.848779 | 1712172.386521 |
| 18730 | 374580 | 1686230.776903 | 1712280.936081 |
| 18731 | 374600 | 1686338.705626 | 1712389.486223 |
| 18732 | 374620 | 1686446.634947 | 1712498.036949 |
| 18733 | 374640 | 1686554.564866 | 1712606.588257 |
| 18734 | 374660 | 1686662.495383 | 1712715.140148 |
| 18735 | 374680 | 1686770.426498 | 1712823.692622 |
| 18736 | 374700 | 1686878.358212 | 1712932.245678 |
| 18737 | 374720 | 1686986.290523 | 1713040.799318 |
| 18738 | 374740 | 1687094.223432 | 1713149.353540 |
| 18739 | 374760 | 1687202.156939 | 1713257.908345 |
| 18740 | 374780 | 1687310.091044 | 1713366.463732 |
| 18741 | 374800 | 1687418.025747 | 1713475.019702 |
| 18742 | 374820 | 1687525.961047 | 1713583.576254 |
| 18743 | 374840 | 1687633.896946 | 1713692.133389 |
| 18744 | 374860 | 1687741.833442 | 1713800.691106 |
| 18745 | 374880 | 1687849.770536 | 1713909.249406 |
| 18746 | 374900 | 1687957.708227 | 1714017.808289 |
| 18747 | 374920 | 1688065.646516 | 1714126.367753 |
| 18748 | 374940 | 1688173.585403 | 1714234.927800 |
| 18749 | 374960 | 1688281.524887 | 1714343.488430 |
| 18750 | 374980 | 1688389.464969 | 1714452.049641 |
| 18751 | 375000 | 1688497.405649 | 1714560.611435 |
| 18752 | 375020 | 1688605.346926 | 1714669.173811 |
| 18753 | 375040 | 1688713.288800 | 1714777.736770 |
| 18754 | 375060 | 1688821.231272 | 1714886.300310 |
| 18755 | 375080 | 1688929.174341 | 1714994.864433 |
| 18756 | 375100 | 1689037.118007 | 1715103.429138 |
| 18757 | 375120 | 1689145.062271 | 1715211.994424 |
| 18758 | 375140 | 1689253.007132 | 1715320.560293 |
| 18759 | 375160 | 1689360.952590 | 1715429.126744 |
| 18760 | 375180 | 1689468.898646 | 1715537.693777 |
| 18761 | 375200 | 1689576.845298 | 1715646.261391 |
| 18762 | 375220 | 1689684.792548 | 1715754.829588 |
| 18763 | 375240 | 1689792.740395 | 1715863.398366 |
| 18764 | 375260 | 1689900.688839 | 1715971.967726 |
| 18765 | 375280 | 1690008.637880 | 1716080.537668 |
| 18766 | 375300 | 1690116.587518 | 1716189.108192 |
| 18767 | 375320 | 1690224.537753 | 1716297.679298 |
| 18768 | 375340 | 1690332.488584 | 1716406.250985 |
| 18769 | 375360 | 1690440.440013 | 1716514.823254 |
| 18770 | 375380 | 1690548.392039 | 1716623.396104 |
| 18771 | 375400 | 1690656.344661 | 1716731.969536 |
| 18772 | 375420 | 1690764.297880 | 1716840.543550 |
| 18773 | 375440 | 1690872.251696 | 1716949.118145 |
| 18774 | 375460 | 1690980.206109 | 1717057.693322 |
| 18775 | 375480 | 1691088.161118 | 1717166.269080 |
| 18776 | 375500 | 1691196.116724 | 1717274.845419 |
| 18777 | 375520 | 1691304.072927 | 1717383.422340 |
| 18778 | 375540 | 1691412.029726 | 1717491.999843 |
| 18779 | 375560 | 1691519.987122 | 1717600.577926 |
| 18780 | 375580 | 1691627.945114 | 1717709.156591 |
| 18781 | 375600 | 1691735.903703 | 1717817.735837 |
| 18782 | 375620 | 1691843.862888 | 1717926.315665 |
| 18783 | 375640 | 1691951.822670 | 1718034.896073 |
| 18784 | 375660 | 1692059.783048 | 1718143.477063 |
| 18785 | 375680 | 1692167.744022 | 1718252.058634 |
| 18786 | 375700 | 1692275.705593 | 1718360.640786 |
| 18787 | 375720 | 1692383.667760 | 1718469.223519 |
| 18788 | 375740 | 1692491.630523 | 1718577.806833 |
| 18789 | 375760 | 1692599.593883 | 1718686.390729 |
| 18790 | 375780 | 1692707.557838 | 1718794.975205 |
| 18791 | 375800 | 1692815.522390 | 1718903.560262 |
| 18792 | 375820 | 1692923.487538 | 1719012.145900 |
| 18793 | 375840 | 1693031.453282 | 1719120.732119 |
| 18794 | 375860 | 1693139.419622 | 1719229.318918 |
| 18795 | 375880 | 1693247.386558 | 1719337.906299 |
| 18796 | 375900 | 1693355.354089 | 1719446.494260 |
| 18797 | 375920 | 1693463.322217 | 1719555.082802 |
| 18798 | 375940 | 1693571.290941 | 1719663.671925 |
| 18799 | 375960 | 1693679.260261 | 1719772.261628 |
| 18800 | 375980 | 1693787.230176 | 1719880.851912 |
| 18801 | 376000 | 1693895.200688 | 1719989.442777 |
| 18802 | 376020 | 1694003.171795 | 1720098.034222 |
| 18803 | 376040 | 1694111.143497 | 1720206.626248 |
| 18804 | 376060 | 1694219.115796 | 1720315.218854 |
| 18805 | 376080 | 1694327.088690 | 1720423.812040 |
| 18806 | 376100 | 1694435.062180 | 1720532.405808 |
| 18807 | 376120 | 1694543.036265 | 1720641.000155 |
| 18808 | 376140 | 1694651.010946 | 1720749.595083 |
| 18809 | 376160 | 1694758.986223 | 1720858.190591 |
| 18810 | 376180 | 1694866.962095 | 1720966.786680 |
| 18811 | 376200 | 1694974.938562 | 1721075.383349 |
| 18812 | 376220 | 1695082.915625 | 1721183.980598 |
| 18813 | 376240 | 1695190.893283 | 1721292.578427 |
| 18814 | 376260 | 1695298.871537 | 1721401.176837 |
| 18815 | 376280 | 1695406.850386 | 1721509.775827 |
| 18816 | 376300 | 1695514.829830 | 1721618.375397 |
| 18817 | 376320 | 1695622.809870 | 1721726.975546 |
| 18818 | 376340 | 1695730.790504 | 1721835.576276 |
| 18819 | 376360 | 1695838.771734 | 1721944.177586 |
| 18820 | 376380 | 1695946.753559 | 1722052.779476 |
| 18821 | 376400 | 1696054.735980 | 1722161.381946 |
| 18822 | 376420 | 1696162.718995 | 1722269.984996 |
| 18823 | 376440 | 1696270.702605 | 1722378.588626 |
| 18824 | 376460 | 1696378.686811 | 1722487.192835 |
| 18825 | 376480 | 1696486.671611 | 1722595.797625 |
| 18826 | 376500 | 1696594.657006 | 1722704.402994 |
| 18827 | 376520 | 1696702.642997 | 1722813.008943 |
| 18828 | 376540 | 1696810.629582 | 1722921.615471 |
| 18829 | 376560 | 1696918.616762 | 1723030.222580 |
| 18830 | 376580 | 1697026.604536 | 1723138.830268 |
| 18831 | 376600 | 1697134.592906 | 1723247.438535 |
| 18832 | 376620 | 1697242.581870 | 1723356.047382 |
| 18833 | 376640 | 1697350.571429 | 1723464.656809 |
| 18834 | 376660 | 1697458.561583 | 1723573.266816 |
| 18835 | 376680 | 1697566.552331 | 1723681.877401 |
| 18836 | 376700 | 1697674.543674 | 1723790.488567 |
| 18837 | 376720 | 1697782.535612 | 1723899.100311 |
| 18838 | 376740 | 1697890.528144 | 1724007.712635 |
| 18839 | 376760 | 1697998.521271 | 1724116.325539 |
| 18840 | 376780 | 1698106.514992 | 1724224.939022 |
| 18841 | 376800 | 1698214.509307 | 1724333.553084 |
| 18842 | 376820 | 1698322.504217 | 1724442.167725 |
| 18843 | 376840 | 1698430.499722 | 1724550.782946 |
| 18844 | 376860 | 1698538.495820 | 1724659.398745 |
| 18845 | 376880 | 1698646.492513 | 1724768.015124 |
| 18846 | 376900 | 1698754.489801 | 1724876.632082 |
| 18847 | 376920 | 1698862.487682 | 1724985.249619 |
| 18848 | 376940 | 1698970.486158 | 1725093.867736 |
| 18849 | 376960 | 1699078.485228 | 1725202.486431 |
| 18850 | 376980 | 1699186.484892 | 1725311.105705 |
| 18851 | 377000 | 1699294.485150 | 1725419.725559 |
| 18852 | 377020 | 1699402.486002 | 1725528.345991 |
| 18853 | 377040 | 1699510.487448 | 1725636.967002 |
| 18854 | 377060 | 1699618.489488 | 1725745.588592 |
| 18855 | 377080 | 1699726.492123 | 1725854.210761 |
| 18856 | 377100 | 1699834.495351 | 1725962.833508 |
| 18857 | 377120 | 1699942.499173 | 1726071.456835 |
| 18858 | 377140 | 1700050.503589 | 1726180.080740 |
| 18859 | 377160 | 1700158.508599 | 1726288.705224 |
| 18860 | 377180 | 1700266.514202 | 1726397.330286 |
| 18861 | 377200 | 1700374.520399 | 1726505.955927 |
| 18862 | 377220 | 1700482.527190 | 1726614.582147 |
| 18863 | 377240 | 1700590.534575 | 1726723.208945 |
| 18864 | 377260 | 1700698.542554 | 1726831.836322 |
| 18865 | 377280 | 1700806.551126 | 1726940.464278 |
| 18866 | 377300 | 1700914.560291 | 1727049.092812 |
| 18867 | 377320 | 1701022.570051 | 1727157.721924 |
| 18868 | 377340 | 1701130.580403 | 1727266.351615 |
| 18869 | 377360 | 1701238.591350 | 1727374.981884 |
| 18870 | 377380 | 1701346.602889 | 1727483.612732 |
| 18871 | 377400 | 1701454.615023 | 1727592.244157 |
| 18872 | 377420 | 1701562.627749 | 1727700.876162 |
| 18873 | 377440 | 1701670.641069 | 1727809.508744 |
| 18874 | 377460 | 1701778.654982 | 1727918.141904 |
| 18875 | 377480 | 1701886.669489 | 1728026.775643 |
| 18876 | 377500 | 1701994.684589 | 1728135.409960 |
| 18877 | 377520 | 1702102.700282 | 1728244.044855 |
| 18878 | 377540 | 1702210.716568 | 1728352.680328 |
| 18879 | 377560 | 1702318.733447 | 1728461.316380 |
| 18880 | 377580 | 1702426.750920 | 1728569.953009 |
| 18881 | 377600 | 1702534.768985 | 1728678.590216 |
| 18882 | 377620 | 1702642.787644 | 1728787.228001 |
| 18883 | 377640 | 1702750.806896 | 1728895.866364 |
| 18884 | 377660 | 1702858.826740 | 1729004.505305 |
| 18885 | 377680 | 1702966.847178 | 1729113.144824 |
| 18886 | 377700 | 1703074.868209 | 1729221.784921 |
| 18887 | 377720 | 1703182.889832 | 1729330.425596 |
| 18888 | 377740 | 1703290.912048 | 1729439.066848 |
| 18889 | 377760 | 1703398.934857 | 1729547.708678 |
| 18890 | 377780 | 1703506.958259 | 1729656.351086 |
| 18891 | 377800 | 1703614.982254 | 1729764.994071 |
| 18892 | 377820 | 1703723.006841 | 1729873.637634 |
| 18893 | 377840 | 1703831.032021 | 1729982.281775 |
| 18894 | 377860 | 1703939.057794 | 1730090.926493 |
| 18895 | 377880 | 1704047.084160 | 1730199.571789 |
| 18896 | 377900 | 1704155.111118 | 1730308.217662 |
| 18897 | 377920 | 1704263.138668 | 1730416.864113 |
| 18898 | 377940 | 1704371.166811 | 1730525.511141 |
| 18899 | 377960 | 1704479.195547 | 1730634.158746 |
| 18900 | 377980 | 1704587.224875 | 1730742.806929 |
| 18901 | 378000 | 1704695.254795 | 1730851.455689 |
| 18902 | 378020 | 1704803.285308 | 1730960.105027 |
| 18903 | 378040 | 1704911.316413 | 1731068.754942 |
| 18904 | 378060 | 1705019.348110 | 1731177.405434 |
| 18905 | 378080 | 1705127.380400 | 1731286.056503 |
| 18906 | 378100 | 1705235.413282 | 1731394.708150 |
| 18907 | 378120 | 1705343.446756 | 1731503.360374 |
| 18908 | 378140 | 1705451.480823 | 1731612.013174 |
| 18909 | 378160 | 1705559.515481 | 1731720.666552 |
| 18910 | 378180 | 1705667.550732 | 1731829.320507 |
| 18911 | 378200 | 1705775.586574 | 1731937.975039 |
| 18912 | 378220 | 1705883.623009 | 1732046.630148 |
| 18913 | 378240 | 1705991.660036 | 1732155.285834 |
| 18914 | 378260 | 1706099.697655 | 1732263.942097 |
| 18915 | 378280 | 1706207.735866 | 1732372.598936 |
| 18916 | 378300 | 1706315.774668 | 1732481.256353 |
| 18917 | 378320 | 1706423.814063 | 1732589.914346 |
| 18918 | 378340 | 1706531.854049 | 1732698.572917 |
| 18919 | 378360 | 1706639.894627 | 1732807.232063 |
| 18920 | 378380 | 1706747.935797 | 1732915.891787 |
| 18921 | 378400 | 1706855.977559 | 1733024.552087 |
| 18922 | 378420 | 1706964.019912 | 1733133.212964 |
| 18923 | 378440 | 1707072.062857 | 1733241.874418 |
| 18924 | 378460 | 1707180.106394 | 1733350.536448 |
| 18925 | 378480 | 1707288.150523 | 1733459.199055 |
| 18926 | 378500 | 1707396.195243 | 1733567.862238 |
| 18927 | 378520 | 1707504.240554 | 1733676.525998 |
| 18928 | 378540 | 1707612.286457 | 1733785.190335 |
| 18929 | 378560 | 1707720.332952 | 1733893.855247 |
| 18930 | 378580 | 1707828.380037 | 1734002.520737 |
| 18931 | 378600 | 1707936.427715 | 1734111.186802 |
| 18932 | 378620 | 1708044.475984 | 1734219.853444 |
| 18933 | 378640 | 1708152.524844 | 1734328.520662 |
| 18934 | 378660 | 1708260.574295 | 1734437.188457 |
| 18935 | 378680 | 1708368.624338 | 1734545.856827 |
| 18936 | 378700 | 1708476.674972 | 1734654.525774 |
| 18937 | 378720 | 1708584.726197 | 1734763.195297 |
| 18938 | 378740 | 1708692.778013 | 1734871.865396 |
| 18939 | 378760 | 1708800.830420 | 1734980.536072 |
| 18940 | 378780 | 1708908.883419 | 1735089.207323 |
| 18941 | 378800 | 1709016.937009 | 1735197.879151 |
| 18942 | 378820 | 1709124.991189 | 1735306.551554 |
| 18943 | 378840 | 1709233.045961 | 1735415.224534 |
| 18944 | 378860 | 1709341.101324 | 1735523.898089 |
| 18945 | 378880 | 1709449.157277 | 1735632.572220 |
| 18946 | 378900 | 1709557.213822 | 1735741.246927 |
| 18947 | 378920 | 1709665.270957 | 1735849.922211 |
| 18948 | 378940 | 1709773.328683 | 1735958.598069 |
| 18949 | 378960 | 1709881.387000 | 1736067.274504 |
| 18950 | 378980 | 1709989.445908 | 1736175.951515 |
| 18951 | 379000 | 1710097.505407 | 1736284.629101 |
| 18952 | 379020 | 1710205.565496 | 1736393.307263 |
| 18953 | 379040 | 1710313.626176 | 1736501.986000 |
| 18954 | 379060 | 1710421.687446 | 1736610.665313 |
| 18955 | 379080 | 1710529.749308 | 1736719.345202 |
| 18956 | 379100 | 1710637.811759 | 1736828.025666 |
| 18957 | 379120 | 1710745.874802 | 1736936.706706 |
| 18958 | 379140 | 1710853.938434 | 1737045.388321 |
| 18959 | 379160 | 1710962.002658 | 1737154.070512 |
| 18960 | 379180 | 1711070.067471 | 1737262.753278 |
| 18961 | 379200 | 1711178.132875 | 1737371.436620 |
| 18962 | 379220 | 1711286.198870 | 1737480.120537 |
| 18963 | 379240 | 1711394.265455 | 1737588.805029 |
| 18964 | 379260 | 1711502.332630 | 1737697.490097 |
| 18965 | 379280 | 1711610.400395 | 1737806.175740 |
| 18966 | 379300 | 1711718.468751 | 1737914.861958 |
| 18967 | 379320 | 1711826.537697 | 1738023.548752 |
| 18968 | 379340 | 1711934.607233 | 1738132.236120 |
| 18969 | 379360 | 1712042.677359 | 1738240.924064 |
| 18970 | 379380 | 1712150.748075 | 1738349.612583 |
| 18971 | 379400 | 1712258.819382 | 1738458.301677 |
| 18972 | 379420 | 1712366.891278 | 1738566.991345 |
| 18973 | 379440 | 1712474.963765 | 1738675.681589 |
| 18974 | 379460 | 1712583.036841 | 1738784.372408 |
| 18975 | 379480 | 1712691.110507 | 1738893.063802 |
| 18976 | 379500 | 1712799.184764 | 1739001.755771 |
| 18977 | 379520 | 1712907.259610 | 1739110.448315 |
| 18978 | 379540 | 1713015.335046 | 1739219.141433 |
| 18979 | 379560 | 1713123.411071 | 1739327.835127 |
| 18980 | 379580 | 1713231.487687 | 1739436.529395 |
| 18981 | 379600 | 1713339.564892 | 1739545.224238 |
| 18982 | 379620 | 1713447.642687 | 1739653.919655 |
| 18983 | 379640 | 1713555.721072 | 1739762.615648 |
| 18984 | 379660 | 1713663.800046 | 1739871.312215 |
| 18985 | 379680 | 1713771.879610 | 1739980.009356 |
| 18986 | 379700 | 1713879.959764 | 1740088.707073 |
| 18987 | 379720 | 1713988.040507 | 1740197.405363 |
| 18988 | 379740 | 1714096.121839 | 1740306.104229 |
| 18989 | 379760 | 1714204.203761 | 1740414.803669 |
| 18990 | 379780 | 1714312.286273 | 1740523.503683 |
| 18991 | 379800 | 1714420.369373 | 1740632.204272 |
| 18992 | 379820 | 1714528.453064 | 1740740.905435 |
| 18993 | 379840 | 1714636.537343 | 1740849.607172 |
| 18994 | 379860 | 1714744.622212 | 1740958.309484 |
| 18995 | 379880 | 1714852.707670 | 1741067.012370 |
| 18996 | 379900 | 1714960.793717 | 1741175.715831 |
| 18997 | 379920 | 1715068.880354 | 1741284.419865 |
| 18998 | 379940 | 1715176.967580 | 1741393.124474 |
| 18999 | 379960 | 1715285.055395 | 1741501.829657 |
| 19000 | 379980 | 1715393.143799 | 1741610.535415 |
| 19001 | 380000 | 1715501.232792 | 1741719.241746 |
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())