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 7 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
3002 3.0000 -3.970928889794e-02 6.128015590961e+00
3003 3.0010 -3.948121081728e-02 6.134523417953e+00
3004 3.0020 -3.925761611411e-02 6.141031244945e+00
3005 3.0030 -3.903850703235e-02 6.147539071936e+00
3006 3.0040 -3.882388581702e-02 6.154046898928e+00
3007 3.0050 -3.861375471427e-02 6.160554725920e+00
3008 3.0060 -3.840811597137e-02 6.167062552911e+00
3009 3.0070 -3.820697183670e-02 6.173570379903e+00
3010 3.0080 -3.801032455977e-02 6.180078206895e+00
3011 3.0090 -3.781817639120e-02 6.186586033887e+00
3012 3.0100 -3.763052958274e-02 6.193093860878e+00
3013 3.0110 -3.744738638726e-02 6.199601687870e+00
3014 3.0120 -3.726874905876e-02 6.206109514862e+00
3015 3.0130 -3.709461985234e-02 6.212617341853e+00
3016 3.0140 -3.692500102426e-02 6.219125168845e+00
3017 3.0150 -3.675989483187e-02 6.225632995837e+00
3018 3.0160 -3.659930353367e-02 6.232140822829e+00
3019 3.0170 -3.644322938926e-02 6.238648649820e+00
3020 3.0180 -3.629167465938e-02 6.245156476812e+00
3021 3.0190 -3.614464160592e-02 6.251664303804e+00
3022 3.0200 -3.600213249185e-02 6.258172130795e+00
3023 3.0210 -3.586414958131e-02 6.264679957787e+00
3024 3.0220 -3.573069513954e-02 6.271187784779e+00
3025 3.0230 -3.560177143292e-02 6.277695611771e+00
3026 3.0240 -3.547738072897e-02 6.284203438762e+00
3027 3.0250 -3.535752529631e-02 6.290711265754e+00
3028 3.0260 -3.524220740472e-02 6.297219092746e+00
3029 3.0270 -3.513142932512e-02 6.303726919737e+00
3030 3.0280 -3.502519332950e-02 6.310234746729e+00
3031 3.0290 -3.492350169106e-02 6.316742573721e+00
3032 3.0300 -3.482635668410e-02 6.323250400713e+00
3033 3.0310 -3.473376058402e-02 6.329758227704e+00
3034 3.0320 -3.464571566743e-02 6.336266054696e+00
3035 3.0330 -3.456222421199e-02 6.342773881688e+00
3036 3.0340 -3.448328849656e-02 6.349281708679e+00
3037 3.0350 -3.440891080110e-02 6.355789535671e+00
3038 3.0360 -3.433909340672e-02 6.362297362663e+00
3039 3.0370 -3.427383859567e-02 6.368805189655e+00
3040 3.0380 -3.421314865134e-02 6.375313016646e+00
3041 3.0390 -3.415702585824e-02 6.381820843638e+00
3042 3.0400 -3.410547250202e-02 6.388328670630e+00
3043 3.0410 -3.405849086950e-02 6.394836497621e+00
3044 3.0420 -3.401608324861e-02 6.401344324613e+00
3045 3.0430 -3.397825192843e-02 6.407852151605e+00
3046 3.0440 -3.394499919917e-02 6.414359978597e+00
3047 3.0450 -3.391632735222e-02 6.420867805588e+00
3048 3.0460 -3.389223868006e-02 6.427375632580e+00
3049 3.0470 -3.387273547633e-02 6.433883459572e+00
3050 3.0480 -3.385782003585e-02 6.440391286563e+00
3051 3.0490 -3.384749465454e-02 6.446899113555e+00
3052 3.0500 -3.384176162947e-02 6.453406940547e+00
3053 3.0510 -3.384062325887e-02 6.459914767539e+00
3054 3.0520 -3.384408184212e-02 6.466422594530e+00
3055 3.0530 -3.385213967973e-02 6.472930421522e+00
3056 3.0540 -3.386479907335e-02 6.479438248514e+00
3057 3.0550 -3.388206232581e-02 6.485946075505e+00
3058 3.0560 -3.390393174106e-02 6.492453902497e+00
3059 3.0570 -3.393040962421e-02 6.498961729489e+00
3060 3.0580 -3.396149828152e-02 6.505469556481e+00
3061 3.0590 -3.399720002038e-02 6.511977383472e+00
3062 3.0600 -3.403751714936e-02 6.518485210464e+00
3063 3.0610 -3.408245197817e-02 6.524993037456e+00
3064 3.0620 -3.413200681766e-02 6.531500864447e+00
3065 3.0630 -3.418618397985e-02 6.538008691439e+00
3066 3.0640 -3.424498577790e-02 6.544516518431e+00
3067 3.0650 -3.430841452612e-02 6.551024345423e+00
3068 3.0660 -3.437647254000e-02 6.557532172414e+00
3069 3.0670 -3.444916213614e-02 6.564039999406e+00
3070 3.0680 -3.452648563234e-02 6.570547826398e+00
3071 3.0690 -3.460844534754e-02 6.577055653389e+00
3072 3.0700 -3.469504360181e-02 6.583563480381e+00
3073 3.0710 -3.478628271642e-02 6.590071307373e+00
3074 3.0720 -3.488216501377e-02 6.596579134365e+00
3075 3.0730 -3.498269281742e-02 6.603086961356e+00
3076 3.0740 -3.508786845210e-02 6.609594788348e+00
3077 3.0750 -3.519769424370e-02 6.616102615340e+00
3078 3.0760 -3.531217251925e-02 6.622610442331e+00
3079 3.0770 -3.543130560695e-02 6.629118269323e+00
3080 3.0780 -3.555509583617e-02 6.635626096315e+00
3081 3.0790 -3.568354553744e-02 6.642133923307e+00
3082 3.0800 -3.581665704244e-02 6.648641750298e+00
3083 3.0810 -3.595443268402e-02 6.655149577290e+00
3084 3.0820 -3.609687479620e-02 6.661657404282e+00
3085 3.0830 -3.624398571415e-02 6.668165231273e+00
3086 3.0840 -3.639576777421e-02 6.674673058265e+00
3087 3.0850 -3.655222331390e-02 6.681180885257e+00
3088 3.0860 -3.671335467188e-02 6.687688712249e+00
3089 3.0870 -3.687916418798e-02 6.694196539240e+00
3090 3.0880 -3.704965420324e-02 6.700704366232e+00
3091 3.0890 -3.722482705980e-02 6.707212193224e+00
3092 3.0900 -3.740468510101e-02 6.713720020215e+00
3093 3.0910 -3.758923067139e-02 6.720227847207e+00
3094 3.0920 -3.777846611660e-02 6.726735674199e+00
3095 3.0930 -3.797239378350e-02 6.733243501191e+00
3096 3.0940 -3.817101602011e-02 6.739751328182e+00
3097 3.0950 -3.837433517562e-02 6.746259155174e+00
3098 3.0960 -3.858235360039e-02 6.752766982166e+00
3099 3.0970 -3.879507364595e-02 6.759274809157e+00
3100 3.0980 -3.901249766501e-02 6.765782636149e+00
3101 3.0990 -3.923462801145e-02 6.772290463141e+00
3102 3.1000 -3.946146704032e-02 6.778798290133e+00
3103 3.1010 -3.969301710786e-02 6.785306117124e+00
3104 3.1020 -3.992928057146e-02 6.791813944116e+00
3105 3.1030 -4.017025978970e-02 6.798321771108e+00
3106 3.1040 -4.041595712235e-02 6.804829598099e+00
3107 3.1050 -4.066637493033e-02 6.811337425091e+00
3108 3.1060 -4.092151557575e-02 6.817845252083e+00
3109 3.1070 -4.118138142191e-02 6.824353079075e+00
3110 3.1080 -4.144597483327e-02 6.830860906066e+00
3111 3.1090 -4.171529817547e-02 6.837368733058e+00
3112 3.1100 -4.198935381534e-02 6.843876560050e+00
3113 3.1110 -4.226814412089e-02 6.850384387041e+00
3114 3.1120 -4.255167146131e-02 6.856892214033e+00
3115 3.1130 -4.283993820696e-02 6.863400041025e+00
3116 3.1140 -4.313294672940e-02 6.869907868017e+00
3117 3.1150 -4.343069940137e-02 6.876415695008e+00
3118 3.1160 -4.373319859678e-02 6.882923522000e+00
3119 3.1170 -4.404044669074e-02 6.889431348992e+00
3120 3.1180 -4.435244605952e-02 6.895939175983e+00
3121 3.1190 -4.466919908061e-02 6.902447002975e+00
3122 3.1200 -4.499070813266e-02 6.908954829967e+00
3123 3.1210 -4.531697559553e-02 6.915462656959e+00
3124 3.1220 -4.564800385023e-02 6.921970483950e+00
3125 3.1230 -4.598379527900e-02 6.928478310942e+00
3126 3.1240 -4.632435226523e-02 6.934986137934e+00
3127 3.1250 -4.666967719353e-02 6.941493964925e+00
3128 3.1260 -4.701977244968e-02 6.948001791917e+00
3129 3.1270 -4.737464042067e-02 6.954509618909e+00
3130 3.1280 -4.773428349465e-02 6.961017445901e+00
3131 3.1290 -4.809870406099e-02 6.967525272892e+00
3132 3.1300 -4.846790451024e-02 6.974033099884e+00
3133 3.1310 -4.884188723413e-02 6.980540926876e+00
3134 3.1320 -4.922065462562e-02 6.987048753867e+00
3135 3.1330 -4.960420907883e-02 6.993556580859e+00
3136 3.1340 -4.999255298907e-02 7.000064407851e+00
3137 3.1350 -5.038568875288e-02 7.006572234843e+00
3138 3.1360 -5.045293929749e-02 7.013410741305e+00
3139 3.1370 -5.020187022355e-02 7.020572364036e+00
3140 3.1380 -4.995560019992e-02 7.027733986767e+00
3141 3.1390 -4.971413162789e-02 7.034895609498e+00
3142 3.1400 -4.947746690996e-02 7.042057232229e+00
3143 3.1410 -4.924560844985e-02 7.049218854959e+00
3144 3.1420 -4.901855865245e-02 7.056380477690e+00
3145 3.1430 -4.879631992387e-02 7.063542100421e+00
3146 3.1440 -4.857889467139e-02 7.070703723152e+00
3147 3.1450 -4.836628530354e-02 7.077865345883e+00
3148 3.1460 -4.815849423000e-02 7.085026968614e+00
3149 3.1470 -4.795552386170e-02 7.092188591345e+00
3150 3.1480 -4.775737661074e-02 7.099350214076e+00
3151 3.1490 -4.756405489042e-02 7.106511836807e+00
3152 3.1500 -4.737556111527e-02 7.113673459538e+00
3153 3.1510 -4.719189770102e-02 7.120835082269e+00
3154 3.1520 -4.701306706458e-02 7.127996705000e+00
3155 3.1530 -4.683907162409e-02 7.135158327731e+00
3156 3.1540 -4.666991379889e-02 7.142319950462e+00
3157 3.1550 -4.650559600953e-02 7.149481573192e+00
3158 3.1560 -4.634612067775e-02 7.156643195923e+00
3159 3.1570 -4.619149022654e-02 7.163804818654e+00
3160 3.1580 -4.604170708005e-02 7.170966441385e+00
3161 3.1590 -4.589677366366e-02 7.178128064116e+00
3162 3.1600 -4.575669240398e-02 7.185289686847e+00
3163 3.1610 -4.562146572878e-02 7.192451309578e+00
3164 3.1620 -4.549109606711e-02 7.199612932309e+00
3165 3.1630 -4.536558584918e-02 7.206774555040e+00
3166 3.1640 -4.524493750642e-02 7.213936177771e+00
3167 3.1650 -4.512915347149e-02 7.221097800502e+00
3168 3.1660 -4.501823617826e-02 7.228259423233e+00
3169 3.1670 -4.491218806180e-02 7.235421045964e+00
3170 3.1680 -4.481101155841e-02 7.242582668695e+00
3171 3.1690 -4.471470910560e-02 7.249744291425e+00
3172 3.1700 -4.462328314210e-02 7.256905914156e+00
3173 3.1710 -4.453673610785e-02 7.264067536887e+00
3174 3.1720 -4.445507044401e-02 7.271229159618e+00
3175 3.1730 -4.437828859297e-02 7.278390782349e+00
3176 3.1740 -4.430639299831e-02 7.285552405080e+00
3177 3.1750 -4.423938610486e-02 7.292714027811e+00
3178 3.1760 -4.417727035867e-02 7.299875650542e+00
3179 3.1770 -4.412004820697e-02 7.307037273273e+00
3180 3.1780 -4.406772209825e-02 7.314198896004e+00
3181 3.1790 -4.402029448223e-02 7.321360518735e+00
3182 3.1800 -4.397776780981e-02 7.328522141466e+00
3183 3.1810 -4.394014453315e-02 7.335683764197e+00
3184 3.1820 -4.390742710562e-02 7.342845386928e+00
3185 3.1830 -4.387961798182e-02 7.350007009658e+00
3186 3.1840 -4.385671961755e-02 7.357168632389e+00
3187 3.1850 -4.383873446988e-02 7.364330255120e+00
3188 3.1860 -4.382566499706e-02 7.371491877851e+00
3189 3.1870 -4.381751365861e-02 7.378653500582e+00
3190 3.1880 -4.381428291525e-02 7.385815123313e+00
3191 3.1890 -4.381597522891e-02 7.392976746044e+00
3192 3.1900 -4.382259306281e-02 7.400138368775e+00
3193 3.1910 -4.383413888135e-02 7.407299991506e+00
3194 3.1920 -4.385061515015e-02 7.414461614237e+00
3195 3.1930 -4.387202433612e-02 7.421623236968e+00
3196 3.1940 -4.389836890734e-02 7.428784859699e+00
3197 3.1950 -4.392965133314e-02 7.435946482430e+00
3198 3.1960 -4.396587408410e-02 7.443108105161e+00
3199 3.1970 -4.400703963202e-02 7.450269727891e+00
3200 3.1980 -4.405315044994e-02 7.457431350622e+00
3201 3.1990 -4.410420901212e-02 7.464592973353e+00
3202 3.2000 -4.416021779407e-02 7.471754596084e+00
3203 3.2010 -4.422117927252e-02 7.478916218815e+00
3204 3.2020 -4.428709592546e-02 7.486077841546e+00
3205 3.2030 -4.435797023209e-02 7.493239464277e+00
3206 3.2040 -4.443380467286e-02 7.500401087008e+00
3207 3.2050 -4.451460172947e-02 7.507562709739e+00
3208 3.2060 -4.460036388483e-02 7.514724332470e+00
3209 3.2070 -4.469109362312e-02 7.521885955201e+00
3210 3.2080 -4.478679342974e-02 7.529047577932e+00
3211 3.2090 -4.488746579133e-02 7.536209200663e+00
3212 3.2100 -4.499311319580e-02 7.543370823394e+00
3213 3.2110 -4.510373813224e-02 7.550532446124e+00
3214 3.2120 -4.521934309106e-02 7.557694068855e+00
3215 3.2130 -4.533993056385e-02 7.564855691586e+00
3216 3.2140 -4.546550304348e-02 7.572017314317e+00
3217 3.2150 -4.559606302405e-02 7.579178937048e+00
3218 3.2160 -4.573161300091e-02 7.586340559779e+00
3219 3.2170 -4.587215547065e-02 7.593502182510e+00
3220 3.2180 -4.601769293110e-02 7.600663805241e+00
3221 3.2190 -4.612825744838e-02 7.607865398405e+00
3222 3.2200 -4.596190480629e-02 7.615348908718e+00
3223 3.2210 -4.580055465592e-02 7.622832419032e+00
3224 3.2220 -4.564420950011e-02 7.630315929345e+00
3225 3.2230 -4.549287184291e-02 7.637799439659e+00
3226 3.2240 -4.534654418968e-02 7.645282949972e+00
3227 3.2250 -4.520522904699e-02 7.652766460285e+00
3228 3.2260 -4.506892892267e-02 7.660249970599e+00
3229 3.2270 -4.493764632580e-02 7.667733480912e+00
3230 3.2280 -4.481138376672e-02 7.675216991226e+00
3231 3.2290 -4.469014375703e-02 7.682700501539e+00
3232 3.2300 -4.457392880954e-02 7.690184011852e+00
3233 3.2310 -4.446274143837e-02 7.697667522166e+00
3234 3.2320 -4.435658415888e-02 7.705151032479e+00
3235 3.2330 -4.425545948766e-02 7.712634542793e+00
3236 3.2340 -4.415936994258e-02 7.720118053106e+00
3237 3.2350 -4.406831804276e-02 7.727601563420e+00
3238 3.2360 -4.398230630859e-02 7.735085073733e+00
3239 3.2370 -4.390133726169e-02 7.742568584046e+00
3240 3.2380 -4.382541342495e-02 7.750052094360e+00
3241 3.2390 -4.375453732255e-02 7.757535604673e+00
3242 3.2400 -4.368871147988e-02 7.765019114987e+00
3243 3.2410 -4.362793842363e-02 7.772502625300e+00
3244 3.2420 -4.357222068174e-02 7.779986135613e+00
3245 3.2430 -4.352156078339e-02 7.787469645927e+00
3246 3.2440 -4.347596125907e-02 7.794953156240e+00
3247 3.2450 -4.343542464047e-02 7.802436666554e+00
3248 3.2460 -4.339995346061e-02 7.809920176867e+00
3249 3.2470 -4.336955025372e-02 7.817403687180e+00
3250 3.2480 -4.334421755534e-02 7.824887197494e+00
3251 3.2490 -4.332395790224e-02 7.832370707807e+00
3252 3.2500 -4.330877383247e-02 7.839854218121e+00
3253 3.2510 -4.329866788536e-02 7.847337728434e+00
3254 3.2520 -4.329364260148e-02 7.854821238748e+00
3255 3.2530 -4.329370052270e-02 7.862304749061e+00
3256 3.2540 -4.329884419213e-02 7.869788259374e+00
3257 3.2550 -4.330907615417e-02 7.877271769688e+00
3258 3.2560 -4.332439895448e-02 7.884755280001e+00
3259 3.2570 -4.334481514000e-02 7.892238790315e+00
3260 3.2580 -4.337032725892e-02 7.899722300628e+00
3261 3.2590 -4.340093786074e-02 7.907205810941e+00
3262 3.2600 -4.343664949619e-02 7.914689321255e+00
3263 3.2610 -4.347746471731e-02 7.922172831568e+00
3264 3.2620 -4.352338607739e-02 7.929656341882e+00
3265 3.2630 -4.357441613100e-02 7.937139852195e+00
3266 3.2640 -4.363055743400e-02 7.944623362509e+00
3267 3.2650 -4.369181254350e-02 7.952106872822e+00
3268 3.2660 -4.375818401791e-02 7.959590383135e+00
3269 3.2670 -4.382967441691e-02 7.967073893449e+00
3270 3.2680 -4.390628630146e-02 7.974557403762e+00
3271 3.2690 -4.398802223379e-02 7.982040914076e+00
3272 3.2700 -4.407488477741e-02 7.989524424389e+00
3273 3.2710 -4.416687649712e-02 7.997007934702e+00
3274 3.2720 -4.426399995900e-02 8.004491445016e+00
3275 3.2730 -4.436625773040e-02 8.011974955329e+00
3276 3.2740 -4.447365237996e-02 8.019458465643e+00
3277 3.2750 -4.458618647760e-02 8.026941975956e+00
3278 3.2760 -4.470386259452e-02 8.034425486270e+00
3279 3.2770 -4.482668330322e-02 8.041908996583e+00
3280 3.2780 -4.495465117747e-02 8.049392506896e+00
3281 3.2790 -4.508776879232e-02 8.056876017210e+00
3282 3.2800 -4.522603872411e-02 8.064359527523e+00
3283 3.2810 -4.536946355049e-02 8.071843037837e+00
3284 3.2820 -4.551804585035e-02 8.079326548150e+00
3285 3.2830 -4.567178820391e-02 8.086810058463e+00
3286 3.2840 -4.583069319267e-02 8.094293568777e+00
3287 3.2850 -4.599476339939e-02 8.101777079090e+00
3288 3.2860 -4.616400140817e-02 8.109260589404e+00
3289 3.2870 -4.633840980434e-02 8.116744099717e+00
3290 3.2880 -4.651799117458e-02 8.124227610031e+00
3291 3.2890 -4.670274810682e-02 8.131711120344e+00
3292 3.2900 -4.689268319030e-02 8.139194630657e+00
3293 3.2910 -4.708779901555e-02 8.146678140971e+00
3294 3.2920 -4.728809817439e-02 8.154161651284e+00
3295 3.2930 -4.749358325995e-02 8.161645161598e+00
3296 3.2940 -4.770425686663e-02 8.169128671911e+00
3297 3.2950 -4.792012159014e-02 8.176612182224e+00
3298 3.2960 -4.810668892757e-02 8.184130183638e+00
3299 3.2970 -4.812151564352e-02 8.191825121985e+00
3300 3.2980 -4.814154127120e-02 8.199520060332e+00
3301 3.2990 -4.816676841152e-02 8.207214998679e+00
3302 3.3000 -4.819719966665e-02 8.214909937026e+00
3303 3.3010 -4.823283764011e-02 8.222604875372e+00
3304 3.3020 -4.827368493669e-02 8.230299813719e+00
3305 3.3030 -4.831974416248e-02 8.237994752066e+00
3306 3.3040 -4.837101792487e-02 8.245689690413e+00
3307 3.3050 -4.842750883258e-02 8.253384628760e+00
3308 3.3060 -4.848921949560e-02 8.261079567107e+00
3309 3.3070 -4.855615252522e-02 8.268774505454e+00
3310 3.3080 -4.862831053408e-02 8.276469443801e+00
3311 3.3090 -4.870569613607e-02 8.284164382148e+00
3312 3.3100 -4.878831194642e-02 8.291859320495e+00
3313 3.3110 -4.887616058165e-02 8.299554258842e+00
3314 3.3120 -4.896924465959e-02 8.307249197189e+00
3315 3.3130 -4.906756679939e-02 8.314944135536e+00
3316 3.3140 -4.917112962150e-02 8.322639073883e+00
3317 3.3150 -4.927993574766e-02 8.330334012230e+00
3318 3.3160 -4.939398780094e-02 8.338028950577e+00
3319 3.3170 -4.951328840572e-02 8.345723888924e+00
3320 3.3180 -4.963784018768e-02 8.353418827271e+00
3321 3.3190 -4.976764577382e-02 8.361113765618e+00
3322 3.3200 -4.990270779246e-02 8.368808703965e+00
3323 3.3210 -5.004302887321e-02 8.376503642311e+00
3324 3.3220 -5.018861164700e-02 8.384198580658e+00
3325 3.3230 -5.033945874609e-02 8.391893519005e+00
3326 3.3240 -5.049557280404e-02 8.399588457352e+00
3327 3.3250 -5.065695645572e-02 8.407283395699e+00
3328 3.3260 -5.082361233735e-02 8.414978334046e+00
3329 3.3270 -5.099554308641e-02 8.422673272393e+00
3330 3.3280 -5.117275134174e-02 8.430368210740e+00
3331 3.3290 -5.135523974350e-02 8.438063149087e+00
3332 3.3300 -5.154301093313e-02 8.445758087434e+00
3333 3.3310 -5.173606755344e-02 8.453453025781e+00
3334 3.3320 -5.193441224852e-02 8.461147964128e+00
3335 3.3330 -5.213804766379e-02 8.468842902475e+00
3336 3.3340 -5.234697644601e-02 8.476537840822e+00
3337 3.3350 -5.256120124324e-02 8.484232779169e+00
3338 3.3360 -5.278072470486e-02 8.491927717516e+00
3339 3.3370 -5.300554948160e-02 8.499622655863e+00
3340 3.3380 -5.323567822550e-02 8.507317594210e+00
3341 3.3390 -5.347111358991e-02 8.515012532557e+00
3342 3.3400 -5.371185822952e-02 8.522707470903e+00
3343 3.3410 -5.395791480034e-02 8.530402409250e+00
3344 3.3420 -5.420928595971e-02 8.538097347597e+00
3345 3.3430 -5.446597436631e-02 8.545792285944e+00
3346 3.3440 -5.472798268012e-02 8.553487224291e+00
3347 3.3450 -5.499531356247e-02 8.561182162638e+00
3348 3.3460 -5.526796967601e-02 8.568877100985e+00
3349 3.3470 -5.554595368473e-02 8.576572039332e+00
3350 3.3480 -5.582926825393e-02 8.584266977679e+00
3351 3.3490 -5.611791605026e-02 8.591961916026e+00
3352 3.3500 -5.641189974171e-02 8.599656854373e+00
3353 3.3510 -5.671122199757e-02 8.607351792720e+00
3354 3.3520 -5.701588548848e-02 8.615046731067e+00
3355 3.3530 -5.732589288643e-02 8.622741669414e+00
3356 3.3540 -5.764124686472e-02 8.630436607761e+00
3357 3.3550 -5.796195009800e-02 8.638131546108e+00
3358 3.3560 -5.828800526227e-02 8.645826484455e+00
3359 3.3570 -5.861941503481e-02 8.653521422802e+00
3360 3.3580 -5.895618209431e-02 8.661216361149e+00
3361 3.3590 -5.929830912074e-02 8.668911299495e+00
3362 3.3600 -5.964579879544e-02 8.676606237842e+00
3363 3.3610 -5.999865380109e-02 8.684301176189e+00
3364 3.3620 -6.035687682170e-02 8.691996114536e+00
3365 3.3630 -6.072047054262e-02 8.699691052883e+00
3366 3.3640 -6.108943765053e-02 8.707385991230e+00
3367 3.3650 -6.146378083348e-02 8.715080929577e+00
3368 3.3660 -6.184350278084e-02 8.722775867924e+00
3369 3.3670 -6.222860618334e-02 8.730470806271e+00
3370 3.3680 -6.217878246402e-02 8.738606055887e+00
3371 3.3690 -6.194936571644e-02 8.746926285372e+00
3372 3.3700 -6.172533850423e-02 8.755246514857e+00
3373 3.3710 -6.150670352349e-02 8.763566744342e+00
3374 3.3720 -6.129346347168e-02 8.771886973826e+00
3375 3.3730 -6.108562104757e-02 8.780207203311e+00
3376 3.3740 -6.088317895132e-02 8.788527432796e+00
3377 3.3750 -6.068613988442e-02 8.796847662281e+00
3378 3.3760 -6.049450654972e-02 8.805167891766e+00
3379 3.3770 -6.030828165140e-02 8.813488121251e+00
3380 3.3780 -6.012746789500e-02 8.821808350735e+00
3381 3.3790 -5.995206798744e-02 8.830128580220e+00
3382 3.3800 -5.978208463694e-02 8.838448809705e+00
3383 3.3810 -5.961752055311e-02 8.846769039190e+00
3384 3.3820 -5.945837844690e-02 8.855089268675e+00
3385 3.3830 -5.930466103062e-02 8.863409498160e+00
3386 3.3840 -5.915637101794e-02 8.871729727644e+00
3387 3.3850 -5.901351112386e-02 8.880049957129e+00
3388 3.3860 -5.887608406477e-02 8.888370186614e+00
3389 3.3870 -5.874409255839e-02 8.896690416099e+00
3390 3.3880 -5.861753932382e-02 8.905010645584e+00
3391 3.3890 -5.849642708150e-02 8.913330875069e+00
3392 3.3900 -5.838075855323e-02 8.921651104553e+00
3393 3.3910 -5.827053646218e-02 8.929971334038e+00
3394 3.3920 -5.816576353289e-02 8.938291563523e+00
3395 3.3930 -5.806644249123e-02 8.946611793008e+00
3396 3.3940 -5.797257606445e-02 8.954932022493e+00
3397 3.3950 -5.788416698117e-02 8.963252251978e+00
3398 3.3960 -5.780121797136e-02 8.971572481463e+00
3399 3.3970 -5.772373176635e-02 8.979892710947e+00
3400 3.3980 -5.765171109885e-02 8.988212940432e+00
3401 3.3990 -5.758515870293e-02 8.996533169917e+00
3402 3.4000 -5.752407731402e-02 9.004853399402e+00
3403 3.4010 -5.746846966892e-02 9.013173628887e+00
3404 3.4020 -5.741833850580e-02 9.021493858372e+00
3405 3.4030 -5.737368656419e-02 9.029814087856e+00
3406 3.4040 -5.733451658500e-02 9.038134317341e+00
3407 3.4050 -5.730083131049e-02 9.046454546826e+00
3408 3.4060 -5.727263348432e-02 9.054774776311e+00
3409 3.4070 -5.724992585150e-02 9.063095005796e+00
3410 3.4080 -5.723271115841e-02 9.071415235281e+00
3411 3.4090 -5.722099215280e-02 9.079735464765e+00
3412 3.4100 -5.721477158380e-02 9.088055694250e+00
3413 3.4110 -5.721405220193e-02 9.096375923735e+00
3414 3.4120 -5.721883675906e-02 9.104696153220e+00
3415 3.4130 -5.722912800843e-02 9.113016382705e+00
3416 3.4140 -5.724492870469e-02 9.121336612190e+00
3417 3.4150 -5.726624160382e-02 9.129656841674e+00
3418 3.4160 -5.729306946321e-02 9.137977071159e+00
3419 3.4170 -5.732541504163e-02 9.146297300644e+00
3420 3.4180 -5.736328109919e-02 9.154617530129e+00
3421 3.4190 -5.740667039743e-02 9.162937759614e+00
3422 3.4200 -5.745558569923e-02 9.171257989099e+00
3423 3.4210 -5.751002976888e-02 9.179578218584e+00
3424 3.4220 -5.757000537201e-02 9.187898448068e+00
3425 3.4230 -5.763551527569e-02 9.196218677553e+00
3426 3.4240 -5.770656224832e-02 9.204538907038e+00
3427 3.4250 -5.778314905970e-02 9.212859136523e+00
3428 3.4260 -5.786527848104e-02 9.221179366008e+00
3429 3.4270 -5.795295328489e-02 9.229499595493e+00
3430 3.4280 -5.804617624521e-02 9.237819824977e+00
3431 3.4290 -5.814495013735e-02 9.246140054462e+00
3432 3.4300 -5.824927773804e-02 9.254460283947e+00
3433 3.4310 -5.835916182539e-02 9.262780513432e+00
3434 3.4320 -5.847460517891e-02 9.271100742917e+00
3435 3.4330 -5.859561057949e-02 9.279420972402e+00
3436 3.4340 -5.871428901812e-02 9.287749093678e+00
3437 3.4350 -5.822966455205e-02 9.296686085472e+00
3438 3.4360 -5.775061048405e-02 9.305623077265e+00
3439 3.4370 -5.727712960060e-02 9.314560069059e+00
3440 3.4380 -5.680922468952e-02 9.323497060853e+00
3441 3.4390 -5.634689854007e-02 9.332434052647e+00
3442 3.4400 -5.589015394287e-02 9.341371044441e+00
3443 3.4410 -5.543899368996e-02 9.350308036235e+00
3444 3.4420 -5.499342057476e-02 9.359245028029e+00
3445 3.4430 -5.455343739208e-02 9.368182019822e+00
3446 3.4440 -5.411904693815e-02 9.377119011616e+00
3447 3.4450 -5.369025201057e-02 9.386056003410e+00
3448 3.4460 -5.326705540836e-02 9.394992995204e+00
3449 3.4470 -5.284945993192e-02 9.403929986998e+00
3450 3.4480 -5.243746838306e-02 9.412866978792e+00
3451 3.4490 -5.203108356498e-02 9.421803970586e+00
3452 3.4500 -5.163030828231e-02 9.430740962379e+00
3453 3.4510 -5.123514534103e-02 9.439677954173e+00
3454 3.4520 -5.084559754858e-02 9.448614945967e+00
3455 3.4530 -5.046166771375e-02 9.457551937761e+00
3456 3.4540 -5.008335864677e-02 9.466488929555e+00
3457 3.4550 -4.971067315927e-02 9.475425921349e+00
3458 3.4560 -4.934361406426e-02 9.484362913143e+00
3459 3.4570 -4.898218417617e-02 9.493299904936e+00
3460 3.4580 -4.862638631086e-02 9.502236896730e+00
3461 3.4590 -4.827622328556e-02 9.511173888524e+00
3462 3.4600 -4.793169791892e-02 9.520110880318e+00
3463 3.4610 -4.759281303100e-02 9.529047872112e+00
3464 3.4620 -4.725957144328e-02 9.537984863906e+00
3465 3.4630 -4.693197597864e-02 9.546921855700e+00
3466 3.4640 -4.661002946137e-02 9.555858847493e+00
3467 3.4650 -4.629373471716e-02 9.564795839287e+00
3468 3.4660 -4.595073414423e-02 9.573765191510e+00
3469 3.4670 -4.552321916098e-02 9.582824715572e+00
3470 3.4680 -4.510136443638e-02 9.591884239634e+00
3471 3.4690 -4.468517280178e-02 9.600943763695e+00
3472 3.4700 -4.427464708995e-02 9.610003287757e+00
3473 3.4710 -4.386979013507e-02 9.619062811819e+00
3474 3.4720 -4.347060477275e-02 9.628122335881e+00
3475 3.4730 -4.307709383999e-02 9.637181859943e+00
3476 3.4740 -4.268926017524e-02 9.646241384004e+00
3477 3.4750 -4.230710661835e-02 9.655300908066e+00
3478 3.4760 -4.193063601059e-02 9.664360432128e+00
3479 3.4770 -4.155985119464e-02 9.673419956190e+00
3480 3.4780 -4.119475501463e-02 9.682479480252e+00
3481 3.4790 -4.083535031608e-02 9.691539004313e+00
3482 3.4800 -4.048163994595e-02 9.700598528375e+00
3483 3.4810 -4.013362675262e-02 9.709658052437e+00
3484 3.4820 -3.979131358589e-02 9.718717576499e+00
3485 3.4830 -3.945470329698e-02 9.727777100560e+00
3486 3.4840 -3.912379873854e-02 9.736836624622e+00
3487 3.4850 -3.879860276465e-02 9.745896148684e+00
3488 3.4860 -3.847911823081e-02 9.754955672746e+00
3489 3.4870 -3.816534799394e-02 9.764015196808e+00
3490 3.4880 -3.785729491240e-02 9.773074720869e+00
3491 3.4890 -3.755496184599e-02 9.782134244931e+00
3492 3.4900 -3.725835165589e-02 9.791193768993e+00
3493 3.4910 -3.696746720477e-02 9.800253293055e+00
3494 3.4920 -3.668231135669e-02 9.809312817117e+00
3495 3.4930 -3.640288697716e-02 9.818372341178e+00
3496 3.4940 -3.612919693312e-02 9.827431865240e+00
3497 3.4950 -3.586124409292e-02 9.836491389302e+00
3498 3.4960 -3.559903132638e-02 9.845550913364e+00
3499 3.4970 -3.534256150473e-02 9.854610437426e+00
3500 3.4980 -3.509183750064e-02 9.863669961487e+00
3501 3.4990 -3.484686218822e-02 9.872729485549e+00

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