Current task: —

E-009-suzuki-screw-function.py

Experiments: E-009a · script updated 08-18-2026

E-009-suzuki-screw-function.csv — 449.3 KB, updated 08-18-2026

← prev page 3 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
1002 1.0000 -4.400730523685e-02 1.503974875512e-01
1003 1.0010 -4.416486493433e-02 1.508876166229e-01
1004 1.0020 -4.432397951150e-02 1.513777456947e-01
1005 1.0030 -4.448465005917e-02 1.518678747664e-01
1006 1.0040 -4.464687766773e-02 1.523580038381e-01
1007 1.0050 -4.481066342720e-02 1.528481329099e-01
1008 1.0060 -4.497600842717e-02 1.533382619816e-01
1009 1.0070 -4.514291375685e-02 1.538283910533e-01
1010 1.0080 -4.531138050508e-02 1.543185201251e-01
1011 1.0090 -4.548140976029e-02 1.548086491968e-01
1012 1.0100 -4.565300261053e-02 1.552987782685e-01
1013 1.0110 -4.582616014348e-02 1.557889073403e-01
1014 1.0120 -4.600088344644e-02 1.562790364120e-01
1015 1.0130 -4.617717360632e-02 1.567691654837e-01
1016 1.0140 -4.635503170967e-02 1.572592945555e-01
1017 1.0150 -4.653445884268e-02 1.577494236272e-01
1018 1.0160 -4.671545609116e-02 1.582395526989e-01
1019 1.0170 -4.689802454057e-02 1.587296817707e-01
1020 1.0180 -4.708216527599e-02 1.592198108424e-01
1021 1.0190 -4.726787938217e-02 1.597099399141e-01
1022 1.0200 -4.745516794348e-02 1.602000689859e-01
1023 1.0210 -4.764403204395e-02 1.606901980576e-01
1024 1.0220 -4.783447276726e-02 1.611803271294e-01
1025 1.0230 -4.802649119675e-02 1.616704562011e-01
1026 1.0240 -4.822008841542e-02 1.621605852728e-01
1027 1.0250 -4.841526550591e-02 1.626507143446e-01
1028 1.0260 -4.861202355055e-02 1.631408434163e-01
1029 1.0270 -4.881036363130e-02 1.636309724880e-01
1030 1.0280 -4.901028682983e-02 1.641211015598e-01
1031 1.0290 -4.921179422745e-02 1.646112306315e-01
1032 1.0300 -4.941488690516e-02 1.651013597032e-01
1033 1.0310 -4.961956594364e-02 1.655914887750e-01
1034 1.0320 -4.982583242322e-02 1.660816178467e-01
1035 1.0330 -5.003368742396e-02 1.665717469184e-01
1036 1.0340 -5.024313202555e-02 1.670618759902e-01
1037 1.0350 -5.045416730742e-02 1.675520050619e-01
1038 1.0360 -5.066679434866e-02 1.680421341336e-01
1039 1.0370 -5.088101422806e-02 1.685322632054e-01
1040 1.0380 -5.109682802410e-02 1.690223922771e-01
1041 1.0390 -5.131423681498e-02 1.695125213488e-01
1042 1.0400 -5.153324167857e-02 1.700026504206e-01
1043 1.0410 -5.175384369246e-02 1.704927794923e-01
1044 1.0420 -5.197604393396e-02 1.709829085640e-01
1045 1.0430 -5.219984348006e-02 1.714730376358e-01
1046 1.0440 -5.242524340749e-02 1.719631667075e-01
1047 1.0450 -5.265224479267e-02 1.724532957792e-01
1048 1.0460 -5.288084871176e-02 1.729434248510e-01
1049 1.0470 -5.311105624062e-02 1.734335539227e-01
1050 1.0480 -5.334286845485e-02 1.739236829944e-01
1051 1.0490 -5.357628642975e-02 1.744138120662e-01
1052 1.0500 -5.381131124038e-02 1.749039411379e-01
1053 1.0510 -5.404794396150e-02 1.753940702096e-01
1054 1.0520 -5.428618566762e-02 1.758841992814e-01
1055 1.0530 -5.452603743299e-02 1.763743283531e-01
1056 1.0540 -5.476750033157e-02 1.768644574248e-01
1057 1.0550 -5.501057543710e-02 1.773545864966e-01
1058 1.0560 -5.525526382302e-02 1.778447155683e-01
1059 1.0570 -5.550156656255e-02 1.783348446401e-01
1060 1.0580 -5.574948472863e-02 1.788249737118e-01
1061 1.0590 -5.599901939399e-02 1.793151027835e-01
1062 1.0600 -5.625017163106e-02 1.798052318553e-01
1063 1.0610 -5.650294251206e-02 1.802953609270e-01
1064 1.0620 -5.675733310897e-02 1.807854899987e-01
1065 1.0630 -5.701334449352e-02 1.812756190705e-01
1066 1.0640 -5.727097773719e-02 1.817657481422e-01
1067 1.0650 -5.753023391124e-02 1.822558772139e-01
1068 1.0660 -5.779111408670e-02 1.827460062857e-01
1069 1.0670 -5.805361933436e-02 1.832361353574e-01
1070 1.0680 -5.831775072479e-02 1.837262644291e-01
1071 1.0690 -5.858350932834e-02 1.842163935009e-01
1072 1.0700 -5.885089621512e-02 1.847065225726e-01
1073 1.0710 -5.911991245502e-02 1.851966516443e-01
1074 1.0720 -5.939055911774e-02 1.856867807161e-01
1075 1.0730 -5.966283727273e-02 1.861769097878e-01
1076 1.0740 -5.993674798924e-02 1.866670388595e-01
1077 1.0750 -6.021229233633e-02 1.871571679313e-01
1078 1.0760 -6.048947138281e-02 1.876472970030e-01
1079 1.0770 -6.076828619731e-02 1.881374260747e-01
1080 1.0780 -6.104873784826e-02 1.886275551465e-01
1081 1.0790 -6.133082740386e-02 1.891176842182e-01
1082 1.0800 -6.161455593215e-02 1.896078132899e-01
1083 1.0810 -6.189992450095e-02 1.900979423617e-01
1084 1.0820 -6.218693417788e-02 1.905880714334e-01
1085 1.0830 -6.247558603038e-02 1.910782005051e-01
1086 1.0840 -6.276588112570e-02 1.915683295769e-01
1087 1.0850 -6.305782053089e-02 1.920584586486e-01
1088 1.0860 -6.335140531282e-02 1.925485877203e-01
1089 1.0870 -6.364663653819e-02 1.930387167921e-01
1090 1.0880 -6.394351527350e-02 1.935288458638e-01
1091 1.0890 -6.424204258508e-02 1.940189749355e-01
1092 1.0900 -6.454221953908e-02 1.945091040073e-01
1093 1.0910 -6.484404720148e-02 1.949992330790e-01
1094 1.0920 -6.514752663809e-02 1.954893621508e-01
1095 1.0930 -6.545265891454e-02 1.959794912225e-01
1096 1.0940 -6.575944509629e-02 1.964696202942e-01
1097 1.0950 -6.606788624866e-02 1.969597493660e-01
1098 1.0960 -6.637798343678e-02 1.974498784377e-01
1099 1.0970 -6.668973772562e-02 1.979400075094e-01
1100 1.0980 -6.700315018001e-02 1.984301365812e-01
1101 1.0990 -6.707230273116e-02 1.991661847863e-01
1102 1.1000 -6.675475060988e-02 2.002905979587e-01
1103 1.1010 -6.643885984765e-02 2.014150111310e-01
1104 1.1020 -6.612463150871e-02 2.025394243033e-01
1105 1.1030 -6.581206665710e-02 2.036638374757e-01
1106 1.1040 -6.550116635672e-02 2.047882506480e-01
1107 1.1050 -6.519193167134e-02 2.059126638203e-01
1108 1.1060 -6.488436366460e-02 2.070370769927e-01
1109 1.1070 -6.457846339997e-02 2.081614901650e-01
1110 1.1080 -6.427423194079e-02 2.092859033373e-01
1111 1.1090 -6.397167035029e-02 2.104103165096e-01
1112 1.1100 -6.367077969154e-02 2.115347296820e-01
1113 1.1110 -6.337156102748e-02 2.126591428543e-01
1114 1.1120 -6.307401542093e-02 2.137835560266e-01
1115 1.1130 -6.277814393458e-02 2.149079691990e-01
1116 1.1140 -6.248394763100e-02 2.160323823713e-01
1117 1.1150 -6.219142757263e-02 2.171567955436e-01
1118 1.1160 -6.190058482178e-02 2.182812087160e-01
1119 1.1170 -6.161142044066e-02 2.194056218883e-01
1120 1.1180 -6.132393549135e-02 2.205300350606e-01
1121 1.1190 -6.103813103582e-02 2.216544482330e-01
1122 1.1200 -6.075400813593e-02 2.227788614053e-01
1123 1.1210 -6.047156785343e-02 2.239032745776e-01
1124 1.1220 -6.019081124995e-02 2.250276877500e-01
1125 1.1230 -5.991173938701e-02 2.261521009223e-01
1126 1.1240 -5.963435332605e-02 2.272765140946e-01
1127 1.1250 -5.935865412839e-02 2.284009272670e-01
1128 1.1260 -5.908464285524e-02 2.295253404393e-01
1129 1.1270 -5.881232056773e-02 2.306497536116e-01
1130 1.1280 -5.854168832689e-02 2.317741667840e-01
1131 1.1290 -5.827274719364e-02 2.328985799563e-01
1132 1.1300 -5.800549822881e-02 2.340229931286e-01
1133 1.1310 -5.773994249317e-02 2.351474063009e-01
1134 1.1320 -5.747608104735e-02 2.362718194733e-01
1135 1.1330 -5.721391495194e-02 2.373962326456e-01
1136 1.1340 -5.695344526741e-02 2.385206458179e-01
1137 1.1350 -5.669467305417e-02 2.396450589903e-01
1138 1.1360 -5.643759937252e-02 2.407694721626e-01
1139 1.1370 -5.618222528273e-02 2.418938853349e-01
1140 1.1380 -5.592855184493e-02 2.430182985073e-01
1141 1.1390 -5.567658011923e-02 2.441427116796e-01
1142 1.1400 -5.542631116563e-02 2.452671248519e-01
1143 1.1410 -5.517774604406e-02 2.463915380243e-01
1144 1.1420 -5.493088581441e-02 2.475159511966e-01
1145 1.1430 -5.468573153648e-02 2.486403643689e-01
1146 1.1440 -5.444228426999e-02 2.497647775413e-01
1147 1.1450 -5.420054507461e-02 2.508891907136e-01
1148 1.1460 -5.396051500997e-02 2.520136038859e-01
1149 1.1470 -5.372219513560e-02 2.531380170583e-01
1150 1.1480 -5.348558651099e-02 2.542624302306e-01
1151 1.1490 -5.325069019556e-02 2.553868434029e-01
1152 1.1500 -5.301750724871e-02 2.565112565753e-01
1153 1.1510 -5.278603872975e-02 2.576356697476e-01
1154 1.1520 -5.255628569794e-02 2.587600829199e-01
1155 1.1530 -5.232824921252e-02 2.598844960923e-01
1156 1.1540 -5.210193033265e-02 2.610089092646e-01
1157 1.1550 -5.187733011746e-02 2.621333224369e-01
1158 1.1560 -5.165444962604e-02 2.632577356092e-01
1159 1.1570 -5.143328991741e-02 2.643821487816e-01
1160 1.1580 -5.121385205058e-02 2.655065619539e-01
1161 1.1590 -5.099613708452e-02 2.666309751262e-01
1162 1.1600 -5.078014607813e-02 2.677553882986e-01
1163 1.1610 -5.056588009031e-02 2.688798014709e-01
1164 1.1620 -5.035334017991e-02 2.700042146432e-01
1165 1.1630 -5.014252740575e-02 2.711286278156e-01
1166 1.1640 -4.993344282662e-02 2.722530409879e-01
1167 1.1650 -4.972608750129e-02 2.733774541602e-01
1168 1.1660 -4.952046248848e-02 2.745018673326e-01
1169 1.1670 -4.931656884691e-02 2.756262805049e-01
1170 1.1680 -4.911440763527e-02 2.767506936772e-01
1171 1.1690 -4.891397991222e-02 2.778751068496e-01
1172 1.1700 -4.871528673641e-02 2.789995200219e-01
1173 1.1710 -4.851832916646e-02 2.801239331942e-01
1174 1.1720 -4.832310826098e-02 2.812483463666e-01
1175 1.1730 -4.812962507858e-02 2.823727595389e-01
1176 1.1740 -4.793788067784e-02 2.834971727112e-01
1177 1.1750 -4.774787611731e-02 2.846215858836e-01
1178 1.1760 -4.755961245558e-02 2.857459990559e-01
1179 1.1770 -4.737309075119e-02 2.868704122282e-01
1180 1.1780 -4.718831206268e-02 2.879948254005e-01
1181 1.1790 -4.700527744861e-02 2.891192385729e-01
1182 1.1800 -4.682398796752e-02 2.902436517452e-01
1183 1.1810 -4.664444467794e-02 2.913680649175e-01
1184 1.1820 -4.646664863841e-02 2.924924780899e-01
1185 1.1830 -4.629060090747e-02 2.936168912622e-01
1186 1.1840 -4.611630254368e-02 2.947413044345e-01
1187 1.1850 -4.594375460557e-02 2.958657176069e-01
1188 1.1860 -4.577295815172e-02 2.969901307792e-01
1189 1.1870 -4.560391424067e-02 2.981145439515e-01
1190 1.1880 -4.543662393101e-02 2.992389571239e-01
1191 1.1890 -4.527108828133e-02 3.003633702962e-01
1192 1.1900 -4.510730835023e-02 3.014877834685e-01
1193 1.1910 -4.494528519632e-02 3.026121966409e-01
1194 1.1920 -4.478501987825e-02 3.037366098132e-01
1195 1.1930 -4.462651345465e-02 3.048610229855e-01
1196 1.1940 -4.446976698420e-02 3.059854361579e-01
1197 1.1950 -4.431478152560e-02 3.071098493302e-01
1198 1.1960 -4.416155813756e-02 3.082342625025e-01
1199 1.1970 -4.401009787881e-02 3.093586756749e-01
1200 1.1980 -4.386040180814e-02 3.104830888472e-01
1201 1.1990 -4.371247098433e-02 3.116075020195e-01
1202 1.2000 -4.356630646620e-02 3.127319151918e-01
1203 1.2010 -4.342190931261e-02 3.138563283642e-01
1204 1.2020 -4.327928058245e-02 3.149807415365e-01
1205 1.2030 -4.313842133464e-02 3.161051547088e-01
1206 1.2040 -4.299933262813e-02 3.172295678812e-01
1207 1.2050 -4.286201552192e-02 3.183539810535e-01
1208 1.2060 -4.272647107504e-02 3.194783942258e-01
1209 1.2070 -4.259270034657e-02 3.206028073982e-01
1210 1.2080 -4.246070439562e-02 3.217272205705e-01
1211 1.2090 -4.233048428135e-02 3.228516337428e-01
1212 1.2100 -4.220204106295e-02 3.239760469152e-01
1213 1.2110 -4.207537579968e-02 3.251004600875e-01
1214 1.2120 -4.195048955084e-02 3.262248732598e-01
1215 1.2130 -4.182738337577e-02 3.273492864322e-01
1216 1.2140 -4.170605833387e-02 3.284736996045e-01
1217 1.2150 -4.158651548459e-02 3.295981127768e-01
1218 1.2160 -4.146875588743e-02 3.307225259492e-01
1219 1.2170 -4.135278060194e-02 3.318469391215e-01
1220 1.2180 -4.123859068775e-02 3.329713522938e-01
1221 1.2190 -4.112618720453e-02 3.340957654662e-01
1222 1.2200 -4.101557121201e-02 3.352201786385e-01
1223 1.2210 -4.090674376998e-02 3.363445918108e-01
1224 1.2220 -4.079970593831e-02 3.374690049831e-01
1225 1.2230 -4.069445877691e-02 3.385934181555e-01
1226 1.2240 -4.059100334577e-02 3.397178313278e-01
1227 1.2250 -4.048934070495e-02 3.408422445001e-01
1228 1.2260 -4.038947191456e-02 3.419666576725e-01
1229 1.2270 -4.029139803481e-02 3.430910708448e-01
1230 1.2280 -4.019512012595e-02 3.442154840171e-01
1231 1.2290 -4.010063924832e-02 3.453398971895e-01
1232 1.2300 -4.000795646234e-02 3.464643103618e-01
1233 1.2310 -3.991707282848e-02 3.475887235341e-01
1234 1.2320 -3.982798940732e-02 3.487131367065e-01
1235 1.2330 -3.974070725950e-02 3.498375498788e-01
1236 1.2340 -3.965522744574e-02 3.509619630511e-01
1237 1.2350 -3.957155102684e-02 3.520863762235e-01
1238 1.2360 -3.948967906370e-02 3.532107893958e-01
1239 1.2370 -3.940961261728e-02 3.543352025681e-01
1240 1.2380 -3.933135274863e-02 3.554596157405e-01
1241 1.2390 -3.925490051892e-02 3.565840289128e-01
1242 1.2400 -3.918025698936e-02 3.577084420851e-01
1243 1.2410 -3.910742322128e-02 3.588328552575e-01
1244 1.2420 -3.903640027609e-02 3.599572684298e-01
1245 1.2430 -3.896718921530e-02 3.610816816021e-01
1246 1.2440 -3.889979110052e-02 3.622060947744e-01
1247 1.2450 -3.883420699343e-02 3.633305079468e-01
1248 1.2460 -3.877043795583e-02 3.644549211191e-01
1249 1.2470 -3.870848504961e-02 3.655793342914e-01
1250 1.2480 -3.864834933676e-02 3.667037474638e-01
1251 1.2490 -3.859003187937e-02 3.678281606361e-01
1252 1.2500 -3.853353373963e-02 3.689525738084e-01
1253 1.2510 -3.847885597985e-02 3.700769869808e-01
1254 1.2520 -3.842599966241e-02 3.712014001531e-01
1255 1.2530 -3.837496584984e-02 3.723258133254e-01
1256 1.2540 -3.832575560474e-02 3.734502264978e-01
1257 1.2550 -3.827836998985e-02 3.745746396701e-01
1258 1.2560 -3.823281006799e-02 3.756990528424e-01
1259 1.2570 -3.818907690211e-02 3.768234660148e-01
1260 1.2580 -3.814717155527e-02 3.779478791871e-01
1261 1.2590 -3.810709509064e-02 3.790722923594e-01
1262 1.2600 -3.806884857152e-02 3.801967055318e-01
1263 1.2610 -3.803243306131e-02 3.813211187041e-01
1264 1.2620 -3.799784962353e-02 3.824455318764e-01
1265 1.2630 -3.796509932183e-02 3.835699450488e-01
1266 1.2640 -3.793418321997e-02 3.846943582211e-01
1267 1.2650 -3.790510238184e-02 3.858187713934e-01
1268 1.2660 -3.787785787145e-02 3.869431845657e-01
1269 1.2670 -3.785245075293e-02 3.880675977381e-01
1270 1.2680 -3.782888209054e-02 3.891920109104e-01
1271 1.2690 -3.780715294868e-02 3.903164240827e-01
1272 1.2700 -3.778726439186e-02 3.914408372551e-01
1273 1.2710 -3.776921748472e-02 3.925652504274e-01
1274 1.2720 -3.775301329205e-02 3.936896635997e-01
1275 1.2730 -3.773865287874e-02 3.948140767721e-01
1276 1.2740 -3.772613730986e-02 3.959384899444e-01
1277 1.2750 -3.771546765056e-02 3.970629031167e-01
1278 1.2760 -3.770664496618e-02 3.981873162891e-01
1279 1.2770 -3.769967032216e-02 3.993117294614e-01
1280 1.2780 -3.769454478410e-02 4.004361426337e-01
1281 1.2790 -3.769126941771e-02 4.015605558061e-01
1282 1.2800 -3.768984528889e-02 4.026849689784e-01
1283 1.2810 -3.769027346363e-02 4.038093821507e-01
1284 1.2820 -3.769255500811e-02 4.049337953231e-01
1285 1.2830 -3.769669098861e-02 4.060582084954e-01
1286 1.2840 -3.770268247160e-02 4.071826216677e-01
1287 1.2850 -3.771053052367e-02 4.083070348401e-01
1288 1.2860 -3.772023621157e-02 4.094314480124e-01
1289 1.2870 -3.773180060218e-02 4.105558611847e-01
1290 1.2880 -3.774522476256e-02 4.116802743570e-01
1291 1.2890 -3.776050975991e-02 4.128046875294e-01
1292 1.2900 -3.777765666157e-02 4.139291007017e-01
1293 1.2910 -3.779666653506e-02 4.150535138740e-01
1294 1.2920 -3.781754044804e-02 4.161779270464e-01
1295 1.2930 -3.784027946833e-02 4.173023402187e-01
1296 1.2940 -3.786488466391e-02 4.184267533910e-01
1297 1.2950 -3.789135710291e-02 4.195511665634e-01
1298 1.2960 -3.791969785363e-02 4.206755797357e-01
1299 1.2970 -3.794990798455e-02 4.217999929080e-01
1300 1.2980 -3.798198856427e-02 4.229244060804e-01
1301 1.2990 -3.801594066159e-02 4.240488192527e-01
1302 1.3000 -3.805176534547e-02 4.251732324250e-01
1303 1.3010 -3.808946368502e-02 4.262976455974e-01
1304 1.3020 -3.812903674953e-02 4.274220587697e-01
1305 1.3030 -3.817048560846e-02 4.285464719420e-01
1306 1.3040 -3.821381133144e-02 4.296708851144e-01
1307 1.3050 -3.825901498827e-02 4.307952982867e-01
1308 1.3060 -3.830609764892e-02 4.319197114590e-01
1309 1.3070 -3.835506038353e-02 4.330441246314e-01
1310 1.3080 -3.840590426243e-02 4.341685378037e-01
1311 1.3090 -3.845863035611e-02 4.352929509760e-01
1312 1.3100 -3.851323973525e-02 4.364173641483e-01
1313 1.3110 -3.856973347070e-02 4.375417773207e-01
1314 1.3120 -3.862811263349e-02 4.386661904930e-01
1315 1.3130 -3.868837829483e-02 4.397906036653e-01
1316 1.3140 -3.875053152612e-02 4.409150168377e-01
1317 1.3150 -3.881457339894e-02 4.420394300100e-01
1318 1.3160 -3.888050498504e-02 4.431638431823e-01
1319 1.3170 -3.894832735638e-02 4.442882563547e-01
1320 1.3180 -3.901804158508e-02 4.454126695270e-01
1321 1.3190 -3.908964874347e-02 4.465370826993e-01
1322 1.3200 -3.916314990406e-02 4.476614958717e-01
1323 1.3210 -3.923854613954e-02 4.487859090440e-01
1324 1.3220 -3.931583852281e-02 4.499103222163e-01
1325 1.3230 -3.939502812694e-02 4.510347353887e-01
1326 1.3240 -3.947611602521e-02 4.521591485610e-01
1327 1.3250 -3.955910329110e-02 4.532835617333e-01
1328 1.3260 -3.964399099825e-02 4.544079749057e-01
1329 1.3270 -3.973078022055e-02 4.555323880780e-01
1330 1.3280 -3.981947203203e-02 4.566568012503e-01
1331 1.3290 -3.991006750697e-02 4.577812144227e-01
1332 1.3300 -4.000256771981e-02 4.589056275950e-01
1333 1.3310 -4.009697374522e-02 4.600300407673e-01
1334 1.3320 -4.019328665804e-02 4.611544539396e-01
1335 1.3330 -4.029150753336e-02 4.622788671120e-01
1336 1.3340 -4.039163744642e-02 4.634032802843e-01
1337 1.3350 -4.049367747271e-02 4.645276934566e-01
1338 1.3360 -4.059762868790e-02 4.656521066290e-01
1339 1.3370 -4.070349216788e-02 4.667765198013e-01
1340 1.3380 -4.081126898874e-02 4.679009329736e-01
1341 1.3390 -4.092096022678e-02 4.690253461460e-01
1342 1.3400 -4.103256695851e-02 4.701497593183e-01
1343 1.3410 -4.114609026067e-02 4.712741724906e-01
1344 1.3420 -4.126153121019e-02 4.723985856630e-01
1345 1.3430 -4.137889088422e-02 4.735229988353e-01
1346 1.3440 -4.149817036012e-02 4.746474120076e-01
1347 1.3450 -4.161937071549e-02 4.757718251800e-01
1348 1.3460 -4.174249302812e-02 4.768962383523e-01
1349 1.3470 -4.186753837602e-02 4.780206515246e-01
1350 1.3480 -4.199450783743e-02 4.791450646970e-01
1351 1.3490 -4.212340249082e-02 4.802694778693e-01
1352 1.3500 -4.225422341485e-02 4.813938910416e-01
1353 1.3510 -4.238697168842e-02 4.825183042140e-01
1354 1.3520 -4.252164839067e-02 4.836427173863e-01
1355 1.3530 -4.265825460093e-02 4.847671305586e-01
1356 1.3540 -4.279679139879e-02 4.858915437309e-01
1357 1.3550 -4.293725986402e-02 4.870159569033e-01
1358 1.3560 -4.307966107667e-02 4.881403700756e-01
1359 1.3570 -4.322399611699e-02 4.892647832479e-01
1360 1.3580 -4.337026606547e-02 4.903891964203e-01
1361 1.3590 -4.351847200280e-02 4.915136095926e-01
1362 1.3600 -4.366861500995e-02 4.926380227649e-01
1363 1.3610 -4.382069616809e-02 4.937624359373e-01
1364 1.3620 -4.397471655864e-02 4.948868491096e-01
1365 1.3630 -4.413067726323e-02 4.960112622819e-01
1366 1.3640 -4.428857936374e-02 4.971356754543e-01
1367 1.3650 -4.444842394231e-02 4.982600886266e-01
1368 1.3660 -4.461021208128e-02 4.993845017989e-01
1369 1.3670 -4.477394486325e-02 5.005089149713e-01
1370 1.3680 -4.493962337105e-02 5.016333281436e-01
1371 1.3690 -4.510724868776e-02 5.027577413159e-01
1372 1.3700 -4.527682189669e-02 5.038821544883e-01
1373 1.3710 -4.544834408139e-02 5.050065676606e-01
1374 1.3720 -4.562181632568e-02 5.061309808329e-01
1375 1.3730 -4.579723971360e-02 5.072553940053e-01
1376 1.3740 -4.597461532944e-02 5.083798071776e-01
1377 1.3750 -4.615394425774e-02 5.095042203499e-01
1378 1.3760 -4.633522758328e-02 5.106286335223e-01
1379 1.3770 -4.651846639110e-02 5.117530466946e-01
1380 1.3780 -4.670366176648e-02 5.128774598669e-01
1381 1.3790 -4.689081479497e-02 5.140018730392e-01
1382 1.3800 -4.707992656233e-02 5.151262862116e-01
1383 1.3810 -4.727099815461e-02 5.162506993839e-01
1384 1.3820 -4.746403065810e-02 5.173751125562e-01
1385 1.3830 -4.765902515935e-02 5.184995257286e-01
1386 1.3840 -4.785598274516e-02 5.196239389009e-01
1387 1.3850 -4.805490450257e-02 5.207483520732e-01
1388 1.3860 -4.825579151892e-02 5.218727652456e-01
1389 1.3870 -4.821408908165e-02 5.232417342180e-01
1390 1.3880 -4.807233628855e-02 5.247127209806e-01
1391 1.3890 -4.793255201787e-02 5.261837077432e-01
1392 1.3900 -4.779473735796e-02 5.276546945059e-01
1393 1.3910 -4.765889339745e-02 5.291256812685e-01
1394 1.3920 -4.752502122520e-02 5.305966680311e-01
1395 1.3930 -4.739312193036e-02 5.320676547937e-01
1396 1.3940 -4.726319660233e-02 5.335386415563e-01
1397 1.3950 -4.713524633079e-02 5.350096283189e-01
1398 1.3960 -4.700927220567e-02 5.364806150815e-01
1399 1.3970 -4.688527531717e-02 5.379516018441e-01
1400 1.3980 -4.676325675578e-02 5.394225886068e-01
1401 1.3990 -4.664321761224e-02 5.408935753694e-01
1402 1.4000 -4.652515897756e-02 5.423645621320e-01
1403 1.4010 -4.640908194302e-02 5.438355488946e-01
1404 1.4020 -4.629498760018e-02 5.453065356572e-01
1405 1.4030 -4.618287704088e-02 5.467775224198e-01
1406 1.4040 -4.607275135723e-02 5.482485091824e-01
1407 1.4050 -4.596461164159e-02 5.497194959450e-01
1408 1.4060 -4.585845898662e-02 5.511904827076e-01
1409 1.4070 -4.575429448527e-02 5.526614694703e-01
1410 1.4080 -4.565211923074e-02 5.541324562329e-01
1411 1.4090 -4.555193431651e-02 5.556034429955e-01
1412 1.4100 -4.545374083636e-02 5.570744297581e-01
1413 1.4110 -4.535753988434e-02 5.585454165207e-01
1414 1.4120 -4.526333255478e-02 5.600164032833e-01
1415 1.4130 -4.517111994229e-02 5.614873900459e-01
1416 1.4140 -4.508090314177e-02 5.629583768085e-01
1417 1.4150 -4.499268324840e-02 5.644293635712e-01
1418 1.4160 -4.490646135764e-02 5.659003503338e-01
1419 1.4170 -4.482223856525e-02 5.673713370964e-01
1420 1.4180 -4.474001596726e-02 5.688423238590e-01
1421 1.4190 -4.465979466000e-02 5.703133106216e-01
1422 1.4200 -4.458157574009e-02 5.717842973842e-01
1423 1.4210 -4.450536030442e-02 5.732552841468e-01
1424 1.4220 -4.443114945020e-02 5.747262709094e-01
1425 1.4230 -4.435894427491e-02 5.761972576720e-01
1426 1.4240 -4.428874587633e-02 5.776682444347e-01
1427 1.4250 -4.422055535253e-02 5.791392311973e-01
1428 1.4260 -4.415437380187e-02 5.806102179599e-01
1429 1.4270 -4.409020232302e-02 5.820812047225e-01
1430 1.4280 -4.402804201492e-02 5.835521914851e-01
1431 1.4290 -4.396789397684e-02 5.850231782477e-01
1432 1.4300 -4.390975930832e-02 5.864941650103e-01
1433 1.4310 -4.385363910920e-02 5.879651517729e-01
1434 1.4320 -4.379953447964e-02 5.894361385356e-01
1435 1.4330 -4.374744652009e-02 5.909071252982e-01
1436 1.4340 -4.369737633128e-02 5.923781120608e-01
1437 1.4350 -4.364932501428e-02 5.938490988234e-01
1438 1.4360 -4.360329367042e-02 5.953200855860e-01
1439 1.4370 -4.355928340138e-02 5.967910723486e-01
1440 1.4380 -4.351729530910e-02 5.982620591112e-01
1441 1.4390 -4.347733049585e-02 5.997330458738e-01
1442 1.4400 -4.343939006421e-02 6.012040326364e-01
1443 1.4410 -4.340347511705e-02 6.026750193991e-01
1444 1.4420 -4.336958675756e-02 6.041460061617e-01
1445 1.4430 -4.333772608924e-02 6.056169929243e-01
1446 1.4440 -4.330789421587e-02 6.070879796869e-01
1447 1.4450 -4.328009224159e-02 6.085589664495e-01
1448 1.4460 -4.325432127082e-02 6.100299532121e-01
1449 1.4470 -4.323058240829e-02 6.115009399747e-01
1450 1.4480 -4.320887675906e-02 6.129719267373e-01
1451 1.4490 -4.318920542848e-02 6.144429135000e-01
1452 1.4500 -4.317156952224e-02 6.159139002626e-01
1453 1.4510 -4.315597014633e-02 6.173848870252e-01
1454 1.4520 -4.314240840706e-02 6.188558737878e-01
1455 1.4530 -4.313088541106e-02 6.203268605504e-01
1456 1.4540 -4.312140226527e-02 6.217978473130e-01
1457 1.4550 -4.311396007695e-02 6.232688340756e-01
1458 1.4560 -4.310855995370e-02 6.247398208382e-01
1459 1.4570 -4.310520300340e-02 6.262108076008e-01
1460 1.4580 -4.310389033429e-02 6.276817943635e-01
1461 1.4590 -4.310462305492e-02 6.291527811261e-01
1462 1.4600 -4.310740227414e-02 6.306237678887e-01
1463 1.4610 -4.311222910116e-02 6.320947546513e-01
1464 1.4620 -4.311910464549e-02 6.335657414139e-01
1465 1.4630 -4.312803001698e-02 6.350367281765e-01
1466 1.4640 -4.313900632579e-02 6.365077149391e-01
1467 1.4650 -4.315203468241e-02 6.379787017017e-01
1468 1.4660 -4.316711619768e-02 6.394496884644e-01
1469 1.4670 -4.318425198274e-02 6.409206752270e-01
1470 1.4680 -4.320344314907e-02 6.423916619896e-01
1471 1.4690 -4.322469080849e-02 6.438626487522e-01
1472 1.4700 -4.324799607313e-02 6.453336355148e-01
1473 1.4710 -4.327336005547e-02 6.468046222774e-01
1474 1.4720 -4.330078386831e-02 6.482756090400e-01
1475 1.4730 -4.333026862481e-02 6.497465958026e-01
1476 1.4740 -4.336181543842e-02 6.512175825652e-01
1477 1.4750 -4.339542542295e-02 6.526885693279e-01
1478 1.4760 -4.343109969256e-02 6.541595560905e-01
1479 1.4770 -4.346883936172e-02 6.556305428531e-01
1480 1.4780 -4.350864554524e-02 6.571015296157e-01
1481 1.4790 -4.355051935829e-02 6.585725163783e-01
1482 1.4800 -4.359446191636e-02 6.600435031409e-01
1483 1.4810 -4.364047433529e-02 6.615144899035e-01
1484 1.4820 -4.368855773125e-02 6.629854766661e-01
1485 1.4830 -4.373871322075e-02 6.644564634288e-01
1486 1.4840 -4.379094192065e-02 6.659274501914e-01
1487 1.4850 -4.384524494816e-02 6.673984369540e-01
1488 1.4860 -4.390162342082e-02 6.688694237166e-01
1489 1.4870 -4.396007845651e-02 6.703404104792e-01
1490 1.4880 -4.402061117348e-02 6.718113972418e-01
1491 1.4890 -4.408322269030e-02 6.732823840044e-01
1492 1.4900 -4.414791412589e-02 6.747533707670e-01
1493 1.4910 -4.421468659954e-02 6.762243575296e-01
1494 1.4920 -4.428354123087e-02 6.776953442923e-01
1495 1.4930 -4.435447913984e-02 6.791663310549e-01
1496 1.4940 -4.442750144677e-02 6.806373178175e-01
1497 1.4950 -4.450260927235e-02 6.821083045801e-01
1498 1.4960 -4.457980373758e-02 6.835792913427e-01
1499 1.4970 -4.465908596385e-02 6.850502781053e-01
1500 1.4980 -4.474045707289e-02 6.865212648679e-01
1501 1.4990 -4.482391818677e-02 6.879922516305e-01

