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 19 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
9002 9.0000 -4.094504133566e-02 3.321520870628e+02
9003 9.0010 -4.105216757283e-02 3.323293731236e+02
9004 9.0020 -4.112338223430e-02 3.325067851580e+02
9005 9.0030 -4.115871948119e-02 3.326843231771e+02
9006 9.0040 -4.123877873155e-02 3.328619066264e+02
9007 9.0050 -4.140903532958e-02 3.330394900757e+02
9008 9.0060 -4.161017465248e-02 3.332171328848e+02
9009 9.0070 -4.186119028265e-02 3.333948161051e+02
9010 9.0080 -4.210073584429e-02 3.335726011282e+02
9011 9.0090 -4.226796393764e-02 3.337505488468e+02
9012 9.0100 -4.242385050444e-02 3.339285983300e+02
9013 9.0110 -4.261636676106e-02 3.341067016518e+02
9014 9.0120 -4.281362142110e-02 3.342848907488e+02
9015 9.0130 -4.310008128949e-02 3.344630811995e+02
9016 9.0140 -4.337902175149e-02 3.346413697738e+02
9017 9.0150 -4.361448182558e-02 3.348197924778e+02
9018 9.0160 -4.383304090501e-02 3.349983227777e+02
9019 9.0170 -4.392602320452e-02 3.351770693946e+02
9020 9.0180 -4.398346377142e-02 3.353559423387e+02
9021 9.0190 -4.411985351762e-02 3.355348271645e+02
9022 9.0200 -4.430177405184e-02 3.357137573360e+02
9023 9.0210 -4.442366405059e-02 3.358928384598e+02
9024 9.0220 -4.453522272863e-02 3.360720208822e+02
9025 9.0230 -4.467527275642e-02 3.362512658260e+02
9026 9.0240 -4.465342303758e-02 3.364307637279e+02
9027 9.0250 -4.464180236734e-02 3.366103425046e+02
9028 9.0260 -4.465551741568e-02 3.367899870950e+02
9029 9.0270 -4.463389900008e-02 3.369697582139e+02
9030 9.0280 -4.464830137129e-02 3.371495845525e+02
9031 9.0290 -4.470466204772e-02 3.373294602191e+02
9032 9.0300 -4.485235461500e-02 3.375093358857e+02
9033 9.0310 -4.502977305897e-02 3.376892732040e+02
9034 9.0320 -4.521923949731e-02 3.378692898976e+02
9035 9.0330 -4.537350369853e-02 3.380494332624e+02
9036 9.0340 -4.551617930627e-02 3.382296797305e+02
9037 9.0350 -4.563889651667e-02 3.384100377175e+02
9038 9.0360 -4.574325398955e-02 3.385905056706e+02
9039 9.0370 -4.593926357454e-02 3.387709736237e+02
9040 9.0380 -4.622697110950e-02 3.389514415767e+02
9041 9.0390 -4.650473924393e-02 3.391320112130e+02
9042 9.0400 -4.669078331749e-02 3.393127643630e+02
9043 9.0410 -4.685996225814e-02 3.394936262138e+02
9044 9.0420 -4.698914231825e-02 3.396746199449e+02
9045 9.0430 -4.714535863728e-02 3.398556785673e+02
9046 9.0440 -4.731039514812e-02 3.400368203430e+02
9047 9.0450 -4.745400486885e-02 3.402180755649e+02
9048 9.0460 -4.768968006544e-02 3.403993307868e+02
9049 9.0470 -4.801746678279e-02 3.405805860087e+02
9050 9.0480 -4.843143308787e-02 3.407618472086e+02
9051 9.0490 -4.884544816466e-02 3.409432005634e+02
9052 9.0500 -4.928793087083e-02 3.411246177004e+02
9053 9.0510 -4.971800441173e-02 3.413061395424e+02
9054 9.0520 -5.011476890799e-02 3.414877870356e+02
9055 9.0530 -5.045027541277e-02 3.416695881751e+02
9056 9.0540 -5.073798386145e-02 3.418515295471e+02
9057 9.0550 -5.111817301465e-02 3.420334709191e+02
9058 9.0560 -5.151317960662e-02 3.422154900006e+02
9059 9.0570 -5.191928674602e-02 3.423975905547e+02
9060 9.0580 -5.231364701356e-02 3.425797954753e+02
9061 9.0590 -5.277077965809e-02 3.427620302894e+02
9062 9.0600 -5.318089082745e-02 3.429444048371e+02
9063 9.0610 -5.358546386240e-02 3.431268776816e+02
9064 9.0620 -5.402782044855e-02 3.433094055474e+02
9065 9.0630 -5.443854562945e-02 3.434920578960e+02
9066 9.0640 -5.477392643142e-02 3.436748784868e+02
9067 9.0650 -5.512827264210e-02 3.438577730564e+02
9068 9.0660 -5.545459400186e-02 3.440407886417e+02
9069 9.0670 -5.585606372460e-02 3.442238221158e+02
9070 9.0680 -5.622324800735e-02 3.444069829592e+02
9071 9.0690 -5.656812662253e-02 3.445902592386e+02
9072 9.0700 -5.685920544583e-02 3.447736824947e+02
9073 9.0710 -5.709013830301e-02 3.449572591202e+02
9074 9.0720 -5.728263736845e-02 3.451409674497e+02
9075 9.0730 -5.744099349660e-02 3.453248032390e+02
9076 9.0740 -5.756524960299e-02 3.455087664917e+02
9077 9.0750 -5.772223874004e-02 3.456927904215e+02
9078 9.0760 -5.782381622944e-02 3.458769632198e+02
9079 9.0770 -5.786009475517e-02 3.460612948207e+02
9080 9.0780 -5.786239667020e-02 3.462457539486e+02
9081 9.0790 -5.785291873935e-02 3.464303184535e+02
9082 9.0800 -5.793074831467e-02 3.466148892949e+02
9083 9.0810 -5.797543031792e-02 3.467995869746e+02
9084 9.0820 -5.804688540146e-02 3.469843516189e+02
9085 9.0830 -5.819739598365e-02 3.471691309923e+02
9086 9.0840 -5.829211419548e-02 3.473540599895e+02
9087 9.0850 -5.840834997873e-02 3.475390613474e+02
9088 9.0860 -5.846815954291e-02 3.477242130570e+02
9089 9.0870 -5.849193579824e-02 3.479094947721e+02
9090 9.0880 -5.844973513668e-02 3.480949364834e+02
9091 9.0890 -5.841076159129e-02 3.482804690339e+02
9092 9.0900 -5.836893197393e-02 3.484660985539e+02
9093 9.0910 -5.823167851169e-02 3.486519176581e+02
9094 9.0920 -5.817977081698e-02 3.488377456241e+02
9095 9.0930 -5.815892561520e-02 3.490236367822e+02
9096 9.0940 -5.810460384362e-02 3.492096557187e+02
9097 9.0950 -5.814272862831e-02 3.493956765576e+02
9098 9.0960 -5.827524953788e-02 3.495816973964e+02
9099 9.0970 -5.844323098765e-02 3.497677772181e+02
9100 9.0980 -5.853046324725e-02 3.499540322795e+02
9101 9.0990 -5.860016039954e-02 3.501403994138e+02
9102 9.1000 -5.867957791088e-02 3.503268514129e+02
9103 9.1010 -5.879013081633e-02 3.505133669090e+02
9104 9.1020 -5.884365560300e-02 3.507000341130e+02
9105 9.1030 -5.886871801898e-02 3.508868245064e+02
9106 9.1040 -5.898855490024e-02 3.510736148998e+02
9107 9.1050 -5.919061533988e-02 3.512604178916e+02
9108 9.1060 -5.929364016605e-02 3.514474147882e+02
9109 9.1070 -5.927825220469e-02 3.516346250143e+02
9110 9.1080 -5.929791547787e-02 3.518218951535e+02
9111 9.1090 -5.933560952388e-02 3.520092422735e+02
9112 9.1100 -5.937968054607e-02 3.521966780758e+02
9113 9.1110 -5.934051549131e-02 3.523842922209e+02
9114 9.1120 -5.931075967576e-02 3.525719921111e+02
9115 9.1130 -5.926926690792e-02 3.527597989402e+02
9116 9.1140 -5.928505780117e-02 3.529476437351e+02
9117 9.1150 -5.939614585568e-02 3.531354885301e+02
9118 9.1160 -5.951082218296e-02 3.533234250815e+02
9119 9.1170 -5.965583083798e-02 3.535114266932e+02
9120 9.1180 -5.976816277202e-02 3.536995564218e+02
9121 9.1190 -5.997351081403e-02 3.538876886222e+02
9122 9.1200 -6.014622837974e-02 3.540759489888e+02
9123 9.1210 -6.026547548300e-02 3.542643584094e+02
9124 9.1220 -6.043563361553e-02 3.544528125502e+02
9125 9.1230 -6.054569934459e-02 3.546414224625e+02
9126 9.1240 -6.065765042896e-02 3.548301262164e+02
9127 9.1250 -6.076164417787e-02 3.550189337026e+02
9128 9.1260 -6.083135038814e-02 3.552078712989e+02
9129 9.1270 -6.093079768922e-02 3.553968750249e+02
9130 9.1280 -6.097119018598e-02 3.555860337243e+02
9131 9.1290 -6.099136972729e-02 3.557753086032e+02
9132 9.1300 -6.102466680831e-02 3.559646663791e+02
9133 9.1310 -6.104680676371e-02 3.561541313748e+02
9134 9.1320 -6.103152499418e-02 3.563437299029e+02
9135 9.1330 -6.105594615712e-02 3.565333848867e+02
9136 9.1340 -6.109449178665e-02 3.567231219528e+02
9137 9.1350 -6.121644875310e-02 3.569128718625e+02
9138 9.1360 -6.133589705746e-02 3.571027205840e+02
9139 9.1370 -6.136601039759e-02 3.572927549916e+02
9140 9.1380 -6.139932459298e-02 3.574828825977e+02
9141 9.1390 -6.152293549571e-02 3.576730163548e+02
9142 9.1400 -6.163496745168e-02 3.578632581867e+02
9143 9.1410 -6.169482837339e-02 3.580536487337e+02
9144 9.1420 -6.180401540986e-02 3.582440865470e+02
9145 9.1430 -6.180277439156e-02 3.584347314290e+02
9146 9.1440 -6.175385219192e-02 3.586255206813e+02
9147 9.1450 -6.179933509303e-02 3.588163122659e+02
9148 9.1460 -6.188256682570e-02 3.590071628874e+02
9149 9.1470 -6.193417892043e-02 3.591981419627e+02
9150 9.1480 -6.203471105877e-02 3.593891690006e+02
9151 9.1490 -6.208332283284e-02 3.595803448899e+02
9152 9.1500 -6.209949157922e-02 3.597716502018e+02
9153 9.1510 -6.203566682053e-02 3.599631325352e+02
9154 9.1520 -6.193186110514e-02 3.601547519262e+02
9155 9.1530 -6.166812041413e-02 3.603466283772e+02
9156 9.1540 -6.140746298430e-02 3.605385989187e+02
9157 9.1550 -6.123775606318e-02 3.607305757320e+02
9158 9.1560 -6.095626743938e-02 3.609227615979e+02
9159 9.1570 -6.061431567994e-02 3.611151052464e+02
9160 9.1580 -6.027238169141e-02 3.613075462455e+02
9161 9.1590 -5.991793227569e-02 3.615000971769e+02
9162 9.1600 -5.958289477352e-02 3.616927261620e+02
9163 9.1610 -5.927063390889e-02 3.618854298849e+02
9164 9.1620 -5.896681490217e-02 3.620782227291e+02
9165 9.1630 -5.869111298006e-02 3.622710850682e+02
9166 9.1640 -5.838278675576e-02 3.624640776923e+02
9167 9.1650 -5.801038508746e-02 3.626572321015e+02
9168 9.1660 -5.769812564116e-02 3.628504241270e+02
9169 9.1670 -5.748367357326e-02 3.630436161525e+02
9170 9.1680 -5.736707780030e-02 3.632368081780e+02
9171 9.1690 -5.727004171102e-02 3.634300785490e+02
9172 9.1700 -5.722034612063e-02 3.636233995338e+02
9173 9.1710 -5.719838771966e-02 3.638167907845e+02
9174 9.1720 -5.713749398895e-02 3.640103190228e+02
9175 9.1730 -5.697556671174e-02 3.642040463958e+02
9176 9.1740 -5.679126319343e-02 3.643978942954e+02
9177 9.1750 -5.657643338327e-02 3.645918709207e+02
9178 9.1760 -5.638914378953e-02 3.647859182543e+02
9179 9.1770 -5.622057256169e-02 3.649800451672e+02
9180 9.1780 -5.607768199706e-02 3.651742447461e+02
9181 9.1790 -5.589563424696e-02 3.653685818783e+02
9182 9.1800 -5.570250858615e-02 3.655630285336e+02
9183 9.1810 -5.555457124997e-02 3.657575284949e+02
9184 9.1820 -5.549009060119e-02 3.659520435433e+02
9185 9.1830 -5.535710139864e-02 3.661467256932e+02
9186 9.1840 -5.524153007565e-02 3.663414890675e+02
9187 9.1850 -5.504348348385e-02 3.665364336087e+02
9188 9.1860 -5.483027683762e-02 3.667314920510e+02
9189 9.1870 -5.469113618351e-02 3.669265752176e+02
9190 9.1880 -5.448965315192e-02 3.671218195663e+02
9191 9.1890 -5.429483319296e-02 3.673171561412e+02
9192 9.1900 -5.403284916569e-02 3.675126588188e+02
9193 9.1910 -5.379789294620e-02 3.677082334567e+02
9194 9.1920 -5.354008883974e-02 3.679039299802e+02
9195 9.1930 -5.327650284113e-02 3.680997313727e+02
9196 9.1940 -5.298148566708e-02 3.682956633331e+02
9197 9.1950 -5.264822937532e-02 3.684917327190e+02
9198 9.1960 -5.233601546928e-02 3.686878802983e+02
9199 9.1970 -5.192622579344e-02 3.688842247391e+02
9200 9.1980 -5.154322728578e-02 3.690806417238e+02
9201 9.1990 -5.118474138446e-02 3.692771335808e+02
9202 9.2000 -5.078252281494e-02 3.694737686051e+02
9203 9.2010 -5.042319201305e-02 3.696704602259e+02
9204 9.2020 -5.003508827163e-02 3.698672801538e+02
9205 9.2030 -4.971059224014e-02 3.700641360577e+02
9206 9.2040 -4.930293265165e-02 3.702611747589e+02
9207 9.2050 -4.888335720172e-02 3.704583250595e+02
9208 9.2060 -4.845316562906e-02 3.706555857095e+02
9209 9.2070 -4.810177814904e-02 3.708528673386e+02
9210 9.2080 -4.772772638603e-02 3.710502714651e+02
9211 9.2090 -4.739163151613e-02 3.712477375178e+02
9212 9.2100 -4.715546965174e-02 3.714452035705e+02
9213 9.2110 -4.701929077264e-02 3.716426696232e+02
9214 9.2120 -4.682478457155e-02 3.718402940362e+02
9215 9.2130 -4.670457254275e-02 3.720379442381e+02
9216 9.2140 -4.668449358556e-02 3.722355944399e+02
9217 9.2150 -4.660515709724e-02 3.724334040824e+02
9218 9.2160 -4.660156102487e-02 3.726312382178e+02
9219 9.2170 -4.664512466404e-02 3.728291254769e+02
9220 9.2180 -4.658810128506e-02 3.730272136565e+02
9221 9.2190 -4.653730331464e-02 3.732253959944e+02
9222 9.2200 -4.647563289173e-02 3.734236896386e+02
9223 9.2210 -4.631099970015e-02 3.736221867299e+02
9224 9.2220 -4.611847288383e-02 3.738208122491e+02
9225 9.2230 -4.599175400178e-02 3.740194725451e+02
9226 9.2240 -4.592468512732e-02 3.742181738260e+02
9227 9.2250 -4.576901992678e-02 3.744170643887e+02
9228 9.2260 -4.560794494732e-02 3.746160610967e+02
9229 9.2270 -4.539174379341e-02 3.748152137170e+02
9230 9.2280 -4.512634812158e-02 3.750145163683e+02
9231 9.2290 -4.480577661777e-02 3.752139750823e+02
9232 9.2300 -4.451098370639e-02 3.754135089551e+02
9233 9.2310 -4.424076752719e-02 3.756131192390e+02
9234 9.2320 -4.398939773940e-02 3.758128117148e+02
9235 9.2330 -4.376373114921e-02 3.760125795763e+02
9236 9.2340 -4.360310284051e-02 3.762123835389e+02
9237 9.2350 -4.346064593321e-02 3.764122705201e+02
9238 9.2360 -4.325032389526e-02 3.766123266071e+02
9239 9.2370 -4.300031024177e-02 3.768125236770e+02
9240 9.2380 -4.263871187632e-02 3.770129336734e+02
9241 9.2390 -4.233081379728e-02 3.772133913622e+02
9242 9.2400 -4.204836204801e-02 3.774139250479e+02
9243 9.2410 -4.170300423256e-02 3.776146231338e+02
9244 9.2420 -4.135963899753e-02 3.778154207718e+02
9245 9.2430 -4.100942326317e-02 3.780163268559e+02
9246 9.2440 -4.054976616798e-02 3.782174440278e+02
9247 9.2450 -4.005384478424e-02 3.784186991612e+02
9248 9.2460 -3.960085933461e-02 3.786200131068e+02
9249 9.2470 -3.917319425401e-02 3.788214035309e+02
9250 9.2480 -3.879508734830e-02 3.790228462468e+02
9251 9.2490 -3.849123812388e-02 3.792243166058e+02
9252 9.2500 -3.817772097811e-02 3.794258985845e+02
9253 9.2510 -3.792403644529e-02 3.796275227334e+02
9254 9.2520 -3.777240570167e-02 3.798291468823e+02
9255 9.2530 -3.756239520772e-02 3.800309315157e+02
9256 9.2540 -3.734323054157e-02 3.802328274592e+02
9257 9.2550 -3.719407506546e-02 3.804347556006e+02
9258 9.2560 -3.689387844594e-02 3.806369370411e+02
9259 9.2570 -3.661384224975e-02 3.808392006305e+02
9260 9.2580 -3.634157392314e-02 3.810415588124e+02
9261 9.2590 -3.609110653854e-02 3.812439976050e+02
9262 9.2600 -3.578597124611e-02 3.814465935283e+02
9263 9.2610 -3.550266914532e-02 3.816492701325e+02
9264 9.2620 -3.527865606237e-02 3.818519900130e+02
9265 9.2630 -3.499388519246e-02 3.820548732679e+02
9266 9.2640 -3.480469113729e-02 3.822577636140e+02
9267 9.2650 -3.469422039854e-02 3.824606779561e+02
9268 9.2660 -3.457449561230e-02 3.826637043228e+02
9269 9.2670 -3.451331719084e-02 3.828667749653e+02
9270 9.2680 -3.451637643395e-02 3.830698842436e+02
9271 9.2690 -3.448359068111e-02 3.832731322918e+02
9272 9.2700 -3.435607663061e-02 3.834765780448e+02
9273 9.2710 -3.421160339591e-02 3.836801437849e+02
9274 9.2720 -3.405174921011e-02 3.838838279853e+02
9275 9.2730 -3.386906475546e-02 3.840876381470e+02
9276 9.2740 -3.370863942849e-02 3.842915292322e+02
9277 9.2750 -3.347752449744e-02 3.844955942412e+02
9278 9.2760 -3.321990330365e-02 3.846997890422e+02
9279 9.2770 -3.304617622104e-02 3.849040032866e+02
9280 9.2780 -3.282995713249e-02 3.851083634122e+02
9281 9.2790 -3.268867817608e-02 3.853127520384e+02
9282 9.2800 -3.248831376603e-02 3.855173032428e+02
9283 9.2810 -3.228622841914e-02 3.857219597124e+02
9284 9.2820 -3.199635605272e-02 3.859268075651e+02
9285 9.2830 -3.174066768168e-02 3.861317248818e+02
9286 9.2840 -3.150452440321e-02 3.863367263532e+02
9287 9.2850 -3.133747688024e-02 3.865417624805e+02
9288 9.2860 -3.117834415442e-02 3.867468944966e+02
9289 9.2870 -3.101056357303e-02 3.869521390159e+02
9290 9.2880 -3.085073683924e-02 3.871574794888e+02
9291 9.2890 -3.077620748352e-02 3.873628386236e+02
9292 9.2900 -3.080568947689e-02 3.875681977585e+02
9293 9.2910 -3.084007888768e-02 3.877736560493e+02
9294 9.2920 -3.086744942460e-02 3.879792254744e+02
9295 9.2930 -3.084165598653e-02 3.881849522309e+02
9296 9.2940 -3.070660567468e-02 3.883908924640e+02
9297 9.2950 -3.062869224159e-02 3.885968798318e+02
9298 9.2960 -3.049859134077e-02 3.888030237109e+02
9299 9.2970 -3.034753035560e-02 3.890092929262e+02
9300 9.2980 -3.017182352500e-02 3.892156912155e+02
9301 9.2990 -3.007002778471e-02 3.894221200742e+02
9302 9.3000 -3.006447819910e-02 3.896285572195e+02
9303 9.3010 -3.000192714858e-02 3.898351559512e+02
9304 9.3020 -2.992380028613e-02 3.900418748960e+02
9305 9.3030 -2.988485294809e-02 3.902486593509e+02
9306 9.3040 -2.985585736961e-02 3.904555385960e+02
9307 9.3050 -2.980162136824e-02 3.906625478760e+02
9308 9.3060 -2.971636948361e-02 3.908696930185e+02
9309 9.3070 -2.965286892503e-02 3.910769213090e+02
9310 9.3080 -2.969432004280e-02 3.912841495995e+02
9311 9.3090 -2.976118406719e-02 3.914914574812e+02
9312 9.3100 -2.991645348007e-02 3.916987820142e+02
9313 9.3110 -3.007981609229e-02 3.919062035633e+02
9314 9.3120 -3.017877070109e-02 3.921137946821e+02
9315 9.3130 -3.022191939687e-02 3.923215468213e+02
9316 9.3140 -3.024753641530e-02 3.925294217591e+02
9317 9.3150 -3.023460782420e-02 3.927374405622e+02
9318 9.3160 -3.030948933483e-02 3.929454769275e+02
9319 9.3170 -3.029279512098e-02 3.931537102935e+02
9320 9.3180 -3.027980653389e-02 3.933620454317e+02
9321 9.3190 -3.032913728794e-02 3.935704237810e+02
9322 9.3200 -3.040506767502e-02 3.937788811140e+02
9323 9.3210 -3.041700799725e-02 3.939875080731e+02
9324 9.3220 -3.033734056184e-02 3.941963323289e+02
9325 9.3230 -3.028006875889e-02 3.944052399309e+02
9326 9.3240 -3.027582839918e-02 3.946142002960e+02
9327 9.3250 -3.032703952592e-02 3.948232110572e+02
9328 9.3260 -3.041114053056e-02 3.950322948291e+02
9329 9.3270 -3.060119500366e-02 3.952413786010e+02
9330 9.3280 -3.077814949723e-02 3.954505814793e+02
9331 9.3290 -3.091266572702e-02 3.956599328553e+02
9332 9.3300 -3.099002318327e-02 3.958694475026e+02
9333 9.3310 -3.106483912564e-02 3.960790708571e+02
9334 9.3320 -3.111790023859e-02 3.962888221850e+02
9335 9.3330 -3.119491838289e-02 3.964986558277e+02
9336 9.3340 -3.129587976341e-02 3.967085718522e+02
9337 9.3350 -3.132290824959e-02 3.969186681876e+02
9338 9.3360 -3.133752452913e-02 3.971288833667e+02
9339 9.3370 -3.144800527628e-02 3.973391091658e+02
9340 9.3380 -3.151590603505e-02 3.975494840827e+02
9341 9.3390 -3.163320867966e-02 3.977599161888e+02
9342 9.3400 -3.178977951373e-02 3.979704156711e+02
9343 9.3410 -3.195484449922e-02 3.981810133571e+02
9344 9.3420 -3.209772612103e-02 3.983917399775e+02
9345 9.3430 -3.226450793432e-02 3.986025495022e+02
9346 9.3440 -3.245517903751e-02 3.988134419955e+02
9347 9.3450 -3.268501355557e-02 3.990244022368e+02
9348 9.3460 -3.283278700003e-02 3.992355515039e+02
9349 9.3470 -3.300501124395e-02 3.994467833386e+02
9350 9.3480 -3.318009094354e-02 3.996581193897e+02
9351 9.3490 -3.335905369446e-02 3.998695586831e+02
9352 9.3500 -3.344311265702e-02 4.000812000593e+02
9353 9.3510 -3.346497898985e-02 4.002930108606e+02
9354 9.3520 -3.354096055933e-02 4.005048748329e+02
9355 9.3530 -3.361052161920e-02 4.007168525656e+02
9356 9.3540 -3.374850427645e-02 4.009288692703e+02
9357 9.3550 -3.389657106724e-02 4.011409833380e+02
9358 9.3560 -3.407541877167e-02 4.013531741258e+02
9359 9.3570 -3.435733357631e-02 4.015653694013e+02
9360 9.3580 -3.463301133776e-02 4.017776785224e+02
9361 9.3590 -3.484420402643e-02 4.019901597908e+02
9362 9.3600 -3.510588825265e-02 4.022026982840e+02
9363 9.3610 -3.537060578403e-02 4.024153415139e+02
9364 9.3620 -3.563959045040e-02 4.026280883007e+02
9365 9.3630 -3.596427367922e-02 4.028408872668e+02
9366 9.3640 -3.636758704228e-02 4.030537155346e+02
9367 9.3650 -3.682146134990e-02 4.032666012273e+02
9368 9.3660 -3.730496516793e-02 4.034795653303e+02
9369 9.3670 -3.774997250299e-02 4.036926760237e+02
9370 9.3680 -3.815456973877e-02 4.039059352751e+02
9371 9.3690 -3.858723714640e-02 4.041192746583e+02
9372 9.3700 -3.897474487351e-02 4.043327674574e+02
9373 9.3710 -3.938490053450e-02 4.045463459188e+02
9374 9.3720 -3.981803373364e-02 4.047600097671e+02
9375 9.3730 -4.035849619838e-02 4.049736747048e+02
9376 9.3740 -4.099911814716e-02 4.051873479559e+02
9377 9.3750 -4.153277868781e-02 4.054012366955e+02
9378 9.3760 -4.204815102991e-02 4.056152523046e+02
9379 9.3770 -4.253961706858e-02 4.058294004558e+02
9380 9.3780 -4.298699366671e-02 4.060437013864e+02
9381 9.3790 -4.333903779887e-02 4.062582063939e+02
9382 9.3800 -4.361780944251e-02 4.064728934727e+02
9383 9.3810 -4.399212110693e-02 4.066875938646e+02
9384 9.3820 -4.436305755284e-02 4.069024065393e+02
9385 9.3830 -4.476989381222e-02 4.071172922763e+02
9386 9.3840 -4.518700639513e-02 4.073322767536e+02
9387 9.3850 -4.557438879756e-02 4.075474000322e+02
9388 9.3860 -4.593865248175e-02 4.077626555551e+02
9389 9.3870 -4.630335163163e-02 4.079780198228e+02
9390 9.3880 -4.656907970754e-02 4.081935922965e+02
9391 9.3890 -4.680457227216e-02 4.084093042950e+02
9392 9.3900 -4.702076678687e-02 4.086251449358e+02
9393 9.3910 -4.718140726950e-02 4.088411505294e+02
9394 9.3920 -4.730888477182e-02 4.090572987395e+02
9395 9.3930 -4.748965375955e-02 4.092735031664e+02
9396 9.3940 -4.767911724538e-02 4.094898084619e+02
9397 9.3950 -4.790763191932e-02 4.097061843239e+02
9398 9.3960 -4.822359748150e-02 4.099225824078e+02
9399 9.3970 -4.841878722418e-02 4.101392109949e+02
9400 9.3980 -4.863398976313e-02 4.103559293517e+02
9401 9.3990 -4.889812324277e-02 4.105727086147e+02
9402 9.4000 -4.916197278102e-02 4.107895980540e+02
9403 9.4010 -4.951121922045e-02 4.110065120435e+02
9404 9.4020 -4.976314179504e-02 4.112236333590e+02
9405 9.4030 -4.989254223000e-02 4.114409872539e+02
9406 9.4040 -5.008385861039e-02 4.116583893450e+02
9407 9.4050 -5.034336591434e-02 4.118758334125e+02
9408 9.4060 -5.055470969954e-02 4.120934358659e+02
9409 9.4070 -5.064854774315e-02 4.123112661025e+02
9410 9.4080 -5.082587830494e-02 4.125291231793e+02
9411 9.4090 -5.110893644227e-02 4.127469849164e+02
9412 9.4100 -5.137395600187e-02 4.129649751350e+02
9413 9.4110 -5.163495942706e-02 4.131830798682e+02
9414 9.4120 -5.194773660422e-02 4.134012433811e+02
9415 9.4130 -5.224580677435e-02 4.136195322098e+02
9416 9.4140 -5.248100530748e-02 4.138379945744e+02
9417 9.4150 -5.268101401871e-02 4.140566028483e+02
9418 9.4160 -5.283189385050e-02 4.142753710259e+02
9419 9.4170 -5.293798224762e-02 4.144942948253e+02
9420 9.4180 -5.306799333789e-02 4.147133055876e+02
9421 9.4190 -5.327193820646e-02 4.149323533574e+02
9422 9.4200 -5.349628090188e-02 4.151514917260e+02
9423 9.4210 -5.373939279714e-02 4.153707223775e+02
9424 9.4220 -5.395150346672e-02 4.155900951380e+02
9425 9.4230 -5.426049965391e-02 4.158094821762e+02
9426 9.4240 -5.456414702634e-02 4.160289857821e+02
9427 9.4250 -5.481829045605e-02 4.162486501664e+02
9428 9.4260 -5.508274416138e-02 4.164684155706e+02
9429 9.4270 -5.530156652578e-02 4.166883379920e+02
9430 9.4280 -5.550214121928e-02 4.169083901025e+02
9431 9.4290 -5.567865849949e-02 4.171285777678e+02
9432 9.4300 -5.588351373050e-02 4.173488486481e+02
9433 9.4310 -5.607169343659e-02 4.175692478127e+02
9434 9.4320 -5.629436308917e-02 4.177897241520e+02
9435 9.4330 -5.646690784369e-02 4.180103623367e+02
9436 9.4340 -5.656225272918e-02 4.182311894977e+02
9437 9.4350 -5.662085251098e-02 4.184521652359e+02
9438 9.4360 -5.665937190684e-02 4.186732729428e+02
9439 9.4370 -5.670161326093e-02 4.188944888718e+02
9440 9.4380 -5.665314439288e-02 4.191159075112e+02
9441 9.4390 -5.663560256575e-02 4.193374072797e+02
9442 9.4400 -5.661536573972e-02 4.195590218554e+02
9443 9.4410 -5.654366484805e-02 4.197808000634e+02
9444 9.4420 -5.648750631127e-02 4.200026749534e+02
9445 9.4430 -5.639525258291e-02 4.202246982190e+02
9446 9.4440 -5.626679088882e-02 4.204468700293e+02
9447 9.4450 -5.617385874291e-02 4.206691187028e+02
9448 9.4460 -5.600353548852e-02 4.208915572165e+02
9449 9.4470 -5.580287275019e-02 4.211141385749e+02
9450 9.4480 -5.562643594931e-02 4.213368082689e+02
9451 9.4490 -5.551392729264e-02 4.215595266526e+02
9452 9.4500 -5.536513602029e-02 4.217823939930e+02
9453 9.4510 -5.521723476330e-02 4.220053731740e+02
9454 9.4520 -5.506723631480e-02 4.222284672390e+02
9455 9.4530 -5.495901162425e-02 4.224516323735e+02
9456 9.4540 -5.485270262135e-02 4.226749084921e+02
9457 9.4550 -5.472192922454e-02 4.228983220313e+02
9458 9.4560 -5.462230214313e-02 4.231218174368e+02
9459 9.4570 -5.453389301671e-02 4.233454146936e+02
9460 9.4580 -5.443560050494e-02 4.235691349595e+02
9461 9.4590 -5.435102970740e-02 4.237929546860e+02
9462 9.4600 -5.418157089061e-02 4.240169725394e+02
9463 9.4610 -5.403647681764e-02 4.242410793237e+02
9464 9.4620 -5.391576602975e-02 4.244652750769e+02
9465 9.4630 -5.388071333970e-02 4.246894985810e+02
9466 9.4640 -5.395912628529e-02 4.249137220850e+02
9467 9.4650 -5.402389088467e-02 4.251380727598e+02
9468 9.4660 -5.402603394716e-02 4.253625996353e+02
9469 9.4670 -5.390506755815e-02 4.255873632562e+02
9470 9.4680 -5.377138215032e-02 4.258122532888e+02
9471 9.4690 -5.368118710526e-02 4.260372135808e+02
9472 9.4700 -5.357772643014e-02 4.262623009450e+02
9473 9.4710 -5.343509785101e-02 4.264875413405e+02
9474 9.4720 -5.321480153236e-02 4.267129733242e+02
9475 9.4730 -5.304473059120e-02 4.269384690599e+02
9476 9.4740 -5.273306642566e-02 4.271642204232e+02
9477 9.4750 -5.248236348522e-02 4.273900249166e+02
9478 9.4760 -5.224510613337e-02 4.276159301130e+02
9479 9.4770 -5.193013351998e-02 4.278420272302e+02
9480 9.4780 -5.165190998011e-02 4.280682018610e+02
9481 9.4790 -5.144330377268e-02 4.282944211943e+02
9482 9.4800 -5.133524024141e-02 4.285206543619e+02
9483 9.4810 -5.118046323179e-02 4.287470486772e+02
9484 9.4820 -5.098580134252e-02 4.289735973688e+02
9485 9.4830 -5.077348876968e-02 4.292002782598e+02
9486 9.4840 -5.063625854631e-02 4.294269986744e+02
9487 9.4850 -5.046195880468e-02 4.296538708219e+02
9488 9.4860 -5.022243458492e-02 4.298809229144e+02
9489 9.4870 -4.992913178613e-02 4.301081435636e+02
9490 9.4880 -4.959382203016e-02 4.303355210552e+02
9491 9.4890 -4.937340513167e-02 4.305628985467e+02
9492 9.4900 -4.915813206170e-02 4.307903858448e+02
9493 9.4910 -4.893383890869e-02 4.310179971707e+02
9494 9.4920 -4.870782274224e-02 4.312457252850e+02
9495 9.4930 -4.848818623245e-02 4.314735621425e+02
9496 9.4940 -4.826859962460e-02 4.317015141305e+02
9497 9.4950 -4.814838390545e-02 4.319294819857e+02
9498 9.4960 -4.801592806630e-02 4.321575773767e+02
9499 9.4970 -4.786698125507e-02 4.323858046121e+02
9500 9.4980 -4.772669189931e-02 4.326141386010e+02
9501 9.4990 -4.748389543408e-02 4.328426905658e+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())