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 9 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
4002 4.0000 -3.514093054520e-02 1.507604165061e+01
4003 4.0010 -3.504501840042e-02 1.508823329653e+01
4004 4.0020 -3.495649896205e-02 1.510042494245e+01
4005 4.0030 -3.487537592748e-02 1.511261658836e+01
4006 4.0040 -3.480165299600e-02 1.512480823428e+01
4007 4.0050 -3.473533386871e-02 1.513699988020e+01
4008 4.0060 -3.467642224856e-02 1.514919152612e+01
4009 4.0070 -3.462492184040e-02 1.516138317203e+01
4010 4.0080 -3.458083635086e-02 1.517357481795e+01
4011 4.0090 -3.454416948847e-02 1.518576646387e+01
4012 4.0100 -3.451492496361e-02 1.519795810979e+01
4013 4.0110 -3.449310648851e-02 1.521014975571e+01
4014 4.0120 -3.447871777725e-02 1.522234140162e+01
4015 4.0130 -3.447176254579e-02 1.523453304754e+01
4016 4.0140 -3.447224451191e-02 1.524672469346e+01
4017 4.0150 -3.448016739527e-02 1.525891633938e+01
4018 4.0160 -3.449553491741e-02 1.527110798529e+01
4019 4.0170 -3.451835080170e-02 1.528329963121e+01
4020 4.0180 -3.454861877338e-02 1.529549127713e+01
4021 4.0190 -3.458634255957e-02 1.530768292305e+01
4022 4.0200 -3.463152588921e-02 1.531987456896e+01
4023 4.0210 -3.468417249316e-02 1.533206621488e+01
4024 4.0220 -3.474428610412e-02 1.534425786080e+01
4025 4.0230 -3.481187045665e-02 1.535644950672e+01
4026 4.0240 -3.488692928718e-02 1.536864115263e+01
4027 4.0250 -3.496946633401e-02 1.538083279855e+01
4028 4.0260 -3.505948533732e-02 1.539302444447e+01
4029 4.0270 -3.515699003915e-02 1.540521609039e+01
4030 4.0280 -3.526198418340e-02 1.541740773630e+01
4031 4.0290 -3.537447151588e-02 1.542959938222e+01
4032 4.0300 -3.549445578422e-02 1.544179102814e+01
4033 4.0310 -3.562194073796e-02 1.545398267406e+01
4034 4.0320 -3.575693012852e-02 1.546617431997e+01
4035 4.0330 -3.589942770918e-02 1.547836596589e+01
4036 4.0340 -3.604943723509e-02 1.549055761181e+01
4037 4.0350 -3.620696246329e-02 1.550274925773e+01
4038 4.0360 -3.637200715269e-02 1.551494090364e+01
4039 4.0370 -3.654457506409e-02 1.552713254956e+01
4040 4.0380 -3.672466996018e-02 1.553932419548e+01
4041 4.0390 -3.691229560550e-02 1.555151584140e+01
4042 4.0400 -3.710745576649e-02 1.556370748731e+01
4043 4.0410 -3.731015421149e-02 1.557589913323e+01
4044 4.0420 -3.752039471068e-02 1.558809077915e+01
4045 4.0430 -3.773818103618e-02 1.560028242507e+01
4046 4.0440 -3.796351696196e-02 1.561247407099e+01
4047 4.0450 -3.819640626388e-02 1.562466571690e+01
4048 4.0460 -3.843685271970e-02 1.563685736282e+01
4049 4.0470 -3.868486010905e-02 1.564904900874e+01
4050 4.0480 -3.894043221349e-02 1.566124065466e+01
4051 4.0490 -3.920357281643e-02 1.567343230057e+01
4052 4.0500 -3.947428570318e-02 1.568562394649e+01
4053 4.0510 -3.975257466096e-02 1.569781559241e+01
4054 4.0520 -4.003844347886e-02 1.571000723833e+01
4055 4.0530 -4.033189594790e-02 1.572219888424e+01
4056 4.0540 -4.063293586094e-02 1.573439053016e+01
4057 4.0550 -4.094156701279e-02 1.574658217608e+01
4058 4.0560 -4.125779320015e-02 1.575877382200e+01
4059 4.0570 -4.158161822158e-02 1.577096546791e+01
4060 4.0580 -4.191304587759e-02 1.578315711383e+01
4061 4.0590 -4.225207997054e-02 1.579534875975e+01
4062 4.0600 -4.259872430474e-02 1.580754040567e+01
4063 4.0610 -4.295298268636e-02 1.581973205158e+01
4064 4.0620 -4.331485892350e-02 1.583192369750e+01
4065 4.0630 -4.368435682618e-02 1.584411534342e+01
4066 4.0640 -4.406148020626e-02 1.585630698934e+01
4067 4.0650 -4.444623287758e-02 1.586849863525e+01
4068 4.0660 -4.483861865584e-02 1.588069028117e+01
4069 4.0670 -4.523864135867e-02 1.589288192709e+01
4070 4.0680 -4.564630480561e-02 1.590507357301e+01
4071 4.0690 -4.606161281809e-02 1.591726521892e+01
4072 4.0700 -4.648456921946e-02 1.592945686484e+01
4073 4.0710 -4.691517783499e-02 1.594164851076e+01
4074 4.0720 -4.735344249187e-02 1.595384015668e+01
4075 4.0730 -4.779936701918e-02 1.596603180260e+01
4076 4.0740 -4.825295524794e-02 1.597822344851e+01
4077 4.0750 -4.871421101105e-02 1.599041509443e+01
4078 4.0760 -4.918313814336e-02 1.600260674035e+01
4079 4.0770 -4.965974048162e-02 1.601479838627e+01
4080 4.0780 -4.989847388819e-02 1.602723558016e+01
4081 4.0790 -4.985958799701e-02 1.603995807624e+01
4082 4.0800 -4.982838883356e-02 1.605268057231e+01
4083 4.0810 -4.980488024230e-02 1.606540306839e+01
4084 4.0820 -4.978906606958e-02 1.607812556447e+01
4085 4.0830 -4.978095016368e-02 1.609084806054e+01
4086 4.0840 -4.978053637480e-02 1.610357055662e+01
4087 4.0850 -4.978782855508e-02 1.611629305270e+01
4088 4.0860 -4.980283055858e-02 1.612901554877e+01
4089 4.0870 -4.982554624128e-02 1.614173804485e+01
4090 4.0880 -4.985597946109e-02 1.615446054093e+01
4091 4.0890 -4.989413407787e-02 1.616718303701e+01
4092 4.0900 -4.994001395337e-02 1.617990553308e+01
4093 4.0910 -4.999362295131e-02 1.619262802916e+01
4094 4.0920 -5.005496493734e-02 1.620535052524e+01
4095 4.0930 -5.012404377899e-02 1.621807302131e+01
4096 4.0940 -5.020086334579e-02 1.623079551739e+01
4097 4.0950 -5.028542750918e-02 1.624351801347e+01
4098 4.0960 -5.037774014252e-02 1.625624050954e+01
4099 4.0970 -5.047780512113e-02 1.626896300562e+01
4100 4.0980 -5.058562632226e-02 1.628168550170e+01
4101 4.0990 -5.070120762509e-02 1.629440799777e+01
4102 4.1000 -5.082455291075e-02 1.630713049385e+01
4103 4.1010 -5.095566606231e-02 1.631985298993e+01
4104 4.1020 -5.109455096480e-02 1.633257548600e+01
4105 4.1030 -5.124121150514e-02 1.634529798208e+01
4106 4.1040 -5.139565157224e-02 1.635802047816e+01
4107 4.1050 -5.155787505694e-02 1.637074297424e+01
4108 4.1060 -5.172788585203e-02 1.638346547031e+01
4109 4.1070 -5.190568785224e-02 1.639618796639e+01
4110 4.1080 -5.209128495426e-02 1.640891046247e+01
4111 4.1090 -5.228468105671e-02 1.642163295854e+01
4112 4.1100 -5.248588006018e-02 1.643435545462e+01
4113 4.1110 -5.262849509930e-02 1.644714434146e+01
4114 4.1120 -5.231896815096e-02 1.646039318100e+01
4115 4.1130 -5.201725581708e-02 1.647364202054e+01
4116 4.1140 -5.172336200603e-02 1.648689086009e+01
4117 4.1150 -5.143729062817e-02 1.650013969963e+01
4118 4.1160 -5.115904559579e-02 1.651338853917e+01
4119 4.1170 -5.088863082316e-02 1.652663737871e+01
4120 4.1180 -5.062605022647e-02 1.653988621825e+01
4121 4.1190 -5.037130772389e-02 1.655313505779e+01
4122 4.1200 -5.012440723554e-02 1.656638389733e+01
4123 4.1210 -4.988535268354e-02 1.657963273687e+01
4124 4.1220 -4.965414799192e-02 1.659288157641e+01
4125 4.1230 -4.943079708669e-02 1.660613041595e+01
4126 4.1240 -4.921530389583e-02 1.661937925549e+01
4127 4.1250 -4.900767234928e-02 1.663262809503e+01
4128 4.1260 -4.880790637895e-02 1.664587693457e+01
4129 4.1270 -4.861600991869e-02 1.665912577411e+01
4130 4.1280 -4.843198690437e-02 1.667237461365e+01
4131 4.1290 -4.825584127377e-02 1.668562345319e+01
4132 4.1300 -4.808757696667e-02 1.669887229273e+01
4133 4.1310 -4.792719792483e-02 1.671212113227e+01
4134 4.1320 -4.777470809195e-02 1.672536997181e+01
4135 4.1330 -4.763011141373e-02 1.673861881135e+01
4136 4.1340 -4.749341183783e-02 1.675186765089e+01
4137 4.1350 -4.736461331388e-02 1.676511649043e+01
4138 4.1360 -4.724371979349e-02 1.677836532997e+01
4139 4.1370 -4.713073523028e-02 1.679161416951e+01
4140 4.1380 -4.702566357976e-02 1.680486300905e+01
4141 4.1390 -4.692850879951e-02 1.681811184859e+01
4142 4.1400 -4.683927484904e-02 1.683136068813e+01
4143 4.1410 -4.675796568985e-02 1.684460952767e+01
4144 4.1420 -4.668458528543e-02 1.685785836721e+01
4145 4.1430 -4.661913760123e-02 1.687110720675e+01
4146 4.1440 -4.656162660471e-02 1.688435604629e+01
4147 4.1450 -4.651205626530e-02 1.689760488583e+01
4148 4.1460 -4.647043055441e-02 1.691085372537e+01
4149 4.1470 -4.643675344544e-02 1.692410256491e+01
4150 4.1480 -4.641102891379e-02 1.693735140445e+01
4151 4.1490 -4.639326093684e-02 1.695060024399e+01
4152 4.1500 -4.638345349394e-02 1.696384908353e+01
4153 4.1510 -4.638161056645e-02 1.697709792307e+01
4154 4.1520 -4.638773613773e-02 1.699034676261e+01
4155 4.1530 -4.640183419312e-02 1.700359560215e+01
4156 4.1540 -4.642390871993e-02 1.701684444170e+01
4157 4.1550 -4.645396370749e-02 1.703009328124e+01
4158 4.1560 -4.649200314714e-02 1.704334212078e+01
4159 4.1570 -4.653803103219e-02 1.705659096032e+01
4160 4.1580 -4.659205135793e-02 1.706983979986e+01
4161 4.1590 -4.664393806675e-02 1.708309876945e+01
4162 4.1600 -4.662731187028e-02 1.709643425239e+01
4163 4.1610 -4.661869011246e-02 1.710976973533e+01
4164 4.1620 -4.661807679657e-02 1.712310521826e+01
4165 4.1630 -4.662547592797e-02 1.713644070120e+01
4166 4.1640 -4.664089151394e-02 1.714977618414e+01
4167 4.1650 -4.666432756382e-02 1.716311166708e+01
4168 4.1660 -4.669578808892e-02 1.717644715002e+01
4169 4.1670 -4.673527710258e-02 1.718978263295e+01
4170 4.1680 -4.678279862013e-02 1.720311811589e+01
4171 4.1690 -4.683835665893e-02 1.721645359883e+01
4172 4.1700 -4.690195523832e-02 1.722978908177e+01
4173 4.1710 -4.697359837968e-02 1.724312456471e+01
4174 4.1720 -4.705329010636e-02 1.725646004764e+01
4175 4.1730 -4.714103444379e-02 1.726979553058e+01
4176 4.1740 -4.723683541932e-02 1.728313101352e+01
4177 4.1750 -4.734069706241e-02 1.729646649646e+01
4178 4.1760 -4.745262340445e-02 1.730980197939e+01
4179 4.1770 -4.757261847892e-02 1.732313746233e+01
4180 4.1780 -4.770068632126e-02 1.733647294527e+01
4181 4.1790 -4.783683096896e-02 1.734980842821e+01
4182 4.1800 -4.798105646152e-02 1.736314391115e+01
4183 4.1810 -4.813336684045e-02 1.737647939408e+01
4184 4.1820 -4.829376614931e-02 1.738981487702e+01
4185 4.1830 -4.846225843365e-02 1.740315035996e+01
4186 4.1840 -4.863884774105e-02 1.741648584290e+01
4187 4.1850 -4.882353812113e-02 1.742982132583e+01
4188 4.1860 -4.901633362552e-02 1.744315680877e+01
4189 4.1870 -4.921723830789e-02 1.745649229171e+01
4190 4.1880 -4.942625622391e-02 1.746982777465e+01
4191 4.1890 -4.964339143132e-02 1.748316325759e+01
4192 4.1900 -4.986864798986e-02 1.749649874052e+01
4193 4.1910 -5.010202996128e-02 1.750983422346e+01
4194 4.1920 -5.034354140942e-02 1.752316970640e+01
4195 4.1930 -5.059318640010e-02 1.753650518934e+01
4196 4.1940 -5.085096900119e-02 1.754984067227e+01
4197 4.1950 -5.111689328261e-02 1.756317615521e+01
4198 4.1960 -5.139096331630e-02 1.757651163815e+01
4199 4.1970 -5.167318317623e-02 1.758984712109e+01
4200 4.1980 -5.196355693843e-02 1.760318260403e+01
4201 4.1990 -5.226208868093e-02 1.761651808696e+01
4202 4.2000 -5.256878248385e-02 1.762985356990e+01
4203 4.2010 -5.288364242931e-02 1.764318905284e+01
4204 4.2020 -5.320667260148e-02 1.765652453578e+01
4205 4.2030 -5.353787708658e-02 1.766986001872e+01
4206 4.2040 -5.387725997287e-02 1.768319550165e+01
4207 4.2050 -5.406692855449e-02 1.769668888139e+01
4208 4.2060 -5.390899555513e-02 1.771053804929e+01
4209 4.2070 -5.375925323401e-02 1.772438721718e+01
4210 4.2080 -5.361770568759e-02 1.773823638508e+01
4211 4.2090 -5.348435701435e-02 1.775208555298e+01
4212 4.2100 -5.335921131483e-02 1.776593472088e+01
4213 4.2110 -5.324227269163e-02 1.777978388878e+01
4214 4.2120 -5.313354524939e-02 1.779363305668e+01
4215 4.2130 -5.303303309481e-02 1.780748222458e+01
4216 4.2140 -5.294074033664e-02 1.782133139248e+01
4217 4.2150 -5.285667108569e-02 1.783518056038e+01
4218 4.2160 -5.278082945482e-02 1.784902972827e+01
4219 4.2170 -5.271321955894e-02 1.786287889617e+01
4220 4.2180 -5.265384551504e-02 1.787672806407e+01
4221 4.2190 -5.260271144215e-02 1.789057723197e+01
4222 4.2200 -5.255982146135e-02 1.790442639987e+01
4223 4.2210 -5.252517969581e-02 1.791827556777e+01
4224 4.2220 -5.249879027076e-02 1.793212473567e+01
4225 4.2230 -5.248065731345e-02 1.794597390357e+01
4226 4.2240 -5.247078495324e-02 1.795982307146e+01
4227 4.2250 -5.246917732154e-02 1.797367223936e+01
4228 4.2260 -5.247583855182e-02 1.798752140726e+01
4229 4.2270 -5.249077277963e-02 1.800137057516e+01
4230 4.2280 -5.251398414258e-02 1.801521974306e+01
4231 4.2290 -5.254547678035e-02 1.802906891096e+01
4232 4.2300 -5.258525483467e-02 1.804291807886e+01
4233 4.2310 -5.263332244938e-02 1.805676724676e+01
4234 4.2320 -5.268968377038e-02 1.807061641466e+01
4235 4.2330 -5.275434294562e-02 1.808446558255e+01
4236 4.2340 -5.282730412515e-02 1.809831475045e+01
4237 4.2350 -5.290857146108e-02 1.811216391835e+01
4238 4.2360 -5.299814910761e-02 1.812601308625e+01
4239 4.2370 -5.309604122100e-02 1.813986225415e+01
4240 4.2380 -5.320225195961e-02 1.815371142205e+01
4241 4.2390 -5.331678548385e-02 1.816756058995e+01
4242 4.2400 -5.343964595626e-02 1.818140975785e+01
4243 4.2410 -5.357083754139e-02 1.819525892574e+01
4244 4.2420 -5.371036440594e-02 1.820910809364e+01
4245 4.2430 -5.385823071866e-02 1.822295726154e+01
4246 4.2440 -5.401444065039e-02 1.823680642944e+01
4247 4.2450 -5.417899837405e-02 1.825065559734e+01
4248 4.2460 -5.435190806467e-02 1.826450476524e+01
4249 4.2470 -5.453317389935e-02 1.827835393314e+01
4250 4.2480 -5.472280005725e-02 1.829220310104e+01
4251 4.2490 -5.492079071968e-02 1.830605226894e+01
4252 4.2500 -5.512715007001e-02 1.831990143683e+01
4253 4.2510 -5.534188229369e-02 1.833375060473e+01
4254 4.2520 -5.556499157828e-02 1.834759977263e+01
4255 4.2530 -5.579648211344e-02 1.836144894053e+01
4256 4.2540 -5.603635809092e-02 1.837529810843e+01
4257 4.2550 -5.628462370454e-02 1.838914727633e+01
4258 4.2560 -5.654128315025e-02 1.840299644423e+01
4259 4.2570 -5.680634062608e-02 1.841684561213e+01
4260 4.2580 -5.707980033219e-02 1.843069478002e+01
4261 4.2590 -5.736166647078e-02 1.844454394792e+01
4262 4.2600 -5.765194324624e-02 1.845839311582e+01
4263 4.2610 -5.795063486496e-02 1.847224228372e+01
4264 4.2620 -5.825774553550e-02 1.848609145162e+01
4265 4.2630 -5.841133341596e-02 1.850010256557e+01
4266 4.2640 -5.822940779492e-02 1.851445762050e+01
4267 4.2650 -5.805591386400e-02 1.852881267543e+01
4268 4.2660 -5.789085584012e-02 1.854316773036e+01
4269 4.2670 -5.773423794238e-02 1.855752278528e+01
4270 4.2680 -5.758606439198e-02 1.857187784021e+01
4271 4.2690 -5.744633941220e-02 1.858623289514e+01
4272 4.2700 -5.731506722846e-02 1.860058795007e+01
4273 4.2710 -5.719225206829e-02 1.861494300500e+01
4274 4.2720 -5.707789816131e-02 1.862929805992e+01
4275 4.2730 -5.697200973929e-02 1.864365311485e+01
4276 4.2740 -5.687459103609e-02 1.865800816978e+01
4277 4.2750 -5.678564628771e-02 1.867236322471e+01
4278 4.2760 -5.670517973224e-02 1.868671827964e+01
4279 4.2770 -5.663319560991e-02 1.870107333456e+01
4280 4.2780 -5.656969816308e-02 1.871542838949e+01
4281 4.2790 -5.651469163619e-02 1.872978344442e+01
4282 4.2800 -5.646818027585e-02 1.874413849935e+01
4283 4.2810 -5.643016833077e-02 1.875849355428e+01
4284 4.2820 -5.640066005178e-02 1.877284860921e+01
4285 4.2830 -5.637965969184e-02 1.878720366413e+01
4286 4.2840 -5.636717150607e-02 1.880155871906e+01
4287 4.2850 -5.636319975166e-02 1.881591377399e+01
4288 4.2860 -5.636774868795e-02 1.883026882892e+01
4289 4.2870 -5.638082257643e-02 1.884462388385e+01
4290 4.2880 -5.640242568073e-02 1.885897893877e+01
4291 4.2890 -5.643256226657e-02 1.887333399370e+01
4292 4.2900 -5.647123660180e-02 1.888768904863e+01
4293 4.2910 -5.624700576410e-02 1.890231555075e+01
4294 4.2920 -5.580060811534e-02 1.891717276597e+01
4295 4.2930 -5.536276103243e-02 1.893202998120e+01
4296 4.2940 -5.493346879179e-02 1.894688719642e+01
4297 4.2950 -5.451273567196e-02 1.896174441164e+01
4298 4.2960 -5.410056595366e-02 1.897660162687e+01
4299 4.2970 -5.369696391970e-02 1.899145884209e+01
4300 4.2980 -5.330193385506e-02 1.900631605731e+01
4301 4.2990 -5.291548004689e-02 1.902117327254e+01
4302 4.3000 -5.253760678443e-02 1.903603048776e+01
4303 4.3010 -5.216831835910e-02 1.905088770298e+01
4304 4.3020 -5.180761906445e-02 1.906574491820e+01
4305 4.3030 -5.145551319619e-02 1.908060213343e+01
4306 4.3040 -5.111200505216e-02 1.909545934865e+01
4307 4.3050 -5.077709893237e-02 1.911031656387e+01
4308 4.3060 -5.045079913898e-02 1.912517377910e+01
4309 4.3070 -5.013310997628e-02 1.914003099432e+01
4310 4.3080 -4.982403575072e-02 1.915488820954e+01
4311 4.3090 -4.952358077091e-02 1.916974542477e+01
4312 4.3100 -4.923174934764e-02 1.918460263999e+01
4313 4.3110 -4.894854579379e-02 1.919945985521e+01
4314 4.3120 -4.867397442446e-02 1.921431707044e+01
4315 4.3130 -4.840803955688e-02 1.922917428566e+01
4316 4.3140 -4.815074551045e-02 1.924403150088e+01
4317 4.3150 -4.790209660670e-02 1.925888871610e+01
4318 4.3160 -4.766209716937e-02 1.927374593133e+01
4319 4.3170 -4.743075152433e-02 1.928860314655e+01
4320 4.3180 -4.720806399961e-02 1.930346036177e+01
4321 4.3190 -4.699403892541e-02 1.931831757700e+01
4322 4.3200 -4.678868063413e-02 1.933317479222e+01
4323 4.3210 -4.659199346028e-02 1.934803200744e+01
4324 4.3220 -4.640398174056e-02 1.936288922267e+01
4325 4.3230 -4.622464981385e-02 1.937774643789e+01
4326 4.3240 -4.605400202121e-02 1.939260365311e+01
4327 4.3250 -4.589204270583e-02 1.940746086834e+01
4328 4.3260 -4.573877621310e-02 1.942231808356e+01
4329 4.3270 -4.559420689059e-02 1.943717529878e+01
4330 4.3280 -4.545833908803e-02 1.945203251401e+01
4331 4.3290 -4.533117715731e-02 1.946688972923e+01
4332 4.3300 -4.521272545254e-02 1.948174694445e+01
4333 4.3310 -4.510298832996e-02 1.949660415967e+01
4334 4.3320 -4.500197014802e-02 1.951146137490e+01
4335 4.3330 -4.490967526734e-02 1.952631859012e+01
4336 4.3340 -4.482610805073e-02 1.954117580534e+01
4337 4.3350 -4.475127286316e-02 1.955603302057e+01
4338 4.3360 -4.468517407178e-02 1.957089023579e+01
4339 4.3370 -4.462781604597e-02 1.958574745101e+01
4340 4.3380 -4.457920315725e-02 1.960060466624e+01
4341 4.3390 -4.453933977934e-02 1.961546188146e+01
4342 4.3400 -4.450823028815e-02 1.963031909668e+01
4343 4.3410 -4.448587906178e-02 1.964517631191e+01
4344 4.3420 -4.447229048050e-02 1.966003352713e+01
4345 4.3430 -4.446746892680e-02 1.967489074235e+01
4346 4.3440 -4.447141878534e-02 1.968974795757e+01
4347 4.3450 -4.448414444300e-02 1.970460517280e+01
4348 4.3460 -4.450565028881e-02 1.971946238802e+01
4349 4.3470 -4.453594071402e-02 1.973431960324e+01
4350 4.3480 -4.457502011211e-02 1.974917681847e+01
4351 4.3490 -4.462289287868e-02 1.976403403369e+01
4352 4.3500 -4.467956341158e-02 1.977889124891e+01
4353 4.3510 -4.474503611086e-02 1.979374846414e+01
4354 4.3520 -4.481931537877e-02 1.980860567936e+01
4355 4.3530 -4.490240561973e-02 1.982346289458e+01
4356 4.3540 -4.499431124038e-02 1.983832010981e+01
4357 4.3550 -4.509503664962e-02 1.985317732503e+01
4358 4.3560 -4.520458625843e-02 1.986803454025e+01
4359 4.3570 -4.532296448011e-02 1.988289175547e+01
4360 4.3580 -4.545017573013e-02 1.989774897070e+01
4361 4.3590 -4.558622442616e-02 1.991260618592e+01
4362 4.3600 -4.573111498806e-02 1.992746340114e+01
4363 4.3610 -4.588485183795e-02 1.994232061637e+01
4364 4.3620 -4.604743940014e-02 1.995717783159e+01
4365 4.3630 -4.621888210112e-02 1.997203504681e+01
4366 4.3640 -4.639918436963e-02 1.998689226204e+01
4367 4.3650 -4.658835063664e-02 2.000174947726e+01
4368 4.3660 -4.678638533528e-02 2.001660669248e+01
4369 4.3670 -4.699329290095e-02 2.003146390771e+01
4370 4.3680 -4.720907777123e-02 2.004632112293e+01
4371 4.3690 -4.743374438597e-02 2.006117833815e+01
4372 4.3700 -4.739586074699e-02 2.007630698982e+01
4373 4.3710 -4.714670288768e-02 2.009165580633e+01
4374 4.3720 -4.690644010557e-02 2.010700462284e+01
4375 4.3730 -4.667507684940e-02 2.012235343936e+01
4376 4.3740 -4.645261757007e-02 2.013770225587e+01
4377 4.3750 -4.623906672073e-02 2.015305107239e+01
4378 4.3760 -4.603442875678e-02 2.016839988890e+01
4379 4.3770 -4.583870813584e-02 2.018374870542e+01
4380 4.3780 -4.565190931771e-02 2.019909752193e+01
4381 4.3790 -4.547403676450e-02 2.021444633844e+01
4382 4.3800 -4.530509494050e-02 2.022979515496e+01
4383 4.3810 -4.514508831223e-02 2.024514397147e+01
4384 4.3820 -4.499402134847e-02 2.026049278799e+01
4385 4.3830 -4.485189852021e-02 2.027584160450e+01
4386 4.3840 -4.471872430073e-02 2.029119042102e+01
4387 4.3850 -4.459450316545e-02 2.030653923753e+01
4388 4.3860 -4.447923959211e-02 2.032188805404e+01
4389 4.3870 -4.437293806066e-02 2.033723687056e+01
4390 4.3880 -4.427560305330e-02 2.035258568707e+01
4391 4.3890 -4.418723905444e-02 2.036793450359e+01
4392 4.3900 -4.410785055080e-02 2.038328332010e+01
4393 4.3910 -4.403744203128e-02 2.039863213662e+01
4394 4.3920 -4.397601798701e-02 2.041398095313e+01
4395 4.3930 -4.392358291146e-02 2.042932976965e+01
4396 4.3940 -4.388014130026e-02 2.044467858616e+01
4397 4.3950 -4.377845704621e-02 2.046009464328e+01
4398 4.3960 -4.363094782760e-02 2.047556552783e+01
4399 4.3970 -4.349244557385e-02 2.049103641237e+01
4400 4.3980 -4.336295478956e-02 2.050650729692e+01
4401 4.3990 -4.324247998166e-02 2.052197818146e+01
4402 4.4000 -4.313102565934e-02 2.053744906601e+01
4403 4.4010 -4.302859633399e-02 2.055291995056e+01
4404 4.4020 -4.293519651931e-02 2.056839083510e+01
4405 4.4030 -4.285083073123e-02 2.058386171965e+01
4406 4.4040 -4.277550348792e-02 2.059933260420e+01
4407 4.4050 -4.270921930988e-02 2.061480348874e+01
4408 4.4060 -4.265198271975e-02 2.063027437329e+01
4409 4.4070 -4.260379824257e-02 2.064574525784e+01
4410 4.4080 -4.256467040555e-02 2.066121614238e+01
4411 4.4090 -4.253460373819e-02 2.067668702693e+01
4412 4.4100 -4.251360277227e-02 2.069215791148e+01
4413 4.4110 -4.250167204181e-02 2.070762879602e+01
4414 4.4120 -4.249881608312e-02 2.072309968057e+01
4415 4.4130 -4.250503943475e-02 2.073857056511e+01
4416 4.4140 -4.252034663758e-02 2.075404144966e+01
4417 4.4150 -4.254474223467e-02 2.076951233421e+01
4418 4.4160 -4.257823077143e-02 2.078498321875e+01
4419 4.4170 -4.262081679552e-02 2.080045410330e+01
4420 4.4180 -4.267250485685e-02 2.081592498785e+01
4421 4.4190 -4.265598938460e-02 2.083147318252e+01
4422 4.4200 -4.224086440998e-02 2.084742909783e+01
4423 4.4210 -4.183485513608e-02 2.086338501315e+01
4424 4.4220 -4.143796612189e-02 2.087934092846e+01
4425 4.4230 -4.105020192876e-02 2.089529684378e+01
4426 4.4240 -4.067156712027e-02 2.091125275909e+01
4427 4.4250 -4.030206626232e-02 2.092720867441e+01
4428 4.4260 -3.994170392305e-02 2.094316458973e+01
4429 4.4270 -3.959048467292e-02 2.095912050504e+01
4430 4.4280 -3.924841308467e-02 2.097507642036e+01
4431 4.4290 -3.891549373333e-02 2.099103233567e+01
4432 4.4300 -3.859173119618e-02 2.100698825099e+01
4433 4.4310 -3.827713005285e-02 2.102294416631e+01
4434 4.4320 -3.797169488520e-02 2.103890008162e+01
4435 4.4330 -3.767543027744e-02 2.105485599694e+01
4436 4.4340 -3.738834081601e-02 2.107081191225e+01
4437 4.4350 -3.711043108971e-02 2.108676782757e+01
4438 4.4360 -3.684170568957e-02 2.110272374288e+01
4439 4.4370 -3.658216920898e-02 2.111867965820e+01
4440 4.4380 -3.633182624356e-02 2.113463557352e+01
4441 4.4390 -3.609068139127e-02 2.115059148883e+01
4442 4.4400 -3.585873925239e-02 2.116654740415e+01
4443 4.4410 -3.563600442945e-02 2.118250331946e+01
4444 4.4420 -3.542248152730e-02 2.119845923478e+01
4445 4.4430 -3.521817515310e-02 2.121441515009e+01
4446 4.4440 -3.502308991633e-02 2.123037106541e+01
4447 4.4450 -3.483723042875e-02 2.124632698073e+01
4448 4.4460 -3.466060130440e-02 2.126228289604e+01
4449 4.4470 -3.449320715969e-02 2.127823881136e+01
4450 4.4480 -3.433505261332e-02 2.129419472667e+01
4451 4.4490 -3.418614228627e-02 2.131015064199e+01
4452 4.4500 -3.404648080185e-02 2.132610655730e+01
4453 4.4510 -3.391607278568e-02 2.134206247262e+01
4454 4.4520 -3.379492286572e-02 2.135801838794e+01
4455 4.4530 -3.368303567218e-02 2.137397430325e+01
4456 4.4540 -3.358041583766e-02 2.138993021857e+01
4457 4.4550 -3.348706799700e-02 2.140588613388e+01
4458 4.4560 -3.340299678747e-02 2.142184204920e+01
4459 4.4570 -3.332820684852e-02 2.143779796451e+01
4460 4.4580 -3.326270282202e-02 2.145375387983e+01
4461 4.4590 -3.320648935212e-02 2.146970979515e+01
4462 4.4600 -3.315957108533e-02 2.148566571046e+01
4463 4.4610 -3.312195267041e-02 2.150162162578e+01
4464 4.4620 -3.309363875852e-02 2.151757754109e+01
4465 4.4630 -3.307463400312e-02 2.153353345641e+01
4466 4.4640 -3.306494306001e-02 2.154948937172e+01
4467 4.4650 -3.306457058726e-02 2.156544528704e+01
4468 4.4660 -3.307352124535e-02 2.158140120236e+01
4469 4.4670 -3.309179969705e-02 2.159735711767e+01
4470 4.4680 -3.311941060743e-02 2.161331303299e+01
4471 4.4690 -3.315635864396e-02 2.162926894830e+01
4472 4.4700 -3.320264847641e-02 2.164522486362e+01
4473 4.4710 -3.325828477689e-02 2.166118077893e+01
4474 4.4720 -3.332327221983e-02 2.167713669425e+01
4475 4.4730 -3.339761548203e-02 2.169309260957e+01
4476 4.4740 -3.348131924259e-02 2.170904852488e+01
4477 4.4750 -3.357438818301e-02 2.172500444020e+01
4478 4.4760 -3.367682698705e-02 2.174096035551e+01
4479 4.4770 -3.378864034086e-02 2.175691627083e+01
4480 4.4780 -3.390983293295e-02 2.177287218615e+01
4481 4.4790 -3.404040945415e-02 2.178882810146e+01
4482 4.4800 -3.418037459762e-02 2.180478401678e+01
4483 4.4810 -3.432973305889e-02 2.182073993209e+01
4484 4.4820 -3.448848953585e-02 2.183669584741e+01
4485 4.4830 -3.465664872872e-02 2.185265176272e+01
4486 4.4840 -3.483421534007e-02 2.186860767804e+01
4487 4.4850 -3.502119407482e-02 2.188456359336e+01
4488 4.4860 -3.521758964025e-02 2.190051950867e+01
4489 4.4870 -3.542340674602e-02 2.191647542399e+01
4490 4.4880 -3.563865010407e-02 2.193243133930e+01
4491 4.4890 -3.569031114599e-02 2.194856026790e+01
4492 4.4900 -3.544862665046e-02 2.196499197772e+01
4493 4.4910 -3.521638255733e-02 2.198142368754e+01
4494 4.4920 -3.499358358804e-02 2.199785539736e+01
4495 4.4930 -3.478023446637e-02 2.201428710718e+01
4496 4.4940 -3.457633991846e-02 2.203071881700e+01
4497 4.4950 -3.438190467283e-02 2.204715052682e+01
4498 4.4960 -3.419693346034e-02 2.206358223664e+01
4499 4.4970 -3.402143101424e-02 2.208001394646e+01
4500 4.4980 -3.385540207012e-02 2.209644565628e+01
4501 4.4990 -3.369885136598e-02 2.211287736609e+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())