E-009-suzuki-screw-function.json — 1.4 KB, updated 08-18-2026

JSON sidecar (click to expand)
{
  "experiment": "E-009a",
  "task": "3.4c (D-018 step 1): Suzuki screw function g(t)",
  "description": "mpmath implementation of Suzuki's explicit screw function g(t) (arXiv:2606.09096v1 eq. 1.3); validated against eq. 2.2 near-origin expansion; tabulated on [0,10] step 1e-3 for E-009b Galerkin",
  "script": "research/numerics/scripts/E-009-suzuki-screw-function.py",
  "parameters": {
    "t_max": 10.0,
    "step": 0.001,
    "validation_dps": 30,
    "n_sieve_max": 22028
  },
  "checks": {
    "A1_lerch_convention": true,
    "A2_evenness": true,
    "A3_A_limit": true,
    "A4_r_curvature_converges": true,
    "B_table_finite": true,
    "B_spot_check_vs_mpmath": true
  },
  "key_values": {
    "A_eq2.2": 0.707546365655439,
    "c2_lim_r_over_t2": -0.8750599754042412,
    "digamma_coeff_-half(psi(1/4)-log pi)": 2.6860917096128327,
    "Phi(1,2,1/4)": 17.19732915450711,
    "g(log2)": -0.06355558603756917,
    "g(1)": -0.0440073052368517,
    "g(5)": -0.045371349558830154,
    "g(10)": -0.06209008245757719
  },
  "caveats": [
    "float64 table: Lerch combination has cancellation for small t (~4 digits lost at t=1e-3); spot-checked vs mpmath to 1e-9",
    "prime sum is piecewise linear in t (kinks at log n) — exact via cumsum, no interpolation error",
    "g even: only t >= 0 tabulated"
  ],
  "elapsed_seconds": 3.0,
  "timestamp_utc": "2026-08-18T01:44:26.674491+00:00",
  "row_count": 10001
}

