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 15 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
7002 7.0000 -4.966844776917e-02 1.099088297043e+02
7003 7.0010 -4.933744978157e-02 1.099727220750e+02
7004 7.0020 -4.896889347679e-02 1.100366851360e+02
7005 7.0030 -4.863348575667e-02 1.101006481971e+02
7006 7.0040 -4.833124319970e-02 1.101646112581e+02
7007 7.0050 -4.806218239252e-02 1.102285743191e+02
7008 7.0060 -4.778181459011e-02 1.102925818855e+02
7009 7.0070 -4.736822204564e-02 1.103567558915e+02
7010 7.0080 -4.698786106087e-02 1.104209298976e+02
7011 7.0090 -4.664074825590e-02 1.104851039036e+02
7012 7.0100 -4.632690025886e-02 1.105492779097e+02
7013 7.0110 -4.604633370636e-02 1.106134519157e+02
7014 7.0120 -4.563358087184e-02 1.106777914062e+02
7015 7.0130 -4.520909062692e-02 1.107421759487e+02
7016 7.0140 -4.481793178615e-02 1.108065604913e+02
7017 7.0150 -4.446012101944e-02 1.108709450339e+02
7018 7.0160 -4.413567500491e-02 1.109353295765e+02
7019 7.0170 -4.384461042916e-02 1.109997141190e+02
7020 7.0180 -4.358694398702e-02 1.110640986616e+02
7021 7.0190 -4.323707240026e-02 1.111286088242e+02
7022 7.0200 -4.283625604438e-02 1.111932033631e+02
7023 7.0210 -4.246888795695e-02 1.112577979019e+02
7024 7.0220 -4.213498486636e-02 1.113223924408e+02
7025 7.0230 -4.183456350918e-02 1.113869869797e+02
7026 7.0240 -4.151711888815e-02 1.114516320403e+02
7027 7.0250 -4.107411681933e-02 1.115164361736e+02
7028 7.0260 -4.066464674426e-02 1.115812403069e+02
7029 7.0270 -4.028872543307e-02 1.116460444402e+02
7030 7.0280 -3.994636966443e-02 1.117108485735e+02
7031 7.0290 -3.963759622528e-02 1.117756527068e+02
7032 7.0300 -3.917154459324e-02 1.118406477174e+02
7033 7.0310 -3.872079087880e-02 1.119056610460e+02
7034 7.0320 -3.830366990514e-02 1.119706743747e+02
7035 7.0330 -3.792019849280e-02 1.120356877033e+02
7036 7.0340 -3.757039347078e-02 1.121007010319e+02
7037 7.0350 -3.725427167650e-02 1.121657143606e+02
7038 7.0360 -3.697184995582e-02 1.122307276892e+02
7039 7.0370 -3.672314516295e-02 1.122957410178e+02
7040 7.0380 -3.650817416054e-02 1.123607543464e+02
7041 7.0390 -3.632695381976e-02 1.124257676751e+02
7042 7.0400 -3.617950102007e-02 1.124907810037e+02
7043 7.0410 -3.606583264958e-02 1.125557943323e+02
7044 7.0420 -3.598596560466e-02 1.126208076610e+02
7045 7.0430 -3.593991679025e-02 1.126858209896e+02
7046 7.0440 -3.592770311963e-02 1.127508343182e+02
7047 7.0450 -3.594934151459e-02 1.128158476468e+02
7048 7.0460 -3.600484890544e-02 1.128808609755e+02
7049 7.0470 -3.609424223095e-02 1.129458743041e+02
7050 7.0480 -3.621753843823e-02 1.130108876327e+02
7051 7.0490 -3.624727766304e-02 1.130760284382e+02
7052 7.0500 -3.623067524226e-02 1.131412495221e+02
7053 7.0510 -3.606583887438e-02 1.132066527937e+02
7054 7.0520 -3.590953485260e-02 1.132720815037e+02
7055 7.0530 -3.578721857582e-02 1.133375102137e+02
7056 7.0540 -3.569890704225e-02 1.134029389238e+02
7057 7.0550 -3.564461725843e-02 1.134683676338e+02
7058 7.0560 -3.562436623956e-02 1.135337963438e+02
7059 7.0570 -3.563817100931e-02 1.135992250538e+02
7060 7.0580 -3.568604859973e-02 1.136646537639e+02
7061 7.0590 -3.571795730013e-02 1.137301325326e+02
7062 7.0600 -3.562704686688e-02 1.137957682275e+02
7063 7.0610 -3.557026040195e-02 1.138614039223e+02
7064 7.0620 -3.554761497153e-02 1.139270396171e+02
7065 7.0630 -3.555912765049e-02 1.139926753119e+02
7066 7.0640 -3.560481552211e-02 1.140583110067e+02
7067 7.0650 -3.568469567826e-02 1.141239467016e+02
7068 7.0660 -3.571895374275e-02 1.141896622279e+02
7069 7.0670 -3.566079290153e-02 1.142555043996e+02
7070 7.0680 -3.563687567171e-02 1.143213465713e+02
7071 7.0690 -3.564721917946e-02 1.143871887429e+02
7072 7.0700 -3.569184055941e-02 1.144530309146e+02
7073 7.0710 -3.577075695476e-02 1.145188730863e+02
7074 7.0720 -3.588398551724e-02 1.145847152580e+02
7075 7.0730 -3.603154340738e-02 1.146505574297e+02
7076 7.0740 -3.621344779405e-02 1.147163996014e+02
7077 7.0750 -3.624791397308e-02 1.147824235750e+02
7078 7.0760 -3.629271459699e-02 1.148484715950e+02
7079 7.0770 -3.637191327593e-02 1.149145196150e+02
7080 7.0780 -3.648552721310e-02 1.149805676350e+02
7081 7.0790 -3.663357362046e-02 1.150466156550e+02
7082 7.0800 -3.664848363460e-02 1.151128312611e+02
7083 7.0810 -3.665997218430e-02 1.151790847555e+02
7084 7.0820 -3.670594489168e-02 1.152453382500e+02
7085 7.0830 -3.678641900309e-02 1.153115917445e+02
7086 7.0840 -3.690141177354e-02 1.153778452389e+02
7087 7.0850 -3.689227724560e-02 1.154442573966e+02
7088 7.0860 -3.687125603989e-02 1.155107159942e+02
7089 7.0870 -3.688480531003e-02 1.155771745917e+02
7090 7.0880 -3.693294234567e-02 1.156436331893e+02
7091 7.0890 -3.701568444498e-02 1.157100917868e+02
7092 7.0900 -3.713304891482e-02 1.157765503844e+02
7093 7.0910 -3.726660161347e-02 1.158430274334e+02
7094 7.0920 -3.724865108197e-02 1.159096906427e+02
7095 7.0930 -3.726537489346e-02 1.159763538519e+02
7096 7.0940 -3.731679038956e-02 1.160430170612e+02
7097 7.0950 -3.740291492043e-02 1.161096802704e+02
7098 7.0960 -3.752376584486e-02 1.161763434797e+02
7099 7.0970 -3.767936053047e-02 1.162430066889e+02
7100 7.0980 -3.786971635344e-02 1.163096698982e+02
7101 7.0990 -3.809485069866e-02 1.163763331074e+02
7102 7.1000 -3.835478095979e-02 1.164429963167e+02
7103 7.1010 -3.861933135714e-02 1.165096897191e+02
7104 7.1020 -3.874502311652e-02 1.165765568109e+02
7105 7.1030 -3.890556302480e-02 1.166434239027e+02
7106 7.1040 -3.910096851051e-02 1.167102909945e+02
7107 7.1050 -3.915695874840e-02 1.167773323846e+02
7108 7.1060 -3.921850612210e-02 1.168444031180e+02
7109 7.1070 -3.931497141080e-02 1.169114738514e+02
7110 7.1080 -3.944637207773e-02 1.169785445848e+02
7111 7.1090 -3.961272559500e-02 1.170456153182e+02
7112 7.1100 -3.962339844144e-02 1.171128767026e+02
7113 7.1110 -3.965642803720e-02 1.171801507180e+02
7114 7.1120 -3.972446295188e-02 1.172474247335e+02
7115 7.1130 -3.982752069263e-02 1.173146987490e+02
7116 7.1140 -3.995671231527e-02 1.173819816709e+02
7117 7.1150 -3.992694341115e-02 1.174494586112e+02
7118 7.1160 -3.984750247064e-02 1.175170202989e+02
7119 7.1170 -3.968509562318e-02 1.175847000455e+02
7120 7.1180 -3.955779926838e-02 1.176523797921e+02
7121 7.1190 -3.946563096577e-02 1.177200595387e+02
7122 7.1200 -3.940860828388e-02 1.177877392853e+02
7123 7.1210 -3.927426083362e-02 1.178555315199e+02
7124 7.1220 -3.908513005107e-02 1.179234137186e+02
7125 7.1230 -3.893119764717e-02 1.179912959173e+02
7126 7.1240 -3.881248122549e-02 1.180591781160e+02
7127 7.1250 -3.872899839846e-02 1.181270603147e+02
7128 7.1260 -3.868076678721e-02 1.181949425133e+02
7129 7.1270 -3.866780402184e-02 1.182628247120e+02
7130 7.1280 -3.869012774113e-02 1.183307069107e+02
7131 7.1290 -3.874775559279e-02 1.183985891094e+02
7132 7.1300 -3.884070523325e-02 1.184664713081e+02
7133 7.1310 -3.878711842421e-02 1.185345353827e+02
7134 7.1320 -3.874901429050e-02 1.186026193317e+02
7135 7.1330 -3.874628496807e-02 1.186707032807e+02
7136 7.1340 -3.877894814865e-02 1.187387872298e+02
7137 7.1350 -3.884702153302e-02 1.188068711788e+02
7138 7.1360 -3.895052283068e-02 1.188749551279e+02
7139 7.1370 -3.908946975999e-02 1.189430390769e+02
7140 7.1380 -3.926388004824e-02 1.190111230259e+02
7141 7.1390 -3.928729158351e-02 1.190793934548e+02
7142 7.1400 -3.933150953419e-02 1.191476785761e+02
7143 7.1410 -3.941124407873e-02 1.192159636975e+02
7144 7.1420 -3.952651297986e-02 1.192842488188e+02
7145 7.1430 -3.967733400923e-02 1.193525339401e+02
7146 7.1440 -3.986372494737e-02 1.194208190614e+02
7147 7.1450 -4.008570358363e-02 1.194891041827e+02
7148 7.1460 -4.034328771633e-02 1.195573893040e+02
7149 7.1470 -4.063649515271e-02 1.196256744253e+02
7150 7.1480 -4.096534370874e-02 1.196939595466e+02
7151 7.1490 -4.132985120962e-02 1.197622446680e+02
7152 7.1500 -4.173003548919e-02 1.198305297893e+02
7153 7.1510 -4.216591439029e-02 1.198988149106e+02
7154 7.1520 -4.263750576465e-02 1.199671000319e+02
7155 7.1530 -4.299849143801e-02 1.200355314892e+02
7156 7.1540 -4.330816935752e-02 1.201040500025e+02
7157 7.1550 -4.348682478836e-02 1.201727353044e+02
7158 7.1560 -4.370126418900e-02 1.202414206063e+02
7159 7.1570 -4.394278671336e-02 1.203101146269e+02
7160 7.1580 -4.402903875410e-02 1.203789997378e+02
7161 7.1590 -4.415112848082e-02 1.204478848487e+02
7162 7.1600 -4.430907381680e-02 1.205167699595e+02
7163 7.1610 -4.450289269437e-02 1.205856550704e+02
7164 7.1620 -4.465720270532e-02 1.206546155816e+02
7165 7.1630 -4.472334912365e-02 1.207237001659e+02
7166 7.1640 -4.466042915614e-02 1.207929497439e+02
7167 7.1650 -4.459908637301e-02 1.208622336901e+02
7168 7.1660 -4.457370692751e-02 1.209315176363e+02
7169 7.1670 -4.458430880581e-02 1.210008015825e+02
7170 7.1680 -4.459293214085e-02 1.210701235066e+02
7171 7.1690 -4.447652162167e-02 1.211396064818e+02
7172 7.1700 -4.439614643872e-02 1.212090894571e+02
7173 7.1710 -4.432965322666e-02 1.212785946037e+02
7174 7.1720 -4.412259457951e-02 1.213482763872e+02
7175 7.1730 -4.383728991233e-02 1.214180725061e+02
7176 7.1740 -4.350373004306e-02 1.214879529877e+02
7177 7.1750 -4.320629571107e-02 1.215578334692e+02
7178 7.1760 -4.284372404326e-02 1.216278152318e+02
7179 7.1770 -4.242011636733e-02 1.216978941920e+02
7180 7.1780 -4.203268845768e-02 1.217679731522e+02
7181 7.1790 -4.168145840879e-02 1.218380521124e+02
7182 7.1800 -4.136644432407e-02 1.219081310726e+02
7183 7.1810 -4.108766431593e-02 1.219782100328e+02
7184 7.1820 -4.084513650608e-02 1.220482889931e+02
7185 7.1830 -4.063887902505e-02 1.221183679533e+02
7186 7.1840 -4.046891001269e-02 1.221884469135e+02
7187 7.1850 -4.026188462146e-02 1.222585992367e+02
7188 7.1860 -3.996672164442e-02 1.223288760223e+02
7189 7.1870 -3.953871586689e-02 1.223993219936e+02
7190 7.1880 -3.911853971657e-02 1.224697964964e+02
7191 7.1890 -3.873474286945e-02 1.225402709992e+02
7192 7.1900 -3.838734351975e-02 1.226107455020e+02
7193 7.1910 -3.801241094566e-02 1.226812839537e+02
7194 7.1920 -3.754046706730e-02 1.227519558507e+02
7195 7.1930 -3.710497532365e-02 1.228226277476e+02
7196 7.1940 -3.668530385582e-02 1.228933202947e+02
7197 7.1950 -3.625704447986e-02 1.229640579182e+02
7198 7.1960 -3.586529195784e-02 1.230347955418e+02
7199 7.1970 -3.551006454767e-02 1.231055331653e+02
7200 7.1980 -3.519138051648e-02 1.231762707889e+02
7201 7.1990 -3.490925814056e-02 1.232470084124e+02
7202 7.2000 -3.466371570526e-02 1.233177460360e+02
7203 7.2010 -3.445477150512e-02 1.233884836595e+02
7204 7.2020 -3.428244384393e-02 1.234592212831e+02
7205 7.2030 -3.414675103445e-02 1.235299589066e+02
7206 7.2040 -3.404771139872e-02 1.236006965302e+02
7207 7.2050 -3.398534326789e-02 1.236714341537e+02
7208 7.2060 -3.395966498224e-02 1.237421717773e+02
7209 7.2070 -3.397069489141e-02 1.238129094008e+02
7210 7.2080 -3.401845135400e-02 1.238836470244e+02
7211 7.2090 -3.410295273792e-02 1.239543846479e+02
7212 7.2100 -3.422421742021e-02 1.240251222715e+02
7213 7.2110 -3.438226378710e-02 1.240958598950e+02
7214 7.2120 -3.457711023396e-02 1.241665975186e+02
7215 7.2130 -3.480877516561e-02 1.242373351422e+02
7216 7.2140 -3.507727699577e-02 1.243080727657e+02
7217 7.2150 -3.538263414753e-02 1.243788103893e+02
7218 7.2160 -3.571997560431e-02 1.244495529023e+02
7219 7.2170 -3.590350000823e-02 1.245204861245e+02
7220 7.2180 -3.612393505816e-02 1.245914193468e+02
7221 7.2190 -3.638129921414e-02 1.246623525690e+02
7222 7.2200 -3.667561094526e-02 1.247332857912e+02
7223 7.2210 -3.688460659301e-02 1.248043412956e+02
7224 7.2220 -3.704155877760e-02 1.248754858280e+02
7225 7.2230 -3.715394382467e-02 1.249467119306e+02
7226 7.2240 -3.730335041587e-02 1.250179380332e+02
7227 7.2250 -3.744171637865e-02 1.250892122164e+02
7228 7.2260 -3.747024264936e-02 1.251606332979e+02
7229 7.2270 -3.753584603817e-02 1.252320543795e+02
7230 7.2280 -3.763854508845e-02 1.253034754610e+02
7231 7.2290 -3.777835835271e-02 1.253748965425e+02
7232 7.2300 -3.795530439261e-02 1.254463176241e+02
7233 7.2310 -3.808440465427e-02 1.255178237027e+02
7234 7.2320 -3.814110223419e-02 1.255894393540e+02
7235 7.2330 -3.823498833067e-02 1.256610550052e+02
7236 7.2340 -3.836608154265e-02 1.257326706565e+02
7237 7.2350 -3.853440047849e-02 1.258042863078e+02
7238 7.2360 -3.873996375547e-02 1.258759019590e+02
7239 7.2370 -3.898279000054e-02 1.259475176103e+02
7240 7.2380 -3.926289784984e-02 1.260191332616e+02
7241 7.2390 -3.958030594885e-02 1.260907489128e+02
7242 7.2400 -3.993503295230e-02 1.261623645641e+02
7243 7.2410 -4.032709752433e-02 1.262339802154e+02
7244 7.2420 -4.075651833832e-02 1.263055958666e+02
7245 7.2430 -4.122331407724e-02 1.263772115179e+02
7246 7.2440 -4.163318600759e-02 1.264489214866e+02
7247 7.2450 -4.198112747782e-02 1.265207307980e+02
7248 7.2460 -4.236649997741e-02 1.265925401095e+02
7249 7.2470 -4.278932222643e-02 1.266643494210e+02
7250 7.2480 -4.324961295443e-02 1.267361587324e+02
7251 7.2490 -4.374739090052e-02 1.268079680439e+02
7252 7.2500 -4.428267481278e-02 1.268797773554e+02
7253 7.2510 -4.478507837930e-02 1.269516570719e+02
7254 7.2520 -4.520226900299e-02 1.270236595449e+02
7255 7.2530 -4.565702189403e-02 1.270956620179e+02
7256 7.2540 -4.614935583835e-02 1.271676644908e+02
7257 7.2550 -4.667928963120e-02 1.272396669638e+02
7258 7.2560 -4.724684207709e-02 1.273116694368e+02
7259 7.2570 -4.785203199012e-02 1.273836719097e+02
7260 7.2580 -4.849487819366e-02 1.274556743827e+02
7261 7.2590 -4.917539952067e-02 1.275276768557e+02
7262 7.2600 -4.989361481341e-02 1.275996793287e+02
7263 7.2610 -5.055765687327e-02 1.276717736877e+02
7264 7.2620 -5.115884560482e-02 1.277439686317e+02
7265 7.2630 -5.179778488549e-02 1.278161635757e+02
7266 7.2640 -5.234559551451e-02 1.278884874178e+02
7267 7.2650 -5.281596329300e-02 1.279609264911e+02
7268 7.2660 -5.318381425007e-02 1.280335058884e+02
7269 7.2670 -5.358949133277e-02 1.281060852858e+02
7270 7.2680 -5.394190352493e-02 1.281787557930e+02
7271 7.2690 -5.423130631652e-02 1.282515271736e+02
7272 7.2700 -5.455859201558e-02 1.283242985542e+02
7273 7.2710 -5.492377956826e-02 1.283970699349e+02
7274 7.2720 -5.527009067710e-02 1.284698981127e+02
7275 7.2730 -5.551944602384e-02 1.285428611862e+02
7276 7.2740 -5.580676011976e-02 1.286158242596e+02
7277 7.2750 -5.613205194898e-02 1.286887873330e+02
7278 7.2760 -5.649534050497e-02 1.287617504064e+02
7279 7.2770 -5.689664479099e-02 1.288347134798e+02
7280 7.2780 -5.719206798490e-02 1.289078204691e+02
7281 7.2790 -5.747815288296e-02 1.289809748504e+02
7282 7.2800 -5.780231057743e-02 1.290541292317e+02
7283 7.2810 -5.797502087965e-02 1.291274731522e+02
7284 7.2820 -5.806691361799e-02 1.292009360012e+02
7285 7.2830 -5.812326644473e-02 1.292744725200e+02
7286 7.2840 -5.821776828970e-02 1.293480090389e+02
7287 7.2850 -5.835043823200e-02 1.294215455577e+02
7288 7.2860 -5.842717652177e-02 1.294951761954e+02
7289 7.2870 -5.844550418242e-02 1.295689034500e+02
7290 7.2880 -5.850205723567e-02 1.296426307046e+02
7291 7.2890 -5.859685479891e-02 1.297163579592e+02
7292 7.2900 -5.872991599917e-02 1.297900852138e+02
7293 7.2910 -5.890125997306e-02 1.298638124684e+02
7294 7.2920 -5.911090586686e-02 1.299375397230e+02
7295 7.2930 -5.935887283614e-02 1.300112669776e+02
7296 7.2940 -5.958769565007e-02 1.300850517166e+02
7297 7.2950 -5.972219253114e-02 1.301589691410e+02
7298 7.2960 -5.989506801240e-02 1.302328865653e+02
7299 7.2970 -6.010634128804e-02 1.303068039897e+02
7300 7.2980 -6.035603156182e-02 1.303807214140e+02
7301 7.2990 -6.064415804701e-02 1.304546388384e+02
7302 7.3000 -6.097073996646e-02 1.305285562627e+02
7303 7.3010 -6.123578800835e-02 1.306025736956e+02
7304 7.3020 -6.141595016251e-02 1.306767145083e+02
7305 7.3030 -6.147870138280e-02 1.307510112451e+02
7306 7.3040 -6.157998502507e-02 1.308253079819e+02
7307 7.3050 -6.162812880143e-02 1.308996964102e+02
7308 7.3060 -6.159061040426e-02 1.309742090717e+02
7309 7.3070 -6.142885057201e-02 1.310488845649e+02
7310 7.3080 -6.130570030397e-02 1.311235600581e+02
7311 7.3090 -6.113470015035e-02 1.311983220300e+02
7312 7.3100 -6.089967932476e-02 1.312731866708e+02
7313 7.3110 -6.070332602112e-02 1.313480513116e+02
7314 7.3120 -6.054565957798e-02 1.314229159525e+02
7315 7.3130 -6.034236750886e-02 1.314978649251e+02
7316 7.3140 -6.007326055381e-02 1.315729184382e+02
7317 7.3150 -5.984289853310e-02 1.316479719513e+02
7318 7.3160 -5.965130082396e-02 1.317230254644e+02
7319 7.3170 -5.949848681356e-02 1.317980789775e+02
7320 7.3180 -5.938447589852e-02 1.318731324906e+02
7321 7.3190 -5.930928748528e-02 1.319481860037e+02
7322 7.3200 -5.927294098968e-02 1.320232395168e+02
7323 7.3210 -5.918637056989e-02 1.320983821152e+02
7324 7.3220 -5.903944027093e-02 1.321736239542e+02
7325 7.3230 -5.893141019640e-02 1.322488657932e+02
7326 7.3240 -5.886229980136e-02 1.323241076322e+02
7327 7.3250 -5.883212855043e-02 1.323993494713e+02
7328 7.3260 -5.884091591804e-02 1.324745913103e+02
7329 7.3270 -5.888868138844e-02 1.325498331493e+02
7330 7.3280 -5.897544445560e-02 1.326250749883e+02
7331 7.3290 -5.899556780751e-02 1.327004224842e+02
7332 7.3300 -5.897259935972e-02 1.327758521084e+02
7333 7.3310 -5.898868704903e-02 1.328512817327e+02
7334 7.3320 -5.904385040817e-02 1.329267113570e+02
7335 7.3330 -5.913810897993e-02 1.330021409812e+02
7336 7.3340 -5.921082984736e-02 1.330776312579e+02
7337 7.3350 -5.919590965150e-02 1.331532483100e+02
7338 7.3360 -5.922014335498e-02 1.332288653622e+02
7339 7.3370 -5.928355053989e-02 1.333044824143e+02
7340 7.3380 -5.938615079759e-02 1.333800994664e+02
7341 7.3390 -5.952796372982e-02 1.334557165185e+02
7342 7.3400 -5.970900894757e-02 1.335313335706e+02
7343 7.3410 -5.992930607206e-02 1.336069506227e+02
7344 7.3420 -6.009240861022e-02 1.336826641410e+02
7345 7.3430 -6.020437207253e-02 1.337584680895e+02
7346 7.3440 -6.035564636338e-02 1.338342720380e+02
7347 7.3450 -6.054625114334e-02 1.339100759865e+02
7348 7.3460 -6.065766455541e-02 1.339859984765e+02
7349 7.3470 -6.074035666642e-02 1.340619890576e+02
7350 7.3480 -6.085196370540e-02 1.341379901134e+02
7351 7.3490 -6.082699697018e-02 1.342141671522e+02
7352 7.3500 -6.084145917310e-02 1.342903441909e+02
7353 7.3510 -6.089537003374e-02 1.343665212297e+02
7354 7.3520 -6.095148567702e-02 1.344427355321e+02
7355 7.3530 -6.089815693413e-02 1.345190987669e+02
7356 7.3540 -6.088433606642e-02 1.345954620018e+02
7357 7.3550 -6.091004283249e-02 1.346718252367e+02
7358 7.3560 -6.097529700134e-02 1.347481884716e+02
7359 7.3570 -6.106492373307e-02 1.348245669011e+02
7360 7.3580 -6.102348253845e-02 1.349011159855e+02
7361 7.3590 -6.102164811201e-02 1.349776650699e+02
7362 7.3600 -6.096059288585e-02 1.350543130016e+02
7363 7.3610 -6.085235434681e-02 1.351310477631e+02
7364 7.3620 -6.078378203084e-02 1.352077825246e+02
7365 7.3630 -6.075489577592e-02 1.352845172861e+02
7366 7.3640 -6.076571543021e-02 1.353612520476e+02
7367 7.3650 -6.073230721571e-02 1.354380707627e+02
7368 7.3660 -6.063726432526e-02 1.355149908581e+02
7369 7.3670 -6.058198694742e-02 1.355919109535e+02
7370 7.3680 -6.039560039364e-02 1.356690019435e+02
7371 7.3690 -6.023475048123e-02 1.357461072022e+02
7372 7.3700 -6.011372577443e-02 1.358232124609e+02
7373 7.3710 -6.003254619105e-02 1.359003177195e+02
7374 7.3720 -5.999123165842e-02 1.359774229782e+02
7375 7.3730 -5.998980211402e-02 1.360545282368e+02
7376 7.3740 -6.002827750560e-02 1.361316334955e+02
7377 7.3750 -6.010667779032e-02 1.362087387542e+02
7378 7.3760 -6.020327101176e-02 1.362858657647e+02
7379 7.3770 -6.017701082596e-02 1.363631555936e+02
7380 7.3780 -6.019073546562e-02 1.364404454224e+02
7381 7.3790 -6.013082038687e-02 1.365178488958e+02
7382 7.3800 -6.004017270357e-02 1.365953231266e+02
7383 7.3810 -5.998956986819e-02 1.366727973574e+02
7384 7.3820 -5.997903190795e-02 1.367502715882e+02
7385 7.3830 -5.984733018131e-02 1.368279070677e+02
7386 7.3840 -5.961652793529e-02 1.369056817526e+02
7387 7.3850 -5.935808690583e-02 1.369835242014e+02
7388 7.3860 -5.911240412570e-02 1.370613940370e+02
7389 7.3870 -5.875037265234e-02 1.371394203865e+02
7390 7.3880 -5.842852642937e-02 1.372174467359e+02
7391 7.3890 -5.814688555428e-02 1.372954730854e+02
7392 7.3900 -5.782538940620e-02 1.373735795156e+02
7393 7.3910 -5.740358246899e-02 1.374518265021e+02
7394 7.3920 -5.687545722312e-02 1.375302200727e+02
7395 7.3930 -5.638761781629e-02 1.376086136432e+02
7396 7.3940 -5.594008439663e-02 1.376870072138e+02
7397 7.3950 -5.543995251405e-02 1.377654937089e+02
7398 7.3960 -5.488976953364e-02 1.378440706015e+02
7399 7.3970 -5.437995304451e-02 1.379226474941e+02
7400 7.3980 -5.391052323520e-02 1.380012243867e+02
7401 7.3990 -5.348150030399e-02 1.380798012792e+02
7402 7.4000 -5.309290445938e-02 1.381583781718e+02
7403 7.4010 -5.267535471213e-02 1.382370244656e+02
7404 7.4020 -5.218476103245e-02 1.383157842709e+02
7405 7.4030 -5.173465512537e-02 1.383945440761e+02
7406 7.4040 -5.132505724008e-02 1.384733038814e+02
7407 7.4050 -5.095598763555e-02 1.385520636866e+02
7408 7.4060 -5.062746658086e-02 1.386308234919e+02
7409 7.4070 -5.033951435554e-02 1.387095832971e+02
7410 7.4080 -5.009215124897e-02 1.387883431024e+02
7411 7.4090 -4.988539756087e-02 1.388671029076e+02
7412 7.4100 -4.971927360107e-02 1.389458627129e+02
7413 7.4110 -4.959379968925e-02 1.390246225181e+02
7414 7.4120 -4.950899615579e-02 1.391033823234e+02
7415 7.4130 -4.942191002617e-02 1.391821851019e+02
7416 7.4140 -4.923640451708e-02 1.392611270110e+02
7417 7.4150 -4.909163043759e-02 1.393400689200e+02
7418 7.4160 -4.898760815850e-02 1.394190108290e+02
7419 7.4170 -4.881132605550e-02 1.394980657700e+02
7420 7.4180 -4.860700494020e-02 1.395771895426e+02
7421 7.4190 -4.840368229466e-02 1.396563531297e+02
7422 7.4200 -4.809565707562e-02 1.397356622528e+02
7423 7.4210 -4.765050746553e-02 1.398151493540e+02
7424 7.4220 -4.724623209479e-02 1.398946364553e+02
7425 7.4230 -4.688285140572e-02 1.399741235566e+02
7426 7.4240 -4.656038585068e-02 1.400536106578e+02
7427 7.4250 -4.627885589241e-02 1.401330977591e+02
7428 7.4260 -4.603828200376e-02 1.402125848604e+02
7429 7.4270 -4.583868466795e-02 1.402920719616e+02
7430 7.4280 -4.560256432314e-02 1.403716365830e+02
7431 7.4290 -4.539440665500e-02 1.404512142592e+02
7432 7.4300 -4.522728705050e-02 1.405307919354e+02
7433 7.4310 -4.510122603401e-02 1.406103696115e+02
7434 7.4320 -4.501624413990e-02 1.406899472877e+02
7435 7.4330 -4.497236191287e-02 1.407695249639e+02
7436 7.4340 -4.496959990785e-02 1.408491026401e+02
7437 7.4350 -4.487380279295e-02 1.409288144922e+02
7438 7.4360 -4.477266334089e-02 1.410085728480e+02
7439 7.4370 -4.464361309625e-02 1.410884002965e+02
7440 7.4380 -4.440736482268e-02 1.411683761457e+02
7441 7.4390 -4.406886308842e-02 1.412484954714e+02
7442 7.4400 -4.377160512192e-02 1.413286147971e+02
7443 7.4410 -4.351561155045e-02 1.414087341228e+02
7444 7.4420 -4.330090301136e-02 1.414888534485e+02
7445 7.4430 -4.312750015220e-02 1.415689727742e+02
7446 7.4440 -4.293486662684e-02 1.416491526570e+02
7447 7.4450 -4.266407774822e-02 1.417294520421e+02
7448 7.4460 -4.243465655455e-02 1.418097514271e+02
7449 7.4470 -4.224662373496e-02 1.418900508122e+02
7450 7.4480 -4.209999998876e-02 1.419703501973e+02
7451 7.4490 -4.199480602559e-02 1.420506495824e+02
7452 7.4500 -4.193106256565e-02 1.421309489675e+02
7453 7.4510 -4.184786961600e-02 1.422113092733e+02
7454 7.4520 -4.165557756760e-02 1.422918201701e+02
7455 7.4530 -4.135718796147e-02 1.423724786773e+02
7456 7.4540 -4.110033184240e-02 1.424531371845e+02
7457 7.4550 -4.088502998234e-02 1.425337956916e+02
7458 7.4560 -4.071130316369e-02 1.426144541988e+02
7459 7.4570 -4.057917217916e-02 1.426951127060e+02
7460 7.4580 -4.041866473845e-02 1.427758412062e+02
7461 7.4590 -4.019064463464e-02 1.428566788566e+02
7462 7.4600 -4.000428280557e-02 1.429375165070e+02
7463 7.4610 -3.985960008547e-02 1.430183541573e+02
7464 7.4620 -3.975661731923e-02 1.430991918077e+02
7465 7.4630 -3.955495399156e-02 1.431801698594e+02
7466 7.4640 -3.935659218214e-02 1.432611863513e+02
7467 7.4650 -3.919999292345e-02 1.433422028432e+02
7468 7.4660 -3.902360981743e-02 1.434232809024e+02
7469 7.4670 -3.877198186817e-02 1.435044760108e+02
7470 7.4680 -3.856217916043e-02 1.435856711191e+02
7471 7.4690 -3.839422261197e-02 1.436668662275e+02
7472 7.4700 -3.810470517202e-02 1.437482247638e+02
7473 7.4710 -3.784211132501e-02 1.438295982646e+02
7474 7.4720 -3.762142645368e-02 1.439109717654e+02
7475 7.4730 -3.735371952161e-02 1.439924342181e+02
7476 7.4740 -3.703874612020e-02 1.440739858883e+02
7477 7.4750 -3.676574460510e-02 1.441555375584e+02
7478 7.4760 -3.653473596740e-02 1.442370892286e+02
7479 7.4770 -3.634574120889e-02 1.443186408987e+02
7480 7.4780 -3.619878134193e-02 1.444001925688e+02
7481 7.4790 -3.609387738887e-02 1.444817442390e+02
7482 7.4800 -3.603105038320e-02 1.445632959091e+02
7483 7.4810 -3.601032136854e-02 1.446448475793e+02
7484 7.4820 -3.603171139913e-02 1.447263992494e+02
7485 7.4830 -3.603876405968e-02 1.448080073970e+02
7486 7.4840 -3.596694917024e-02 1.448897365734e+02
7487 7.4850 -3.593731655203e-02 1.449714657497e+02
7488 7.4860 -3.594988730151e-02 1.450531949261e+02
7489 7.4870 -3.583672386771e-02 1.451350920611e+02
7490 7.4880 -3.575647755633e-02 1.452169985246e+02
7491 7.4890 -3.559335010453e-02 1.452990301359e+02
7492 7.4900 -3.531641497380e-02 1.453812178428e+02
7493 7.4910 -3.500882163261e-02 1.454634785169e+02
7494 7.4920 -3.474355845924e-02 1.455457391910e+02
7495 7.4930 -3.452064662422e-02 1.456279998651e+02
7496 7.4940 -3.434010730829e-02 1.457102605392e+02
7497 7.4950 -3.420196170327e-02 1.457925212133e+02
7498 7.4960 -3.410623101118e-02 1.458747818874e+02
7499 7.4970 -3.389349542305e-02 1.459572020026e+02
7500 7.4980 -3.370602255544e-02 1.460396393123e+02
7501 7.4990 -3.356102827099e-02 1.461220766221e+02

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())