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 8 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
3502 3.5000 -3.460763844302e-02 9.881789009611e+00
3503 3.5010 -3.437416914199e-02 9.890848533673e+00
3504 3.5020 -3.414645716358e-02 9.899908057735e+00
3505 3.5030 -3.392450538763e-02 9.908967581796e+00
3506 3.5040 -3.370831669544e-02 9.918027105858e+00
3507 3.5050 -3.349789396974e-02 9.927086629920e+00
3508 3.5060 -3.329324009471e-02 9.936146153982e+00
3509 3.5070 -3.309435795595e-02 9.945205678043e+00
3510 3.5080 -3.290125044054e-02 9.954265202105e+00
3511 3.5090 -3.271392043697e-02 9.963324726167e+00
3512 3.5100 -3.253237083519e-02 9.972384250229e+00
3513 3.5110 -3.235660452659e-02 9.981443774291e+00
3514 3.5120 -3.218662440399e-02 9.990503298352e+00
3515 3.5130 -3.202243336167e-02 9.999562822414e+00
3516 3.5140 -3.186403429538e-02 1.000862234648e+01
3517 3.5150 -3.171143010227e-02 1.001768187054e+01
3518 3.5160 -3.156462368096e-02 1.002674139460e+01
3519 3.5170 -3.142361793153e-02 1.003580091866e+01
3520 3.5180 -3.128841575549e-02 1.004486044272e+01
3521 3.5190 -3.115902005582e-02 1.005391996678e+01
3522 3.5200 -3.103543373693e-02 1.006297949085e+01
3523 3.5210 -3.091765970468e-02 1.007203901491e+01
3524 3.5220 -3.080570086641e-02 1.008109853897e+01
3525 3.5230 -3.069956013088e-02 1.009015806303e+01
3526 3.5240 -3.059924040833e-02 1.009921758709e+01
3527 3.5250 -3.050474461044e-02 1.010827711116e+01
3528 3.5260 -3.041607565035e-02 1.011733663522e+01
3529 3.5270 -3.033323644265e-02 1.012639615928e+01
3530 3.5280 -3.025622990340e-02 1.013545568334e+01
3531 3.5290 -3.018505895010e-02 1.014451520740e+01
3532 3.5300 -3.011972650171e-02 1.015357473146e+01
3533 3.5310 -3.006023547867e-02 1.016263425553e+01
3534 3.5320 -3.000658880285e-02 1.017169377959e+01
3535 3.5330 -2.995878939761e-02 1.018075330365e+01
3536 3.5340 -2.991684018773e-02 1.018981282771e+01
3537 3.5350 -2.988074409950e-02 1.019887235177e+01
3538 3.5360 -2.985050406064e-02 1.020793187584e+01
3539 3.5370 -2.982612300035e-02 1.021699139990e+01
3540 3.5380 -2.980760384928e-02 1.022605092396e+01
3541 3.5390 -2.979494953955e-02 1.023511044802e+01
3542 3.5400 -2.978816300475e-02 1.024416997208e+01
3543 3.5410 -2.978724717993e-02 1.025322949614e+01
3544 3.5420 -2.979220500162e-02 1.026228902021e+01
3545 3.5430 -2.980303940779e-02 1.027134854427e+01
3546 3.5440 -2.981975333790e-02 1.028040806833e+01
3547 3.5450 -2.984234973287e-02 1.028946759239e+01
3548 3.5460 -2.987083153511e-02 1.029852711645e+01
3549 3.5470 -2.990520168847e-02 1.030758664052e+01
3550 3.5480 -2.994546313830e-02 1.031664616458e+01
3551 3.5490 -2.999161883139e-02 1.032570568864e+01
3552 3.5500 -3.004367171603e-02 1.033476521270e+01
3553 3.5510 -3.010162474197e-02 1.034382473676e+01
3554 3.5520 -3.016548086044e-02 1.035288426082e+01
3555 3.5530 -3.023524302414e-02 1.036194378489e+01
3556 3.5540 -3.031091418726e-02 1.037100330895e+01
3557 3.5550 -3.039249730544e-02 1.038006283301e+01
3558 3.5560 -3.047999533582e-02 1.038912235707e+01
3559 3.5570 -3.057341123701e-02 1.039818188113e+01
3560 3.5580 -3.067274796910e-02 1.040724140519e+01
3561 3.5590 -3.077800849366e-02 1.041630092926e+01
3562 3.5600 -3.088919577372e-02 1.042536045332e+01
3563 3.5610 -3.100631277383e-02 1.043441997738e+01
3564 3.5620 -3.112936245998e-02 1.044347950144e+01
3565 3.5630 -3.125834779969e-02 1.045253902550e+01
3566 3.5640 -3.139327176193e-02 1.046159854957e+01
3567 3.5650 -3.153413731715e-02 1.047065807363e+01
3568 3.5660 -3.168094743728e-02 1.047971759769e+01
3569 3.5670 -3.183370509578e-02 1.048877712175e+01
3570 3.5680 -3.199241326755e-02 1.049783664581e+01
3571 3.5690 -3.215707492899e-02 1.050689616987e+01
3572 3.5700 -3.232769305801e-02 1.051595569394e+01
3573 3.5710 -3.250427063397e-02 1.052501521800e+01
3574 3.5720 -3.268681063773e-02 1.053407474206e+01
3575 3.5730 -3.287531605167e-02 1.054313426612e+01
3576 3.5740 -3.306978985963e-02 1.055219379018e+01
3577 3.5750 -3.327023504695e-02 1.056125331425e+01
3578 3.5760 -3.347665460045e-02 1.057031283831e+01
3579 3.5770 -3.368905150847e-02 1.057937236237e+01
3580 3.5780 -3.390742876081e-02 1.058843188643e+01
3581 3.5790 -3.413178934880e-02 1.059749141049e+01
3582 3.5800 -3.436213626524e-02 1.060655093455e+01
3583 3.5810 -3.459847250444e-02 1.061561045862e+01
3584 3.5820 -3.484080106219e-02 1.062466998268e+01
3585 3.5830 -3.508912493578e-02 1.063372950674e+01
3586 3.5840 -3.534344712402e-02 1.064278903080e+01
3587 3.5850 -3.560377062719e-02 1.065184855486e+01
3588 3.5860 -3.587009844710e-02 1.066090807892e+01
3589 3.5870 -3.614243358704e-02 1.066996760299e+01
3590 3.5880 -3.642077905179e-02 1.067902712705e+01
3591 3.5890 -3.670513784766e-02 1.068808665111e+01
3592 3.5900 -3.699551298244e-02 1.069714617517e+01
3593 3.5910 -3.729190746544e-02 1.070620569923e+01
3594 3.5920 -3.759432430746e-02 1.071526522330e+01
3595 3.5930 -3.790276652082e-02 1.072432474736e+01
3596 3.5940 -3.821723711933e-02 1.073338427142e+01
3597 3.5950 -3.853773911830e-02 1.074244379548e+01
3598 3.5960 -3.886427553459e-02 1.075150331954e+01
3599 3.5970 -3.919684938652e-02 1.076056284360e+01
3600 3.5980 -3.953546369394e-02 1.076962236767e+01
3601 3.5990 -3.988012147820e-02 1.077868189173e+01
3602 3.6000 -4.023082576217e-02 1.078774141579e+01
3603 3.6010 -4.058757957023e-02 1.079680093985e+01
3604 3.6020 -4.095038592827e-02 1.080586046391e+01
3605 3.6030 -4.131924786369e-02 1.081491998798e+01
3606 3.6040 -4.169416840540e-02 1.082397951204e+01
3607 3.6050 -4.207515058383e-02 1.083303903610e+01
3608 3.6060 -4.246219743093e-02 1.084209856016e+01
3609 3.6070 -4.285531198014e-02 1.085115808422e+01
3610 3.6080 -4.325449726645e-02 1.086021760828e+01
3611 3.6090 -4.365975632635e-02 1.086927713235e+01
3612 3.6100 -4.407109219785e-02 1.087833665641e+01
3613 3.6110 -4.443977830101e-02 1.088744491009e+01
3614 3.6120 -4.426964566771e-02 1.089709806540e+01
3615 3.6130 -4.410559896916e-02 1.090675122071e+01
3616 3.6140 -4.394764124944e-02 1.091640437602e+01
3617 3.6150 -4.379577555414e-02 1.092605753133e+01
3618 3.6160 -4.365000493042e-02 1.093571068664e+01
3619 3.6170 -4.351033242691e-02 1.094536384195e+01
3620 3.6180 -4.337676109380e-02 1.095501699726e+01
3621 3.6190 -4.324929398279e-02 1.096467015257e+01
3622 3.6200 -4.312793414712e-02 1.097432330788e+01
3623 3.6210 -4.301268464153e-02 1.098397646319e+01
3624 3.6220 -4.290354852230e-02 1.099362961850e+01
3625 3.6230 -4.280052884725e-02 1.100328277381e+01
3626 3.6240 -4.270362867570e-02 1.101293592912e+01
3627 3.6250 -4.261285106855e-02 1.102258908443e+01
3628 3.6260 -4.252819908816e-02 1.103224223974e+01
3629 3.6270 -4.244967579847e-02 1.104189539505e+01
3630 3.6280 -4.237728426494e-02 1.105154855036e+01
3631 3.6290 -4.231102755456e-02 1.106120170567e+01
3632 3.6300 -4.225090873585e-02 1.107085486098e+01
3633 3.6310 -4.219693087889e-02 1.108050801629e+01
3634 3.6320 -4.214909705525e-02 1.109016117160e+01
3635 3.6330 -4.210741033805e-02 1.109981432691e+01
3636 3.6340 -4.207187380197e-02 1.110946748222e+01
3637 3.6350 -4.204249052321e-02 1.111912063753e+01
3638 3.6360 -4.201926357949e-02 1.112877379284e+01
3639 3.6370 -4.200219605012e-02 1.113842694815e+01
3640 3.6380 -4.199129101588e-02 1.114808010346e+01
3641 3.6390 -4.198655155915e-02 1.115773325877e+01
3642 3.6400 -4.198798076382e-02 1.116738641408e+01
3643 3.6410 -4.199558171532e-02 1.117703956939e+01
3644 3.6420 -4.200935750064e-02 1.118669272470e+01
3645 3.6430 -4.202931120829e-02 1.119634588001e+01
3646 3.6440 -4.205544592835e-02 1.120599903531e+01
3647 3.6450 -4.208776475243e-02 1.121565219062e+01
3648 3.6460 -4.212627077369e-02 1.122530534593e+01
3649 3.6470 -4.217096708682e-02 1.123495850124e+01
3650 3.6480 -4.222185678807e-02 1.124461165655e+01
3651 3.6490 -4.227894297526e-02 1.125426481186e+01
3652 3.6500 -4.234222874771e-02 1.126391796717e+01
3653 3.6510 -4.241171720633e-02 1.127357112248e+01
3654 3.6520 -4.248741145356e-02 1.128322427779e+01
3655 3.6530 -4.256931459339e-02 1.129287743310e+01
3656 3.6540 -4.265742973138e-02 1.130253058841e+01
3657 3.6550 -4.275175997463e-02 1.131218374372e+01
3658 3.6560 -4.285230843178e-02 1.132183689903e+01
3659 3.6570 -4.295907821305e-02 1.133149005434e+01
3660 3.6580 -4.307207243020e-02 1.134114320965e+01
3661 3.6590 -4.319129419654e-02 1.135079636496e+01
3662 3.6600 -4.331674662694e-02 1.136044952027e+01
3663 3.6610 -4.344843283785e-02 1.137010267558e+01
3664 3.6620 -4.358635594725e-02 1.137975583089e+01
3665 3.6630 -4.373051907467e-02 1.138940898620e+01
3666 3.6640 -4.388092534124e-02 1.139906214151e+01
3667 3.6650 -4.403757786961e-02 1.140871529682e+01
3668 3.6660 -4.420047978402e-02 1.141836845213e+01
3669 3.6670 -4.436963421025e-02 1.142802160744e+01
3670 3.6680 -4.454504427564e-02 1.143767476275e+01
3671 3.6690 -4.472671310914e-02 1.144732791806e+01
3672 3.6700 -4.491464384120e-02 1.145698107337e+01
3673 3.6710 -4.510883960387e-02 1.146663422868e+01
3674 3.6720 -4.530930353075e-02 1.147628738399e+01
3675 3.6730 -4.551603875705e-02 1.148594053930e+01
3676 3.6740 -4.572904841947e-02 1.149559369461e+01
3677 3.6750 -4.594833565634e-02 1.150524684992e+01
3678 3.6760 -4.617390360755e-02 1.151490000523e+01
3679 3.6770 -4.640575541454e-02 1.152455316054e+01
3680 3.6780 -4.664389422032e-02 1.153420631585e+01
3681 3.6790 -4.688832316951e-02 1.154385947116e+01
3682 3.6800 -4.713904540823e-02 1.155351262647e+01
3683 3.6810 -4.739606408425e-02 1.156316578178e+01
3684 3.6820 -4.765938234687e-02 1.157281893709e+01
3685 3.6830 -4.792900334697e-02 1.158247209240e+01
3686 3.6840 -4.820493023700e-02 1.159212524771e+01
3687 3.6850 -4.848716617101e-02 1.160177840302e+01
3688 3.6860 -4.877571430460e-02 1.161143155833e+01
3689 3.6870 -4.907057779496e-02 1.162108471364e+01
3690 3.6880 -4.937175980087e-02 1.163073786895e+01
3691 3.6890 -4.967926348265e-02 1.164039102426e+01
3692 3.6900 -4.999309200225e-02 1.165004417957e+01
3693 3.6910 -5.031324852317e-02 1.165969733488e+01
3694 3.6920 -5.063973621048e-02 1.166935049019e+01
3695 3.6930 -5.097255823088e-02 1.167900364550e+01
3696 3.6940 -5.131171775259e-02 1.168865680081e+01
3697 3.6950 -5.165721794547e-02 1.169830995612e+01
3698 3.6960 -5.200906198093e-02 1.170796311143e+01
3699 3.6970 -5.236725303198e-02 1.171761626674e+01
3700 3.6980 -5.273179427322e-02 1.172726942205e+01
3701 3.6990 -5.310268888081e-02 1.173692257736e+01
3702 3.7000 -5.347994003253e-02 1.174657573267e+01
3703 3.7010 -5.386355090774e-02 1.175622888798e+01
3704 3.7020 -5.425352468737e-02 1.176588204329e+01
3705 3.7030 -5.464986455398e-02 1.177553519860e+01
3706 3.7040 -5.505257369167e-02 1.178518835391e+01
3707 3.7050 -5.546165528617e-02 1.179484150922e+01
3708 3.7060 -5.587711252480e-02 1.180449466453e+01
3709 3.7070 -5.629894859645e-02 1.181414781984e+01
3710 3.7080 -5.672716669161e-02 1.182380097515e+01
3711 3.7090 -5.716177000240e-02 1.183345413046e+01
3712 3.7100 -5.760276172249e-02 1.184310728577e+01
3713 3.7110 -5.805014504716e-02 1.185276044108e+01
3714 3.7120 -5.850392317331e-02 1.186241359639e+01
3715 3.7130 -5.896409929942e-02 1.187206675170e+01
3716 3.7140 -5.918249135311e-02 1.188196809228e+01
3717 3.7150 -5.907551056125e-02 1.189220121011e+01
3718 3.7160 -5.897493737439e-02 1.190243432794e+01
3719 3.7170 -5.888077499739e-02 1.191266744577e+01
3720 3.7180 -5.879302663675e-02 1.192290056360e+01
3721 3.7190 -5.871169550056e-02 1.193313368143e+01
3722 3.7200 -5.863678479849e-02 1.194336679926e+01
3723 3.7210 -5.856829774186e-02 1.195359991709e+01
3724 3.7220 -5.850623754355e-02 1.196383303491e+01
3725 3.7230 -5.845060741807e-02 1.197406615274e+01
3726 3.7240 -5.840141058154e-02 1.198429927057e+01
3727 3.7250 -5.835865025168e-02 1.199453238840e+01
3728 3.7260 -5.832232964782e-02 1.200476550623e+01
3729 3.7270 -5.829245199089e-02 1.201499862406e+01
3730 3.7280 -5.826902050345e-02 1.202523174189e+01
3731 3.7290 -5.825203840966e-02 1.203546485972e+01
3732 3.7300 -5.824150893528e-02 1.204569797755e+01
3733 3.7310 -5.823743530770e-02 1.205593109538e+01
3734 3.7320 -5.823982075593e-02 1.206616421321e+01
3735 3.7330 -5.824866851057e-02 1.207639733104e+01
3736 3.7340 -5.826398180384e-02 1.208663044887e+01
3737 3.7350 -5.828576386959e-02 1.209686356670e+01
3738 3.7360 -5.831401794329e-02 1.210709668453e+01
3739 3.7370 -5.834874726201e-02 1.211732980236e+01
3740 3.7380 -5.838995506445e-02 1.212756292019e+01
3741 3.7390 -5.843764459092e-02 1.213779603802e+01
3742 3.7400 -5.849181908335e-02 1.214802915585e+01
3743 3.7410 -5.855248178530e-02 1.215826227368e+01
3744 3.7420 -5.861963594195e-02 1.216849539151e+01
3745 3.7430 -5.869328480010e-02 1.217872850934e+01
3746 3.7440 -5.877343160816e-02 1.218896162717e+01
3747 3.7450 -5.886007961618e-02 1.219919474500e+01
3748 3.7460 -5.895323207585e-02 1.220942786282e+01
3749 3.7470 -5.905289224043e-02 1.221966098065e+01
3750 3.7480 -5.915906336489e-02 1.222989409848e+01
3751 3.7490 -5.927174870574e-02 1.224012721631e+01
3752 3.7500 -5.939095152118e-02 1.225036033414e+01
3753 3.7510 -5.951667507101e-02 1.226059345197e+01
3754 3.7520 -5.964892261666e-02 1.227082656980e+01
3755 3.7530 -5.978769742121e-02 1.228105968763e+01
3756 3.7540 -5.993300274936e-02 1.229129280546e+01
3757 3.7550 -6.008484186744e-02 1.230152592329e+01
3758 3.7560 -6.024321804339e-02 1.231175904112e+01
3759 3.7570 -6.040813454684e-02 1.232199215895e+01
3760 3.7580 -6.057959464900e-02 1.233222527678e+01
3761 3.7590 -6.075760162274e-02 1.234245839461e+01
3762 3.7600 -6.094215874259e-02 1.235269151244e+01
3763 3.7610 -6.113326928465e-02 1.236292463027e+01
3764 3.7620 -6.087214077366e-02 1.237361654385e+01
3765 3.7630 -6.050279035479e-02 1.238442323932e+01
3766 3.7640 -6.014000319639e-02 1.239522993479e+01
3767 3.7650 -5.978378258117e-02 1.240603663026e+01
3768 3.7660 -5.943413179348e-02 1.241684332573e+01
3769 3.7670 -5.909105411928e-02 1.242765002120e+01
3770 3.7680 -5.875455284619e-02 1.243845671667e+01
3771 3.7690 -5.842463126351e-02 1.244926341214e+01
3772 3.7700 -5.810129266211e-02 1.246007010761e+01
3773 3.7710 -5.778454033457e-02 1.247087680308e+01
3774 3.7720 -5.747437757509e-02 1.248168349855e+01
3775 3.7730 -5.717080767952e-02 1.249249019402e+01
3776 3.7740 -5.687383394534e-02 1.250329688949e+01
3777 3.7750 -5.658345967172e-02 1.251410358496e+01
3778 3.7760 -5.629968815944e-02 1.252491028043e+01
3779 3.7770 -5.602252271095e-02 1.253571697590e+01
3780 3.7780 -5.575196663034e-02 1.254652367137e+01
3781 3.7790 -5.548802322337e-02 1.255733036684e+01
3782 3.7800 -5.523069579743e-02 1.256813706231e+01
3783 3.7810 -5.497998766159e-02 1.257894375778e+01
3784 3.7820 -5.473590212653e-02 1.258975045325e+01
3785 3.7830 -5.449844250464e-02 1.260055714872e+01
3786 3.7840 -5.426761210993e-02 1.261136384419e+01
3787 3.7850 -5.404341425807e-02 1.262217053966e+01
3788 3.7860 -5.382585226641e-02 1.263297723513e+01
3789 3.7870 -5.361492945393e-02 1.264378393060e+01
3790 3.7880 -5.341064914129e-02 1.265459062607e+01
3791 3.7890 -5.321301465079e-02 1.266539732154e+01
3792 3.7900 -5.302202930643e-02 1.267620401701e+01
3793 3.7910 -5.283769643381e-02 1.268701071248e+01
3794 3.7920 -5.266001936025e-02 1.269781740795e+01
3795 3.7930 -5.248900141472e-02 1.270862410342e+01
3796 3.7940 -5.232464592781e-02 1.271943079889e+01
3797 3.7950 -5.216695623184e-02 1.273023749436e+01
3798 3.7960 -5.201593566077e-02 1.274104418983e+01
3799 3.7970 -5.187158755020e-02 1.275185088530e+01
3800 3.7980 -5.173391523744e-02 1.276265758077e+01
3801 3.7990 -5.160292206145e-02 1.277346427624e+01
3802 3.8000 -5.147861136284e-02 1.278427097171e+01
3803 3.8010 -5.136098648393e-02 1.279507766718e+01
3804 3.8020 -5.125005076868e-02 1.280588436265e+01
3805 3.8030 -5.114580756274e-02 1.281669105812e+01
3806 3.8040 -5.104826021341e-02 1.282749775359e+01
3807 3.8050 -5.095741206970e-02 1.283830444906e+01
3808 3.8060 -5.087326648224e-02 1.284911114453e+01
3809 3.8070 -5.079582680340e-02 1.285991784000e+01
3810 3.8080 -5.072509638719e-02 1.287072453547e+01
3811 3.8090 -5.066107858928e-02 1.288153123094e+01
3812 3.8100 -5.060377676705e-02 1.289233792641e+01
3813 3.8110 -5.055319427955e-02 1.290314462188e+01
3814 3.8120 -5.050933448752e-02 1.291395131735e+01
3815 3.8130 -5.047220075334e-02 1.292475801282e+01
3816 3.8140 -5.044179644111e-02 1.293556470829e+01
3817 3.8150 -5.041812491659e-02 1.294637140376e+01
3818 3.8160 -5.040118954725e-02 1.295717809923e+01
3819 3.8170 -5.039099370222e-02 1.296798479470e+01
3820 3.8180 -5.038754075231e-02 1.297879149017e+01
3821 3.8190 -5.039083407003e-02 1.298959818564e+01
3822 3.8200 -5.040087702958e-02 1.300040488111e+01
3823 3.8210 -5.041767300683e-02 1.301121157658e+01
3824 3.8220 -5.044122537935e-02 1.302201827205e+01
3825 3.8230 -5.047153752640e-02 1.303282496752e+01
3826 3.8240 -5.050861282892e-02 1.304363166299e+01
3827 3.8250 -5.055245466954e-02 1.305443835846e+01
3828 3.8260 -5.060306643261e-02 1.306524505393e+01
3829 3.8270 -5.066045150411e-02 1.307605174940e+01
3830 3.8280 -5.072461327178e-02 1.308685844487e+01
3831 3.8290 -5.079555512502e-02 1.309766514034e+01
3832 3.8300 -5.087328045493e-02 1.310847183581e+01
3833 3.8310 -5.095779265429e-02 1.311927853128e+01
3834 3.8320 -5.104909511761e-02 1.313008522675e+01
3835 3.8330 -5.114719124108e-02 1.314089192222e+01
3836 3.8340 -5.125208442257e-02 1.315169861769e+01
3837 3.8350 -5.136377806167e-02 1.316250531316e+01
3838 3.8360 -5.148227555968e-02 1.317331200863e+01
3839 3.8370 -5.160758031957e-02 1.318411870410e+01
3840 3.8380 -5.173969574604e-02 1.319492539957e+01
3841 3.8390 -5.187862524547e-02 1.320573209504e+01
3842 3.8400 -5.202437222595e-02 1.321653879051e+01
3843 3.8410 -5.217694009728e-02 1.322734548598e+01
3844 3.8420 -5.233633227097e-02 1.323815218145e+01
3845 3.8430 -5.250255216021e-02 1.324895887692e+01
3846 3.8440 -5.267560317993e-02 1.325976557239e+01
3847 3.8450 -5.285548874675e-02 1.327057226786e+01
3848 3.8460 -5.304221227898e-02 1.328137896333e+01
3849 3.8470 -5.323577719668e-02 1.329218565880e+01
3850 3.8480 -5.343618692159e-02 1.330299235427e+01
3851 3.8490 -5.364344487716e-02 1.331379904974e+01
3852 3.8500 -5.385755448858e-02 1.332460574521e+01
3853 3.8510 -5.359981081380e-02 1.333589114905e+01
3854 3.8520 -5.326603227205e-02 1.334725944626e+01
3855 3.8530 -5.293911567196e-02 1.335862774348e+01
3856 3.8540 -5.261906444551e-02 1.336999604070e+01
3857 3.8550 -5.230588202645e-02 1.338136433791e+01
3858 3.8560 -5.199957185026e-02 1.339273263513e+01
3859 3.8570 -5.170013735410e-02 1.340410093235e+01
3860 3.8580 -5.140758197685e-02 1.341546922957e+01
3861 3.8590 -5.112190915916e-02 1.342683752678e+01
3862 3.8600 -5.084312234334e-02 1.343820582400e+01
3863 3.8610 -5.057122497345e-02 1.344957412122e+01
3864 3.8620 -5.030622049527e-02 1.346094241843e+01
3865 3.8630 -5.004811235630e-02 1.347231071565e+01
3866 3.8640 -4.979690400576e-02 1.348367901287e+01
3867 3.8650 -4.955259889460e-02 1.349504731009e+01
3868 3.8660 -4.931520047550e-02 1.350641560730e+01
3869 3.8670 -4.908471220285e-02 1.351778390452e+01
3870 3.8680 -4.886113753279e-02 1.352915220174e+01
3871 3.8690 -4.864447992316e-02 1.354052049895e+01
3872 3.8700 -4.843474283356e-02 1.355188879617e+01
3873 3.8710 -4.823192972529e-02 1.356325709339e+01
3874 3.8720 -4.803604406142e-02 1.357462539061e+01
3875 3.8730 -4.784708930669e-02 1.358599368782e+01
3876 3.8740 -4.766506892764e-02 1.359736198504e+01
3877 3.8750 -4.748998639249e-02 1.360873028226e+01
3878 3.8760 -4.732184517123e-02 1.362009857947e+01
3879 3.8770 -4.716064873555e-02 1.363146687669e+01
3880 3.8780 -4.700640055893e-02 1.364283517391e+01
3881 3.8790 -4.685910411653e-02 1.365420347113e+01
3882 3.8800 -4.671876288528e-02 1.366557176834e+01
3883 3.8810 -4.658538034383e-02 1.367694006556e+01
3884 3.8820 -4.645895997259e-02 1.368830836278e+01
3885 3.8830 -4.633950525369e-02 1.369967665999e+01
3886 3.8840 -4.622701967101e-02 1.371104495721e+01
3887 3.8850 -4.612150671018e-02 1.372241325443e+01
3888 3.8860 -4.602296985856e-02 1.373378155165e+01
3889 3.8870 -4.593141260526e-02 1.374514984886e+01
3890 3.8880 -4.584683844113e-02 1.375651814608e+01
3891 3.8890 -4.576925085876e-02 1.376788644330e+01
3892 3.8900 -4.569865335252e-02 1.377925474051e+01
3893 3.8910 -4.563504941848e-02 1.379062303773e+01
3894 3.8920 -4.552848773586e-02 1.380204128977e+01
3895 3.8930 -4.520089427734e-02 1.381368757415e+01
3896 3.8940 -4.488030488980e-02 1.382533385853e+01
3897 3.8950 -4.456672307631e-02 1.383698014291e+01
3898 3.8960 -4.426015234174e-02 1.384862642729e+01
3899 3.8970 -4.396059619265e-02 1.386027271167e+01
3900 3.8980 -4.366805813740e-02 1.387191899605e+01
3901 3.8990 -4.338254168610e-02 1.388356528044e+01
3902 3.9000 -4.310405035059e-02 1.389521156482e+01
3903 3.9010 -4.283258764449e-02 1.390685784920e+01
3904 3.9020 -4.256815708317e-02 1.391850413358e+01
3905 3.9030 -4.231076218375e-02 1.393015041796e+01
3906 3.9040 -4.206040646512e-02 1.394179670234e+01
3907 3.9050 -4.181709344792e-02 1.395344298672e+01
3908 3.9060 -4.158082665456e-02 1.396508927111e+01
3909 3.9070 -4.135160960919e-02 1.397673555549e+01
3910 3.9080 -4.112944583775e-02 1.398838183987e+01
3911 3.9090 -4.091433886794e-02 1.400002812425e+01
3912 3.9100 -4.070629222919e-02 1.401167440863e+01
3913 3.9110 -4.050530945274e-02 1.402332069301e+01
3914 3.9120 -4.031139407157e-02 1.403496697739e+01
3915 3.9130 -4.012454962042e-02 1.404661326177e+01
3916 3.9140 -3.994477963583e-02 1.405825954616e+01
3917 3.9150 -3.977208765606e-02 1.406990583054e+01
3918 3.9160 -3.960647722119e-02 1.408155211492e+01
3919 3.9170 -3.944795187303e-02 1.409319839930e+01
3920 3.9180 -3.929651515519e-02 1.410484468368e+01
3921 3.9190 -3.915217061303e-02 1.411649096806e+01
3922 3.9200 -3.901492179370e-02 1.412813725244e+01
3923 3.9210 -3.888477224610e-02 1.413978353682e+01
3924 3.9220 -3.876172552094e-02 1.415142982121e+01
3925 3.9230 -3.864578517066e-02 1.416307610559e+01
3926 3.9240 -3.853695474952e-02 1.417472238997e+01
3927 3.9250 -3.843523781354e-02 1.418636867435e+01
3928 3.9260 -3.834063792052e-02 1.419801495873e+01
3929 3.9270 -3.825315863001e-02 1.420966124311e+01
3930 3.9280 -3.817280350339e-02 1.422130752749e+01
3931 3.9290 -3.809957610378e-02 1.423295381187e+01
3932 3.9300 -3.803347999611e-02 1.424460009626e+01
3933 3.9310 -3.797451874707e-02 1.425624638064e+01
3934 3.9320 -3.792269592516e-02 1.426789266502e+01
3935 3.9330 -3.787801510063e-02 1.427953894940e+01
3936 3.9340 -3.784047984554e-02 1.429118523378e+01
3937 3.9350 -3.781009373373e-02 1.430283151816e+01
3938 3.9360 -3.778686034083e-02 1.431447780254e+01
3939 3.9370 -3.777078324424e-02 1.432612408693e+01
3940 3.9380 -3.776186602317e-02 1.433777037131e+01
3941 3.9390 -3.776011225862e-02 1.434941665569e+01
3942 3.9400 -3.776552553336e-02 1.436106294007e+01
3943 3.9410 -3.777810943198e-02 1.437270922445e+01
3944 3.9420 -3.779786754083e-02 1.438435550883e+01
3945 3.9430 -3.782480344807e-02 1.439600179321e+01
3946 3.9440 -3.785892074368e-02 1.440764807759e+01
3947 3.9450 -3.790022301938e-02 1.441929436198e+01
3948 3.9460 -3.794871386872e-02 1.443094064636e+01
3949 3.9470 -3.800439688705e-02 1.444258693074e+01
3950 3.9480 -3.806727567151e-02 1.445423321512e+01
3951 3.9490 -3.813735382103e-02 1.446587949950e+01
3952 3.9500 -3.821463493635e-02 1.447752578388e+01
3953 3.9510 -3.829912262002e-02 1.448917206826e+01
3954 3.9520 -3.839082047636e-02 1.450081835264e+01
3955 3.9530 -3.848973211152e-02 1.451246463703e+01
3956 3.9540 -3.859586113345e-02 1.452411092141e+01
3957 3.9550 -3.870921115189e-02 1.453575720579e+01
3958 3.9560 -3.882978577840e-02 1.454740349017e+01
3959 3.9570 -3.895758862635e-02 1.455904977455e+01
3960 3.9580 -3.909262331088e-02 1.457069605893e+01
3961 3.9590 -3.923489344899e-02 1.458234234331e+01
3962 3.9600 -3.938440265944e-02 1.459398862769e+01
3963 3.9610 -3.954115456284e-02 1.460563491208e+01
3964 3.9620 -3.970515278158e-02 1.461728119646e+01
3965 3.9630 -3.987640093988e-02 1.462892748084e+01
3966 3.9640 -4.005490266377e-02 1.464057376522e+01
3967 3.9650 -4.024066158108e-02 1.465222004960e+01
3968 3.9660 -4.043368132147e-02 1.466386633398e+01
3969 3.9670 -4.063396551641e-02 1.467551261836e+01
3970 3.9680 -4.084151779917e-02 1.468715890275e+01
3971 3.9690 -4.105634180486e-02 1.469880518713e+01
3972 3.9700 -4.127844117040e-02 1.471045147151e+01
3973 3.9710 -4.112165642148e-02 1.472248391900e+01
3974 3.9720 -4.081295588845e-02 1.473467556492e+01
3975 3.9730 -4.051154163695e-02 1.474686721084e+01
3976 3.9740 -4.021741731116e-02 1.475905885675e+01
3977 3.9750 -3.993058655709e-02 1.477125050267e+01
3978 3.9760 -3.965105302261e-02 1.478344214859e+01
3979 3.9770 -3.937882035737e-02 1.479563379451e+01
3980 3.9780 -3.911389221287e-02 1.480782544043e+01
3981 3.9790 -3.885627224242e-02 1.482001708634e+01
3982 3.9800 -3.860596410117e-02 1.483220873226e+01
3983 3.9810 -3.836297144608e-02 1.484440037818e+01
3984 3.9820 -3.812729793597e-02 1.485659202410e+01
3985 3.9830 -3.789894723147e-02 1.486878367001e+01
3986 3.9840 -3.767792299502e-02 1.488097531593e+01
3987 3.9850 -3.746422889093e-02 1.489316696185e+01
3988 3.9860 -3.725786858532e-02 1.490535860777e+01
3989 3.9870 -3.705884574613e-02 1.491755025368e+01
3990 3.9880 -3.686716404319e-02 1.492974189960e+01
3991 3.9890 -3.668282714809e-02 1.494193354552e+01
3992 3.9900 -3.650583873431e-02 1.495412519144e+01
3993 3.9910 -3.633620247715e-02 1.496631683735e+01
3994 3.9920 -3.617392205373e-02 1.497850848327e+01
3995 3.9930 -3.601900114306e-02 1.499070012919e+01
3996 3.9940 -3.587144342591e-02 1.500289177511e+01
3997 3.9950 -3.573125258498e-02 1.501508342102e+01
3998 3.9960 -3.559843230474e-02 1.502727506694e+01
3999 3.9970 -3.547298627153e-02 1.503946671286e+01
4000 3.9980 -3.535491817355e-02 1.505165835878e+01
4001 3.9990 -3.524423170081e-02 1.506385000469e+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())