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 16 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
7502 7.5000 -3.345853381411e-02 1.462045139318e+02
7503 7.5010 -3.339856044016e-02 1.462869512416e+02
7504 7.5020 -3.331669259574e-02 1.463694529881e+02
7505 7.5030 -3.316554778087e-02 1.464520665753e+02
7506 7.5040 -3.305698787842e-02 1.465346801625e+02
7507 7.5050 -3.299103418611e-02 1.466172937496e+02
7508 7.5060 -3.296770801246e-02 1.466999073368e+02
7509 7.5070 -3.298703067638e-02 1.467825209240e+02
7510 7.5080 -3.304902350775e-02 1.468651345111e+02
7511 7.5090 -3.301984564404e-02 1.469478819605e+02
7512 7.5100 -3.299139188318e-02 1.470306713986e+02
7513 7.5110 -3.300567234288e-02 1.471134608368e+02
7514 7.5120 -3.306270839585e-02 1.471962502749e+02
7515 7.5130 -3.309537423851e-02 1.472791068602e+02
7516 7.5140 -3.306241693193e-02 1.473620718670e+02
7517 7.5150 -3.307227940007e-02 1.474450368739e+02
7518 7.5160 -3.312498305803e-02 1.475280018807e+02
7519 7.5170 -3.322054933190e-02 1.476109668875e+02
7520 7.5180 -3.335899965823e-02 1.476939318944e+02
7521 7.5190 -3.354035548454e-02 1.477768969012e+02
7522 7.5200 -3.376463826887e-02 1.478598619080e+02
7523 7.5210 -3.403186947996e-02 1.479428269149e+02
7524 7.5220 -3.422271096160e-02 1.480259112813e+02
7525 7.5230 -3.434843280541e-02 1.481091037588e+02
7526 7.5240 -3.448215939953e-02 1.481923312445e+02
7527 7.5250 -3.465892040342e-02 1.482755587301e+02
7528 7.5260 -3.487873733960e-02 1.483587862158e+02
7529 7.5270 -3.514163174135e-02 1.484420137014e+02
7530 7.5280 -3.544762515286e-02 1.485252411871e+02
7531 7.5290 -3.577392120110e-02 1.486084914907e+02
7532 7.5300 -3.599165274062e-02 1.486918935009e+02
7533 7.5310 -3.625254798696e-02 1.487752955111e+02
7534 7.5320 -3.655662852726e-02 1.488586975213e+02
7535 7.5330 -3.674496259939e-02 1.489422584849e+02
7536 7.5340 -3.696116013115e-02 1.490258348135e+02
7537 7.5350 -3.708619654048e-02 1.491095455534e+02
7538 7.5360 -3.709228117745e-02 1.491934185167e+02
7539 7.5370 -3.708999942192e-02 1.492773431399e+02
7540 7.5380 -3.703187234142e-02 1.493613669235e+02
7541 7.5390 -3.685444162420e-02 1.494455533473e+02
7542 7.5400 -3.663428459322e-02 1.495298258559e+02
7543 7.5410 -3.645750762781e-02 1.496140983645e+02
7544 7.5420 -3.632413242373e-02 1.496983708731e+02
7545 7.5430 -3.623418068701e-02 1.497826433817e+02
7546 7.5440 -3.615345787179e-02 1.498669501065e+02
7547 7.5450 -3.597684835689e-02 1.499513961849e+02
7548 7.5460 -3.584372749356e-02 1.500358422634e+02
7549 7.5470 -3.575411703167e-02 1.501202883419e+02
7550 7.5480 -3.570803873168e-02 1.502047344203e+02
7551 7.5490 -3.570551436513e-02 1.502891804988e+02
7552 7.5500 -3.574656571467e-02 1.503736265772e+02
7553 7.5510 -3.568148492748e-02 1.504582223853e+02
7554 7.5520 -3.563658667958e-02 1.505428416302e+02
7555 7.5530 -3.563532956035e-02 1.506274608751e+02
7556 7.5540 -3.555434245518e-02 1.507122035129e+02
7557 7.5550 -3.546746713156e-02 1.507969957237e+02
7558 7.5560 -3.542429844720e-02 1.508817879345e+02
7559 7.5570 -3.532603065103e-02 1.509666789730e+02
7560 7.5580 -3.519757452087e-02 1.510516439501e+02
7561 7.5590 -3.511289063929e-02 1.511366089272e+02
7562 7.5600 -3.507200089780e-02 1.512215739044e+02
7563 7.5610 -3.507492719898e-02 1.513065388815e+02
7564 7.5620 -3.512169145632e-02 1.513915038586e+02
7565 7.5630 -3.521231559422e-02 1.514764688358e+02
7566 7.5640 -3.534682154815e-02 1.515614338129e+02
7567 7.5650 -3.552523126449e-02 1.516463987900e+02
7568 7.5660 -3.571197565656e-02 1.517313993582e+02
7569 7.5670 -3.577656656972e-02 1.518165660276e+02
7570 7.5680 -3.574254026706e-02 1.519018752838e+02
7571 7.5690 -3.575250562224e-02 1.519871845400e+02
7572 7.5700 -3.580648463642e-02 1.520724937963e+02
7573 7.5710 -3.590449932222e-02 1.521578030525e+02
7574 7.5720 -3.604657170279e-02 1.522431123087e+02
7575 7.5730 -3.623272381241e-02 1.523284215649e+02
7576 7.5740 -3.646297769671e-02 1.524137308212e+02
7577 7.5750 -3.673735541193e-02 1.524990400774e+02
7578 7.5760 -3.689659603199e-02 1.525845086166e+02
7579 7.5770 -3.693287712571e-02 1.526701442834e+02
7580 7.5780 -3.699665233976e-02 1.527557966460e+02
7581 7.5790 -3.710463972061e-02 1.528414490087e+02
7582 7.5800 -3.725686138008e-02 1.529271013714e+02
7583 7.5810 -3.745333944062e-02 1.530127537340e+02
7584 7.5820 -3.769409603617e-02 1.530984060967e+02
7585 7.5830 -3.797915331147e-02 1.531840584594e+02
7586 7.5840 -3.830853342242e-02 1.532697108221e+02
7587 7.5850 -3.868225853581e-02 1.533553631847e+02
7588 7.5860 -3.910035082991e-02 1.534410155474e+02
7589 7.5870 -3.956283249371e-02 1.535266679101e+02
7590 7.5880 -3.995195027214e-02 1.536124380482e+02
7591 7.5890 -4.033246295207e-02 1.536982612252e+02
7592 7.5900 -4.075743163572e-02 1.537840844022e+02
7593 7.5910 -4.111545215956e-02 1.538700190056e+02
7594 7.5920 -4.145877610818e-02 1.539560128061e+02
7595 7.5930 -4.184662279462e-02 1.540420066066e+02
7596 7.5940 -4.227901448580e-02 1.541280004070e+02
7597 7.5950 -4.265055567116e-02 1.542140996253e+02
7598 7.5960 -4.300173408454e-02 1.543002637959e+02
7599 7.5970 -4.339752437019e-02 1.543864279665e+02
7600 7.5980 -4.373521399551e-02 1.544726948719e+02
7601 7.5990 -4.405011394763e-02 1.545590292235e+02
7602 7.6000 -4.430788627320e-02 1.546454653816e+02
7603 7.6010 -4.444051213033e-02 1.547320713873e+02
7604 7.6020 -4.454946761453e-02 1.548187457870e+02
7605 7.6030 -4.460147538863e-02 1.549055218803e+02
7606 7.6040 -4.463007756045e-02 1.549923661474e+02
7607 7.6050 -4.470347040940e-02 1.550792104146e+02
7608 7.6060 -4.482167633672e-02 1.551660546818e+02
7609 7.6070 -4.488080792108e-02 1.552530028588e+02
7610 7.6080 -4.491908907018e-02 1.553400167441e+02
7611 7.6090 -4.500225056739e-02 1.554270306294e+02
7612 7.6100 -4.502298608822e-02 1.555141518436e+02
7613 7.6110 -4.502654358452e-02 1.556013351610e+02
7614 7.6120 -4.507504880014e-02 1.556885184783e+02
7615 7.6130 -4.516852421451e-02 1.557757017957e+02
7616 7.6140 -4.530699231842e-02 1.558628851131e+02
7617 7.6150 -4.537414345578e-02 1.559501847627e+02
7618 7.6160 -4.531491697240e-02 1.560376558276e+02
7619 7.6170 -4.525031280255e-02 1.561251773303e+02
7620 7.6180 -4.523079139757e-02 1.562126988331e+02
7621 7.6190 -4.525637530455e-02 1.563002203359e+02
7622 7.6200 -4.532708708173e-02 1.563877418387e+02
7623 7.6210 -4.531043731225e-02 1.564753958535e+02
7624 7.6220 -4.530271679228e-02 1.565630861120e+02
7625 7.6230 -4.534019188524e-02 1.566507763706e+02
7626 7.6240 -4.542288519440e-02 1.567384666291e+02
7627 7.6250 -4.554498352339e-02 1.568261627235e+02
7628 7.6260 -4.570286458725e-02 1.569138682986e+02
7629 7.6270 -4.590603174561e-02 1.570015738737e+02
7630 7.6280 -4.599584228228e-02 1.570894381141e+02
7631 7.6290 -4.612131919263e-02 1.571773120196e+02
7632 7.6300 -4.629215017763e-02 1.572651859251e+02
7633 7.6310 -4.650835791991e-02 1.573530598305e+02
7634 7.6320 -4.675593689631e-02 1.574409477642e+02
7635 7.6330 -4.689493734187e-02 1.575289896986e+02
7636 7.6340 -4.707938266107e-02 1.576170316330e+02
7637 7.6350 -4.727919653190e-02 1.577051036664e+02
7638 7.6360 -4.738675085658e-02 1.577933134497e+02
7639 7.6370 -4.753981827327e-02 1.578815232331e+02
7640 7.6380 -4.773842154420e-02 1.579697330164e+02
7641 7.6390 -4.798258344298e-02 1.580579427997e+02
7642 7.6400 -4.827232675460e-02 1.581461525830e+02
7643 7.6410 -4.854131873659e-02 1.582344287219e+02
7644 7.6420 -4.868187587749e-02 1.583228789226e+02
7645 7.6430 -4.877357750396e-02 1.584114236287e+02
7646 7.6440 -4.882443535175e-02 1.585000548512e+02
7647 7.6450 -4.874665714094e-02 1.585888604052e+02
7648 7.6460 -4.864087816130e-02 1.586777396785e+02
7649 7.6470 -4.858084040912e-02 1.587666189517e+02
7650 7.6480 -4.856656676057e-02 1.588554982249e+02
7651 7.6490 -4.859808010346e-02 1.589443774981e+02
7652 7.6500 -4.854456060997e-02 1.590333876140e+02
7653 7.6510 -4.850075730315e-02 1.591224338466e+02
7654 7.6520 -4.850280971967e-02 1.592114800791e+02
7655 7.6530 -4.855074079337e-02 1.593005263117e+02
7656 7.6540 -4.864457346906e-02 1.593895725442e+02
7657 7.6550 -4.877051019467e-02 1.594786325973e+02
7658 7.6560 -4.876695889894e-02 1.595678680859e+02
7659 7.6570 -4.866547603322e-02 1.596572474766e+02
7660 7.6580 -4.860998666455e-02 1.597466268673e+02
7661 7.6590 -4.860051379570e-02 1.598360062580e+02
7662 7.6600 -4.863708044048e-02 1.599253856486e+02
7663 7.6610 -4.871970962434e-02 1.600147650393e+02
7664 7.6620 -4.884842438456e-02 1.601041444300e+02
7665 7.6630 -4.902324776952e-02 1.601935238207e+02
7666 7.6640 -4.914582402774e-02 1.602830015902e+02
7667 7.6650 -4.913836955909e-02 1.603726555452e+02
7668 7.6660 -4.911954202077e-02 1.604623670511e+02
7669 7.6670 -4.914691541671e-02 1.605520785569e+02
7670 7.6680 -4.908090413250e-02 1.606419296716e+02
7671 7.6690 -4.903489235338e-02 1.607318070338e+02
7672 7.6700 -4.886780091589e-02 1.608218517460e+02
7673 7.6710 -4.858292647677e-02 1.609120605347e+02
7674 7.6720 -4.834436861879e-02 1.610022693233e+02
7675 7.6730 -4.815215050604e-02 1.610924781119e+02
7676 7.6740 -4.800629531403e-02 1.611826869006e+02
7677 7.6750 -4.784356040810e-02 1.612729589550e+02
7678 7.6760 -4.762510092860e-02 1.613633331434e+02
7679 7.6770 -4.745307396656e-02 1.614537073317e+02
7680 7.6780 -4.732750274403e-02 1.615440815201e+02
7681 7.6790 -4.713714274550e-02 1.616345669762e+02
7682 7.6800 -4.693937966630e-02 1.617251063376e+02
7683 7.6810 -4.678814206261e-02 1.618156456989e+02
7684 7.6820 -4.668345320271e-02 1.619061850603e+02
7685 7.6830 -4.662533636714e-02 1.619967244217e+02
7686 7.6840 -4.661381484742e-02 1.620872637831e+02
7687 7.6850 -4.664891194725e-02 1.621778031445e+02
7688 7.6860 -4.673065098165e-02 1.622683425059e+02
7689 7.6870 -4.679670159595e-02 1.623589442210e+02
7690 7.6880 -4.680712737845e-02 1.624496482495e+02
7691 7.6890 -4.686426511092e-02 1.625403522780e+02
7692 7.6900 -4.696813815534e-02 1.626310563065e+02
7693 7.6910 -4.710199707997e-02 1.627217771078e+02
7694 7.6920 -4.727591887639e-02 1.628125046283e+02
7695 7.6930 -4.749664614029e-02 1.629032321488e+02
7696 7.6940 -4.776420228010e-02 1.629939596693e+02
7697 7.6950 -4.807029689855e-02 1.630846955036e+02
7698 7.6960 -4.837685883555e-02 1.631754777464e+02
7699 7.6970 -4.873031994453e-02 1.632662599891e+02
7700 7.6980 -4.906106009927e-02 1.633571118754e+02
7701 7.6990 -4.934438885328e-02 1.634480581192e+02
7702 7.7000 -4.957461635870e-02 1.635391044339e+02
7703 7.7010 -4.973028119517e-02 1.636302723042e+02
7704 7.7020 -4.990878011440e-02 1.637214643571e+02
7705 7.7030 -4.998767594282e-02 1.638128030531e+02
7706 7.7040 -5.009655215785e-02 1.639041588324e+02
7707 7.7050 -5.025251551724e-02 1.639955146116e+02
7708 7.7060 -5.040863403014e-02 1.640869173464e+02
7709 7.7070 -5.049533451389e-02 1.641784366334e+02
7710 7.7080 -5.062919282574e-02 1.642699559205e+02
7711 7.7090 -5.081023255049e-02 1.643614752076e+02
7712 7.7100 -5.103847728476e-02 1.644529944946e+02
7713 7.7110 -5.131395063695e-02 1.645445137817e+02
7714 7.7120 -5.163667622729e-02 1.646360330688e+02
7715 7.7130 -5.198889636330e-02 1.647275701372e+02
7716 7.7140 -5.220801176703e-02 1.648192876098e+02
7717 7.7150 -5.234654226850e-02 1.649111329905e+02
7718 7.7160 -5.246229157004e-02 1.650030484993e+02
7719 7.7170 -5.253262732112e-02 1.650950567921e+02
7720 7.7180 -5.265035727985e-02 1.651870650849e+02
7721 7.7190 -5.281550514933e-02 1.652790733777e+02
7722 7.7200 -5.288652202694e-02 1.653712232431e+02
7723 7.7210 -5.298387947977e-02 1.654633942333e+02
7724 7.7220 -5.312872602338e-02 1.655555652236e+02
7725 7.7230 -5.332108540852e-02 1.656477362138e+02
7726 7.7240 -5.356098139741e-02 1.657399072040e+02
7727 7.7250 -5.384843776449e-02 1.658320781942e+02
7728 7.7260 -5.418347829564e-02 1.659242491844e+02
7729 7.7270 -5.443836280411e-02 1.660165479386e+02
7730 7.7280 -5.455948123040e-02 1.661090280906e+02
7731 7.7290 -5.468955541991e-02 1.662015469425e+02
7732 7.7300 -5.472856961730e-02 1.662942045338e+02
7733 7.7310 -5.481528708804e-02 1.663868621251e+02
7734 7.7320 -5.494973168991e-02 1.664795197164e+02
7735 7.7330 -5.502980365288e-02 1.665722794313e+02
7736 7.7340 -5.509787298461e-02 1.666650989238e+02
7737 7.7350 -5.521312549932e-02 1.667579190318e+02
7738 7.7360 -5.521507271826e-02 1.668509002679e+02
7739 7.7370 -5.526486653513e-02 1.669438815039e+02
7740 7.7380 -5.530052735711e-02 1.670369247434e+02
7741 7.7390 -5.528449963769e-02 1.671300675660e+02
7742 7.7400 -5.521291301664e-02 1.672233138659e+02
7743 7.7410 -5.513126396250e-02 1.673166181705e+02
7744 7.7420 -5.509758127252e-02 1.674099224752e+02
7745 7.7430 -5.511188893597e-02 1.675032267799e+02
7746 7.7440 -5.517421095420e-02 1.675965310846e+02
7747 7.7450 -5.521523733388e-02 1.676899047233e+02
7748 7.7460 -5.512155597120e-02 1.677834611322e+02
7749 7.7470 -5.500577608969e-02 1.678770877260e+02
7750 7.7480 -5.493810668768e-02 1.679707143198e+02
7751 7.7490 -5.491857182622e-02 1.680643409135e+02
7752 7.7500 -5.494719557874e-02 1.681579675073e+02
7753 7.7510 -5.502400203052e-02 1.682515941011e+02
7754 7.7520 -5.514901527904e-02 1.683452206949e+02
7755 7.7530 -5.532225943366e-02 1.684388472887e+02
7756 7.7540 -5.554375861582e-02 1.685324738825e+02
7757 7.7550 -5.579913083028e-02 1.686261148824e+02
7758 7.7560 -5.595665911701e-02 1.687199020295e+02
7759 7.7570 -5.616251486809e-02 1.688136891767e+02
7760 7.7580 -5.633311619769e-02 1.689075599299e+02
7761 7.7590 -5.636842079974e-02 1.690016143556e+02
7762 7.7600 -5.639865405089e-02 1.690957222528e+02
7763 7.7610 -5.646020178294e-02 1.691898472596e+02
7764 7.7620 -5.642711039548e-02 1.692841153540e+02
7765 7.7630 -5.637782063119e-02 1.693784481194e+02
7766 7.7640 -5.628160274469e-02 1.694728763099e+02
7767 7.7650 -5.623390601966e-02 1.695673045004e+02
7768 7.7660 -5.609798650482e-02 1.696618694591e+02
7769 7.7670 -5.598746024432e-02 1.697564575942e+02
7770 7.7680 -5.592552798162e-02 1.698510457294e+02
7771 7.7690 -5.591221401988e-02 1.699456338645e+02
7772 7.7700 -5.594754267408e-02 1.700402219996e+02
7773 7.7710 -5.603153827181e-02 1.701348101348e+02
7774 7.7720 -5.601533826160e-02 1.702295471568e+02
7775 7.7730 -5.603714739405e-02 1.703242948853e+02
7776 7.7740 -5.604303691167e-02 1.704191072735e+02
7777 7.7750 -5.600290674465e-02 1.705140144457e+02
7778 7.7760 -5.589617571896e-02 1.706090370075e+02
7779 7.7770 -5.565340373389e-02 1.707042444234e+02
7780 7.7780 -5.544107446253e-02 1.707994702342e+02
7781 7.7790 -5.521874671071e-02 1.708947549055e+02
7782 7.7800 -5.494502012785e-02 1.709901398621e+02
7783 7.7810 -5.460936273557e-02 1.710856356603e+02
7784 7.7820 -5.427443550478e-02 1.711811796638e+02
7785 7.7830 -5.395784235578e-02 1.712767542929e+02
7786 7.7840 -5.354768745618e-02 1.713724714682e+02
7787 7.7850 -5.316110171702e-02 1.714682140831e+02
7788 7.7860 -5.282354929557e-02 1.715639566979e+02
7789 7.7870 -5.253505471459e-02 1.716596993128e+02
7790 7.7880 -5.226342643724e-02 1.717554741438e+02
7791 7.7890 -5.191451647027e-02 1.718513753634e+02
7792 7.7900 -5.161473798585e-02 1.719472765829e+02
7793 7.7910 -5.125040285266e-02 1.720432915152e+02
7794 7.7920 -5.089050280401e-02 1.721393511930e+02
7795 7.7930 -5.054208546193e-02 1.722354485934e+02
7796 7.7940 -5.012230818053e-02 1.723316665835e+02
7797 7.7950 -4.975178536400e-02 1.724278845737e+02
7798 7.7960 -4.943054164567e-02 1.725241025638e+02
7799 7.7970 -4.915860167145e-02 1.726203205540e+02
7800 7.7980 -4.893599009919e-02 1.727165385441e+02
7801 7.7990 -4.868738664949e-02 1.728128318792e+02
7802 7.8000 -4.840553227535e-02 1.729092078429e+02
7803 7.8010 -4.804094813380e-02 1.730057159389e+02
7804 7.8020 -4.770004603028e-02 1.731022497800e+02
7805 7.8030 -4.734835169412e-02 1.731988438653e+02
7806 7.8040 -4.694864478660e-02 1.732955354397e+02
7807 7.8050 -4.659843923281e-02 1.733922270140e+02
7808 7.8060 -4.629775978993e-02 1.734889185884e+02
7809 7.8070 -4.604663122694e-02 1.735856101628e+02
7810 7.8080 -4.576793613839e-02 1.736823788794e+02
7811 7.8090 -4.545853709268e-02 1.737792279004e+02
7812 7.8100 -4.519876330898e-02 1.738760769214e+02
7813 7.8110 -4.495060185763e-02 1.739729639802e+02
7814 7.8120 -4.463289656404e-02 1.740699702577e+02
7815 7.8130 -4.436489102633e-02 1.741669765352e+02
7816 7.8140 -4.401891807055e-02 1.742641105047e+02
7817 7.8150 -4.366240665094e-02 1.743613047622e+02
7818 7.8160 -4.322951507075e-02 1.744586251742e+02
7819 7.8170 -4.284642274540e-02 1.745559455862e+02
7820 7.8180 -4.251315458063e-02 1.746532659982e+02
7821 7.8190 -4.222973549496e-02 1.747505864102e+02
7822 7.8200 -4.199619041895e-02 1.748479068221e+02
7823 7.8210 -4.181254429606e-02 1.749452272341e+02
7824 7.8220 -4.167882208190e-02 1.750425476461e+02
7825 7.8230 -4.159504874453e-02 1.751398680581e+02
7826 7.8240 -4.156124926489e-02 1.752371884701e+02
7827 7.8250 -4.157744863593e-02 1.753345088821e+02
7828 7.8260 -4.152562707574e-02 1.754319473389e+02
7829 7.8270 -4.148548809064e-02 1.755294241620e+02
7830 7.8280 -4.149542301084e-02 1.756269009851e+02
7831 7.8290 -4.155545687953e-02 1.757243778082e+02
7832 7.8300 -4.166561475257e-02 1.758218546312e+02
7833 7.8310 -4.182592169817e-02 1.759193314543e+02
7834 7.8320 -4.203640279713e-02 1.760168082774e+02
7835 7.8330 -4.220519107572e-02 1.761143769926e+02
7836 7.8340 -4.236010136188e-02 1.762120098101e+02
7837 7.8350 -4.256526111910e-02 1.763096426276e+02
7838 7.8360 -4.282069547840e-02 1.764072754451e+02
7839 7.8370 -4.302826056778e-02 1.765050064316e+02
7840 7.8380 -4.322855494470e-02 1.766027950137e+02
7841 7.8390 -4.347919939215e-02 1.767005835958e+02
7842 7.8400 -4.370640830053e-02 1.767984459887e+02
7843 7.8410 -4.390224677493e-02 1.768963901525e+02
7844 7.8420 -4.400853299649e-02 1.769944742942e+02
7845 7.8430 -4.414975751633e-02 1.770925739485e+02
7846 7.8440 -4.425700835978e-02 1.771907580526e+02
7847 7.8450 -4.422593323322e-02 1.772891309839e+02
7848 7.8460 -4.420799909838e-02 1.773875413009e+02
7849 7.8470 -4.417699215581e-02 1.774860152426e+02
7850 7.8480 -4.410501425225e-02 1.775845807324e+02
7851 7.8490 -4.408363879998e-02 1.776831462221e+02
7852 7.8500 -4.411289110666e-02 1.777817117119e+02
7853 7.8510 -4.419279649247e-02 1.778802772017e+02
7854 7.8520 -4.432338029023e-02 1.779788426915e+02
7855 7.8530 -4.450466784545e-02 1.780774081813e+02
7856 7.8540 -4.473668451648e-02 1.781759736711e+02
7857 7.8550 -4.501945567411e-02 1.782745391609e+02
7858 7.8560 -4.522261386232e-02 1.783732350435e+02
7859 7.8570 -4.545229192488e-02 1.784719552115e+02
7860 7.8580 -4.573280066304e-02 1.785706753795e+02
7861 7.8590 -4.606416549830e-02 1.786693955475e+02
7862 7.8600 -4.641540317000e-02 1.787681467242e+02
7863 7.8610 -4.662788939202e-02 1.788670875594e+02
7864 7.8620 -4.680319793392e-02 1.789661165046e+02
7865 7.8630 -4.702946438710e-02 1.790651454499e+02
7866 7.8640 -4.730671423669e-02 1.791641743952e+02
7867 7.8650 -4.763497298079e-02 1.792632033404e+02
7868 7.8660 -4.801426613034e-02 1.793622322857e+02
7869 7.8670 -4.840184756879e-02 1.794613040026e+02
7870 7.8680 -4.872927332593e-02 1.795604869606e+02
7871 7.8690 -4.910781009745e-02 1.796596699187e+02
7872 7.8700 -4.950423964781e-02 1.797588861205e+02
7873 7.8710 -4.983123809575e-02 1.798582229156e+02
7874 7.8720 -5.010352217151e-02 1.799576656128e+02
7875 7.8730 -5.037917224606e-02 1.800571561573e+02
7876 7.8740 -5.070606127247e-02 1.801566467019e+02
7877 7.8750 -5.108421487658e-02 1.802561372464e+02
7878 7.8760 -5.149511116460e-02 1.803556463385e+02
7879 7.8770 -5.182238314024e-02 1.804552903708e+02
7880 7.8780 -5.220099664822e-02 1.805549344030e+02
7881 7.8790 -5.263097736556e-02 1.806545784353e+02
7882 7.8800 -5.311235098244e-02 1.807542224676e+02
7883 7.8810 -5.364514320163e-02 1.808538664998e+02
7884 7.8820 -5.410410591894e-02 1.809536358059e+02
7885 7.8830 -5.458662815334e-02 1.810534330225e+02
7886 7.8840 -5.512064617569e-02 1.811532302391e+02
7887 7.8850 -5.569898790232e-02 1.812530346536e+02
7888 7.8860 -5.613805246782e-02 1.813530298925e+02
7889 7.8870 -5.652081744944e-02 1.814531330041e+02
7890 7.8880 -5.683422137061e-02 1.815533570756e+02
7891 7.8890 -5.716736967239e-02 1.816536130275e+02
7892 7.8900 -5.755216848154e-02 1.817538689793e+02
7893 7.8910 -5.786776213387e-02 1.818542458126e+02
7894 7.8920 -5.820327023437e-02 1.819546544337e+02
7895 7.8930 -5.850692032044e-02 1.820551466408e+02
7896 7.8940 -5.879336896078e-02 1.821557078033e+02
7897 7.8950 -5.908447868077e-02 1.822563160845e+02
7898 7.8960 -5.932209883240e-02 1.823570296610e+02
7899 7.8970 -5.947525946385e-02 1.824578795286e+02
7900 7.8980 -5.951195259554e-02 1.825588977212e+02
7901 7.8990 -5.951089608652e-02 1.826600055469e+02
7902 7.9000 -5.949917966352e-02 1.827611759419e+02
7903 7.9010 -5.948413617434e-02 1.828624015994e+02
7904 7.9020 -5.942424047415e-02 1.829637240704e+02
7905 7.9030 -5.941633210308e-02 1.830650465414e+02
7906 7.9040 -5.939911022785e-02 1.831664303393e+02
7907 7.9050 -5.934334653766e-02 1.832679047183e+02
7908 7.9060 -5.917009309031e-02 1.833695486524e+02
7909 7.9070 -5.891487950918e-02 1.834713266381e+02
7910 7.9080 -5.871178338810e-02 1.835731046238e+02
7911 7.9090 -5.841212247982e-02 1.836750313177e+02
7912 7.9100 -5.816168225598e-02 1.837769609606e+02
7913 7.9110 -5.796343772731e-02 1.838788906036e+02
7914 7.9120 -5.777054454852e-02 1.839808671169e+02
7915 7.9130 -5.743797635820e-02 1.840830355532e+02
7916 7.9140 -5.709361826399e-02 1.841852680534e+02
7917 7.9150 -5.680156036067e-02 1.842875005537e+02
7918 7.9160 -5.656182880500e-02 1.843897330539e+02
7919 7.9170 -5.623505672011e-02 1.844921049472e+02
7920 7.9180 -5.594885507211e-02 1.845944886487e+02
7921 7.9190 -5.571392375714e-02 1.846968734848e+02
7922 7.9200 -5.538152138468e-02 1.847994082231e+02
7923 7.9210 -5.501802370454e-02 1.849020265140e+02
7924 7.9220 -5.463960754925e-02 1.850047122069e+02
7925 7.9230 -5.431370120446e-02 1.851073978999e+02
7926 7.9240 -5.404033093172e-02 1.852100835928e+02
7927 7.9250 -5.381952300581e-02 1.853127692858e+02
7928 7.9260 -5.357882900907e-02 1.854155274534e+02
7929 7.9270 -5.331255592167e-02 1.855183638151e+02
7930 7.9280 -5.309892408368e-02 1.856212001768e+02
7931 7.9290 -5.293795982222e-02 1.857240365384e+02
7932 7.9300 -5.269825581028e-02 1.858270043338e+02
7933 7.9310 -5.249224007231e-02 1.859299911611e+02
7934 7.9320 -5.233897097152e-02 1.860329779885e+02
7935 7.9330 -5.223847488776e-02 1.861359648158e+02
7936 7.9340 -5.210641097021e-02 1.862390360104e+02
7937 7.9350 -5.183444728689e-02 1.863422999305e+02
7938 7.9360 -5.159202240145e-02 1.864455871641e+02
7939 7.9370 -5.129783662836e-02 1.865489790373e+02
7940 7.9380 -5.097090414092e-02 1.866524565623e+02
7941 7.9390 -5.050401464086e-02 1.867561269759e+02
7942 7.9400 -5.002327625860e-02 1.868598641964e+02
7943 7.9410 -4.956434641066e-02 1.869636325929e+02
7944 7.9420 -4.911469242312e-02 1.870674447245e+02
7945 7.9430 -4.871807597842e-02 1.871712568562e+02
7946 7.9440 -4.837452360215e-02 1.872750689879e+02
7947 7.9450 -4.795501041165e-02 1.873790101710e+02
7948 7.9460 -4.756804250662e-02 1.874829719259e+02
7949 7.9470 -4.723421832568e-02 1.875869336809e+02
7950 7.9480 -4.695356444757e-02 1.876908954359e+02
7951 7.9490 -4.672610746387e-02 1.877948571908e+02
7952 7.9500 -4.641619292183e-02 1.878989546269e+02
7953 7.9510 -4.607159309283e-02 1.880031399983e+02
7954 7.9520 -4.570527288663e-02 1.881074003668e+02
7955 7.9530 -4.533485020560e-02 1.882117181413e+02
7956 7.9540 -4.492601403905e-02 1.883161276592e+02
7957 7.9550 -4.457053459746e-02 1.884205371772e+02
7958 7.9560 -4.418278105145e-02 1.885250323527e+02
7959 7.9570 -4.378510249943e-02 1.886295908633e+02
7960 7.9580 -4.337050257212e-02 1.887342197320e+02
7961 7.9590 -4.291991130848e-02 1.888389380557e+02
7962 7.9600 -4.238495050098e-02 1.889437942392e+02
7963 7.9610 -4.190350672878e-02 1.890486504227e+02
7964 7.9620 -4.147560675715e-02 1.891535066062e+02
7965 7.9630 -4.110127736462e-02 1.892583627897e+02
7966 7.9640 -4.078054534326e-02 1.893632189732e+02
7967 7.9650 -4.051343749840e-02 1.894680751567e+02
7968 7.9660 -4.018096810770e-02 1.895730503527e+02
7969 7.9670 -3.987274060416e-02 1.896780549847e+02
7970 7.9680 -3.961424047052e-02 1.897830635940e+02
7971 7.9690 -3.926515486784e-02 1.898882165203e+02
7972 7.9700 -3.896982766983e-02 1.899933694465e+02
7973 7.9710 -3.872828576230e-02 1.900985223728e+02
7974 7.9720 -3.845628545915e-02 1.902037595697e+02
7975 7.9730 -3.817429246252e-02 1.903090605984e+02
7976 7.9740 -3.787216634514e-02 1.904144356262e+02
7977 7.9750 -3.754994469472e-02 1.905198846425e+02
7978 7.9760 -3.721726760887e-02 1.906253980342e+02
7979 7.9770 -3.685503953226e-02 1.907309949237e+02
7980 7.9780 -3.654678532458e-02 1.908365918133e+02
7981 7.9790 -3.619074764074e-02 1.909422904872e+02
7982 7.9800 -3.584280099328e-02 1.910480350979e+02
7983 7.9810 -3.554890923631e-02 1.911537797086e+02
7984 7.9820 -3.526975069067e-02 1.912595636680e+02
7985 7.9830 -3.493651795980e-02 1.913654558106e+02
7986 7.9840 -3.465742126250e-02 1.914713479532e+02
7987 7.9850 -3.443248767375e-02 1.915772400958e+02
7988 7.9860 -3.423591662053e-02 1.916831580661e+02
7989 7.9870 -3.397208468281e-02 1.917891975145e+02
7990 7.9880 -3.376249715924e-02 1.918952369630e+02
7991 7.9890 -3.360718117870e-02 1.920012764114e+02
7992 7.9900 -3.350616388376e-02 1.921073158598e+02
7993 7.9910 -3.339725555827e-02 1.922134175252e+02
7994 7.9920 -3.324766198549e-02 1.923196142287e+02
7995 7.9930 -3.301569094143e-02 1.924259476900e+02
7996 7.9940 -3.283189283348e-02 1.925322873857e+02
7997 7.9950 -3.256190632350e-02 1.926387677044e+02
7998 7.9960 -3.234351638710e-02 1.927452508883e+02
7999 7.9970 -3.198495503773e-02 1.928519287327e+02
8000 7.9980 -3.158498054087e-02 1.929587025066e+02
8001 7.9990 -3.123954962426e-02 1.930654762805e+02

