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 |
|---|---|---|---|
| 14002 | 280020 | 1183331.922255 | 1206247.925581 |
| 14003 | 280040 | 1183436.553690 | 1206353.267760 |
| 14004 | 280060 | 1183541.185944 | 1206458.610735 |
| 14005 | 280080 | 1183645.819018 | 1206563.954505 |
| 14006 | 280100 | 1183750.452911 | 1206669.299072 |
| 14007 | 280120 | 1183855.087623 | 1206774.644435 |
| 14008 | 280140 | 1183959.723155 | 1206879.990593 |
| 14009 | 280160 | 1184064.359506 | 1206985.337546 |
| 14010 | 280180 | 1184168.996675 | 1207090.685296 |
| 14011 | 280200 | 1184273.634664 | 1207196.033840 |
| 14012 | 280220 | 1184378.273472 | 1207301.383181 |
| 14013 | 280240 | 1184482.913098 | 1207406.733316 |
| 14014 | 280260 | 1184587.553543 | 1207512.084247 |
| 14015 | 280280 | 1184692.194807 | 1207617.435973 |
| 14016 | 280300 | 1184796.836890 | 1207722.788495 |
| 14017 | 280320 | 1184901.479791 | 1207828.141811 |
| 14018 | 280340 | 1185006.123511 | 1207933.495923 |
| 14019 | 280360 | 1185110.768049 | 1208038.850829 |
| 14020 | 280380 | 1185215.413406 | 1208144.206531 |
| 14021 | 280400 | 1185320.059581 | 1208249.563028 |
| 14022 | 280420 | 1185424.706574 | 1208354.920319 |
| 14023 | 280440 | 1185529.354386 | 1208460.278405 |
| 14024 | 280460 | 1185634.003015 | 1208565.637286 |
| 14025 | 280480 | 1185738.652463 | 1208670.996961 |
| 14026 | 280500 | 1185843.302729 | 1208776.357431 |
| 14027 | 280520 | 1185947.953812 | 1208881.718696 |
| 14028 | 280540 | 1186052.605714 | 1208987.080755 |
| 14029 | 280560 | 1186157.258434 | 1209092.443608 |
| 14030 | 280580 | 1186261.911971 | 1209197.807256 |
| 14031 | 280600 | 1186366.566326 | 1209303.171698 |
| 14032 | 280620 | 1186471.221498 | 1209408.536934 |
| 14033 | 280640 | 1186575.877489 | 1209513.902965 |
| 14034 | 280660 | 1186680.534296 | 1209619.269789 |
| 14035 | 280680 | 1186785.191922 | 1209724.637408 |
| 14036 | 280700 | 1186889.850364 | 1209830.005820 |
| 14037 | 280720 | 1186994.509624 | 1209935.375027 |
| 14038 | 280740 | 1187099.169701 | 1210040.745027 |
| 14039 | 280760 | 1187203.830596 | 1210146.115821 |
| 14040 | 280780 | 1187308.492307 | 1210251.487409 |
| 14041 | 280800 | 1187413.154836 | 1210356.859790 |
| 14042 | 280820 | 1187517.818181 | 1210462.232965 |
| 14043 | 280840 | 1187622.482344 | 1210567.606934 |
| 14044 | 280860 | 1187727.147323 | 1210672.981696 |
| 14045 | 280880 | 1187831.813120 | 1210778.357252 |
| 14046 | 280900 | 1187936.479733 | 1210883.733601 |
| 14047 | 280920 | 1188041.147162 | 1210989.110743 |
| 14048 | 280940 | 1188145.815409 | 1211094.488679 |
| 14049 | 280960 | 1188250.484472 | 1211199.867407 |
| 14050 | 280980 | 1188355.154351 | 1211305.246929 |
| 14051 | 281000 | 1188459.825047 | 1211410.627244 |
| 14052 | 281020 | 1188564.496559 | 1211516.008352 |
| 14053 | 281040 | 1188669.168888 | 1211621.390253 |
| 14054 | 281060 | 1188773.842032 | 1211726.772946 |
| 14055 | 281080 | 1188878.515993 | 1211832.156433 |
| 14056 | 281100 | 1188983.190770 | 1211937.540712 |
| 14057 | 281120 | 1189087.866364 | 1212042.925784 |
| 14058 | 281140 | 1189192.542773 | 1212148.311649 |
| 14059 | 281160 | 1189297.219998 | 1212253.698306 |
| 14060 | 281180 | 1189401.898039 | 1212359.085755 |
| 14061 | 281200 | 1189506.576896 | 1212464.473998 |
| 14062 | 281220 | 1189611.256568 | 1212569.863032 |
| 14063 | 281240 | 1189715.937056 | 1212675.252859 |
| 14064 | 281260 | 1189820.618360 | 1212780.643478 |
| 14065 | 281280 | 1189925.300480 | 1212886.034889 |
| 14066 | 281300 | 1190029.983415 | 1212991.427093 |
| 14067 | 281320 | 1190134.667165 | 1213096.820089 |
| 14068 | 281340 | 1190239.351730 | 1213202.213876 |
| 14069 | 281360 | 1190344.037111 | 1213307.608456 |
| 14070 | 281380 | 1190448.723308 | 1213413.003827 |
| 14071 | 281400 | 1190553.410319 | 1213518.399991 |
| 14072 | 281420 | 1190658.098146 | 1213623.796946 |
| 14073 | 281440 | 1190762.786787 | 1213729.194692 |
| 14074 | 281460 | 1190867.476244 | 1213834.593231 |
| 14075 | 281480 | 1190972.166515 | 1213939.992561 |
| 14076 | 281500 | 1191076.857601 | 1214045.392683 |
| 14077 | 281520 | 1191181.549503 | 1214150.793596 |
| 14078 | 281540 | 1191286.242218 | 1214256.195300 |
| 14079 | 281560 | 1191390.935749 | 1214361.597796 |
| 14080 | 281580 | 1191495.630094 | 1214467.001084 |
| 14081 | 281600 | 1191600.325254 | 1214572.405162 |
| 14082 | 281620 | 1191705.021228 | 1214677.810032 |
| 14083 | 281640 | 1191809.718016 | 1214783.215692 |
| 14084 | 281660 | 1191914.415619 | 1214888.622144 |
| 14085 | 281680 | 1192019.114037 | 1214994.029387 |
| 14086 | 281700 | 1192123.813268 | 1215099.437421 |
| 14087 | 281720 | 1192228.513314 | 1215204.846245 |
| 14088 | 281740 | 1192333.214173 | 1215310.255861 |
| 14089 | 281760 | 1192437.915847 | 1215415.666267 |
| 14090 | 281780 | 1192542.618335 | 1215521.077464 |
| 14091 | 281800 | 1192647.321637 | 1215626.489451 |
| 14092 | 281820 | 1192752.025752 | 1215731.902229 |
| 14093 | 281840 | 1192856.730681 | 1215837.315798 |
| 14094 | 281860 | 1192961.436424 | 1215942.730157 |
| 14095 | 281880 | 1193066.142981 | 1216048.145306 |
| 14096 | 281900 | 1193170.850351 | 1216153.561246 |
| 14097 | 281920 | 1193275.558535 | 1216258.977976 |
| 14098 | 281940 | 1193380.267532 | 1216364.395497 |
| 14099 | 281960 | 1193484.977343 | 1216469.813807 |
| 14100 | 281980 | 1193589.687967 | 1216575.232907 |
| 14101 | 282000 | 1193694.399404 | 1216680.652798 |
| 14102 | 282020 | 1193799.111655 | 1216786.073478 |
| 14103 | 282040 | 1193903.824719 | 1216891.494949 |
| 14104 | 282060 | 1194008.538596 | 1216996.917209 |
| 14105 | 282080 | 1194113.253285 | 1217102.340259 |
| 14106 | 282100 | 1194217.968788 | 1217207.764099 |
| 14107 | 282120 | 1194322.685104 | 1217313.188728 |
| 14108 | 282140 | 1194427.402232 | 1217418.614147 |
| 14109 | 282160 | 1194532.120174 | 1217524.040356 |
| 14110 | 282180 | 1194636.838928 | 1217629.467354 |
| 14111 | 282200 | 1194741.558495 | 1217734.895141 |
| 14112 | 282220 | 1194846.278874 | 1217840.323718 |
| 14113 | 282240 | 1194951.000066 | 1217945.753084 |
| 14114 | 282260 | 1195055.722070 | 1218051.183240 |
| 14115 | 282280 | 1195160.444887 | 1218156.614184 |
| 14116 | 282300 | 1195265.168516 | 1218262.045918 |
| 14117 | 282320 | 1195369.892957 | 1218367.478441 |
| 14118 | 282340 | 1195474.618211 | 1218472.911752 |
| 14119 | 282360 | 1195579.344276 | 1218578.345853 |
| 14120 | 282380 | 1195684.071154 | 1218683.780743 |
| 14121 | 282400 | 1195788.798844 | 1218789.216421 |
| 14122 | 282420 | 1195893.527346 | 1218894.652888 |
| 14123 | 282440 | 1195998.256660 | 1219000.090144 |
| 14124 | 282460 | 1196102.986785 | 1219105.528189 |
| 14125 | 282480 | 1196207.717722 | 1219210.967022 |
| 14126 | 282500 | 1196312.449472 | 1219316.406643 |
| 14127 | 282520 | 1196417.182032 | 1219421.847053 |
| 14128 | 282540 | 1196521.915404 | 1219527.288252 |
| 14129 | 282560 | 1196626.649588 | 1219632.730239 |
| 14130 | 282580 | 1196731.384584 | 1219738.173014 |
| 14131 | 282600 | 1196836.120390 | 1219843.616577 |
| 14132 | 282620 | 1196940.857008 | 1219949.060928 |
| 14133 | 282640 | 1197045.594438 | 1220054.506068 |
| 14134 | 282660 | 1197150.332678 | 1220159.951996 |
| 14135 | 282680 | 1197255.071730 | 1220265.398711 |
| 14136 | 282700 | 1197359.811592 | 1220370.846215 |
| 14137 | 282720 | 1197464.552266 | 1220476.294506 |
| 14138 | 282740 | 1197569.293751 | 1220581.743585 |
| 14139 | 282760 | 1197674.036047 | 1220687.193452 |
| 14140 | 282780 | 1197778.779153 | 1220792.644107 |
| 14141 | 282800 | 1197883.523070 | 1220898.095549 |
| 14142 | 282820 | 1197988.267798 | 1221003.547779 |
| 14143 | 282840 | 1198093.013337 | 1221109.000796 |
| 14144 | 282860 | 1198197.759686 | 1221214.454600 |
| 14145 | 282880 | 1198302.506846 | 1221319.909192 |
| 14146 | 282900 | 1198407.254816 | 1221425.364572 |
| 14147 | 282920 | 1198512.003597 | 1221530.820738 |
| 14148 | 282940 | 1198616.753188 | 1221636.277692 |
| 14149 | 282960 | 1198721.503589 | 1221741.735433 |
| 14150 | 282980 | 1198826.254800 | 1221847.193961 |
| 14151 | 283000 | 1198931.006822 | 1221952.653276 |
| 14152 | 283020 | 1199035.759654 | 1222058.113378 |
| 14153 | 283040 | 1199140.513295 | 1222163.574267 |
| 14154 | 283060 | 1199245.267747 | 1222269.035943 |
| 14155 | 283080 | 1199350.023009 | 1222374.498406 |
| 14156 | 283100 | 1199454.779080 | 1222479.961655 |
| 14157 | 283120 | 1199559.535961 | 1222585.425691 |
| 14158 | 283140 | 1199664.293652 | 1222690.890513 |
| 14159 | 283160 | 1199769.052153 | 1222796.356122 |
| 14160 | 283180 | 1199873.811463 | 1222901.822518 |
| 14161 | 283200 | 1199978.571582 | 1223007.289700 |
| 14162 | 283220 | 1200083.332512 | 1223112.757668 |
| 14163 | 283240 | 1200188.094250 | 1223218.226423 |
| 14164 | 283260 | 1200292.856798 | 1223323.695963 |
| 14165 | 283280 | 1200397.620155 | 1223429.166290 |
| 14166 | 283300 | 1200502.384322 | 1223534.637403 |
| 14167 | 283320 | 1200607.149297 | 1223640.109303 |
| 14168 | 283340 | 1200711.915082 | 1223745.581988 |
| 14169 | 283360 | 1200816.681675 | 1223851.055459 |
| 14170 | 283380 | 1200921.449078 | 1223956.529716 |
| 14171 | 283400 | 1201026.217290 | 1224062.004759 |
| 14172 | 283420 | 1201130.986310 | 1224167.480587 |
| 14173 | 283440 | 1201235.756139 | 1224272.957202 |
| 14174 | 283460 | 1201340.526777 | 1224378.434602 |
| 14175 | 283480 | 1201445.298224 | 1224483.912787 |
| 14176 | 283500 | 1201550.070479 | 1224589.391758 |
| 14177 | 283520 | 1201654.843542 | 1224694.871515 |
| 14178 | 283540 | 1201759.617414 | 1224800.352056 |
| 14179 | 283560 | 1201864.392095 | 1224905.833384 |
| 14180 | 283580 | 1201969.167584 | 1225011.315496 |
| 14181 | 283600 | 1202073.943881 | 1225116.798394 |
| 14182 | 283620 | 1202178.720986 | 1225222.282077 |
| 14183 | 283640 | 1202283.498900 | 1225327.766545 |
| 14184 | 283660 | 1202388.277622 | 1225433.251798 |
| 14185 | 283680 | 1202493.057151 | 1225538.737836 |
| 14186 | 283700 | 1202597.837489 | 1225644.224659 |
| 14187 | 283720 | 1202702.618635 | 1225749.712267 |
| 14188 | 283740 | 1202807.400588 | 1225855.200659 |
| 14189 | 283760 | 1202912.183349 | 1225960.689836 |
| 14190 | 283780 | 1203016.966918 | 1226066.179799 |
| 14191 | 283800 | 1203121.751295 | 1226171.670545 |
| 14192 | 283820 | 1203226.536479 | 1226277.162076 |
| 14193 | 283840 | 1203331.322471 | 1226382.654392 |
| 14194 | 283860 | 1203436.109270 | 1226488.147492 |
| 14195 | 283880 | 1203540.896877 | 1226593.641377 |
| 14196 | 283900 | 1203645.685291 | 1226699.136046 |
| 14197 | 283920 | 1203750.474512 | 1226804.631499 |
| 14198 | 283940 | 1203855.264540 | 1226910.127736 |
| 14199 | 283960 | 1203960.055376 | 1227015.624758 |
| 14200 | 283980 | 1204064.847019 | 1227121.122563 |
| 14201 | 284000 | 1204169.639469 | 1227226.621153 |
| 14202 | 284020 | 1204274.432725 | 1227332.120527 |
| 14203 | 284040 | 1204379.226789 | 1227437.620684 |
| 14204 | 284060 | 1204484.021660 | 1227543.121625 |
| 14205 | 284080 | 1204588.817337 | 1227648.623351 |
| 14206 | 284100 | 1204693.613821 | 1227754.125860 |
| 14207 | 284120 | 1204798.411112 | 1227859.629152 |
| 14208 | 284140 | 1204903.209209 | 1227965.133228 |
| 14209 | 284160 | 1205008.008113 | 1228070.638088 |
| 14210 | 284180 | 1205112.807824 | 1228176.143731 |
| 14211 | 284200 | 1205217.608340 | 1228281.650158 |
| 14212 | 284220 | 1205322.409664 | 1228387.157368 |
| 14213 | 284240 | 1205427.211793 | 1228492.665361 |
| 14214 | 284260 | 1205532.014729 | 1228598.174138 |
| 14215 | 284280 | 1205636.818471 | 1228703.683698 |
| 14216 | 284300 | 1205741.623019 | 1228809.194041 |
| 14217 | 284320 | 1205846.428373 | 1228914.705167 |
| 14218 | 284340 | 1205951.234533 | 1229020.217076 |
| 14219 | 284360 | 1206056.041499 | 1229125.729768 |
| 14220 | 284380 | 1206160.849271 | 1229231.243242 |
| 14221 | 284400 | 1206265.657849 | 1229336.757500 |
| 14222 | 284420 | 1206370.467232 | 1229442.272541 |
| 14223 | 284440 | 1206475.277421 | 1229547.788364 |
| 14224 | 284460 | 1206580.088416 | 1229653.304970 |
| 14225 | 284480 | 1206684.900216 | 1229758.822358 |
| 14226 | 284500 | 1206789.712822 | 1229864.340529 |
| 14227 | 284520 | 1206894.526233 | 1229969.859483 |
| 14228 | 284540 | 1206999.340450 | 1230075.379219 |
| 14229 | 284560 | 1207104.155472 | 1230180.899737 |
| 14230 | 284580 | 1207208.971299 | 1230286.421038 |
| 14231 | 284600 | 1207313.787931 | 1230391.943121 |
| 14232 | 284620 | 1207418.605369 | 1230497.465986 |
| 14233 | 284640 | 1207523.423611 | 1230602.989633 |
| 14234 | 284660 | 1207628.242659 | 1230708.514062 |
| 14235 | 284680 | 1207733.062511 | 1230814.039273 |
| 14236 | 284700 | 1207837.883169 | 1230919.565266 |
| 14237 | 284720 | 1207942.704631 | 1231025.092042 |
| 14238 | 284740 | 1208047.526898 | 1231130.619598 |
| 14239 | 284760 | 1208152.349970 | 1231236.147937 |
| 14240 | 284780 | 1208257.173846 | 1231341.677058 |
| 14241 | 284800 | 1208361.998527 | 1231447.206960 |
| 14242 | 284820 | 1208466.824012 | 1231552.737643 |
| 14243 | 284840 | 1208571.650302 | 1231658.269109 |
| 14244 | 284860 | 1208676.477396 | 1231763.801355 |
| 14245 | 284880 | 1208781.305295 | 1231869.334383 |
| 14246 | 284900 | 1208886.133997 | 1231974.868193 |
| 14247 | 284920 | 1208990.963504 | 1232080.402784 |
| 14248 | 284940 | 1209095.793816 | 1232185.938156 |
| 14249 | 284960 | 1209200.624931 | 1232291.474309 |
| 14250 | 284980 | 1209305.456850 | 1232397.011243 |
| 14251 | 285000 | 1209410.289573 | 1232502.548958 |
| 14252 | 285020 | 1209515.123100 | 1232608.087455 |
| 14253 | 285040 | 1209619.957431 | 1232713.626732 |
| 14254 | 285060 | 1209724.792566 | 1232819.166790 |
| 14255 | 285080 | 1209829.628504 | 1232924.707629 |
| 14256 | 285100 | 1209934.465246 | 1233030.249249 |
| 14257 | 285120 | 1210039.302792 | 1233135.791650 |
| 14258 | 285140 | 1210144.141141 | 1233241.334831 |
| 14259 | 285160 | 1210248.980294 | 1233346.878792 |
| 14260 | 285180 | 1210353.820250 | 1233452.423535 |
| 14261 | 285200 | 1210458.661009 | 1233557.969057 |
| 14262 | 285220 | 1210563.502572 | 1233663.515361 |
| 14263 | 285240 | 1210668.344938 | 1233769.062444 |
| 14264 | 285260 | 1210773.188107 | 1233874.610308 |
| 14265 | 285280 | 1210878.032079 | 1233980.158952 |
| 14266 | 285300 | 1210982.876854 | 1234085.708376 |
| 14267 | 285320 | 1211087.722433 | 1234191.258581 |
| 14268 | 285340 | 1211192.568814 | 1234296.809565 |
| 14269 | 285360 | 1211297.415998 | 1234402.361329 |
| 14270 | 285380 | 1211402.263984 | 1234507.913874 |
| 14271 | 285400 | 1211507.112774 | 1234613.467198 |
| 14272 | 285420 | 1211611.962366 | 1234719.021302 |
| 14273 | 285440 | 1211716.812761 | 1234824.576186 |
| 14274 | 285460 | 1211821.663958 | 1234930.131849 |
| 14275 | 285480 | 1211926.515958 | 1235035.688293 |
| 14276 | 285500 | 1212031.368760 | 1235141.245515 |
| 14277 | 285520 | 1212136.222364 | 1235246.803518 |
| 14278 | 285540 | 1212241.076771 | 1235352.362299 |
| 14279 | 285560 | 1212345.931980 | 1235457.921861 |
| 14280 | 285580 | 1212450.787992 | 1235563.482201 |
| 14281 | 285600 | 1212555.644805 | 1235669.043321 |
| 14282 | 285620 | 1212660.502421 | 1235774.605220 |
| 14283 | 285640 | 1212765.360838 | 1235880.167898 |
| 14284 | 285660 | 1212870.220057 | 1235985.731356 |
| 14285 | 285680 | 1212975.080079 | 1236091.295592 |
| 14286 | 285700 | 1213079.940902 | 1236196.860607 |
| 14287 | 285720 | 1213184.802526 | 1236302.426402 |
| 14288 | 285740 | 1213289.664953 | 1236407.992975 |
| 14289 | 285760 | 1213394.528181 | 1236513.560327 |
| 14290 | 285780 | 1213499.392211 | 1236619.128458 |
| 14291 | 285800 | 1213604.257042 | 1236724.697367 |
| 14292 | 285820 | 1213709.122675 | 1236830.267056 |
| 14293 | 285840 | 1213813.989109 | 1236935.837522 |
| 14294 | 285860 | 1213918.856344 | 1237041.408768 |
| 14295 | 285880 | 1214023.724381 | 1237146.980791 |
| 14296 | 285900 | 1214128.593218 | 1237252.553594 |
| 14297 | 285920 | 1214233.462857 | 1237358.127174 |
| 14298 | 285940 | 1214338.333297 | 1237463.701533 |
| 14299 | 285960 | 1214443.204538 | 1237569.276670 |
| 14300 | 285980 | 1214548.076580 | 1237674.852585 |
| 14301 | 286000 | 1214652.949423 | 1237780.429279 |
| 14302 | 286020 | 1214757.823067 | 1237886.006750 |
| 14303 | 286040 | 1214862.697512 | 1237991.585000 |
| 14304 | 286060 | 1214967.572757 | 1238097.164027 |
| 14305 | 286080 | 1215072.448803 | 1238202.743832 |
| 14306 | 286100 | 1215177.325649 | 1238308.324415 |
| 14307 | 286120 | 1215282.203296 | 1238413.905776 |
| 14308 | 286140 | 1215387.081744 | 1238519.487915 |
| 14309 | 286160 | 1215491.960992 | 1238625.070831 |
| 14310 | 286180 | 1215596.841040 | 1238730.654525 |
| 14311 | 286200 | 1215701.721888 | 1238836.238996 |
| 14312 | 286220 | 1215806.603537 | 1238941.824245 |
| 14313 | 286240 | 1215911.485986 | 1239047.410271 |
| 14314 | 286260 | 1216016.369235 | 1239152.997075 |
| 14315 | 286280 | 1216121.253284 | 1239258.584656 |
| 14316 | 286300 | 1216226.138133 | 1239364.173014 |
| 14317 | 286320 | 1216331.023782 | 1239469.762149 |
| 14318 | 286340 | 1216435.910231 | 1239575.352062 |
| 14319 | 286360 | 1216540.797479 | 1239680.942751 |
| 14320 | 286380 | 1216645.685528 | 1239786.534218 |
| 14321 | 286400 | 1216750.574376 | 1239892.126461 |
| 14322 | 286420 | 1216855.464023 | 1239997.719481 |
| 14323 | 286440 | 1216960.354470 | 1240103.313278 |
| 14324 | 286460 | 1217065.245717 | 1240208.907852 |
| 14325 | 286480 | 1217170.137763 | 1240314.503203 |
| 14326 | 286500 | 1217275.030609 | 1240420.099330 |
| 14327 | 286520 | 1217379.924253 | 1240525.696234 |
| 14328 | 286540 | 1217484.818697 | 1240631.293915 |
| 14329 | 286560 | 1217589.713941 | 1240736.892372 |
| 14330 | 286580 | 1217694.609983 | 1240842.491605 |
| 14331 | 286600 | 1217799.506825 | 1240948.091615 |
| 14332 | 286620 | 1217904.404465 | 1241053.692401 |
| 14333 | 286640 | 1218009.302904 | 1241159.293963 |
| 14334 | 286660 | 1218114.202143 | 1241264.896302 |
| 14335 | 286680 | 1218219.102180 | 1241370.499416 |
| 14336 | 286700 | 1218324.003016 | 1241476.103307 |
| 14337 | 286720 | 1218428.904650 | 1241581.707974 |
| 14338 | 286740 | 1218533.807083 | 1241687.313416 |
| 14339 | 286760 | 1218638.710315 | 1241792.919635 |
| 14340 | 286780 | 1218743.614346 | 1241898.526629 |
| 14341 | 286800 | 1218848.519174 | 1242004.134399 |
| 14342 | 286820 | 1218953.424801 | 1242109.742945 |
| 14343 | 286840 | 1219058.331227 | 1242215.352267 |
| 14344 | 286860 | 1219163.238451 | 1242320.962364 |
| 14345 | 286880 | 1219268.146473 | 1242426.573236 |
| 14346 | 286900 | 1219373.055293 | 1242532.184885 |
| 14347 | 286920 | 1219477.964911 | 1242637.797308 |
| 14348 | 286940 | 1219582.875328 | 1242743.410507 |
| 14349 | 286960 | 1219687.786542 | 1242849.024481 |
| 14350 | 286980 | 1219792.698554 | 1242954.639231 |
| 14351 | 287000 | 1219897.611364 | 1243060.254756 |
| 14352 | 287020 | 1220002.524972 | 1243165.871056 |
| 14353 | 287040 | 1220107.439378 | 1243271.488131 |
| 14354 | 287060 | 1220212.354581 | 1243377.105981 |
| 14355 | 287080 | 1220317.270582 | 1243482.724606 |
| 14356 | 287100 | 1220422.187380 | 1243588.344005 |
| 14357 | 287120 | 1220527.104976 | 1243693.964180 |
| 14358 | 287140 | 1220632.023370 | 1243799.585130 |
| 14359 | 287160 | 1220736.942560 | 1243905.206854 |
| 14360 | 287180 | 1220841.862548 | 1244010.829353 |
| 14361 | 287200 | 1220946.783334 | 1244116.452626 |
| 14362 | 287220 | 1221051.704916 | 1244222.076674 |
| 14363 | 287240 | 1221156.627296 | 1244327.701497 |
| 14364 | 287260 | 1221261.550473 | 1244433.327094 |
| 14365 | 287280 | 1221366.474446 | 1244538.953465 |
| 14366 | 287300 | 1221471.399217 | 1244644.580611 |
| 14367 | 287320 | 1221576.324784 | 1244750.208531 |
| 14368 | 287340 | 1221681.251149 | 1244855.837225 |
| 14369 | 287360 | 1221786.178310 | 1244961.466694 |
| 14370 | 287380 | 1221891.106268 | 1245067.096936 |
| 14371 | 287400 | 1221996.035022 | 1245172.727953 |
| 14372 | 287420 | 1222100.964573 | 1245278.359743 |
| 14373 | 287440 | 1222205.894921 | 1245383.992307 |
| 14374 | 287460 | 1222310.826065 | 1245489.625646 |
| 14375 | 287480 | 1222415.758005 | 1245595.259758 |
| 14376 | 287500 | 1222520.690742 | 1245700.894644 |
| 14377 | 287520 | 1222625.624275 | 1245806.530303 |
| 14378 | 287540 | 1222730.558605 | 1245912.166736 |
| 14379 | 287560 | 1222835.493730 | 1246017.803943 |
| 14380 | 287580 | 1222940.429652 | 1246123.441923 |
| 14381 | 287600 | 1223045.366369 | 1246229.080677 |
| 14382 | 287620 | 1223150.303883 | 1246334.720204 |
| 14383 | 287640 | 1223255.242193 | 1246440.360504 |
| 14384 | 287660 | 1223360.181298 | 1246546.001578 |
| 14385 | 287680 | 1223465.121199 | 1246651.643425 |
| 14386 | 287700 | 1223570.061896 | 1246757.286045 |
| 14387 | 287720 | 1223675.003389 | 1246862.929438 |
| 14388 | 287740 | 1223779.945677 | 1246968.573604 |
| 14389 | 287760 | 1223884.888761 | 1247074.218543 |
| 14390 | 287780 | 1223989.832640 | 1247179.864255 |
| 14391 | 287800 | 1224094.777315 | 1247285.510740 |
| 14392 | 287820 | 1224199.722785 | 1247391.157998 |
| 14393 | 287840 | 1224304.669050 | 1247496.806029 |
| 14394 | 287860 | 1224409.616111 | 1247602.454832 |
| 14395 | 287880 | 1224514.563967 | 1247708.104408 |
| 14396 | 287900 | 1224619.512618 | 1247813.754757 |
| 14397 | 287920 | 1224724.462064 | 1247919.405878 |
| 14398 | 287940 | 1224829.412305 | 1248025.057771 |
| 14399 | 287960 | 1224934.363342 | 1248130.710437 |
| 14400 | 287980 | 1225039.315173 | 1248236.363875 |
| 14401 | 288000 | 1225144.267798 | 1248342.018086 |
| 14402 | 288020 | 1225249.221219 | 1248447.673069 |
| 14403 | 288040 | 1225354.175434 | 1248553.328824 |
| 14404 | 288060 | 1225459.130444 | 1248658.985351 |
| 14405 | 288080 | 1225564.086249 | 1248764.642650 |
| 14406 | 288100 | 1225669.042848 | 1248870.300721 |
| 14407 | 288120 | 1225774.000242 | 1248975.959564 |
| 14408 | 288140 | 1225878.958430 | 1249081.619179 |
| 14409 | 288160 | 1225983.917412 | 1249187.279566 |
| 14410 | 288180 | 1226088.877189 | 1249292.940725 |
| 14411 | 288200 | 1226193.837760 | 1249398.602655 |
| 14412 | 288220 | 1226298.799125 | 1249504.265357 |
| 14413 | 288240 | 1226403.761284 | 1249609.928831 |
| 14414 | 288260 | 1226508.724237 | 1249715.593076 |
| 14415 | 288280 | 1226613.687985 | 1249821.258093 |
| 14416 | 288300 | 1226718.652526 | 1249926.923881 |
| 14417 | 288320 | 1226823.617861 | 1250032.590441 |
| 14418 | 288340 | 1226928.583990 | 1250138.257771 |
| 14419 | 288360 | 1227033.550913 | 1250243.925873 |
| 14420 | 288380 | 1227138.518629 | 1250349.594747 |
| 14421 | 288400 | 1227243.487139 | 1250455.264391 |
| 14422 | 288420 | 1227348.456443 | 1250560.934807 |
| 14423 | 288440 | 1227453.426540 | 1250666.605993 |
| 14424 | 288460 | 1227558.397430 | 1250772.277951 |
| 14425 | 288480 | 1227663.369114 | 1250877.950679 |
| 14426 | 288500 | 1227768.341592 | 1250983.624178 |
| 14427 | 288520 | 1227873.314862 | 1251089.298448 |
| 14428 | 288540 | 1227978.288926 | 1251194.973489 |
| 14429 | 288560 | 1228083.263783 | 1251300.649301 |
| 14430 | 288580 | 1228188.239433 | 1251406.325883 |
| 14431 | 288600 | 1228293.215876 | 1251512.003235 |
| 14432 | 288620 | 1228398.193112 | 1251617.681359 |
| 14433 | 288640 | 1228503.171141 | 1251723.360252 |
| 14434 | 288660 | 1228608.149963 | 1251829.039916 |
| 14435 | 288680 | 1228713.129578 | 1251934.720351 |
| 14436 | 288700 | 1228818.109985 | 1252040.401555 |
| 14437 | 288720 | 1228923.091186 | 1252146.083530 |
| 14438 | 288740 | 1229028.073178 | 1252251.766275 |
| 14439 | 288760 | 1229133.055964 | 1252357.449790 |
| 14440 | 288780 | 1229238.039541 | 1252463.134076 |
| 14441 | 288800 | 1229343.023912 | 1252568.819131 |
| 14442 | 288820 | 1229448.009074 | 1252674.504956 |
| 14443 | 288840 | 1229552.995029 | 1252780.191551 |
| 14444 | 288860 | 1229657.981776 | 1252885.878916 |
| 14445 | 288880 | 1229762.969316 | 1252991.567050 |
| 14446 | 288900 | 1229867.957647 | 1253097.255955 |
| 14447 | 288920 | 1229972.946771 | 1253202.945628 |
| 14448 | 288940 | 1230077.936687 | 1253308.636072 |
| 14449 | 288960 | 1230182.927394 | 1253414.327285 |
| 14450 | 288980 | 1230287.918894 | 1253520.019268 |
| 14451 | 289000 | 1230392.911185 | 1253625.712020 |
| 14452 | 289020 | 1230497.904268 | 1253731.405541 |
| 14453 | 289040 | 1230602.898143 | 1253837.099831 |
| 14454 | 289060 | 1230707.892810 | 1253942.794891 |
| 14455 | 289080 | 1230812.888268 | 1254048.490720 |
| 14456 | 289100 | 1230917.884517 | 1254154.187319 |
| 14457 | 289120 | 1231022.881559 | 1254259.884686 |
| 14458 | 289140 | 1231127.879391 | 1254365.582822 |
| 14459 | 289160 | 1231232.878015 | 1254471.281727 |
| 14460 | 289180 | 1231337.877430 | 1254576.981401 |
| 14461 | 289200 | 1231442.877637 | 1254682.681844 |
| 14462 | 289220 | 1231547.878635 | 1254788.383056 |
| 14463 | 289240 | 1231652.880424 | 1254894.085037 |
| 14464 | 289260 | 1231757.883003 | 1254999.787786 |
| 14465 | 289280 | 1231862.886374 | 1255105.491304 |
| 14466 | 289300 | 1231967.890536 | 1255211.195590 |
| 14467 | 289320 | 1232072.895489 | 1255316.900645 |
| 14468 | 289340 | 1232177.901233 | 1255422.606468 |
| 14469 | 289360 | 1232282.907767 | 1255528.313060 |
| 14470 | 289380 | 1232387.915092 | 1255634.020420 |
| 14471 | 289400 | 1232492.923208 | 1255739.728548 |
| 14472 | 289420 | 1232597.932114 | 1255845.437445 |
| 14473 | 289440 | 1232702.941811 | 1255951.147109 |
| 14474 | 289460 | 1232807.952298 | 1256056.857542 |
| 14475 | 289480 | 1232912.963576 | 1256162.568743 |
| 14476 | 289500 | 1233017.975644 | 1256268.280712 |
| 14477 | 289520 | 1233122.988503 | 1256373.993449 |
| 14478 | 289540 | 1233228.002151 | 1256479.706953 |
| 14479 | 289560 | 1233333.016590 | 1256585.421226 |
| 14480 | 289580 | 1233438.031819 | 1256691.136266 |
| 14481 | 289600 | 1233543.047838 | 1256796.852074 |
| 14482 | 289620 | 1233648.064647 | 1256902.568649 |
| 14483 | 289640 | 1233753.082246 | 1257008.285992 |
| 14484 | 289660 | 1233858.100635 | 1257114.004103 |
| 14485 | 289680 | 1233963.119814 | 1257219.722981 |
| 14486 | 289700 | 1234068.139782 | 1257325.442627 |
| 14487 | 289720 | 1234173.160540 | 1257431.163039 |
| 14488 | 289740 | 1234278.182088 | 1257536.884220 |
| 14489 | 289760 | 1234383.204425 | 1257642.606167 |
| 14490 | 289780 | 1234488.227552 | 1257748.328882 |
| 14491 | 289800 | 1234593.251468 | 1257854.052363 |
| 14492 | 289820 | 1234698.276174 | 1257959.776612 |
| 14493 | 289840 | 1234803.301669 | 1258065.501628 |
| 14494 | 289860 | 1234908.327954 | 1258171.227411 |
| 14495 | 289880 | 1235013.355027 | 1258276.953961 |
| 14496 | 289900 | 1235118.382890 | 1258382.681277 |
| 14497 | 289920 | 1235223.411542 | 1258488.409361 |
| 14498 | 289940 | 1235328.440983 | 1258594.138211 |
| 14499 | 289960 | 1235433.471213 | 1258699.867827 |
| 14500 | 289980 | 1235538.502232 | 1258805.598211 |
| 14501 | 290000 | 1235643.534039 | 1258911.329361 |
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())