Source code

Python script (click to expand)
"""E-009a — Task 3.4c (Q-3.4c, D-018 plan step 1): Suzuki's screw function g(t).

Suzuki (arXiv:2606.09096v1, eq. 1.3) — explicit screw function of zeta:

  g(t) = -4(e^{t/2} + e^{-t/2} - 2)
         + Sum_{n <= e^{|t|}} (Lambda(n)/sqrt(n)) (|t| - log n)
         - (|t|/2)(psi(1/4) - log pi)
         - (1/4)[ Phi(1,2,1/4) - e^{-|t|/2} Phi(e^{-2|t|}, 2, 1/4) ]

(psi = digamma, Phi = Hurwitz-Lerch transcendent Phi(z,s,a) =
Sum_{k>=0} z^k/(k+a)^s; Lambda = von Mangoldt; prime sum = 0 for
|t| < (1/2) log 2.)

Near-origin expansion (Suzuki eq. 2.2):
  g(t) = (1/2)|t| log|t| + A|t| + (prime sum) + r(t),
  r even C^2, r = O(t^2),
  A = (1/2)(log(2pi) - psi(2)) = (1/2)(log(2pi) + gamma_E - 1)
    = 0.7075463656...

g is a Krein-Langer screw function IFF RH (this is the Cor 1.6 bridge).

Part A (validation, mpmath dps 30):
  A1. Lerch convention: Phi(1,2,1/4) == psi'(1/4) = polygamma(1, 1/4).
  A2. Evenness: g(-t) == g(t) at t = 0.7, 2.3, 5.1 (exercises prime sum).
  A3. A-limit: g(t)/t - (1/2) log t -> A as t -> 0+ (prime sum = 0 there);
      residual must equal r(t)/t = c2*t + o(t) with c2 from A4.
  A4. r-curvature: r(t)/t^2 -> c2 (constant) as t -> 0+, t <= 0.25.

Part B (tabulation, float64 + mpmath hybrid):
  g(t) on t in [0, 10], step 1e-3 (mesh for the E-009b Galerkin stage;
  g is even so t >= 0 suffices). Prime-sum part via exact cumsum arrays
  (P(t) piecewise linear in t with kinks at log n). Lerch combination:
  direct numpy series for t > 0.35 (z = e^{-2t} < 0.5, fast), mpmath
  lerchphi for t <= 0.35 (slow-converging near z = 1).

Outputs: research/numerics/data/E-009-suzuki-screw-function.csv (+ .json)
"""
import json
import sys
import time
from datetime import datetime, timezone
from pathlib import Path