E-009-suzuki-screw-function.json — 1.4 KB, updated 08-18-2026

JSON sidecar (click to expand)
{
  "experiment": "E-009a",
  "task": "3.4c (D-018 step 1): Suzuki screw function g(t)",
  "description": "mpmath implementation of Suzuki's explicit screw function g(t) (arXiv:2606.09096v1 eq. 1.3); validated against eq. 2.2 near-origin expansion; tabulated on [0,10] step 1e-3 for E-009b Galerkin",
  "script": "research/numerics/scripts/E-009-suzuki-screw-function.py",
  "parameters": {
    "t_max": 10.0,
    "step": 0.001,
    "validation_dps": 30,
    "n_sieve_max": 22028
  },
  "checks": {
    "A1_lerch_convention": true,
    "A2_evenness": true,
    "A3_A_limit": true,
    "A4_r_curvature_converges": true,
    "B_table_finite": true,
    "B_spot_check_vs_mpmath": true
  },
  "key_values": {
    "A_eq2.2": 0.707546365655439,
    "c2_lim_r_over_t2": -0.8750599754042412,
    "digamma_coeff_-half(psi(1/4)-log pi)": 2.6860917096128327,
    "Phi(1,2,1/4)": 17.19732915450711,
    "g(log2)": -0.06355558603756917,
    "g(1)": -0.0440073052368517,
    "g(5)": -0.045371349558830154,
    "g(10)": -0.06209008245757719
  },
  "caveats": [
    "float64 table: Lerch combination has cancellation for small t (~4 digits lost at t=1e-3); spot-checked vs mpmath to 1e-9",
    "prime sum is piecewise linear in t (kinks at log n) — exact via cumsum, no interpolation error",
    "g even: only t >= 0 tabulated"
  ],
  "elapsed_seconds": 3.0,
  "timestamp_utc": "2026-08-18T01:44:26.674491+00:00",
  "row_count": 10001
}

