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 13 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
6002 6.0000 -4.812322313580e-02 6.047680645162e+01
6003 6.0010 -4.802301025494e-02 6.051440169120e+01
6004 6.0020 -4.794289295639e-02 6.055199693078e+01
6005 6.0030 -4.788288129043e-02 6.058959217037e+01
6006 6.0040 -4.784298531245e-02 6.062718740995e+01
6007 6.0050 -4.782321508278e-02 6.066478264953e+01
6008 6.0060 -4.782358066678e-02 6.070237788911e+01
6009 6.0070 -4.784409213494e-02 6.073997312870e+01
6010 6.0080 -4.788475956270e-02 6.077756836828e+01
6011 6.0090 -4.794559303055e-02 6.081516360786e+01
6012 6.0100 -4.802660262402e-02 6.085275884744e+01
6013 6.0110 -4.812779843368e-02 6.089035408703e+01
6014 6.0120 -4.824919055521e-02 6.092794932661e+01
6015 6.0130 -4.839078908929e-02 6.096554456619e+01
6016 6.0140 -4.846790320550e-02 6.100322450671e+01
6017 6.0150 -4.835258581022e-02 6.104111710537e+01
6018 6.0160 -4.825750515981e-02 6.107900970403e+01
6019 6.0170 -4.818267137523e-02 6.111690230269e+01
6020 6.0180 -4.812809458240e-02 6.115479490134e+01
6021 6.0190 -4.809378491235e-02 6.119268750000e+01
6022 6.0200 -4.807975250121e-02 6.123058009866e+01
6023 6.0210 -4.808600749013e-02 6.126847269732e+01
6024 6.0220 -4.811256002534e-02 6.130636529598e+01
6025 6.0230 -4.815942025816e-02 6.134425789464e+01
6026 6.0240 -4.822659834497e-02 6.138215049330e+01
6027 6.0250 -4.831410444722e-02 6.142004309196e+01
6028 6.0260 -4.842194873152e-02 6.145793569062e+01
6029 6.0270 -4.855014136945e-02 6.149582828928e+01
6030 6.0280 -4.869869253774e-02 6.153372088793e+01
6031 6.0290 -4.886761241824e-02 6.157161348659e+01
6032 6.0300 -4.905691119780e-02 6.160950608525e+01
6033 6.0310 -4.926659906844e-02 6.164739868391e+01
6034 6.0320 -4.949668622726e-02 6.168529128257e+01
6035 6.0330 -4.974718287645e-02 6.172318388123e+01
6036 6.0340 -5.001809922331e-02 6.176107647989e+01
6037 6.0350 -5.030944548026e-02 6.179896907855e+01
6038 6.0360 -5.062123186478e-02 6.183686167721e+01
6039 6.0370 -5.095346859951e-02 6.187475427587e+01
6040 6.0380 -5.126809125239e-02 6.191268494918e+01
6041 6.0390 -5.134629007906e-02 6.195087251714e+01
6042 6.0400 -5.144496995449e-02 6.198906008510e+01
6043 6.0410 -5.156414112176e-02 6.202724765305e+01
6044 6.0420 -5.170381382907e-02 6.206543522101e+01
6045 6.0430 -5.175586788431e-02 6.210373091941e+01
6046 6.0440 -5.164207453236e-02 6.214221298727e+01
6047 6.0450 -5.154881349584e-02 6.218069505513e+01
6048 6.0460 -5.147609504349e-02 6.221917712299e+01
6049 6.0470 -5.142392944914e-02 6.225765919085e+01
6050 6.0480 -5.139232699183e-02 6.229614125871e+01
6051 6.0490 -5.138129795566e-02 6.233462332657e+01
6052 6.0500 -5.139085262994e-02 6.237310539443e+01
6053 6.0510 -5.142100130904e-02 6.241158746229e+01
6054 6.0520 -5.147175429266e-02 6.245006953015e+01
6055 6.0530 -5.154312188542e-02 6.248855159801e+01
6056 6.0540 -5.163511439725e-02 6.252703366587e+01
6057 6.0550 -5.174774214319e-02 6.256551573373e+01
6058 6.0560 -5.188101544341e-02 6.260399780159e+01
6059 6.0570 -5.203494462330e-02 6.264247986945e+01
6060 6.0580 -5.220954001334e-02 6.268096193731e+01
6061 6.0590 -5.240481194927e-02 6.271944400517e+01
6062 6.0600 -5.262077077190e-02 6.275792607303e+01
6063 6.0610 -5.285742682731e-02 6.279640814089e+01
6064 6.0620 -5.311479046670e-02 6.283489020875e+01
6065 6.0630 -5.339287204641e-02 6.287337227661e+01
6066 6.0640 -5.369168192803e-02 6.291185434447e+01
6067 6.0650 -5.401123047831e-02 6.295033641233e+01
6068 6.0660 -5.435152806915e-02 6.298881848019e+01
6069 6.0670 -5.445197422797e-02 6.302756115890e+01
6070 6.0680 -5.454160689133e-02 6.306633542091e+01
6071 6.0690 -5.465201974218e-02 6.310510968291e+01
6072 6.0700 -5.478322317323e-02 6.314388394492e+01
6073 6.0710 -5.485871207784e-02 6.318273472243e+01
6074 6.0720 -5.473978683104e-02 6.322180072547e+01
6075 6.0730 -5.464168337374e-02 6.326086672851e+01
6076 6.0740 -5.456441211936e-02 6.329993273156e+01
6077 6.0750 -5.450798348668e-02 6.333899873460e+01
6078 6.0760 -5.447240789956e-02 6.337806473764e+01
6079 6.0770 -5.445769578717e-02 6.341713074068e+01
6080 6.0780 -5.446385758381e-02 6.345619674373e+01
6081 6.0790 -5.449090372912e-02 6.349526274677e+01
6082 6.0800 -5.453884466779e-02 6.353432874981e+01
6083 6.0810 -5.460769084989e-02 6.357339475285e+01
6084 6.0820 -5.469745273068e-02 6.361246075590e+01
6085 6.0830 -5.480814077056e-02 6.365152675894e+01
6086 6.0840 -5.493976543529e-02 6.369059276198e+01
6087 6.0850 -5.494696809789e-02 6.372980413412e+01
6088 6.0860 -5.483010011738e-02 6.376916053448e+01
6089 6.0870 -5.473420019019e-02 6.380851693483e+01
6090 6.0880 -5.465927880297e-02 6.384787333519e+01
6091 6.0890 -5.460534644762e-02 6.388722973554e+01
6092 6.0900 -5.457241362125e-02 6.392658613590e+01
6093 6.0910 -5.456049082629e-02 6.396594253625e+01
6094 6.0920 -5.456958857038e-02 6.400529893661e+01
6095 6.0930 -5.459971736638e-02 6.404465533696e+01
6096 6.0940 -5.452633003546e-02 6.408413629502e+01
6097 6.0950 -5.430903825827e-02 6.412378220961e+01
6098 6.0960 -5.411280910327e-02 6.416342812420e+01
6099 6.0970 -5.393765310437e-02 6.420307403879e+01
6100 6.0980 -5.378358080085e-02 6.424271995339e+01
6101 6.0990 -5.365060273717e-02 6.428236586798e+01
6102 6.1000 -5.353872946307e-02 6.432201178257e+01
6103 6.1010 -5.344797153357e-02 6.436165769716e+01
6104 6.1020 -5.337833950904e-02 6.440130361175e+01
6105 6.1030 -5.332984395503e-02 6.444094952635e+01
6106 6.1040 -5.330249544240e-02 6.448059544094e+01
6107 6.1050 -5.329630454741e-02 6.452024135553e+01
6108 6.1060 -5.331128185140e-02 6.455988727012e+01
6109 6.1070 -5.334743794120e-02 6.459953318472e+01
6110 6.1080 -5.312317161520e-02 6.463946071110e+01
6111 6.1090 -5.291350882869e-02 6.467939483392e+01
6112 6.1100 -5.272505661998e-02 6.471932895674e+01
6113 6.1110 -5.255782559701e-02 6.475926307957e+01
6114 6.1120 -5.241182637302e-02 6.479919720239e+01
6115 6.1130 -5.228706956659e-02 6.483913132521e+01
6116 6.1140 -5.218356580152e-02 6.487906544803e+01
6117 6.1150 -5.210132570707e-02 6.491899957085e+01
6118 6.1160 -5.204035991767e-02 6.495893369367e+01
6119 6.1170 -5.200067907318e-02 6.499886781649e+01
6120 6.1180 -5.198229381869e-02 6.503880193932e+01
6121 6.1190 -5.198521480471e-02 6.507873606214e+01
6122 6.1200 -5.200945268697e-02 6.511867018496e+01
6123 6.1210 -5.205501812664e-02 6.515860430778e+01
6124 6.1220 -5.212192179009e-02 6.519853843060e+01
6125 6.1230 -5.221017434920e-02 6.523847255342e+01
6126 6.1240 -5.231978648098e-02 6.527840667624e+01
6127 6.1250 -5.236006016765e-02 6.531843150777e+01
6128 6.1260 -5.222592289275e-02 6.535865213119e+01
6129 6.1270 -5.211317725399e-02 6.539887275462e+01
6130 6.1280 -5.202183394986e-02 6.543909337804e+01
6131 6.1290 -5.195190368417e-02 6.547931400147e+01
6132 6.1300 -5.190339716615e-02 6.551953462490e+01
6133 6.1310 -5.187632511033e-02 6.555975524832e+01
6134 6.1320 -5.187069823665e-02 6.559997587175e+01
6135 6.1330 -5.188652727036e-02 6.564019649518e+01
6136 6.1340 -5.175186740731e-02 6.568058907414e+01
6137 6.1350 -5.152497962714e-02 6.572109535839e+01
6138 6.1360 -5.131957996236e-02 6.576160164264e+01
6139 6.1370 -5.113567915975e-02 6.580210792689e+01
6140 6.1380 -5.089543168719e-02 6.584269206743e+01
6141 6.1390 -5.046931650415e-02 6.588348359605e+01
6142 6.1400 -5.006473245580e-02 6.592427512467e+01
6143 6.1410 -4.968169031038e-02 6.596506665329e+01
6144 6.1420 -4.932020084150e-02 6.600585818190e+01
6145 6.1430 -4.898027482820e-02 6.604664971052e+01
6146 6.1440 -4.866192305491e-02 6.608744123914e+01
6147 6.1450 -4.836515631145e-02 6.612823276776e+01
6148 6.1460 -4.808998539303e-02 6.616902429638e+01
6149 6.1470 -4.764564977481e-02 6.621000659632e+01
6150 6.1480 -4.712928471518e-02 6.625108254314e+01
6151 6.1490 -4.663454789866e-02 6.629215848996e+01
6152 6.1500 -4.616145014203e-02 6.633323443678e+01
6153 6.1510 -4.571000226757e-02 6.637431038359e+01
6154 6.1520 -4.528021510291e-02 6.641538633041e+01
6155 6.1530 -4.487209948112e-02 6.645646227723e+01
6156 6.1540 -4.448566624065e-02 6.649753822404e+01
6157 6.1550 -4.412092622545e-02 6.653861417086e+01
6158 6.1560 -4.377789028482e-02 6.657969011768e+01
6159 6.1570 -4.345656927352e-02 6.662076606450e+01
6160 6.1580 -4.315697405173e-02 6.666184201131e+01
6161 6.1590 -4.287911548505e-02 6.670291795813e+01
6162 6.1600 -4.262300444451e-02 6.674399390495e+01
6163 6.1610 -4.238865180663e-02 6.678506985176e+01
6164 6.1620 -4.217606845334e-02 6.682614579858e+01
6165 6.1630 -4.198526527196e-02 6.686722174540e+01
6166 6.1640 -4.181625315530e-02 6.690829769222e+01
6167 6.1650 -4.166904300167e-02 6.694937363903e+01
6168 6.1660 -4.154364571474e-02 6.699044958585e+01
6169 6.1670 -4.144007220366e-02 6.703152553267e+01
6170 6.1680 -4.135833338307e-02 6.707260147948e+01
6171 6.1690 -4.129844017306e-02 6.711367742630e+01
6172 6.1700 -4.126040349910e-02 6.715475337312e+01
6173 6.1710 -4.124423429228e-02 6.719582931994e+01
6174 6.1720 -4.116551429484e-02 6.723698969595e+01
6175 6.1730 -4.091112063910e-02 6.727834763496e+01
6176 6.1740 -4.067862727629e-02 6.731970557398e+01
6177 6.1750 -4.046804515929e-02 6.736106351299e+01
6178 6.1760 -4.027938524639e-02 6.740242145201e+01
6179 6.1770 -4.011265850153e-02 6.744377939102e+01
6180 6.1780 -3.996787589401e-02 6.748513733004e+01
6181 6.1790 -3.984504839863e-02 6.752649526905e+01
6182 6.1800 -3.974418699569e-02 6.756785320807e+01
6183 6.1810 -3.966530267102e-02 6.760921114708e+01
6184 6.1820 -3.960840641584e-02 6.765056908610e+01
6185 6.1830 -3.957350922698e-02 6.769192702511e+01
6186 6.1840 -3.956062210670e-02 6.773328496413e+01
6187 6.1850 -3.956975606280e-02 6.777464290315e+01
6188 6.1860 -3.960092210861e-02 6.781600084216e+01
6189 6.1870 -3.965413126289e-02 6.785735878118e+01
6190 6.1880 -3.972939454992e-02 6.789871672019e+01
6191 6.1890 -3.962037059141e-02 6.794028101161e+01
6192 6.1900 -3.945935822457e-02 6.798191936764e+01
6193 6.1910 -3.932043309660e-02 6.802355772367e+01
6194 6.1920 -3.920360625380e-02 6.806519607970e+01
6195 6.1930 -3.910888874809e-02 6.810683443573e+01
6196 6.1940 -3.903629163688e-02 6.814847279176e+01
6197 6.1950 -3.898582598319e-02 6.819011114779e+01
6198 6.1960 -3.895750285553e-02 6.823174950382e+01
6199 6.1970 -3.879588832997e-02 6.827354330485e+01
6200 6.1980 -3.853224187305e-02 6.831546130249e+01
6201 6.1990 -3.829077118083e-02 6.835737930013e+01
6202 6.2000 -3.807148734399e-02 6.839929729776e+01
6203 6.2010 -3.787440145865e-02 6.844121529540e+01
6204 6.2020 -3.769952462670e-02 6.848313329304e+01
6205 6.2030 -3.754686795529e-02 6.852505129068e+01
6206 6.2040 -3.741644255740e-02 6.856696928832e+01
6207 6.2050 -3.730825955136e-02 6.860888728596e+01
6208 6.2060 -3.722233006122e-02 6.865080528359e+01
6209 6.2070 -3.715866521646e-02 6.869272328123e+01
6210 6.2080 -3.711727615225e-02 6.873464127887e+01
6211 6.2090 -3.709817400916e-02 6.877655927651e+01
6212 6.2100 -3.710136993361e-02 6.881847727415e+01
6213 6.2110 -3.712687507721e-02 6.886039527179e+01
6214 6.2120 -3.717470059751e-02 6.890231326942e+01
6215 6.2130 -3.713530719623e-02 6.894434081752e+01
6216 6.2140 -3.694969251974e-02 6.898653692961e+01
6217 6.2150 -3.678643172569e-02 6.902873304169e+01
6218 6.2160 -3.664553599364e-02 6.907092915377e+01
6219 6.2170 -3.652701650907e-02 6.911312526586e+01
6220 6.2180 -3.643088446284e-02 6.915532137794e+01
6221 6.2190 -3.635715105138e-02 6.919751749002e+01
6222 6.2200 -3.630582747698e-02 6.923971360210e+01
6223 6.2210 -3.616325353970e-02 6.928202338560e+01
6224 6.2220 -3.587942086119e-02 6.932449686009e+01
6225 6.2230 -3.561803165960e-02 6.936697033457e+01
6226 6.2240 -3.537909715954e-02 6.940944380906e+01
6227 6.2250 -3.516262859105e-02 6.945191728355e+01
6228 6.2260 -3.496863719011e-02 6.949439075804e+01
6229 6.2270 -3.479713419796e-02 6.953686423253e+01
6230 6.2280 -3.464813086160e-02 6.957933770702e+01
6231 6.2290 -3.452163843377e-02 6.962181118151e+01
6232 6.2300 -3.441766817271e-02 6.966428465600e+01
6233 6.2310 -3.433623134225e-02 6.970675813049e+01
6234 6.2320 -3.427733921200e-02 6.974923160498e+01
6235 6.2330 -3.408851851152e-02 6.979185756402e+01
6236 6.2340 -3.379850121128e-02 6.983460728691e+01
6237 6.2350 -3.353106245365e-02 6.987735700980e+01
6238 6.2360 -3.328621353074e-02 6.992010673269e+01
6239 6.2370 -3.306396574025e-02 6.996285645558e+01
6240 6.2380 -3.286433038560e-02 7.000560617847e+01
6241 6.2390 -3.266662996945e-02 7.004837659017e+01
6242 6.2400 -3.248162035233e-02 7.009115694613e+01
6243 6.2410 -3.231925711509e-02 7.013393730209e+01
6244 6.2420 -3.217955158390e-02 7.017671765805e+01
6245 6.2430 -3.206251509028e-02 7.021949801401e+01
6246 6.2440 -3.196815897175e-02 7.026227836996e+01
6247 6.2450 -3.189649457118e-02 7.030505872592e+01
6248 6.2460 -3.184753323740e-02 7.034783908188e+01
6249 6.2470 -3.182128632467e-02 7.039061943784e+01
6250 6.2480 -3.181776519314e-02 7.043339979380e+01
6251 6.2490 -3.183698120844e-02 7.047618014976e+01
6252 6.2500 -3.187894574210e-02 7.051896050571e+01
6253 6.2510 -3.194367017109e-02 7.056174086167e+01
6254 6.2520 -3.203116587836e-02 7.060452121763e+01
6255 6.2530 -3.214144425225e-02 7.064730157359e+01
6256 6.2540 -3.227451668704e-02 7.069008192955e+01
6257 6.2550 -3.243039458255e-02 7.073286228550e+01
6258 6.2560 -3.254058344141e-02 7.077571114737e+01
6259 6.2570 -3.246803709550e-02 7.081876557271e+01
6260 6.2580 -3.241833044423e-02 7.086181999805e+01
6261 6.2590 -3.239147491024e-02 7.090487442340e+01
6262 6.2600 -3.227292345232e-02 7.094804340721e+01
6263 6.2610 -3.201809205736e-02 7.099137154494e+01
6264 6.2620 -3.178614608211e-02 7.103469968267e+01
6265 6.2630 -3.157709697217e-02 7.107802782040e+01
6266 6.2640 -3.139095617878e-02 7.112135595813e+01
6267 6.2650 -3.122773515898e-02 7.116468409586e+01
6268 6.2660 -3.108744537551e-02 7.120801223359e+01
6269 6.2670 -3.097009829691e-02 7.125134037132e+01
6270 6.2680 -3.087570539740e-02 7.129466850905e+01
6271 6.2690 -3.080427815686e-02 7.133799664678e+01
6272 6.2700 -3.075582806105e-02 7.138132478451e+01
6273 6.2710 -3.072878956479e-02 7.142465449928e+01
6274 6.2720 -3.059000240300e-02 7.146811896284e+01
6275 6.2730 -3.047422687757e-02 7.151158342641e+01
6276 6.2740 -3.038147449708e-02 7.155504788998e+01
6277 6.2750 -3.031175677609e-02 7.159851235354e+01
6278 6.2760 -3.026508523471e-02 7.164197681711e+01
6279 6.2770 -3.024147139900e-02 7.168544128067e+01
6280 6.2780 -3.024092680062e-02 7.172890574424e+01
6281 6.2790 -3.026346297715e-02 7.177237020780e+01
6282 6.2800 -3.030909147176e-02 7.181583467137e+01
6283 6.2810 -3.037782383364e-02 7.185929913494e+01
6284 6.2820 -3.046967161744e-02 7.190276359850e+01
6285 6.2830 -3.058464638393e-02 7.194622806207e+01
6286 6.2840 -3.072275969936e-02 7.198969252563e+01
6287 6.2850 -3.088402313600e-02 7.203315698920e+01
6288 6.2860 -3.106844827169e-02 7.207662145276e+01
6289 6.2870 -3.127604669033e-02 7.212008591633e+01
6290 6.2880 -3.150682998129e-02 7.216355037990e+01
6291 6.2890 -3.176080974002e-02 7.220701484346e+01
6292 6.2900 -3.203799756765e-02 7.225047930703e+01
6293 6.2910 -3.233840507109e-02 7.229394377059e+01
6294 6.2920 -3.266204386303e-02 7.233740823416e+01
6295 6.2930 -3.300892556208e-02 7.238087269772e+01
6296 6.2940 -3.322193303392e-02 7.242449429005e+01
6297 6.2950 -3.334476019772e-02 7.246822932884e+01
6298 6.2960 -3.349086515919e-02 7.251196436764e+01
6299 6.2970 -3.366025956004e-02 7.255569940643e+01
6300 6.2980 -3.385295504795e-02 7.259943444522e+01
6301 6.2990 -3.406896327644e-02 7.264316948402e+01
6302 6.3000 -3.430829590467e-02 7.268690452281e+01
6303 6.3010 -3.457096459787e-02 7.273063956161e+01
6304 6.3020 -3.485698102691e-02 7.277437460040e+01
6305 6.3030 -3.516635686862e-02 7.281810963919e+01
6306 6.3040 -3.549910380564e-02 7.286184467799e+01
6307 6.3050 -3.570665338758e-02 7.290572829692e+01
6308 6.3060 -3.581661882074e-02 7.294973289448e+01
6309 6.3070 -3.594999043214e-02 7.299373749204e+01
6310 6.3080 -3.610677992775e-02 7.303774208960e+01
6311 6.3090 -3.628699901953e-02 7.308174668716e+01
6312 6.3100 -3.649065942511e-02 7.312575128472e+01
6313 6.3110 -3.671777286821e-02 7.316975588228e+01
6314 6.3120 -3.696835107810e-02 7.321376047984e+01
6315 6.3130 -3.724240579029e-02 7.325776507740e+01
6316 6.3140 -3.753994874586e-02 7.330176967496e+01
6317 6.3150 -3.786099169180e-02 7.334577427252e+01
6318 6.3160 -3.820554638123e-02 7.338977887008e+01
6319 6.3170 -3.857362457277e-02 7.343378346764e+01
6320 6.3180 -3.896523803126e-02 7.347778806520e+01
6321 6.3190 -3.938039852717e-02 7.352179266276e+01
6322 6.3200 -3.981911783706e-02 7.356579726032e+01
6323 6.3210 -4.028140774319e-02 7.360980185788e+01
6324 6.3220 -4.076728003389e-02 7.365380645544e+01
6325 6.3230 -4.116027615487e-02 7.369792752334e+01
6326 6.3240 -4.142545291592e-02 7.374220001659e+01
6327 6.3250 -4.171424746160e-02 7.378647250984e+01
6328 6.3260 -4.202667160378e-02 7.383074500308e+01
6329 6.3270 -4.236273716022e-02 7.387501749633e+01
6330 6.3280 -4.272245595455e-02 7.391928998958e+01
6331 6.3290 -4.310583981640e-02 7.396356248282e+01
6332 6.3300 -4.351290058119e-02 7.400783497607e+01
6333 6.3310 -4.394365009039e-02 7.405210746932e+01
6334 6.3320 -4.439810019127e-02 7.409637996257e+01
6335 6.3330 -4.487626273723e-02 7.414065245581e+01
6336 6.3340 -4.518587087462e-02 7.418511722777e+01
6337 6.3350 -4.544457798118e-02 7.422965663693e+01
6338 6.3360 -4.572703312804e-02 7.427419604609e+01
6339 6.3370 -4.603324819225e-02 7.431873545525e+01
6340 6.3380 -4.636323505679e-02 7.436327486441e+01
6341 6.3390 -4.671700561038e-02 7.440781427357e+01
6342 6.3400 -4.709457174797e-02 7.445235368273e+01
6343 6.3410 -4.749594537023e-02 7.449689309189e+01
6344 6.3420 -4.792113838395e-02 7.454143250105e+01
6345 6.3430 -4.837016270182e-02 7.458597191021e+01
6346 6.3440 -4.881123178166e-02 7.463054311783e+01
6347 6.3450 -4.904200516699e-02 7.467534847629e+01
6348 6.3460 -4.929664563020e-02 7.472015383475e+01
6349 6.3470 -4.957516510782e-02 7.476495919321e+01
6350 6.3480 -4.971533132085e-02 7.480992679590e+01
6351 6.3490 -4.977601468963e-02 7.485499778433e+01
6352 6.3500 -4.986061291819e-02 7.490006877276e+01
6353 6.3510 -4.996913796698e-02 7.494513976120e+01
6354 6.3520 -5.010160180247e-02 7.499021074963e+01
6355 6.3530 -5.025801639695e-02 7.503528173806e+01
6356 6.3540 -5.043839372880e-02 7.508035272650e+01
6357 6.3550 -5.064274578248e-02 7.512542371493e+01
6358 6.3560 -5.087108454825e-02 7.517049470336e+01
6359 6.3570 -5.112342202254e-02 7.521556569180e+01
6360 6.3580 -5.135802123811e-02 7.526067842920e+01
6361 6.3590 -5.139371170562e-02 7.530601409807e+01
6362 6.3600 -5.145343690672e-02 7.535134976694e+01
6363 6.3610 -5.153720886176e-02 7.539668543581e+01
6364 6.3620 -5.164503959710e-02 7.544202110468e+01
6365 6.3630 -5.177694114516e-02 7.548735677355e+01
6366 6.3640 -5.193292554430e-02 7.553269244242e+01
6367 6.3650 -5.211300483904e-02 7.557802811129e+01
6368 6.3660 -5.231719107982e-02 7.562336378016e+01
6369 6.3670 -5.254549632306e-02 7.566869944903e+01
6370 6.3680 -5.279793263136e-02 7.571403511790e+01
6371 6.3690 -5.307451207327e-02 7.575937078677e+01
6372 6.3700 -5.337524672331e-02 7.580470645564e+01
6373 6.3710 -5.370014866215e-02 7.585004212451e+01
6374 6.3720 -5.404922997641e-02 7.589537779338e+01
6375 6.3730 -5.442250275887e-02 7.594071346225e+01
6376 6.3740 -5.481997910826e-02 7.598604913112e+01
6377 6.3750 -5.524167112938e-02 7.603138479999e+01
6378 6.3760 -5.543099622718e-02 7.607697706357e+01
6379 6.3770 -5.563803049653e-02 7.612257585787e+01
6380 6.3780 -5.586931678837e-02 7.616817465218e+01
6381 6.3790 -5.612486723175e-02 7.621377344648e+01
6382 6.3800 -5.640469396175e-02 7.625937224078e+01
6383 6.3810 -5.670880911961e-02 7.630497103509e+01
6384 6.3820 -5.703722485257e-02 7.635056982939e+01
6385 6.3830 -5.738995331393e-02 7.639616862370e+01
6386 6.3840 -5.776700666311e-02 7.644176741800e+01
6387 6.3850 -5.816839706553e-02 7.648736621230e+01
6388 6.3860 -5.838290125700e-02 7.653317624204e+01
6389 6.3870 -5.857079378005e-02 7.657903724486e+01
6390 6.3880 -5.878305988939e-02 7.662489824767e+01
6391 6.3890 -5.901971177484e-02 7.667075925048e+01
6392 6.3900 -5.928076163232e-02 7.671662025329e+01
6393 6.3910 -5.956622166392e-02 7.676248125610e+01
6394 6.3920 -5.987610407772e-02 7.680834225891e+01
6395 6.3930 -6.021042108800e-02 7.685420326172e+01
6396 6.3940 -6.056918491510e-02 7.690006426453e+01
6397 6.3950 -6.095240778548e-02 7.694592526734e+01
6398 6.3960 -6.116715507886e-02 7.699197921700e+01
6399 6.3970 -6.133802943464e-02 7.703810152312e+01
6400 6.3980 -6.153339954982e-02 7.708422382924e+01
6401 6.3990 -6.164755391549e-02 7.713045185911e+01
6402 6.4000 -6.163094817698e-02 7.717683516936e+01
6403 6.4010 -6.163887496902e-02 7.722321847961e+01
6404 6.4020 -6.167134656105e-02 7.726960178985e+01
6405 6.4030 -6.172837522840e-02 7.731598510010e+01
6406 6.4040 -6.180997325277e-02 7.736236841035e+01
6407 6.4050 -6.191615292195e-02 7.740875172060e+01
6408 6.4060 -6.204692652974e-02 7.745513503084e+01
6409 6.4070 -6.220230637621e-02 7.750151834109e+01
6410 6.4080 -6.238230476763e-02 7.754790165134e+01
6411 6.4090 -6.246436589869e-02 7.759440752970e+01
6412 6.4100 -6.243352416343e-02 7.764105095411e+01
6413 6.4110 -6.242733792857e-02 7.768769437852e+01
6414 6.4120 -6.244581952492e-02 7.773433780292e+01
6415 6.4130 -6.248898128958e-02 7.778098122733e+01
6416 6.4140 -6.255683556566e-02 7.782762465174e+01
6417 6.4150 -6.264939470251e-02 7.787426807614e+01
6418 6.4160 -6.276667105563e-02 7.792091150055e+01
6419 6.4170 -6.290867698669e-02 7.796755492496e+01
6420 6.4180 -6.307542486368e-02 7.801419834936e+01
6421 6.4190 -6.310229602601e-02 7.806100640481e+01
6422 6.4200 -6.305932960497e-02 7.810790906453e+01
6423 6.4210 -6.304114227056e-02 7.815481172426e+01
6424 6.4220 -6.304774641544e-02 7.820171438398e+01
6425 6.4230 -6.307915443842e-02 7.824861704371e+01
6426 6.4240 -6.313537874454e-02 7.829551970343e+01
6427 6.4250 -6.318255405947e-02 7.834245624084e+01
6428 6.4260 -6.302979268437e-02 7.838961755605e+01
6429 6.4270 -6.290188484474e-02 7.843677887127e+01
6430 6.4280 -6.279884297051e-02 7.848394018648e+01
6431 6.4290 -6.248951115893e-02 7.853133267003e+01
6432 6.4300 -6.217787116493e-02 7.857875235261e+01
6433 6.4310 -6.189113446327e-02 7.862617203519e+01
6434 6.4320 -6.162931350871e-02 7.867359171776e+01
6435 6.4330 -6.139242076223e-02 7.872101140034e+01
6436 6.4340 -6.118046869103e-02 7.876843108292e+01
6437 6.4350 -6.099346976860e-02 7.881585076550e+01
6438 6.4360 -6.083143647460e-02 7.886327044807e+01
6439 6.4370 -6.069438129500e-02 7.891069013065e+01
6440 6.4380 -6.056632854871e-02 7.895812580140e+01
6441 6.4390 -6.041488956417e-02 7.900560986150e+01
6442 6.4400 -6.028846618929e-02 7.905309392159e+01
6443 6.4410 -6.018707093496e-02 7.910057798168e+01
6444 6.4420 -6.011071631849e-02 7.914806204178e+01
6445 6.4430 -6.005941486323e-02 7.919554610187e+01
6446 6.4440 -6.003317909890e-02 7.924303016197e+01
6447 6.4450 -6.003202156155e-02 7.929051422206e+01
6448 6.4460 -6.005595479333e-02 7.933799828215e+01
6449 6.4470 -6.010499134285e-02 7.938548234225e+01
6450 6.4480 -6.000098422773e-02 7.943314456188e+01
6451 6.4490 -5.984360188950e-02 7.948088528517e+01
6452 6.4500 -5.971136055220e-02 7.952862600846e+01
6453 6.4510 -5.960427278951e-02 7.957636673174e+01
6454 6.4520 -5.952235118131e-02 7.962410745503e+01
6455 6.4530 -5.946560831383e-02 7.967184817832e+01
6456 6.4540 -5.943405677964e-02 7.971958890161e+01
6457 6.4550 -5.942770917747e-02 7.976732962489e+01
6458 6.4560 -5.944657811251e-02 7.981507034818e+01
6459 6.4570 -5.949067619618e-02 7.986281107147e+01
6460 6.4580 -5.956001604622e-02 7.991055179476e+01
6461 6.4590 -5.965461028657e-02 7.995829251805e+01
6462 6.4600 -5.977447154768e-02 8.000603324133e+01
6463 6.4610 -5.991961246618e-02 8.005377396462e+01
6464 6.4620 -6.009004568508e-02 8.010151468791e+01
6465 6.4630 -6.028578385366e-02 8.014925541120e+01
6466 6.4640 -6.025908490724e-02 8.019724388921e+01
6467 6.4650 -6.025019663286e-02 8.024523988681e+01
6468 6.4660 -6.026665129408e-02 8.029323588441e+01
6469 6.4670 -6.009036636975e-02 8.034144997721e+01
6470 6.4680 -5.990254507703e-02 8.038970097467e+01
6471 6.4690 -5.974010476282e-02 8.043795197213e+01
6472 6.4700 -5.960305812084e-02 8.048620296959e+01
6473 6.4710 -5.949141785105e-02 8.053445396705e+01
6474 6.4720 -5.940519665979e-02 8.058270496451e+01
6475 6.4730 -5.917806915718e-02 8.063112230007e+01
6476 6.4740 -5.888827007838e-02 8.067962775172e+01
6477 6.4750 -5.862392823546e-02 8.072813320337e+01
6478 6.4760 -5.838505636014e-02 8.077663865501e+01
6479 6.4770 -5.817166719059e-02 8.082514410666e+01
6480 6.4780 -5.798377347133e-02 8.087364955831e+01
6481 6.4790 -5.782138795331e-02 8.092215500996e+01
6482 6.4800 -5.768452339382e-02 8.097066046161e+01
6483 6.4810 -5.757319255647e-02 8.101916591325e+01
6484 6.4820 -5.738014971080e-02 8.106777862340e+01
6485 6.4830 -5.706628092103e-02 8.111653771876e+01
6486 6.4840 -5.677798418273e-02 8.116529681413e+01
6487 6.4850 -5.651527228514e-02 8.121405590949e+01
6488 6.4860 -5.627815802392e-02 8.126281500485e+01
6489 6.4870 -5.606665420105e-02 8.131157410021e+01
6490 6.4880 -5.588077362505e-02 8.136033319557e+01
6491 6.4890 -5.572052911061e-02 8.140909229093e+01
6492 6.4900 -5.558593347904e-02 8.145785138630e+01
6493 6.4910 -5.540709727764e-02 8.150668038394e+01
6494 6.4920 -5.507099521009e-02 8.155569232199e+01
6495 6.4930 -5.476058052763e-02 8.160470426004e+01
6496 6.4940 -5.441369150046e-02 8.165377837267e+01
6497 6.4950 -5.390211238415e-02 8.170304288848e+01
6498 6.4960 -5.341625921292e-02 8.175230740428e+01
6499 6.4970 -5.295614485295e-02 8.180157192008e+01
6500 6.4980 -5.252178217681e-02 8.185083643589e+01
6501 6.4990 -5.211318406354e-02 8.190010095169e+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())