import numpy as np
import mpmath as mp

REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-009-suzuki-screw-function.csv"
JSON = DATA / "E-009-suzuki-screw-function.json"

T_MAX = 10.0          # tabulation range [0, T_MAX] (g even)
H = 1e-3              # mesh step
DPS = 30              # validation precision
A_CONST = 0.5 * (np.log(2 * np.pi) + np.euler_gamma - 1.0)  # eq. 2.2 constant


# ---------------------------------------------------------------- von Mangoldt
def mangoldt_sieve(n_max: int) -> np.ndarray:
    """lam_log[n] = log p if n = p^k (prime power), else 0."""
    lam_log = np.zeros(n_max + 1)
    is_comp = np.zeros(n_max + 1, dtype=bool)
    for p in range(2, n_max + 1):
        if not is_comp[p]:
            if p * p <= n_max:
                is_comp[p * p :: p] = True
            pk = p
            while pk <= n_max:
                lam_log[pk] = np.log(p)
                pk *= p
    return lam_log


N_MAX = int(np.exp(T_MAX)) + 2
LAM_LOG = mangoldt_sieve(N_MAX)
NS = np.arange(2, N_MAX + 1)
LOGS = np.log(NS)
LAM = LAM_LOG[2:] / np.sqrt(NS)          # Lambda(n)/sqrt(n)
C1 = np.cumsum(LAM)                       # Sum_{n<=x} Lambda(n)/sqrt(n)
C0 = np.cumsum(LAM * LOGS)                # Sum_{n<=x} Lambda(n) log(n)/sqrt(n)