Source code

Python script (click to expand)
"""E-009a — Task 3.4c (Q-3.4c, D-018 plan step 1): Suzuki's screw function g(t).

Suzuki (arXiv:2606.09096v1, eq. 1.3) — explicit screw function of zeta:

  g(t) = -4(e^{t/2} + e^{-t/2} - 2)
         + Sum_{n <= e^{|t|}} (Lambda(n)/sqrt(n)) (|t| - log n)
         - (|t|/2)(psi(1/4) - log pi)
         - (1/4)[ Phi(1,2,1/4) - e^{-|t|/2} Phi(e^{-2|t|}, 2, 1/4) ]

(psi = digamma, Phi = Hurwitz-Lerch transcendent Phi(z,s,a) =
Sum_{k>=0} z^k/(k+a)^s; Lambda = von Mangoldt; prime sum = 0 for
|t| < (1/2) log 2.)

Near-origin expansion (Suzuki eq. 2.2):
  g(t) = (1/2)|t| log|t| + A|t| + (prime sum) + r(t),
  r even C^2, r = O(t^2),
  A = (1/2)(log(2pi) - psi(2)) = (1/2)(log(2pi) + gamma_E - 1)
    = 0.7075463656...

g is a Krein-Langer screw function IFF RH (this is the Cor 1.6 bridge).

Part A (validation, mpmath dps 30):
  A1. Lerch convention: Phi(1,2,1/4) == psi'(1/4) = polygamma(1, 1/4).
  A2. Evenness: g(-t) == g(t) at t = 0.7, 2.3, 5.1 (exercises prime sum).
  A3. A-limit: g(t)/t - (1/2) log t -> A as t -> 0+ (prime sum = 0 there);
      residual must equal r(t)/t = c2*t + o(t) with c2 from A4.
  A4. r-curvature: r(t)/t^2 -> c2 (constant) as t -> 0+, t <= 0.25.

Part B (tabulation, float64 + mpmath hybrid):
  g(t) on t in [0, 10], step 1e-3 (mesh for the E-009b Galerkin stage;
  g is even so t >= 0 suffices). Prime-sum part via exact cumsum arrays
  (P(t) piecewise linear in t with kinks at log n). Lerch combination:
  direct numpy series for t > 0.35 (z = e^{-2t} < 0.5, fast), mpmath
  lerchphi for t <= 0.35 (slow-converging near z = 1).

Outputs: research/numerics/data/E-009-suzuki-screw-function.csv (+ .json)
"""
import json
import sys
import time
from datetime import datetime, timezone
from pathlib import Path

