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 11 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
5002 5.0000 -4.537134955881e-02 3.155347763754e+01
5003 5.0010 -4.578055068952e-02 3.157475342638e+01
5004 5.0020 -4.620194040349e-02 3.159602921521e+01
5005 5.0030 -4.663552479655e-02 3.161730500404e+01
5006 5.0040 -4.705929866690e-02 3.163860280417e+01
5007 5.0050 -4.710735146359e-02 3.166028853226e+01
5008 5.0060 -4.716761724515e-02 3.168197426035e+01
5009 5.0070 -4.724010211961e-02 3.170365998843e+01
5010 5.0080 -4.732481219806e-02 3.172534571652e+01
5011 5.0090 -4.742175359464e-02 3.174703144461e+01
5012 5.0100 -4.753093242655e-02 3.176871717269e+01
5013 5.0110 -4.765235481403e-02 3.179040290078e+01
5014 5.0120 -4.778602688043e-02 3.181208862887e+01
5015 5.0130 -4.793195475212e-02 3.183377435695e+01
5016 5.0140 -4.809014455853e-02 3.185546008504e+01
5017 5.0150 -4.826060243219e-02 3.187714581313e+01
5018 5.0160 -4.844333450869e-02 3.189883154121e+01
5019 5.0170 -4.863834692663e-02 3.192051726930e+01
5020 5.0180 -4.855160288058e-02 3.194249704033e+01
5021 5.0190 -4.836289396713e-02 3.196459106886e+01
5022 5.0200 -4.818648382951e-02 3.198668509739e+01
5023 5.0210 -4.802237861868e-02 3.200877912592e+01
5024 5.0220 -4.787058448862e-02 3.203087315445e+01
5025 5.0230 -4.773110759644e-02 3.205296718298e+01
5026 5.0240 -4.760395410229e-02 3.207506121151e+01
5027 5.0250 -4.748913016945e-02 3.209715524004e+01
5028 5.0260 -4.738664196423e-02 3.211924926856e+01
5029 5.0270 -4.729649565606e-02 3.214134329709e+01
5030 5.0280 -4.721869741742e-02 3.216343732562e+01
5031 5.0290 -4.715325342392e-02 3.218553135415e+01
5032 5.0300 -4.710016985424e-02 3.220762538268e+01
5033 5.0310 -4.705945289013e-02 3.222971941121e+01
5034 5.0320 -4.703110871645e-02 3.225181343974e+01
5035 5.0330 -4.701514352118e-02 3.227390746827e+01
5036 5.0340 -4.701156349534e-02 3.229600149680e+01
5037 5.0350 -4.702037483309e-02 3.231809552533e+01
5038 5.0360 -4.704158373164e-02 3.234018955386e+01
5039 5.0370 -4.707519639138e-02 3.236228358238e+01
5040 5.0380 -4.712121901571e-02 3.238437761091e+01
5041 5.0390 -4.717965781120e-02 3.240647163944e+01
5042 5.0400 -4.725051898747e-02 3.242856566797e+01
5043 5.0410 -4.733380875730e-02 3.245065969650e+01
5044 5.0420 -4.742953333653e-02 3.247275372503e+01
5045 5.0430 -4.753769894417e-02 3.249484775356e+01
5046 5.0440 -4.765831180224e-02 3.251694178209e+01
5047 5.0450 -4.779137813596e-02 3.253903581062e+01
5048 5.0460 -4.793690417365e-02 3.256112983915e+01
5049 5.0470 -4.809489614673e-02 3.258322386767e+01
5050 5.0480 -4.826536028970e-02 3.260531789620e+01
5051 5.0490 -4.844830284024e-02 3.262741192473e+01
5052 5.0500 -4.864373003913e-02 3.264950595326e+01
5053 5.0510 -4.885164813024e-02 3.267159998179e+01
5054 5.0520 -4.907206336061e-02 3.269369401032e+01
5055 5.0530 -4.930498198038e-02 3.271578803885e+01
5056 5.0540 -4.955041024281e-02 3.273788206738e+01
5057 5.0550 -4.980835440428e-02 3.275997609591e+01
5058 5.0560 -5.007882072436e-02 3.278207012444e+01
5059 5.0570 -5.005747352837e-02 3.280446849490e+01
5060 5.0580 -4.994947061050e-02 3.282696605578e+01
5061 5.0590 -4.985400864858e-02 3.284946361665e+01
5062 5.0600 -4.977109391467e-02 3.287196117753e+01
5063 5.0610 -4.970073268393e-02 3.289445873840e+01
5064 5.0620 -4.964293123470e-02 3.291695629928e+01
5065 5.0630 -4.959769584850e-02 3.293945386015e+01
5066 5.0640 -4.956503280986e-02 3.296195142103e+01
5067 5.0650 -4.954494840661e-02 3.298444898190e+01
5068 5.0660 -4.953744892960e-02 3.300694654278e+01
5069 5.0670 -4.954254067291e-02 3.302944410365e+01
5070 5.0680 -4.956022993371e-02 3.305194166453e+01
5071 5.0690 -4.959052301236e-02 3.307443922541e+01
5072 5.0700 -4.963342621235e-02 3.309693678628e+01
5073 5.0710 -4.968894584031e-02 3.311943434716e+01
5074 5.0720 -4.975708820605e-02 3.314193190803e+01
5075 5.0730 -4.983785962253e-02 3.316442946891e+01
5076 5.0740 -4.993126640587e-02 3.318692702978e+01
5077 5.0750 -5.003731487533e-02 3.320942459066e+01
5078 5.0760 -5.015601135336e-02 3.323192215153e+01
5079 5.0770 -5.028736216554e-02 3.325441971241e+01
5080 5.0780 -5.043137364062e-02 3.327691727328e+01
5081 5.0790 -5.058805211054e-02 3.329941483416e+01
5082 5.0800 -5.075740391039e-02 3.332191239503e+01
5083 5.0810 -5.093943537841e-02 3.334440995591e+01
5084 5.0820 -5.113415285607e-02 3.336690751678e+01
5085 5.0830 -5.134156268791e-02 3.338940507766e+01
5086 5.0840 -5.156167122175e-02 3.341190263853e+01
5087 5.0850 -5.179448480853e-02 3.343440019941e+01
5088 5.0860 -5.204000980236e-02 3.345689776028e+01
5089 5.0870 -5.229825256055e-02 3.347939532116e+01
5090 5.0880 -5.256921944357e-02 3.350189288203e+01
5091 5.0890 -5.285291681510e-02 3.352439044291e+01
5092 5.0900 -5.314935104198e-02 3.354688800379e+01
5093 5.0910 -5.345852849424e-02 3.356938556466e+01
5094 5.0920 -5.378045554507e-02 3.359188312554e+01
5095 5.0930 -5.411513857090e-02 3.361438068641e+01
5096 5.0940 -5.436292074100e-02 3.363697791050e+01
5097 5.0950 -5.432416155135e-02 3.365987444468e+01
5098 5.0960 -5.429817748503e-02 3.368277097886e+01
5099 5.0970 -5.428497493121e-02 3.370566751304e+01
5100 5.0980 -5.428456028227e-02 3.372856404723e+01
5101 5.0990 -5.429693993376e-02 3.375146058141e+01
5102 5.1000 -5.432212028445e-02 3.377435711559e+01
5103 5.1010 -5.436010773626e-02 3.379725364978e+01
5104 5.1020 -5.441090869440e-02 3.382015018396e+01
5105 5.1030 -5.447452956720e-02 3.384304671814e+01
5106 5.1040 -5.455097676625e-02 3.386594325232e+01
5107 5.1050 -5.464025670630e-02 3.388883978651e+01
5108 5.1060 -5.474237580535e-02 3.391173632069e+01
5109 5.1070 -5.485734048461e-02 3.393463285487e+01
5110 5.1080 -5.498515716846e-02 3.395752938905e+01
5111 5.1090 -5.512583228451e-02 3.398042592324e+01
5112 5.1100 -5.527937226363e-02 3.400332245742e+01
5113 5.1110 -5.544578353982e-02 3.402621899160e+01
5114 5.1120 -5.562507255038e-02 3.404911552578e+01
5115 5.1130 -5.581724573579e-02 3.407201205997e+01
5116 5.1140 -5.602230953975e-02 3.409490859415e+01
5117 5.1150 -5.624027040920e-02 3.411780512833e+01
5118 5.1160 -5.647113479429e-02 3.414070166252e+01
5119 5.1170 -5.671490914838e-02 3.416359819670e+01
5120 5.1180 -5.696914938371e-02 3.418649718142e+01
5121 5.1190 -5.684272079729e-02 3.420978975786e+01
5122 5.1200 -5.672922155938e-02 3.423308233429e+01
5123 5.1210 -5.662865813631e-02 3.425637491073e+01
5124 5.1220 -5.654103699760e-02 3.427966748716e+01
5125 5.1230 -5.646636461601e-02 3.430296006360e+01
5126 5.1240 -5.640464746755e-02 3.432625264003e+01
5127 5.1250 -5.635589203146e-02 3.434954521646e+01
5128 5.1260 -5.632010479024e-02 3.437283779290e+01
5129 5.1270 -5.629729222961e-02 3.439613036933e+01
5130 5.1280 -5.628746083853e-02 3.441942294577e+01
5131 5.1290 -5.629061710922e-02 3.444271552220e+01
5132 5.1300 -5.628678360693e-02 3.446602808257e+01
5133 5.1310 -5.611863089408e-02 3.448951796280e+01
5134 5.1320 -5.596348533915e-02 3.451300784303e+01
5135 5.1330 -5.582135344733e-02 3.453649772326e+01
5136 5.1340 -5.569224172710e-02 3.455998760349e+01
5137 5.1350 -5.557615669018e-02 3.458347748372e+01
5138 5.1360 -5.547310485155e-02 3.460696736395e+01
5139 5.1370 -5.538309272945e-02 3.463045724418e+01
5140 5.1380 -5.530612684537e-02 3.465394712441e+01
5141 5.1390 -5.524221372406e-02 3.467743700465e+01
5142 5.1400 -5.519135989357e-02 3.470092688488e+01
5143 5.1410 -5.515357188517e-02 3.472441676511e+01
5144 5.1420 -5.512885623339e-02 3.474790664534e+01
5145 5.1430 -5.511721947607e-02 3.477139652557e+01
5146 5.1440 -5.511866815430e-02 3.479488640580e+01
5147 5.1450 -5.513320881245e-02 3.481837628603e+01
5148 5.1460 -5.516084799816e-02 3.484186616626e+01
5149 5.1470 -5.520159226230e-02 3.486535604649e+01
5150 5.1480 -5.525544815908e-02 3.488884592672e+01
5151 5.1490 -5.532242224598e-02 3.491233580696e+01
5152 5.1500 -5.540252108372e-02 3.493582568719e+01
5153 5.1510 -5.549575123634e-02 3.495931556742e+01
5154 5.1520 -5.560211927112e-02 3.498280544765e+01
5155 5.1530 -5.572163175869e-02 3.500629532788e+01
5156 5.1540 -5.557674376477e-02 3.503006275962e+01
5157 5.1550 -5.533076737804e-02 3.505394443735e+01
5158 5.1560 -5.509795517557e-02 3.507782611509e+01
5159 5.1570 -5.487831374112e-02 3.510170779283e+01
5160 5.1580 -5.467184966171e-02 3.512558947056e+01
5161 5.1590 -5.447856952768e-02 3.514947114830e+01
5162 5.1600 -5.429847993266e-02 3.517335282603e+01
5163 5.1610 -5.413158747357e-02 3.519723450377e+01
5164 5.1620 -5.397789875067e-02 3.522111618150e+01
5165 5.1630 -5.383742036744e-02 3.524499785924e+01
5166 5.1640 -5.371015893072e-02 3.526887953698e+01
5167 5.1650 -5.359612105066e-02 3.529276121471e+01
5168 5.1660 -5.349531334068e-02 3.531664289245e+01
5169 5.1670 -5.340774241755e-02 3.534052457018e+01
5170 5.1680 -5.333341490131e-02 3.536440624792e+01
5171 5.1690 -5.327233741530e-02 3.538828792566e+01
5172 5.1700 -5.322451658625e-02 3.541216960339e+01
5173 5.1710 -5.318995904414e-02 3.543605128113e+01
5174 5.1720 -5.316867142225e-02 3.545993295886e+01
5175 5.1730 -5.316066035723e-02 3.548381463660e+01
5176 5.1740 -5.316593248902e-02 3.550769631433e+01
5177 5.1750 -5.318449446089e-02 3.553157799207e+01
5178 5.1760 -5.321635291943e-02 3.555545966981e+01
5179 5.1770 -5.326151451453e-02 3.557934134754e+01
5180 5.1780 -5.331998589947e-02 3.560322302528e+01
5181 5.1790 -5.339177373079e-02 3.562710470301e+01
5182 5.1800 -5.347688466838e-02 3.565098638075e+01
5183 5.1810 -5.357532537547e-02 3.567486805848e+01
5184 5.1820 -5.368710251864e-02 3.569874973622e+01
5185 5.1830 -5.381222276775e-02 3.572263141396e+01
5186 5.1840 -5.395069279605e-02 3.574651309169e+01
5187 5.1850 -5.410251928011e-02 3.577039476943e+01
5188 5.1860 -5.426770889980e-02 3.579427644716e+01
5189 5.1870 -5.444626833841e-02 3.581815812490e+01
5190 5.1880 -5.440006682309e-02 3.584227794009e+01
5191 5.1890 -5.421766254351e-02 3.586654734125e+01
5192 5.1900 -5.404864815263e-02 3.589081674240e+01
5193 5.1910 -5.389303034706e-02 3.591508614356e+01
5194 5.1920 -5.375081582679e-02 3.593935554471e+01
5195 5.1930 -5.362201129515e-02 3.596362494587e+01
5196 5.1940 -5.350662345881e-02 3.598789434702e+01
5197 5.1950 -5.340465902780e-02 3.601216374818e+01
5198 5.1960 -5.331612471550e-02 3.603643314933e+01
5199 5.1970 -5.324102723868e-02 3.606070255049e+01
5200 5.1980 -5.317937331743e-02 3.608497195164e+01
5201 5.1990 -5.293682193202e-02 3.610943570054e+01
5202 5.2000 -5.251567405439e-02 3.613409150294e+01
5203 5.2010 -5.210798991282e-02 3.615874730533e+01
5204 5.2020 -5.171377624087e-02 3.618340310773e+01
5205 5.2030 -5.133303977548e-02 3.620805891012e+01
5206 5.2040 -5.096578725690e-02 3.623271471252e+01
5207 5.2050 -5.061202542881e-02 3.625737051492e+01
5208 5.2060 -5.027176103826e-02 3.628202631731e+01
5209 5.2070 -4.994500083570e-02 3.630668211971e+01
5210 5.2080 -4.963175157484e-02 3.633133792211e+01
5211 5.2090 -4.933202001288e-02 3.635599372450e+01
5212 5.2100 -4.904581291040e-02 3.638064952690e+01
5213 5.2110 -4.877313703131e-02 3.640530532929e+01
5214 5.2120 -4.851399914288e-02 3.642996113169e+01
5215 5.2130 -4.826840601584e-02 3.645461693409e+01
5216 5.2140 -4.803636442425e-02 3.647927273648e+01
5217 5.2150 -4.781788114562e-02 3.650392853888e+01
5218 5.2160 -4.761296296079e-02 3.652858434127e+01
5219 5.2170 -4.742161665398e-02 3.655324014367e+01
5220 5.2180 -4.724384901287e-02 3.657789594607e+01
5221 5.2190 -4.707966682848e-02 3.660255174846e+01
5222 5.2200 -4.692907689523e-02 3.662720755086e+01
5223 5.2210 -4.679208601096e-02 3.665186335325e+01
5224 5.2220 -4.666870097691e-02 3.667651915565e+01
5225 5.2230 -4.655892859771e-02 3.670117495805e+01
5226 5.2240 -4.646277568141e-02 3.672583076044e+01
5227 5.2250 -4.638024903942e-02 3.675048656284e+01
5228 5.2260 -4.631135548660e-02 3.677514236524e+01
5229 5.2270 -4.625610184121e-02 3.679979816763e+01
5230 5.2280 -4.621449492491e-02 3.682445397003e+01
5231 5.2290 -4.618654156280e-02 3.684910977242e+01
5232 5.2300 -4.617224858333e-02 3.687376557482e+01
5233 5.2310 -4.617162281843e-02 3.689842137722e+01
5234 5.2320 -4.618467110344e-02 3.692307717961e+01
5235 5.2330 -4.621140027704e-02 3.694773298201e+01
5236 5.2340 -4.625181718145e-02 3.697238878440e+01
5237 5.2350 -4.630592866221e-02 3.699704458680e+01
5238 5.2360 -4.637374156837e-02 3.702170038920e+01
5239 5.2370 -4.645526275236e-02 3.704635619159e+01
5240 5.2380 -4.655049906999e-02 3.707101199399e+01
5241 5.2390 -4.665945738058e-02 3.709566779638e+01
5242 5.2400 -4.678214454684e-02 3.712032359878e+01
5243 5.2410 -4.691856743496e-02 3.714497940118e+01
5244 5.2420 -4.706873291446e-02 3.716963520357e+01
5245 5.2430 -4.723264785839e-02 3.719429100597e+01
5246 5.2440 -4.741031914322e-02 3.721894680837e+01
5247 5.2450 -4.760175364884e-02 3.724360261076e+01
5248 5.2460 -4.780695825856e-02 3.726825841316e+01
5249 5.2470 -4.802593985919e-02 3.729291421555e+01
5250 5.2480 -4.825870534094e-02 3.731757001795e+01
5251 5.2490 -4.850526159749e-02 3.734222582035e+01
5252 5.2500 -4.876561552596e-02 3.736688162274e+01
5253 5.2510 -4.903977402690e-02 3.739153742514e+01
5254 5.2520 -4.932774400433e-02 3.741619322753e+01
5255 5.2530 -4.935340511246e-02 3.744112515718e+01
5256 5.2540 -4.928897760152e-02 3.746616100075e+01
5257 5.2550 -4.923838229984e-02 3.749119684431e+01
5258 5.2560 -4.920162612525e-02 3.751623268787e+01
5259 5.2570 -4.917871599912e-02 3.754126853144e+01
5260 5.2580 -4.916965884613e-02 3.756630437500e+01
5261 5.2590 -4.917446159454e-02 3.759134021856e+01
5262 5.2600 -4.919313117607e-02 3.761637606213e+01
5263 5.2610 -4.922567452582e-02 3.764141190569e+01
5264 5.2620 -4.927209858243e-02 3.766644774925e+01
5265 5.2630 -4.921504866241e-02 3.769160095444e+01
5266 5.2640 -4.891043823359e-02 3.771701561473e+01
5267 5.2650 -4.861972934838e-02 3.774243027503e+01
5268 5.2660 -4.834292895923e-02 3.776784493532e+01
5269 5.2670 -4.808004402215e-02 3.779325959561e+01
5270 5.2680 -4.783108149663e-02 3.781867425590e+01
5271 5.2690 -4.759604834563e-02 3.784408891620e+01
5272 5.2700 -4.737495153555e-02 3.786950357649e+01
5273 5.2710 -4.716779803632e-02 3.789491823678e+01
5274 5.2720 -4.697459482136e-02 3.792033289707e+01
5275 5.2730 -4.679534886755e-02 3.794574755737e+01
5276 5.2740 -4.663006715529e-02 3.797116221766e+01
5277 5.2750 -4.647875666842e-02 3.799657687795e+01
5278 5.2760 -4.634142439431e-02 3.802199153824e+01
5279 5.2770 -4.621807732386e-02 3.804740619853e+01
5280 5.2780 -4.610872245138e-02 3.807282085883e+01
5281 5.2790 -4.601336677474e-02 3.809823551912e+01
5282 5.2800 -4.593201729528e-02 3.812365017941e+01
5283 5.2810 -4.586468101788e-02 3.814906483970e+01
5284 5.2820 -4.581136495091e-02 3.817447950000e+01
5285 5.2830 -4.577207610617e-02 3.819989416029e+01
5286 5.2840 -4.544709489924e-02 3.822560854718e+01
5287 5.2850 -4.505946886853e-02 3.825139962015e+01
5288 5.2860 -4.468589111671e-02 3.827719069313e+01
5289 5.2870 -4.432636866972e-02 3.830298176610e+01
5290 5.2880 -4.398090855694e-02 3.832877283907e+01
5291 5.2890 -4.364951781133e-02 3.835456391204e+01
5292 5.2900 -4.333220346933e-02 3.838035498502e+01
5293 5.2910 -4.302897257088e-02 3.840614605799e+01
5294 5.2920 -4.273983215952e-02 3.843193713096e+01
5295 5.2930 -4.246478928220e-02 3.845772820393e+01
5296 5.2940 -4.194299868141e-02 3.848378012921e+01
5297 5.2950 -4.132093959711e-02 3.850994643462e+01
5298 5.2960 -4.071299920908e-02 3.853611274002e+01
5299 5.2970 -4.011918457840e-02 3.856227904542e+01
5300 5.2980 -3.953950276977e-02 3.858844535082e+01
5301 5.2990 -3.897396085131e-02 3.861461165623e+01
5302 5.3000 -3.842256589481e-02 3.864077796163e+01
5303 5.3010 -3.788532497546e-02 3.866694426703e+01
5304 5.3020 -3.736224517211e-02 3.869311057244e+01
5305 5.3030 -3.685333356705e-02 3.871927687784e+01
5306 5.3040 -3.635859724619e-02 3.874544318324e+01
5307 5.3050 -3.587804329892e-02 3.877160948864e+01
5308 5.3060 -3.541167881823e-02 3.879777579405e+01
5309 5.3070 -3.495951090059e-02 3.882394209945e+01
5310 5.3080 -3.452154664609e-02 3.885010840485e+01
5311 5.3090 -3.409779315838e-02 3.887627471025e+01
5312 5.3100 -3.368825754456e-02 3.890244101566e+01
5313 5.3110 -3.329294691541e-02 3.892860732106e+01
5314 5.3120 -3.291186838513e-02 3.895477362646e+01
5315 5.3130 -3.254502907165e-02 3.898093993186e+01
5316 5.3140 -3.219243609627e-02 3.900710623727e+01
5317 5.3150 -3.185409658401e-02 3.903327254267e+01
5318 5.3160 -3.153001766336e-02 3.905943884807e+01
5319 5.3170 -3.122020646643e-02 3.908560515348e+01
5320 5.3180 -3.092467012881e-02 3.911177145888e+01
5321 5.3190 -3.064341578976e-02 3.913793776428e+01
5322 5.3200 -3.037645059211e-02 3.916410406968e+01
5323 5.3210 -3.012378168215e-02 3.919027037509e+01
5324 5.3220 -2.988541620987e-02 3.921643668049e+01
5325 5.3230 -2.966136132874e-02 3.924260298589e+01
5326 5.3240 -2.945162419590e-02 3.926876929129e+01
5327 5.3250 -2.925621197196e-02 3.929493559670e+01
5328 5.3260 -2.907513182122e-02 3.932110190210e+01
5329 5.3270 -2.890839091147e-02 3.934726820750e+01
5330 5.3280 -2.875599641417e-02 3.937343451291e+01
5331 5.3290 -2.861795550429e-02 3.939960081831e+01
5332 5.3300 -2.849427536044e-02 3.942576712371e+01
5333 5.3310 -2.838496316482e-02 3.945193342911e+01
5334 5.3320 -2.829002610316e-02 3.947809973452e+01
5335 5.3330 -2.820947136489e-02 3.950426603992e+01
5336 5.3340 -2.814330614291e-02 3.953043234532e+01
5337 5.3350 -2.809153763385e-02 3.955659865072e+01
5338 5.3360 -2.805417303780e-02 3.958276495613e+01
5339 5.3370 -2.803121955858e-02 3.960893126153e+01
5340 5.3380 -2.802268440350e-02 3.963509756693e+01
5341 5.3390 -2.802857478360e-02 3.966126387234e+01
5342 5.3400 -2.804889791339e-02 3.968743017774e+01
5343 5.3410 -2.808366101110e-02 3.971359648314e+01
5344 5.3420 -2.813287129848e-02 3.973976278854e+01
5345 5.3430 -2.819653600096e-02 3.976592909395e+01
5346 5.3440 -2.827466234758e-02 3.979209539935e+01
5347 5.3450 -2.836725757095e-02 3.981826170475e+01
5348 5.3460 -2.847432890733e-02 3.984442801015e+01
5349 5.3470 -2.859588359657e-02 3.987059431556e+01
5350 5.3480 -2.873192888222e-02 3.989676062096e+01
5351 5.3490 -2.888247201130e-02 3.992292692636e+01
5352 5.3500 -2.904752023465e-02 3.994909323177e+01
5353 5.3510 -2.922708080656e-02 3.997525953717e+01
5354 5.3520 -2.936889209322e-02 4.000147811146e+01
5355 5.3530 -2.920906203164e-02 4.002801285397e+01
5356 5.3540 -2.906376610353e-02 4.005454759648e+01
5357 5.3550 -2.893301157779e-02 4.008108233900e+01
5358 5.3560 -2.881680572688e-02 4.010761708151e+01
5359 5.3570 -2.871515582704e-02 4.013415182402e+01
5360 5.3580 -2.862806915802e-02 4.016068656653e+01
5361 5.3590 -2.855555300326e-02 4.018722130904e+01
5362 5.3600 -2.849761464988e-02 4.021375605155e+01
5363 5.3610 -2.845426138855e-02 4.024029079406e+01
5364 5.3620 -2.842550051371e-02 4.026682553657e+01
5365 5.3630 -2.841133932335e-02 4.029336027908e+01
5366 5.3640 -2.841178511912e-02 4.031989502159e+01
5367 5.3650 -2.842684520639e-02 4.034642976411e+01
5368 5.3660 -2.845652689411e-02 4.037296450662e+01
5369 5.3670 -2.850083749490e-02 4.039949924913e+01
5370 5.3680 -2.855978432508e-02 4.042603399164e+01
5371 5.3690 -2.863337470460e-02 4.045256873415e+01
5372 5.3700 -2.872161595702e-02 4.047910347666e+01
5373 5.3710 -2.882451540967e-02 4.050563821917e+01
5374 5.3720 -2.894208039345e-02 4.053217296168e+01
5375 5.3730 -2.907431824300e-02 4.055870770419e+01
5376 5.3740 -2.922123629656e-02 4.058524244670e+01
5377 5.3750 -2.938284189607e-02 4.061177718922e+01
5378 5.3760 -2.955914238717e-02 4.063831193173e+01
5379 5.3770 -2.975014511915e-02 4.066484667424e+01
5380 5.3780 -2.995585744492e-02 4.069138141675e+01
5381 5.3790 -3.017628672117e-02 4.071791615926e+01
5382 5.3800 -3.041144030819e-02 4.074445090177e+01
5383 5.3810 -3.066132557003e-02 4.077098564428e+01
5384 5.3820 -3.092594987433e-02 4.079752038679e+01
5385 5.3830 -3.120532059245e-02 4.082405512930e+01
5386 5.3840 -3.149944509948e-02 4.085058987181e+01
5387 5.3850 -3.180833077415e-02 4.087712461433e+01
5388 5.3860 -3.213198499886e-02 4.090365935684e+01
5389 5.3870 -3.247041515979e-02 4.093019409935e+01
5390 5.3880 -3.282362864674e-02 4.095672884186e+01
5391 5.3890 -3.319163285319e-02 4.098326358437e+01
5392 5.3900 -3.357443517641e-02 4.100979832688e+01
5393 5.3910 -3.397204301727e-02 4.103633306939e+01
5394 5.3920 -3.438446378041e-02 4.106286781190e+01
5395 5.3930 -3.481170487415e-02 4.108940255441e+01
5396 5.3940 -3.525377371047e-02 4.111593729692e+01
5397 5.3950 -3.571067770515e-02 4.114247203944e+01
5398 5.3960 -3.618242427762e-02 4.116900678195e+01
5399 5.3970 -3.666902085097e-02 4.119554152446e+01
5400 5.3980 -3.717047485214e-02 4.122207626697e+01
5401 5.3990 -3.768679371168e-02 4.124861100948e+01
5402 5.4000 -3.821798486384e-02 4.127514575199e+01
5403 5.4010 -3.876405574670e-02 4.130168049450e+01
5404 5.4020 -3.932501380191e-02 4.132821523701e+01
5405 5.4030 -3.990086647500e-02 4.135474997952e+01
5406 5.4040 -4.049162121512e-02 4.138128472203e+01
5407 5.4050 -4.109728547513e-02 4.140781946455e+01
5408 5.4060 -4.171786671171e-02 4.143435420706e+01
5409 5.4070 -4.235337238520e-02 4.146088894957e+01
5410 5.4080 -4.270391585640e-02 4.148772358618e+01
5411 5.4090 -4.300720179604e-02 4.151462041970e+01
5412 5.4100 -4.332543457607e-02 4.154151725321e+01
5413 5.4110 -4.365862167177e-02 4.156841408673e+01
5414 5.4120 -4.400677056214e-02 4.159531092024e+01
5415 5.4130 -4.436988873000e-02 4.162220775375e+01
5416 5.4140 -4.474798366185e-02 4.164910458727e+01
5417 5.4150 -4.514106284790e-02 4.167600142078e+01
5418 5.4160 -4.554913378224e-02 4.170289825430e+01
5419 5.4170 -4.597220396254e-02 4.172979508781e+01
5420 5.4180 -4.641028089036e-02 4.175669192133e+01
5421 5.4190 -4.686337207095e-02 4.178358875484e+01
5422 5.4200 -4.733148501327e-02 4.181048558836e+01
5423 5.4210 -4.781462723013e-02 4.183738242187e+01
5424 5.4220 -4.831280623804e-02 4.186427925539e+01
5425 5.4230 -4.882602955725e-02 4.189117608890e+01
5426 5.4240 -4.935430471185e-02 4.191807292242e+01
5427 5.4250 -4.987964219511e-02 4.194498775296e+01
5428 5.4260 -5.007797702851e-02 4.197224465306e+01
5429 5.4270 -5.029138629200e-02 4.199950155315e+01
5430 5.4280 -5.051987752465e-02 4.202675845325e+01
5431 5.4290 -5.076345826933e-02 4.205401535334e+01
5432 5.4300 -5.102213607275e-02 4.208127225343e+01
5433 5.4310 -5.129591848524e-02 4.210852915353e+01
5434 5.4320 -5.158481306105e-02 4.213578605362e+01
5435 5.4330 -5.188882735815e-02 4.216304295371e+01
5436 5.4340 -5.210814862749e-02 4.219039967412e+01
5437 5.4350 -5.208335459923e-02 4.221801564467e+01
5438 5.4360 -5.207370298891e-02 4.224563161522e+01
5439 5.4370 -5.207920136955e-02 4.227324758577e+01
5440 5.4380 -5.209985731809e-02 4.230086355632e+01
5441 5.4390 -5.213567841525e-02 4.232847952687e+01
5442 5.4400 -5.218667224543e-02 4.235609549742e+01
5443 5.4410 -5.225284639693e-02 4.238371146797e+01
5444 5.4420 -5.233420846183e-02 4.241132743852e+01
5445 5.4430 -5.243076603596e-02 4.243894340907e+01
5446 5.4440 -5.254252671898e-02 4.246655937963e+01
5447 5.4450 -5.266949811439e-02 4.249417535018e+01
5448 5.4460 -5.281168782940e-02 4.252179132073e+01
5449 5.4470 -5.296910347508e-02 4.254940729128e+01
5450 5.4480 -5.314175266636e-02 4.257702326183e+01
5451 5.4490 -5.332964302185e-02 4.260463923238e+01
5452 5.4500 -5.353278216407e-02 4.263225520293e+01
5453 5.4510 -5.375117771935e-02 4.265987117348e+01
5454 5.4520 -5.364146004504e-02 4.268783052130e+01
5455 5.4530 -5.353328191796e-02 4.271580360126e+01
5456 5.4540 -5.344038310571e-02 4.274377668121e+01
5457 5.4550 -5.336277124986e-02 4.277174976116e+01
5458 5.4560 -5.330045399583e-02 4.279972284112e+01
5459 5.4570 -5.325343899281e-02 4.282769592107e+01
5460 5.4580 -5.322173389384e-02 4.285566900102e+01
5461 5.4590 -5.320534635581e-02 4.288364208098e+01
5462 5.4600 -5.320428403940e-02 4.291161516093e+01
5463 5.4610 -5.321855460918e-02 4.293958824088e+01
5464 5.4620 -5.324816573346e-02 4.296756132084e+01
5465 5.4630 -5.329312508445e-02 4.299553440079e+01
5466 5.4640 -5.335344033820e-02 4.302350748074e+01
5467 5.4650 -5.342911917462e-02 4.305148056070e+01
5468 5.4660 -5.352016927735e-02 4.307945364065e+01
5469 5.4670 -5.362659833399e-02 4.310742672060e+01
5470 5.4680 -5.374841403593e-02 4.313539980056e+01
5471 5.4690 -5.388562407845e-02 4.316337288051e+01
5472 5.4700 -5.403823616063e-02 4.319134596046e+01
5473 5.4710 -5.420625798541e-02 4.321931904042e+01
5474 5.4720 -5.438969725958e-02 4.324729212037e+01
5475 5.4730 -5.458856169383e-02 4.327526520032e+01
5476 5.4740 -5.480285900267e-02 4.330323828028e+01
5477 5.4750 -5.503259690443e-02 4.333121136023e+01
5478 5.4760 -5.527778312136e-02 4.335918444018e+01
5479 5.4770 -5.534839241781e-02 4.338734755310e+01
5480 5.4780 -5.527025546847e-02 4.341567487603e+01
5481 5.4790 -5.520759002417e-02 4.344400219896e+01
5482 5.4800 -5.516040382261e-02 4.347232952189e+01
5483 5.4810 -5.512870460534e-02 4.350065684483e+01
5484 5.4820 -5.511250011780e-02 4.352898416776e+01
5485 5.4830 -5.511179810930e-02 4.355731149069e+01
5486 5.4840 -5.512660633301e-02 4.358563881362e+01
5487 5.4850 -5.508518776152e-02 4.361403788134e+01
5488 5.4860 -5.477773289581e-02 4.364271851110e+01
5489 5.4870 -5.448581154511e-02 4.367139914086e+01
5490 5.4880 -5.420943147816e-02 4.370007977062e+01
5491 5.4890 -5.394860046750e-02 4.372876040038e+01
5492 5.4900 -5.370332628966e-02 4.375744103014e+01
5493 5.4910 -5.347361672499e-02 4.378612165990e+01
5494 5.4920 -5.325947955774e-02 4.381480228966e+01
5495 5.4930 -5.306092257605e-02 4.384348291943e+01
5496 5.4940 -5.281180784232e-02 4.387222969492e+01
5497 5.4950 -5.257395860063e-02 4.390098080069e+01
5498 5.4960 -5.235171293231e-02 4.392973190646e+01
5499 5.4970 -5.214507864111e-02 4.395848301223e+01
5500 5.4980 -5.195406353470e-02 4.398723411800e+01
5501 5.4990 -5.177867542460e-02 4.401598522378e+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())