def prime_sum_vec(t: np.ndarray) -> np.ndarray:
    """P(t) = Sum_{n <= e^t} (Lambda(n)/sqrt(n))(t - log n), vectorized."""
    m = np.searchsorted(LOGS, t, side="right")     # count of n with log n <= t
    out = np.zeros_like(t)
    pos = m > 0
    idx = m[pos] - 1
    out[pos] = C1[idx] * t[pos] - C0[idx]
    return out


def prime_sum_mp(t: mp.mpf) -> mp.mpf:
    s = mp.mpf(0)
    n = 2
    while mp.log(n) <= t:
        s += (LAM_LOG[n] / mp.sqrt(n)) * (t - mp.log(n))
        n += 1
    return s


# ------------------------------------------------------------------- g(t), mp
def g_mp(t) -> mp.mpf:
    t = mp.mpf(t)
    a = abs(t)
    s = -4 * (mp.exp(a / 2) + mp.exp(-a / 2) - 2)
    s += prime_sum_mp(a)
    s -= (a / 2) * (mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi))
    s -= mp.mpf(1) / 4 * (mp.lerchphi(1, 2, mp.mpf(1) / 4)
                          - mp.exp(-a / 2) * mp.lerchphi(mp.exp(-2 * a), 2,
                                                         mp.mpf(1) / 4))
    return s