import numpy as np
import mpmath as mp

REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-009-suzuki-screw-function.csv"
JSON = DATA / "E-009-suzuki-screw-function.json"

T_MAX = 10.0          # tabulation range [0, T_MAX] (g even)
H = 1e-3              # mesh step
DPS = 30              # validation precision
A_CONST = 0.5 * (np.log(2 * np.pi) + np.euler_gamma - 1.0)  # eq. 2.2 constant


# ---------------------------------------------------------------- von Mangoldt
def mangoldt_sieve(n_max: int) -> np.ndarray:
    """lam_log[n] = log p if n = p^k (prime power), else 0."""
    lam_log = np.zeros(n_max + 1)
    is_comp = np.zeros(n_max + 1, dtype=bool)
    for p in range(2, n_max + 1):
        if not is_comp[p]:
            if p * p <= n_max:
                is_comp[p * p :: p] = True
            pk = p
            while pk <= n_max:
                lam_log[pk] = np.log(p)
                pk *= p
    return lam_log


N_MAX = int(np.exp(T_MAX)) + 2
LAM_LOG = mangoldt_sieve(N_MAX)
NS = np.arange(2, N_MAX + 1)
LOGS = np.log(NS)
LAM = LAM_LOG[2:] / np.sqrt(NS)          # Lambda(n)/sqrt(n)
C1 = np.cumsum(LAM)                       # Sum_{n<=x} Lambda(n)/sqrt(n)
C0 = np.cumsum(LAM * LOGS)                # Sum_{n<=x} Lambda(n) log(n)/sqrt(n)


