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 |
|---|---|---|---|
| 12002 | 240020 | 975801.184785 | 997245.032841 |
| 12003 | 240040 | 975904.034849 | 997348.646297 |
| 12004 | 240060 | 976006.885883 | 997452.260693 |
| 12005 | 240080 | 976109.737888 | 997555.876031 |
| 12006 | 240100 | 976212.590862 | 997659.492308 |
| 12007 | 240120 | 976315.444807 | 997763.109526 |
| 12008 | 240140 | 976418.299721 | 997866.727684 |
| 12009 | 240160 | 976521.155605 | 997970.346783 |
| 12010 | 240180 | 976624.012459 | 998073.966822 |
| 12011 | 240200 | 976726.870282 | 998177.587801 |
| 12012 | 240220 | 976829.729075 | 998281.209719 |
| 12013 | 240240 | 976932.588837 | 998384.832578 |
| 12014 | 240260 | 977035.449569 | 998488.456377 |
| 12015 | 240280 | 977138.311269 | 998592.081115 |
| 12016 | 240300 | 977241.173939 | 998695.706793 |
| 12017 | 240320 | 977344.037579 | 998799.333410 |
| 12018 | 240340 | 977446.902187 | 998902.960968 |
| 12019 | 240360 | 977549.767763 | 999006.589464 |
| 12020 | 240380 | 977652.634309 | 999110.218900 |
| 12021 | 240400 | 977755.501824 | 999213.849275 |
| 12022 | 240420 | 977858.370307 | 999317.480589 |
| 12023 | 240440 | 977961.239758 | 999421.112842 |
| 12024 | 240460 | 978064.110178 | 999524.746034 |
| 12025 | 240480 | 978166.981566 | 999628.380165 |
| 12026 | 240500 | 978269.853923 | 999732.015235 |
| 12027 | 240520 | 978372.727248 | 999835.651244 |
| 12028 | 240540 | 978475.601541 | 999939.288191 |
| 12029 | 240560 | 978578.476802 | 1000042.926077 |
| 12030 | 240580 | 978681.353030 | 1000146.564901 |
| 12031 | 240600 | 978784.230227 | 1000250.204664 |
| 12032 | 240620 | 978887.108391 | 1000353.845365 |
| 12033 | 240640 | 978989.987523 | 1000457.487004 |
| 12034 | 240660 | 979092.867623 | 1000561.129581 |
| 12035 | 240680 | 979195.748690 | 1000664.773096 |
| 12036 | 240700 | 979298.630724 | 1000768.417550 |
| 12037 | 240720 | 979401.513726 | 1000872.062941 |
| 12038 | 240740 | 979504.397695 | 1000975.709270 |
| 12039 | 240760 | 979607.282631 | 1001079.356536 |
| 12040 | 240780 | 979710.168534 | 1001183.004741 |
| 12041 | 240800 | 979813.055403 | 1001286.653882 |
| 12042 | 240820 | 979915.943240 | 1001390.303962 |
| 12043 | 240840 | 980018.832044 | 1001493.954978 |
| 12044 | 240860 | 980121.721814 | 1001597.606932 |
| 12045 | 240880 | 980224.612551 | 1001701.259823 |
| 12046 | 240900 | 980327.504254 | 1001804.913651 |
| 12047 | 240920 | 980430.396924 | 1001908.568417 |
| 12048 | 240940 | 980533.290560 | 1002012.224119 |
| 12049 | 240960 | 980636.185162 | 1002115.880758 |
| 12050 | 240980 | 980739.080730 | 1002219.538334 |
| 12051 | 241000 | 980841.977265 | 1002323.196846 |
| 12052 | 241020 | 980944.874765 | 1002426.856295 |
| 12053 | 241040 | 981047.773231 | 1002530.516681 |
| 12054 | 241060 | 981150.672663 | 1002634.178003 |
| 12055 | 241080 | 981253.573061 | 1002737.840261 |
| 12056 | 241100 | 981356.474424 | 1002841.503456 |
| 12057 | 241120 | 981459.376753 | 1002945.167587 |
| 12058 | 241140 | 981562.280048 | 1003048.832653 |
| 12059 | 241160 | 981665.184307 | 1003152.498656 |
| 12060 | 241180 | 981768.089532 | 1003256.165595 |
| 12061 | 241200 | 981870.995722 | 1003359.833470 |
| 12062 | 241220 | 981973.902877 | 1003463.502280 |
| 12063 | 241240 | 982076.810998 | 1003567.172026 |
| 12064 | 241260 | 982179.720083 | 1003670.842708 |
| 12065 | 241280 | 982282.630133 | 1003774.514325 |
| 12066 | 241300 | 982385.541147 | 1003878.186878 |
| 12067 | 241320 | 982488.453126 | 1003981.860366 |
| 12068 | 241340 | 982591.366070 | 1004085.534789 |
| 12069 | 241360 | 982694.279978 | 1004189.210147 |
| 12070 | 241380 | 982797.194851 | 1004292.886441 |
| 12071 | 241400 | 982900.110688 | 1004396.563669 |
| 12072 | 241420 | 983003.027489 | 1004500.241833 |
| 12073 | 241440 | 983105.945254 | 1004603.920931 |
| 12074 | 241460 | 983208.863984 | 1004707.600964 |
| 12075 | 241480 | 983311.783677 | 1004811.281931 |
| 12076 | 241500 | 983414.704334 | 1004914.963834 |
| 12077 | 241520 | 983517.625955 | 1005018.646670 |
| 12078 | 241540 | 983620.548539 | 1005122.330441 |
| 12079 | 241560 | 983723.472087 | 1005226.015147 |
| 12080 | 241580 | 983826.396599 | 1005329.700786 |
| 12081 | 241600 | 983929.322074 | 1005433.387360 |
| 12082 | 241620 | 984032.248512 | 1005537.074868 |
| 12083 | 241640 | 984135.175914 | 1005640.763310 |
| 12084 | 241660 | 984238.104279 | 1005744.452685 |
| 12085 | 241680 | 984341.033606 | 1005848.142995 |
| 12086 | 241700 | 984443.963897 | 1005951.834238 |
| 12087 | 241720 | 984546.895151 | 1006055.526415 |
| 12088 | 241740 | 984649.827367 | 1006159.219526 |
| 12089 | 241760 | 984752.760546 | 1006262.913570 |
| 12090 | 241780 | 984855.694688 | 1006366.608547 |
| 12091 | 241800 | 984958.629792 | 1006470.304458 |
| 12092 | 241820 | 985061.565859 | 1006574.001301 |
| 12093 | 241840 | 985164.502888 | 1006677.699079 |
| 12094 | 241860 | 985267.440879 | 1006781.397789 |
| 12095 | 241880 | 985370.379833 | 1006885.097432 |
| 12096 | 241900 | 985473.319748 | 1006988.798008 |
| 12097 | 241920 | 985576.260626 | 1007092.499516 |
| 12098 | 241940 | 985679.202466 | 1007196.201958 |
| 12099 | 241960 | 985782.145267 | 1007299.905332 |
| 12100 | 241980 | 985885.089030 | 1007403.609639 |
| 12101 | 242000 | 985988.033755 | 1007507.314878 |
| 12102 | 242020 | 986090.979441 | 1007611.021050 |
| 12103 | 242040 | 986193.926089 | 1007714.728153 |
| 12104 | 242060 | 986296.873698 | 1007818.436190 |
| 12105 | 242080 | 986399.822269 | 1007922.145158 |
| 12106 | 242100 | 986502.771801 | 1008025.855058 |
| 12107 | 242120 | 986605.722294 | 1008129.565890 |
| 12108 | 242140 | 986708.673748 | 1008233.277654 |
| 12109 | 242160 | 986811.626162 | 1008336.990350 |
| 12110 | 242180 | 986914.579538 | 1008440.703978 |
| 12111 | 242200 | 987017.533875 | 1008544.418537 |
| 12112 | 242220 | 987120.489172 | 1008648.134028 |
| 12113 | 242240 | 987223.445430 | 1008751.850450 |
| 12114 | 242260 | 987326.402648 | 1008855.567804 |
| 12115 | 242280 | 987429.360827 | 1008959.286089 |
| 12116 | 242300 | 987532.319966 | 1009063.005305 |
| 12117 | 242320 | 987635.280066 | 1009166.725453 |
| 12118 | 242340 | 987738.241125 | 1009270.446531 |
| 12119 | 242360 | 987841.203145 | 1009374.168540 |
| 12120 | 242380 | 987944.166125 | 1009477.891481 |
| 12121 | 242400 | 988047.130064 | 1009581.615352 |
| 12122 | 242420 | 988150.094964 | 1009685.340153 |
| 12123 | 242440 | 988253.060823 | 1009789.065886 |
| 12124 | 242460 | 988356.027642 | 1009892.792549 |
| 12125 | 242480 | 988458.995420 | 1009996.520142 |
| 12126 | 242500 | 988561.964158 | 1010100.248666 |
| 12127 | 242520 | 988664.933855 | 1010203.978120 |
| 12128 | 242540 | 988767.904511 | 1010307.708504 |
| 12129 | 242560 | 988870.876127 | 1010411.439819 |
| 12130 | 242580 | 988973.848702 | 1010515.172063 |
| 12131 | 242600 | 989076.822236 | 1010618.905237 |
| 12132 | 242620 | 989179.796729 | 1010722.639342 |
| 12133 | 242640 | 989282.772181 | 1010826.374376 |
| 12134 | 242660 | 989385.748591 | 1010930.110340 |
| 12135 | 242680 | 989488.725960 | 1011033.847233 |
| 12136 | 242700 | 989591.704288 | 1011137.585056 |
| 12137 | 242720 | 989694.683574 | 1011241.323808 |
| 12138 | 242740 | 989797.663819 | 1011345.063490 |
| 12139 | 242760 | 989900.645022 | 1011448.804101 |
| 12140 | 242780 | 990003.627184 | 1011552.545642 |
| 12141 | 242800 | 990106.610303 | 1011656.288111 |
| 12142 | 242820 | 990209.594381 | 1011760.031509 |
| 12143 | 242840 | 990312.579416 | 1011863.775837 |
| 12144 | 242860 | 990415.565410 | 1011967.521093 |
| 12145 | 242880 | 990518.552361 | 1012071.267278 |
| 12146 | 242900 | 990621.540270 | 1012175.014392 |
| 12147 | 242920 | 990724.529137 | 1012278.762435 |
| 12148 | 242940 | 990827.518961 | 1012382.511406 |
| 12149 | 242960 | 990930.509743 | 1012486.261305 |
| 12150 | 242980 | 991033.501482 | 1012590.012133 |
| 12151 | 243000 | 991136.494179 | 1012693.763889 |
| 12152 | 243020 | 991239.487832 | 1012797.516573 |
| 12153 | 243040 | 991342.482443 | 1012901.270186 |
| 12154 | 243060 | 991445.478011 | 1013005.024726 |
| 12155 | 243080 | 991548.474536 | 1013108.780195 |
| 12156 | 243100 | 991651.472017 | 1013212.536591 |
| 12157 | 243120 | 991754.470456 | 1013316.293915 |
| 12158 | 243140 | 991857.469851 | 1013420.052167 |
| 12159 | 243160 | 991960.470203 | 1013523.811347 |
| 12160 | 243180 | 992063.471511 | 1013627.571454 |
| 12161 | 243200 | 992166.473776 | 1013731.332488 |
| 12162 | 243220 | 992269.476997 | 1013835.094450 |
| 12163 | 243240 | 992372.481174 | 1013938.857340 |
| 12164 | 243260 | 992475.486308 | 1014042.621156 |
| 12165 | 243280 | 992578.492397 | 1014146.385900 |
| 12166 | 243300 | 992681.499443 | 1014250.151570 |
| 12167 | 243320 | 992784.507444 | 1014353.918168 |
| 12168 | 243340 | 992887.516402 | 1014457.685692 |
| 12169 | 243360 | 992990.526315 | 1014561.454143 |
| 12170 | 243380 | 993093.537183 | 1014665.223521 |
| 12171 | 243400 | 993196.549008 | 1014768.993826 |
| 12172 | 243420 | 993299.561788 | 1014872.765057 |
| 12173 | 243440 | 993402.575523 | 1014976.537215 |
| 12174 | 243460 | 993505.590213 | 1015080.310299 |
| 12175 | 243480 | 993608.605859 | 1015184.084309 |
| 12176 | 243500 | 993711.622460 | 1015287.859246 |
| 12177 | 243520 | 993814.640016 | 1015391.635108 |
| 12178 | 243540 | 993917.658527 | 1015495.411897 |
| 12179 | 243560 | 994020.677993 | 1015599.189612 |
| 12180 | 243580 | 994123.698413 | 1015702.968252 |
| 12181 | 243600 | 994226.719788 | 1015806.747819 |
| 12182 | 243620 | 994329.742118 | 1015910.528311 |
| 12183 | 243640 | 994432.765403 | 1016014.309729 |
| 12184 | 243660 | 994535.789642 | 1016118.092072 |
| 12185 | 243680 | 994638.814835 | 1016221.875341 |
| 12186 | 243700 | 994741.840982 | 1016325.659535 |
| 12187 | 243720 | 994844.868084 | 1016429.444655 |
| 12188 | 243740 | 994947.896140 | 1016533.230699 |
| 12189 | 243760 | 995050.925150 | 1016637.017669 |
| 12190 | 243780 | 995153.955114 | 1016740.805564 |
| 12191 | 243800 | 995256.986031 | 1016844.594384 |
| 12192 | 243820 | 995360.017903 | 1016948.384129 |
| 12193 | 243840 | 995463.050728 | 1017052.174799 |
| 12194 | 243860 | 995566.084506 | 1017155.966393 |
| 12195 | 243880 | 995669.119238 | 1017259.758912 |
| 12196 | 243900 | 995772.154924 | 1017363.552356 |
| 12197 | 243920 | 995875.191563 | 1017467.346724 |
| 12198 | 243940 | 995978.229155 | 1017571.142016 |
| 12199 | 243960 | 996081.267700 | 1017674.938233 |
| 12200 | 243980 | 996184.307199 | 1017778.735374 |
| 12201 | 244000 | 996287.347650 | 1017882.533439 |
| 12202 | 244020 | 996390.389054 | 1017986.332429 |
| 12203 | 244040 | 996493.431411 | 1018090.132342 |
| 12204 | 244060 | 996596.474721 | 1018193.933179 |
| 12205 | 244080 | 996699.518984 | 1018297.734940 |
| 12206 | 244100 | 996802.564199 | 1018401.537625 |
| 12207 | 244120 | 996905.610366 | 1018505.341233 |
| 12208 | 244140 | 997008.657486 | 1018609.145765 |
| 12209 | 244160 | 997111.705558 | 1018712.951221 |
| 12210 | 244180 | 997214.754582 | 1018816.757600 |
| 12211 | 244200 | 997317.804559 | 1018920.564902 |
| 12212 | 244220 | 997420.855488 | 1019024.373128 |
| 12213 | 244240 | 997523.907368 | 1019128.182276 |
| 12214 | 244260 | 997626.960200 | 1019231.992348 |
| 12215 | 244280 | 997730.013985 | 1019335.803343 |
| 12216 | 244300 | 997833.068720 | 1019439.615260 |
| 12217 | 244320 | 997936.124408 | 1019543.428101 |
| 12218 | 244340 | 998039.181047 | 1019647.241864 |
| 12219 | 244360 | 998142.238637 | 1019751.056550 |
| 12220 | 244380 | 998245.297179 | 1019854.872159 |
| 12221 | 244400 | 998348.356672 | 1019958.688690 |
| 12222 | 244420 | 998451.417116 | 1020062.506143 |
| 12223 | 244440 | 998554.478512 | 1020166.324519 |
| 12224 | 244460 | 998657.540858 | 1020270.143817 |
| 12225 | 244480 | 998760.604155 | 1020373.964037 |
| 12226 | 244500 | 998863.668403 | 1020477.785180 |
| 12227 | 244520 | 998966.733602 | 1020581.607244 |
| 12228 | 244540 | 999069.799752 | 1020685.430230 |
| 12229 | 244560 | 999172.866852 | 1020789.254139 |
| 12230 | 244580 | 999275.934903 | 1020893.078968 |
| 12231 | 244600 | 999379.003904 | 1020996.904720 |
| 12232 | 244620 | 999482.073855 | 1021100.731393 |
| 12233 | 244640 | 999585.144757 | 1021204.558988 |
| 12234 | 244660 | 999688.216608 | 1021308.387504 |
| 12235 | 244680 | 999791.289410 | 1021412.216942 |
| 12236 | 244700 | 999894.363162 | 1021516.047301 |
| 12237 | 244720 | 999997.437864 | 1021619.878581 |
| 12238 | 244740 | 1000100.513516 | 1021723.710782 |
| 12239 | 244760 | 1000203.590117 | 1021827.543904 |
| 12240 | 244780 | 1000306.667668 | 1021931.377947 |
| 12241 | 244800 | 1000409.746168 | 1022035.212911 |
| 12242 | 244820 | 1000512.825618 | 1022139.048796 |
| 12243 | 244840 | 1000615.906018 | 1022242.885602 |
| 12244 | 244860 | 1000718.987366 | 1022346.723328 |
| 12245 | 244880 | 1000822.069664 | 1022450.561974 |
| 12246 | 244900 | 1000925.152911 | 1022554.401542 |
| 12247 | 244920 | 1001028.237107 | 1022658.242029 |
| 12248 | 244940 | 1001131.322252 | 1022762.083437 |
| 12249 | 244960 | 1001234.408346 | 1022865.925765 |
| 12250 | 244980 | 1001337.495389 | 1022969.769013 |
| 12251 | 245000 | 1001440.583380 | 1023073.613181 |
| 12252 | 245020 | 1001543.672320 | 1023177.458270 |
| 12253 | 245040 | 1001646.762209 | 1023281.304278 |
| 12254 | 245060 | 1001749.853046 | 1023385.151206 |
| 12255 | 245080 | 1001852.944831 | 1023488.999053 |
| 12256 | 245100 | 1001956.037565 | 1023592.847820 |
| 12257 | 245120 | 1002059.131247 | 1023696.697507 |
| 12258 | 245140 | 1002162.225877 | 1023800.548114 |
| 12259 | 245160 | 1002265.321455 | 1023904.399639 |
| 12260 | 245180 | 1002368.417981 | 1024008.252084 |
| 12261 | 245200 | 1002471.515455 | 1024112.105449 |
| 12262 | 245220 | 1002574.613876 | 1024215.959732 |
| 12263 | 245240 | 1002677.713246 | 1024319.814934 |
| 12264 | 245260 | 1002780.813563 | 1024423.671056 |
| 12265 | 245280 | 1002883.914827 | 1024527.528096 |
| 12266 | 245300 | 1002987.017039 | 1024631.386056 |
| 12267 | 245320 | 1003090.120198 | 1024735.244933 |
| 12268 | 245340 | 1003193.224304 | 1024839.104730 |
| 12269 | 245360 | 1003296.329358 | 1024942.965445 |
| 12270 | 245380 | 1003399.435359 | 1025046.827079 |
| 12271 | 245400 | 1003502.542306 | 1025150.689631 |
| 12272 | 245420 | 1003605.650201 | 1025254.553102 |
| 12273 | 245440 | 1003708.759043 | 1025358.417490 |
| 12274 | 245460 | 1003811.868831 | 1025462.282797 |
| 12275 | 245480 | 1003914.979566 | 1025566.149022 |
| 12276 | 245500 | 1004018.091247 | 1025670.016165 |
| 12277 | 245520 | 1004121.203875 | 1025773.884226 |
| 12278 | 245540 | 1004224.317450 | 1025877.753205 |
| 12279 | 245560 | 1004327.431970 | 1025981.623102 |
| 12280 | 245580 | 1004430.547437 | 1026085.493916 |
| 12281 | 245600 | 1004533.663850 | 1026189.365648 |
| 12282 | 245620 | 1004636.781210 | 1026293.238297 |
| 12283 | 245640 | 1004739.899515 | 1026397.111864 |
| 12284 | 245660 | 1004843.018766 | 1026500.986348 |
| 12285 | 245680 | 1004946.138963 | 1026604.861750 |
| 12286 | 245700 | 1005049.260105 | 1026708.738068 |
| 12287 | 245720 | 1005152.382194 | 1026812.615304 |
| 12288 | 245740 | 1005255.505228 | 1026916.493457 |
| 12289 | 245760 | 1005358.629207 | 1027020.372527 |
| 12290 | 245780 | 1005461.754132 | 1027124.252514 |
| 12291 | 245800 | 1005564.880002 | 1027228.133417 |
| 12292 | 245820 | 1005668.006817 | 1027332.015237 |
| 12293 | 245840 | 1005771.134578 | 1027435.897974 |
| 12294 | 245860 | 1005874.263283 | 1027539.781628 |
| 12295 | 245880 | 1005977.392933 | 1027643.666197 |
| 12296 | 245900 | 1006080.523529 | 1027747.551684 |
| 12297 | 245920 | 1006183.655069 | 1027851.438086 |
| 12298 | 245940 | 1006286.787554 | 1027955.325405 |
| 12299 | 245960 | 1006389.920983 | 1028059.213640 |
| 12300 | 245980 | 1006493.055357 | 1028163.102791 |
| 12301 | 246000 | 1006596.190676 | 1028266.992858 |
| 12302 | 246020 | 1006699.326939 | 1028370.883841 |
| 12303 | 246040 | 1006802.464146 | 1028474.775739 |
| 12304 | 246060 | 1006905.602298 | 1028578.668554 |
| 12305 | 246080 | 1007008.741393 | 1028682.562284 |
| 12306 | 246100 | 1007111.881433 | 1028786.456930 |
| 12307 | 246120 | 1007215.022416 | 1028890.352491 |
| 12308 | 246140 | 1007318.164344 | 1028994.248968 |
| 12309 | 246160 | 1007421.307215 | 1029098.146359 |
| 12310 | 246180 | 1007524.451030 | 1029202.044667 |
| 12311 | 246200 | 1007627.595789 | 1029305.943889 |
| 12312 | 246220 | 1007730.741491 | 1029409.844026 |
| 12313 | 246240 | 1007833.888136 | 1029513.745079 |
| 12314 | 246260 | 1007937.035725 | 1029617.647046 |
| 12315 | 246280 | 1008040.184257 | 1029721.549929 |
| 12316 | 246300 | 1008143.333733 | 1029825.453726 |
| 12317 | 246320 | 1008246.484151 | 1029929.358437 |
| 12318 | 246340 | 1008349.635513 | 1030033.264064 |
| 12319 | 246360 | 1008452.787818 | 1030137.170605 |
| 12320 | 246380 | 1008555.941065 | 1030241.078060 |
| 12321 | 246400 | 1008659.095255 | 1030344.986430 |
| 12322 | 246420 | 1008762.250388 | 1030448.895714 |
| 12323 | 246440 | 1008865.406463 | 1030552.805912 |
| 12324 | 246460 | 1008968.563482 | 1030656.717024 |
| 12325 | 246480 | 1009071.721442 | 1030760.629051 |
| 12326 | 246500 | 1009174.880345 | 1030864.541991 |
| 12327 | 246520 | 1009278.040190 | 1030968.455845 |
| 12328 | 246540 | 1009381.200977 | 1031072.370613 |
| 12329 | 246560 | 1009484.362707 | 1031176.286295 |
| 12330 | 246580 | 1009587.525378 | 1031280.202890 |
| 12331 | 246600 | 1009690.688991 | 1031384.120399 |
| 12332 | 246620 | 1009793.853547 | 1031488.038821 |
| 12333 | 246640 | 1009897.019044 | 1031591.958157 |
| 12334 | 246660 | 1010000.185482 | 1031695.878406 |
| 12335 | 246680 | 1010103.352863 | 1031799.799569 |
| 12336 | 246700 | 1010206.521184 | 1031903.721644 |
| 12337 | 246720 | 1010309.690448 | 1032007.644633 |
| 12338 | 246740 | 1010412.860652 | 1032111.568535 |
| 12339 | 246760 | 1010516.031798 | 1032215.493349 |
| 12340 | 246780 | 1010619.203885 | 1032319.419076 |
| 12341 | 246800 | 1010722.376913 | 1032423.345717 |
| 12342 | 246820 | 1010825.550883 | 1032527.273269 |
| 12343 | 246840 | 1010928.725793 | 1032631.201735 |
| 12344 | 246860 | 1011031.901644 | 1032735.131113 |
| 12345 | 246880 | 1011135.078436 | 1032839.061403 |
| 12346 | 246900 | 1011238.256168 | 1032942.992606 |
| 12347 | 246920 | 1011341.434841 | 1033046.924721 |
| 12348 | 246940 | 1011444.614455 | 1033150.857748 |
| 12349 | 246960 | 1011547.795008 | 1033254.791687 |
| 12350 | 246980 | 1011650.976503 | 1033358.726538 |
| 12351 | 247000 | 1011754.158937 | 1033462.662302 |
| 12352 | 247020 | 1011857.342312 | 1033566.598977 |
| 12353 | 247040 | 1011960.526627 | 1033670.536564 |
| 12354 | 247060 | 1012063.711882 | 1033774.475062 |
| 12355 | 247080 | 1012166.898077 | 1033878.414473 |
| 12356 | 247100 | 1012270.085211 | 1033982.354794 |
| 12357 | 247120 | 1012373.273286 | 1034086.296028 |
| 12358 | 247140 | 1012476.462300 | 1034190.238172 |
| 12359 | 247160 | 1012579.652254 | 1034294.181228 |
| 12360 | 247180 | 1012682.843147 | 1034398.125196 |
| 12361 | 247200 | 1012786.034979 | 1034502.070074 |
| 12362 | 247220 | 1012889.227751 | 1034606.015863 |
| 12363 | 247240 | 1012992.421463 | 1034709.962564 |
| 12364 | 247260 | 1013095.616113 | 1034813.910175 |
| 12365 | 247280 | 1013198.811702 | 1034917.858697 |
| 12366 | 247300 | 1013302.008231 | 1035021.808130 |
| 12367 | 247320 | 1013405.205698 | 1035125.758474 |
| 12368 | 247340 | 1013508.404105 | 1035229.709728 |
| 12369 | 247360 | 1013611.603450 | 1035333.661893 |
| 12370 | 247380 | 1013714.803733 | 1035437.614968 |
| 12371 | 247400 | 1013818.004956 | 1035541.568953 |
| 12372 | 247420 | 1013921.207117 | 1035645.523849 |
| 12373 | 247440 | 1014024.410216 | 1035749.479655 |
| 12374 | 247460 | 1014127.614253 | 1035853.436371 |
| 12375 | 247480 | 1014230.819229 | 1035957.393997 |
| 12376 | 247500 | 1014334.025143 | 1036061.352533 |
| 12377 | 247520 | 1014437.231995 | 1036165.311979 |
| 12378 | 247540 | 1014540.439786 | 1036269.272335 |
| 12379 | 247560 | 1014643.648514 | 1036373.233600 |
| 12380 | 247580 | 1014746.858179 | 1036477.195775 |
| 12381 | 247600 | 1014850.068783 | 1036581.158860 |
| 12382 | 247620 | 1014953.280324 | 1036685.122854 |
| 12383 | 247640 | 1015056.492803 | 1036789.087757 |
| 12384 | 247660 | 1015159.706220 | 1036893.053570 |
| 12385 | 247680 | 1015262.920574 | 1036997.020292 |
| 12386 | 247700 | 1015366.135865 | 1037100.987923 |
| 12387 | 247720 | 1015469.352093 | 1037204.956463 |
| 12388 | 247740 | 1015572.569259 | 1037308.925912 |
| 12389 | 247760 | 1015675.787362 | 1037412.896270 |
| 12390 | 247780 | 1015779.006402 | 1037516.867537 |
| 12391 | 247800 | 1015882.226378 | 1037620.839713 |
| 12392 | 247820 | 1015985.447292 | 1037724.812797 |
| 12393 | 247840 | 1016088.669142 | 1037828.786790 |
| 12394 | 247860 | 1016191.891929 | 1037932.761692 |
| 12395 | 247880 | 1016295.115653 | 1038036.737502 |
| 12396 | 247900 | 1016398.340313 | 1038140.714220 |
| 12397 | 247920 | 1016501.565909 | 1038244.691847 |
| 12398 | 247940 | 1016604.792442 | 1038348.670381 |
| 12399 | 247960 | 1016708.019911 | 1038452.649824 |
| 12400 | 247980 | 1016811.248316 | 1038556.630175 |
| 12401 | 248000 | 1016914.477658 | 1038660.611434 |
| 12402 | 248020 | 1017017.707935 | 1038764.593600 |
| 12403 | 248040 | 1017120.939149 | 1038868.576675 |
| 12404 | 248060 | 1017224.171298 | 1038972.560657 |
| 12405 | 248080 | 1017327.404383 | 1039076.545547 |
| 12406 | 248100 | 1017430.638403 | 1039180.531344 |
| 12407 | 248120 | 1017533.873360 | 1039284.518049 |
| 12408 | 248140 | 1017637.109251 | 1039388.505662 |
| 12409 | 248160 | 1017740.346079 | 1039492.494181 |
| 12410 | 248180 | 1017843.583841 | 1039596.483608 |
| 12411 | 248200 | 1017946.822539 | 1039700.473942 |
| 12412 | 248220 | 1018050.062172 | 1039804.465183 |
| 12413 | 248240 | 1018153.302740 | 1039908.457331 |
| 12414 | 248260 | 1018256.544243 | 1040012.450386 |
| 12415 | 248280 | 1018359.786681 | 1040116.444348 |
| 12416 | 248300 | 1018463.030054 | 1040220.439217 |
| 12417 | 248320 | 1018566.274362 | 1040324.434992 |
| 12418 | 248340 | 1018669.519604 | 1040428.431674 |
| 12419 | 248360 | 1018772.765781 | 1040532.429262 |
| 12420 | 248380 | 1018876.012893 | 1040636.427757 |
| 12421 | 248400 | 1018979.260938 | 1040740.427158 |
| 12422 | 248420 | 1019082.509919 | 1040844.427466 |
| 12423 | 248440 | 1019185.759833 | 1040948.428680 |
| 12424 | 248460 | 1019289.010682 | 1041052.430799 |
| 12425 | 248480 | 1019392.262465 | 1041156.433825 |
| 12426 | 248500 | 1019495.515182 | 1041260.437757 |
| 12427 | 248520 | 1019598.768833 | 1041364.442595 |
| 12428 | 248540 | 1019702.023417 | 1041468.448339 |
| 12429 | 248560 | 1019805.278936 | 1041572.454988 |
| 12430 | 248580 | 1019908.535388 | 1041676.462543 |
| 12431 | 248600 | 1020011.792774 | 1041780.471003 |
| 12432 | 248620 | 1020115.051093 | 1041884.480369 |
| 12433 | 248640 | 1020218.310346 | 1041988.490641 |
| 12434 | 248660 | 1020321.570532 | 1042092.501818 |
| 12435 | 248680 | 1020424.831652 | 1042196.513900 |
| 12436 | 248700 | 1020528.093704 | 1042300.526887 |
| 12437 | 248720 | 1020631.356690 | 1042404.540779 |
| 12438 | 248740 | 1020734.620609 | 1042508.555577 |
| 12439 | 248760 | 1020837.885461 | 1042612.571279 |
| 12440 | 248780 | 1020941.151245 | 1042716.587886 |
| 12441 | 248800 | 1021044.417963 | 1042820.605398 |
| 12442 | 248820 | 1021147.685613 | 1042924.623815 |
| 12443 | 248840 | 1021250.954196 | 1043028.643136 |
| 12444 | 248860 | 1021354.223711 | 1043132.663362 |
| 12445 | 248880 | 1021457.494159 | 1043236.684492 |
| 12446 | 248900 | 1021560.765539 | 1043340.706526 |
| 12447 | 248920 | 1021664.037851 | 1043444.729465 |
| 12448 | 248940 | 1021767.311096 | 1043548.753309 |
| 12449 | 248960 | 1021870.585273 | 1043652.778056 |
| 12450 | 248980 | 1021973.860381 | 1043756.803707 |
| 12451 | 249000 | 1022077.136422 | 1043860.830263 |
| 12452 | 249020 | 1022180.413395 | 1043964.857722 |
| 12453 | 249040 | 1022283.691299 | 1044068.886085 |
| 12454 | 249060 | 1022386.970136 | 1044172.915352 |
| 12455 | 249080 | 1022490.249903 | 1044276.945523 |
| 12456 | 249100 | 1022593.530603 | 1044380.976597 |
| 12457 | 249120 | 1022696.812234 | 1044485.008575 |
| 12458 | 249140 | 1022800.094796 | 1044589.041456 |
| 12459 | 249160 | 1022903.378290 | 1044693.075240 |
| 12460 | 249180 | 1023006.662714 | 1044797.109928 |
| 12461 | 249200 | 1023109.948070 | 1044901.145519 |
| 12462 | 249220 | 1023213.234357 | 1045005.182013 |
| 12463 | 249240 | 1023316.521575 | 1045109.219410 |
| 12464 | 249260 | 1023419.809724 | 1045213.257710 |
| 12465 | 249280 | 1023523.098804 | 1045317.296913 |
| 12466 | 249300 | 1023626.388814 | 1045421.337019 |
| 12467 | 249320 | 1023729.679755 | 1045525.378028 |
| 12468 | 249340 | 1023832.971627 | 1045629.419939 |
| 12469 | 249360 | 1023936.264429 | 1045733.462753 |
| 12470 | 249380 | 1024039.558162 | 1045837.506469 |
| 12471 | 249400 | 1024142.852825 | 1045941.551088 |
| 12472 | 249420 | 1024246.148418 | 1046045.596609 |
| 12473 | 249440 | 1024349.444941 | 1046149.643032 |
| 12474 | 249460 | 1024452.742394 | 1046253.690358 |
| 12475 | 249480 | 1024556.040778 | 1046357.738585 |
| 12476 | 249500 | 1024659.340091 | 1046461.787715 |
| 12477 | 249520 | 1024762.640334 | 1046565.837746 |
| 12478 | 249540 | 1024865.941507 | 1046669.888680 |
| 12479 | 249560 | 1024969.243610 | 1046773.940515 |
| 12480 | 249580 | 1025072.546642 | 1046877.993252 |
| 12481 | 249600 | 1025175.850603 | 1046982.046891 |
| 12482 | 249620 | 1025279.155494 | 1047086.101431 |
| 12483 | 249640 | 1025382.461315 | 1047190.156872 |
| 12484 | 249660 | 1025485.768064 | 1047294.213215 |
| 12485 | 249680 | 1025589.075743 | 1047398.270459 |
| 12486 | 249700 | 1025692.384351 | 1047502.328605 |
| 12487 | 249720 | 1025795.693888 | 1047606.387652 |
| 12488 | 249740 | 1025899.004354 | 1047710.447599 |
| 12489 | 249760 | 1026002.315749 | 1047814.508448 |
| 12490 | 249780 | 1026105.628072 | 1047918.570198 |
| 12491 | 249800 | 1026208.941324 | 1048022.632849 |
| 12492 | 249820 | 1026312.255505 | 1048126.696400 |
| 12493 | 249840 | 1026415.570614 | 1048230.760852 |
| 12494 | 249860 | 1026518.886652 | 1048334.826204 |
| 12495 | 249880 | 1026622.203618 | 1048438.892458 |
| 12496 | 249900 | 1026725.521513 | 1048542.959611 |
| 12497 | 249920 | 1026828.840335 | 1048647.027665 |
| 12498 | 249940 | 1026932.160086 | 1048751.096619 |
| 12499 | 249960 | 1027035.480765 | 1048855.166474 |
| 12500 | 249980 | 1027138.802372 | 1048959.237229 |
| 12501 | 250000 | 1027242.124906 | 1049063.308883 |
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())