# --------------------------------------------------------------- g(t), float
KK = np.arange(0, 80)
DENOM = (KK + 0.25) ** 2


def lerch_phi2_fast(z: np.ndarray) -> np.ndarray:
    """Phi(z,2,1/4) by direct series; valid for |z| <= 0.5 (t >= 0.35)."""
    powers = np.power.outer(z, KK)          # (n_z, K)
    return (powers / DENOM).sum(axis=1)


def g_float_table(t: np.ndarray) -> np.ndarray:
    g = -4.0 * (np.exp(t / 2) + np.exp(-t / 2) - 2.0)
    g += prime_sum_vec(t)
    dig_coeff = -0.5 * float(mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi))
    g += dig_coeff * t
    phi1 = float(mp.lerchphi(1, 2, mp.mpf(1) / 4))   # = polygamma(1, 1/4)
    lerch_comb = np.empty_like(t)
    slow = t <= 0.35
    if slow.any():
        mp.dps = 25
        for i in np.flatnonzero(slow):
            ti = mp.mpf(float(t[i]))
            val = (mp.lerchphi(1, 2, mp.mpf(1) / 4)
                   - mp.exp(-ti / 2) * mp.lerchphi(mp.exp(-2 * ti), 2,
                                                   mp.mpf(1) / 4))
            lerch_comb[i] = float(val) / -4.0
        mp.dps = DPS
    if (~slow).any():
        z = np.exp(-2.0 * t[~slow])
        lerch_comb[~slow] = -0.25 * (phi1 - np.exp(-t[~slow] / 2)
                                     * lerch_phi2_fast(z))
    g += lerch_comb
    g[t == 0.0] = 0.0
    return g