def prime_sum_vec(t: np.ndarray) -> np.ndarray:
    """P(t) = Sum_{n <= e^t} (Lambda(n)/sqrt(n))(t - log n), vectorized."""
    m = np.searchsorted(LOGS, t, side="right")     # count of n with log n <= t
    out = np.zeros_like(t)
    pos = m > 0
    idx = m[pos] - 1
    out[pos] = C1[idx] * t[pos] - C0[idx]
    return out


def prime_sum_mp(t: mp.mpf) -> mp.mpf:
    s = mp.mpf(0)
    n = 2
    while mp.log(n) <= t:
        s += (LAM_LOG[n] / mp.sqrt(n)) * (t - mp.log(n))
        n += 1
    return s


# ------------------------------------------------------------------- g(t), mp
def g_mp(t) -> mp.mpf:
    t = mp.mpf(t)
    a = abs(t)
    s = -4 * (mp.exp(a / 2) + mp.exp(-a / 2) - 2)
    s += prime_sum_mp(a)
    s -= (a / 2) * (mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi))
    s -= mp.mpf(1) / 4 * (mp.lerchphi(1, 2, mp.mpf(1) / 4)
                          - mp.exp(-a / 2) * mp.lerchphi(mp.exp(-2 * a), 2,
                                                         mp.mpf(1) / 4))
    return s