# ------------------------------------------------------------------- main
def main() -> int:
    if CSV.exists() and "--force" not in sys.argv:
        print(f"cached: {CSV} exists (use --force to recompute)"); return 0
    t0 = time.time()
    mp.dps = DPS

    # ---- A1: Lerch convention
    phi1_mp = mp.lerchphi(1, 2, mp.mpf(1) / 4)
    trig1_mp = mp.polygamma(1, mp.mpf(1) / 4)
    a1_err = abs(phi1_mp - trig1_mp)
    check_a1 = bool(a1_err < mp.mpf("1e-25"))

    # ---- A2: evenness (t values exercising the prime sum)
    ev_ts = [mp.mpf("0.7"), mp.mpf("2.3"), mp.mpf("5.1")]
    ev_err = max(abs(g_mp(t) - g_mp(-t)) for t in ev_ts)
    check_a2 = bool(ev_err < mp.mpf("1e-20"))

    # ---- A4: r(t)/t^2 -> c2 (t <= 0.25: prime sum = 0)
    A_mp = (mp.log(2 * mp.pi) + mp.euler - 1) / 2
    r_ts = [mp.mpf("0.25"), mp.mpf("0.125"), mp.mpf("0.0625"),
            mp.mpf("0.03125"), mp.mpf("0.015625")]
    r_ratios = []
    for t in r_ts:
        r = g_mp(t) - (t / 2) * mp.log(t) - A_mp * t     # prime sum = 0 here
        r_ratios.append(r / t**2)
    c2 = r_ratios[-1]
    r_gap_last = abs(r_ratios[-1] - r_ratios[-2])
    r_gap_prev = abs(r_ratios[-2] - r_ratios[-3])
    check_a4 = bool(r_gap_last < r_gap_prev)  # gaps shrinking => converging

    # ---- A3: g(t)/t - (1/2) log t -> A; residual ~ c2 * t
    a3_ts = [mp.mpf("1e-2"), mp.mpf("1e-3"), mp.mpf("1e-4")]
    a3_resid = [g_mp(t) / t - mp.log(t) / 2 - A_mp for t in a3_ts]
    # expected residual ~ c2*t; test relative agreement within 25%
    a3_rel = [abs((res - c2 * t) / (c2 * t)) if c2 != 0 else abs(res)
              for res, t in zip(a3_resid, a3_ts)]
    check_a3 = bool(a3_rel[-1] < 0.25 and abs(a3_resid[-1]) < mp.mpf("3e-3"))

    print(f"A1 lerch==polygamma(1,1/4): err {mp.nstr(a1_err, 5)}")
    print(f"A2 evenness max err: {mp.nstr(ev_err, 5)}")
    print(f"A4 r(t)/t^2 -> c2 = {mp.nstr(c2, 12)} "
          f"(gaps {mp.nstr(r_gap_prev, 3)} -> {mp.nstr(r_gap_last, 3)})")
    print(f"A3 residuals g(t)/t - (1/2)log t - A at 1e-2/1e-3/1e-4: "
          f"{[mp.nstr(x, 6) for x in a3_resid]}  (c2*t predicted)")

    # ---- Part B: table on [0, T_MAX]
    t_mesh = np.arange(0.0, T_MAX + 0.5 * H, H)
    g_vals = g_float_table(t_mesh)
    p_vals = prime_sum_vec(t_mesh)
    check_b = bool(np.all(np.isfinite(g_vals)))
    # spot check: float table vs mpmath at a few points
    spot_ts = [0.123, 1.0, 3.7, 7.0, 10.0]
    spot_err = max(abs(g_mp(x) - mp.mpf(float(g_vals[int(round(x / H))])))
                   for x in spot_ts)
    check_spot = bool(spot_err < mp.mpf("1e-9"))
    print(f"Part B: {len(t_mesh)} points, spot-check err vs mpmath: "
          f"{mp.nstr(spot_err, 3)}")

    checks = {
        "A1_lerch_convention": check_a1,
        "A2_evenness": check_a2,
        "A3_A_limit": check_a3,
        "A4_r_curvature_converges": check_a4,
        "B_table_finite": check_b,
        "B_spot_check_vs_mpmath": check_spot,
    }

    DATA.mkdir(parents=True, exist_ok=True)
    with CSV.open("w", encoding="utf-8", newline="") as f:
        f.write("t,g_t,prime_sum_t\n")
        for ti, gi, pi in zip(t_mesh, g_vals, p_vals):
            f.write(f"{ti:.4f},{gi:.12e},{pi:.12e}\n")

    meta = {
        "experiment": "E-009a",
        "task": "3.4c (D-018 step 1): Suzuki screw function g(t)",
        "description": "mpmath implementation of Suzuki's explicit screw "
                       "function g(t) (arXiv:2606.09096v1 eq. 1.3); "
                       "validated against eq. 2.2 near-origin expansion; "
                       "tabulated on [0,10] step 1e-3 for E-009b Galerkin",
        "script": "research/numerics/scripts/E-009-suzuki-screw-function.py",
        "parameters": {"t_max": T_MAX, "step": H, "validation_dps": DPS,
                       "n_sieve_max": N_MAX},
        "checks": checks,
        "key_values": {
            "A_eq2.2": float(A_CONST),
            "c2_lim_r_over_t2": float(c2),
            "digamma_coeff_-half(psi(1/4)-log pi)":
                float(-(mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi)) / 2),
            "Phi(1,2,1/4)": float(phi1_mp),
            "g(log2)": float(g_mp(mp.log(2))),
            "g(1)": float(g_mp(1)),
            "g(5)": float(g_mp(5)),
            "g(10)": float(g_vals[-1]),
        },
        "caveats": [
            "float64 table: Lerch combination has cancellation for small t "
            "(~4 digits lost at t=1e-3); spot-checked vs mpmath to 1e-9",
            "prime sum is piecewise linear in t (kinks at log n) — exact "
            "via cumsum, no interpolation error",
            "g even: only t >= 0 tabulated",
        ],
        "elapsed_seconds": round(time.time() - t0, 1),
        "timestamp_utc": datetime.now(timezone.utc).isoformat(),
        "row_count": int(len(t_mesh)),
    }
    JSON.write_text(json.dumps(meta, indent=2), encoding="utf-8")
    ok = all(checks.values())
    print(f"wrote {CSV.name}, {JSON.name} — "
          f"{'ALL CHECKS PASS' if ok else 'CHECK FAILURE: ' + str(checks)}")
    return 0 if ok else 1


if __name__ == "__main__":
    raise SystemExit(main())