# --------------------------------------------------------------- g(t), float
KK = np.arange(0, 80)
DENOM = (KK + 0.25) ** 2


def lerch_phi2_fast(z: np.ndarray) -> np.ndarray:
    """Phi(z,2,1/4) by direct series; valid for |z| <= 0.5 (t >= 0.35)."""
    powers = np.power.outer(z, KK)          # (n_z, K)
    return (powers / DENOM).sum(axis=1)


def g_float_table(t: np.ndarray) -> np.ndarray:
    g = -4.0 * (np.exp(t / 2) + np.exp(-t / 2) - 2.0)
    g += prime_sum_vec(t)
    dig_coeff = -0.5 * float(mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi))
    g += dig_coeff * t
    phi1 = float(mp.lerchphi(1, 2, mp.mpf(1) / 4))   # = polygamma(1, 1/4)
    lerch_comb = np.empty_like(t)
    slow = t <= 0.35
    if slow.any():
        mp.dps = 25
        for i in np.flatnonzero(slow):
            ti = mp.mpf(float(t[i]))
            val = (mp.lerchphi(1, 2, mp.mpf(1) / 4)
                   - mp.exp(-ti / 2) * mp.lerchphi(mp.exp(-2 * ti), 2,
                                                   mp.mpf(1) / 4))
            lerch_comb[i] = float(val) / -4.0
        mp.dps = DPS
    if (~slow).any():
        z = np.exp(-2.0 * t[~slow])
        lerch_comb[~slow] = -0.25 * (phi1 - np.exp(-t[~slow] / 2)
                                     * lerch_phi2_fast(z))
    g += lerch_comb
    g[t == 0.0] = 0.0
    return g


# ------------------------------------------------------------------- main
def main() -> int:
    if CSV.exists() and "--force" not in sys.argv:
        print(f"cached: {CSV} exists (use --force to recompute)"); return 0
    t0 = time.time()
    mp.dps = DPS

    # ---- A1: Lerch convention
    phi1_mp = mp.lerchphi(1, 2, mp.mpf(1) / 4)
    trig1_mp = mp.polygamma(1, mp.mpf(1) / 4)
    a1_err = abs(phi1_mp - trig1_mp)
    check_a1 = bool(a1_err < mp.mpf("1e-25"))

    # ---- A2: evenness (t values exercising the prime sum)
    ev_ts = [mp.mpf("0.7"), mp.mpf("2.3"), mp.mpf("5.1")]
    ev_err = max(abs(g_mp(t) - g_mp(-t)) for t in ev_ts)
    check_a2 = bool(ev_err < mp.mpf("1e-20"))

    # ---- A4: r(t)/t^2 -> c2 (t <= 0.25: prime sum = 0)
    A_mp = (mp.log(2 * mp.pi) + mp.euler - 1) / 2
    r_ts = [mp.mpf("0.25"), mp.mpf("0.125"), mp.mpf("0.0625"),
            mp.mpf("0.03125"), mp.mpf("0.015625")]
    r_ratios = []
    for t in r_ts:
        r = g_mp(t) - (t / 2) * mp.log(t) - A_mp * t     # prime sum = 0 here
        r_ratios.append(r / t**2)
    c2 = r_ratios[-1]
    r_gap_last = abs(r_ratios[-1] - r_ratios[-2])
    r_gap_prev = abs(r_ratios[-2] - r_ratios[-3])
    check_a4 = bool(r_gap_last < r_gap_prev)  # gaps shrinking => converging

    # ---- A3: g(t)/t - (1/2) log t -> A; residual ~ c2 * t
    a3_ts = [mp.mpf("1e-2"), mp.mpf("1e-3"), mp.mpf("1e-4")]
    a3_resid = [g_mp(t) / t - mp.log(t) / 2 - A_mp for t in a3_ts]
    # expected residual ~ c2*t; test relative agreement within 25%
    a3_rel = [abs((res - c2 * t) / (c2 * t)) if c2 != 0 else abs(res)
              for res, t in zip(a3_resid, a3_ts)]
    check_a3 = bool(a3_rel[-1] < 0.25 and abs(a3_resid[-1]) < mp.mpf("3e-3"))

    print(f"A1 lerch==polygamma(1,1/4): err {mp.nstr(a1_err, 5)}")
    print(f"A2 evenness max err: {mp.nstr(ev_err, 5)}")
    print(f"A4 r(t)/t^2 -> c2 = {mp.nstr(c2, 12)} "
          f"(gaps {mp.nstr(r_gap_prev, 3)} -> {mp.nstr(r_gap_last, 3)})")
    print(f"A3 residuals g(t)/t - (1/2)log t - A at 1e-2/1e-3/1e-4: "
          f"{[mp.nstr(x, 6) for x in a3_resid]}  (c2*t predicted)")

    # ---- Part B: table on [0, T_MAX]
    t_mesh = np.arange(0.0, T_MAX + 0.5 * H, H)
    g_vals = g_float_table(t_mesh)
    p_vals = prime_sum_vec(t_mesh)
    check_b = bool(np.all(np.isfinite(g_vals)))
    # spot check: float table vs mpmath at a few points
    spot_ts = [0.123, 1.0, 3.7, 7.0, 10.0]
    spot_err = max(abs(g_mp(x) - mp.mpf(float(g_vals[int(round(x / H))])))
                   for x in spot_ts)
    check_spot = bool(spot_err < mp.mpf("1e-9"))
    print(f"Part B: {len(t_mesh)} points, spot-check err vs mpmath: "
          f"{mp.nstr(spot_err, 3)}")

    checks = {
        "A1_lerch_convention": check_a1,
        "A2_evenness": check_a2,
        "A3_A_limit": check_a3,
        "A4_r_curvature_converges": check_a4,
        "B_table_finite": check_b,
        "B_spot_check_vs_mpmath": check_spot,
    }

    DATA.mkdir(parents=True, exist_ok=True)
    with CSV.open("w", encoding="utf-8", newline="") as f:
        f.write("t,g_t,prime_sum_t\n")
        for ti, gi, pi in zip(t_mesh, g_vals, p_vals):
            f.write(f"{ti:.4f},{gi:.12e},{pi:.12e}\n")

    meta = {
        "experiment": "E-009a",
        "task": "3.4c (D-018 step 1): Suzuki screw function g(t)",
        "description": "mpmath implementation of Suzuki's explicit screw "
                       "function g(t) (arXiv:2606.09096v1 eq. 1.3); "
                       "validated against eq. 2.2 near-origin expansion; "
                       "tabulated on [0,10] step 1e-3 for E-009b Galerkin",
        "script": "research/numerics/scripts/E-009-suzuki-screw-function.py",
        "parameters": {"t_max": T_MAX, "step": H, "validation_dps": DPS,
                       "n_sieve_max": N_MAX},
        "checks": checks,
        "key_values": {
            "A_eq2.2": float(A_CONST),
            "c2_lim_r_over_t2": float(c2),
            "digamma_coeff_-half(psi(1/4)-log pi)":
                float(-(mp.digamma(mp.mpf(1) / 4) - mp.log(mp.pi)) / 2),
            "Phi(1,2,1/4)": float(phi1_mp),
            "g(log2)": float(g_mp(mp.log(2))),
            "g(1)": float(g_mp(1)),
            "g(5)": float(g_mp(5)),
            "g(10)": float(g_vals[-1]),
        },
        "caveats": [
            "float64 table: Lerch combination has cancellation for small t "
            "(~4 digits lost at t=1e-3); spot-checked vs mpmath to 1e-9",
            "prime sum is piecewise linear in t (kinks at log n) — exact "
            "via cumsum, no interpolation error",
            "g even: only t >= 0 tabulated",
        ],
        "elapsed_seconds": round(time.time() - t0, 1),
        "timestamp_utc": datetime.now(timezone.utc).isoformat(),
        "row_count": int(len(t_mesh)),
    }
    JSON.write_text(json.dumps(meta, indent=2), encoding="utf-8")
    ok = all(checks.values())
    print(f"wrote {CSV.name}, {JSON.name} — "
          f"{'ALL CHECKS PASS' if ok else 'CHECK FAILURE: ' + str(checks)}")
    return 0 if ok else 1


if __name__ == "__main__":
    raise SystemExit(main())