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 6 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
2502 2.5000 -4.843486867390e-02 3.496730458688e+00
2503 2.5010 -4.847148701422e-02 3.500990954130e+00
2504 2.5020 -4.851159550451e-02 3.505251449572e+00
2505 2.5030 -4.855519589611e-02 3.509511945014e+00
2506 2.5040 -4.860228994124e-02 3.513772440457e+00
2507 2.5050 -4.865287939295e-02 3.518032935899e+00
2508 2.5060 -4.870696600520e-02 3.522293431341e+00
2509 2.5070 -4.876455153276e-02 3.526553926783e+00
2510 2.5080 -4.882563773131e-02 3.530814422225e+00
2511 2.5090 -4.889022635736e-02 3.535074917667e+00
2512 2.5100 -4.895831916829e-02 3.539335413109e+00
2513 2.5110 -4.902991792236e-02 3.543595908551e+00
2514 2.5120 -4.910502437868e-02 3.547856403994e+00
2515 2.5130 -4.918364029724e-02 3.552116899436e+00
2516 2.5140 -4.926576743888e-02 3.556377394878e+00
2517 2.5150 -4.935140756531e-02 3.560637890320e+00
2518 2.5160 -4.944056243912e-02 3.564898385762e+00
2519 2.5170 -4.953323382374e-02 3.569158881204e+00
2520 2.5180 -4.962942348350e-02 3.573419376646e+00
2521 2.5190 -4.972913318358e-02 3.577679872088e+00
2522 2.5200 -4.983236469002e-02 3.581940367531e+00
2523 2.5210 -4.993911976976e-02 3.586200862973e+00
2524 2.5220 -5.004940019057e-02 3.590461358415e+00
2525 2.5230 -5.016320772113e-02 3.594721853857e+00
2526 2.5240 -5.028054413096e-02 3.598982349299e+00
2527 2.5250 -5.040141119046e-02 3.603242844741e+00
2528 2.5260 -5.052581067091e-02 3.607503340183e+00
2529 2.5270 -5.065374434446e-02 3.611763835625e+00
2530 2.5280 -5.078521398411e-02 3.616024331068e+00
2531 2.5290 -5.092022136377e-02 3.620284826510e+00
2532 2.5300 -5.105876825819e-02 3.624545321952e+00
2533 2.5310 -5.120085644302e-02 3.628805817394e+00
2534 2.5320 -5.134648769477e-02 3.633066312836e+00
2535 2.5330 -5.149566379082e-02 3.637326808278e+00
2536 2.5340 -5.164838650945e-02 3.641587303720e+00
2537 2.5350 -5.180465762977e-02 3.645847799162e+00
2538 2.5360 -5.196447893183e-02 3.650108294605e+00
2539 2.5370 -5.212785219649e-02 3.654368790047e+00
2540 2.5380 -5.229477920554e-02 3.658629285489e+00
2541 2.5390 -5.246526174161e-02 3.662889780931e+00
2542 2.5400 -5.263930158824e-02 3.667150276373e+00
2543 2.5410 -5.281690052982e-02 3.671410771815e+00
2544 2.5420 -5.299806035165e-02 3.675671267257e+00
2545 2.5430 -5.318278283987e-02 3.679931762699e+00
2546 2.5440 -5.337106978153e-02 3.684192258142e+00
2547 2.5450 -5.356292296456e-02 3.688452753584e+00
2548 2.5460 -5.375834417775e-02 3.692713249026e+00
2549 2.5470 -5.395733521079e-02 3.696973744468e+00
2550 2.5480 -5.415989785425e-02 3.701234239910e+00
2551 2.5490 -5.436603389959e-02 3.705494735352e+00
2552 2.5500 -5.457574513911e-02 3.709755230794e+00
2553 2.5510 -5.478903336605e-02 3.714015726236e+00
2554 2.5520 -5.500590037451e-02 3.718276221679e+00
2555 2.5530 -5.522634795946e-02 3.722536717121e+00
2556 2.5540 -5.545037791677e-02 3.726797212563e+00
2557 2.5550 -5.567799204320e-02 3.731057708005e+00
2558 2.5560 -5.590919213639e-02 3.735318203447e+00
2559 2.5570 -5.614397999486e-02 3.739578698889e+00
2560 2.5580 -5.638235741802e-02 3.743839194331e+00
2561 2.5590 -5.662432620617e-02 3.748099689773e+00
2562 2.5600 -5.686988816050e-02 3.752360185216e+00
2563 2.5610 -5.711904508309e-02 3.756620680658e+00
2564 2.5620 -5.737179877689e-02 3.760881176100e+00
2565 2.5630 -5.762815104576e-02 3.765141671542e+00
2566 2.5640 -5.788810369444e-02 3.769402166984e+00
2567 2.5650 -5.811563198600e-02 3.773698688969e+00
2568 2.5660 -5.767140185614e-02 3.778670573367e+00
2569 2.5670 -5.723077752566e-02 3.783642457765e+00
2570 2.5680 -5.679376080286e-02 3.788614342163e+00
2571 2.5690 -5.636035349694e-02 3.793586226561e+00
2572 2.5700 -5.593055741799e-02 3.798558110959e+00
2573 2.5710 -5.550437437698e-02 3.803529995357e+00
2574 2.5720 -5.508180618581e-02 3.808501879755e+00
2575 2.5730 -5.466285465722e-02 3.813473764153e+00
2576 2.5740 -5.424752160490e-02 3.818445648551e+00
2577 2.5750 -5.383580884339e-02 3.823417532949e+00
2578 2.5760 -5.342771818815e-02 3.828389417348e+00
2579 2.5770 -5.302325145553e-02 3.833361301746e+00
2580 2.5780 -5.262241046276e-02 3.838333186144e+00
2581 2.5790 -5.222519702801e-02 3.843305070542e+00
2582 2.5800 -5.183161297030e-02 3.848276954940e+00
2583 2.5810 -5.144166010957e-02 3.853248839338e+00
2584 2.5820 -5.105534026666e-02 3.858220723736e+00
2585 2.5830 -5.067265526330e-02 3.863192608134e+00
2586 2.5840 -5.029360692211e-02 3.868164492532e+00
2587 2.5850 -4.991819706664e-02 3.873136376930e+00
2588 2.5860 -4.954642752132e-02 3.878108261328e+00
2589 2.5870 -4.917830011149e-02 3.883080145726e+00
2590 2.5880 -4.881381666336e-02 3.888052030124e+00
2591 2.5890 -4.845297900408e-02 3.893023914522e+00
2592 2.5900 -4.809578896169e-02 3.897995798920e+00
2593 2.5910 -4.774224836512e-02 3.902967683319e+00
2594 2.5920 -4.739235904422e-02 3.907939567717e+00
2595 2.5930 -4.704612282974e-02 3.912911452115e+00
2596 2.5940 -4.670354155332e-02 3.917883336513e+00
2597 2.5950 -4.636461704752e-02 3.922855220911e+00
2598 2.5960 -4.602935114580e-02 3.927827105309e+00
2599 2.5970 -4.569774568252e-02 3.932798989707e+00
2600 2.5980 -4.536980249296e-02 3.937770874105e+00
2601 2.5990 -4.504552341328e-02 3.942742758503e+00
2602 2.6000 -4.472491028058e-02 3.947714642901e+00
2603 2.6010 -4.440796493284e-02 3.952686527299e+00
2604 2.6020 -4.409468920896e-02 3.957658411697e+00
2605 2.6030 -4.378508494876e-02 3.962630296095e+00
2606 2.6040 -4.347915399294e-02 3.967602180493e+00
2607 2.6050 -4.317689818312e-02 3.972574064892e+00
2608 2.6060 -4.287831936186e-02 3.977545949290e+00
2609 2.6070 -4.258341937258e-02 3.982517833688e+00
2610 2.6080 -4.229220005965e-02 3.987489718086e+00
2611 2.6090 -4.200466326833e-02 3.992461602484e+00
2612 2.6100 -4.172081084479e-02 3.997433486882e+00
2613 2.6110 -4.144064463613e-02 4.002405371280e+00
2614 2.6120 -4.116416649036e-02 4.007377255678e+00
2615 2.6130 -4.089137825638e-02 4.012349140076e+00
2616 2.6140 -4.062228178403e-02 4.017321024474e+00
2617 2.6150 -4.035687892405e-02 4.022292908872e+00
2618 2.6160 -4.009517152810e-02 4.027264793270e+00
2619 2.6170 -3.983716144875e-02 4.032236677668e+00
2620 2.6180 -3.958285053949e-02 4.037208562066e+00
2621 2.6190 -3.933224065471e-02 4.042180446465e+00
2622 2.6200 -3.908533364976e-02 4.047152330863e+00
2623 2.6210 -3.884213138086e-02 4.052124215261e+00
2624 2.6220 -3.860263570517e-02 4.057096099659e+00
2625 2.6230 -3.836684848075e-02 4.062067984057e+00
2626 2.6240 -3.813477156661e-02 4.067039868455e+00
2627 2.6250 -3.790640682266e-02 4.072011752853e+00
2628 2.6260 -3.768175610972e-02 4.076983637251e+00
2629 2.6270 -3.746082128954e-02 4.081955521649e+00
2630 2.6280 -3.724360422480e-02 4.086927406047e+00
2631 2.6290 -3.703010677908e-02 4.091899290445e+00
2632 2.6300 -3.682033081690e-02 4.096871174843e+00
2633 2.6310 -3.661427820369e-02 4.101843059241e+00
2634 2.6320 -3.641195080580e-02 4.106814943639e+00
2635 2.6330 -3.621335049053e-02 4.111786828038e+00
2636 2.6340 -3.601847912607e-02 4.116758712436e+00
2637 2.6350 -3.582733858155e-02 4.121730596834e+00
2638 2.6360 -3.563993072701e-02 4.126702481232e+00
2639 2.6370 -3.545625743344e-02 4.131674365630e+00
2640 2.6380 -3.527632057273e-02 4.136646250028e+00
2641 2.6390 -3.510012201771e-02 4.141618134426e+00
2642 2.6400 -3.492766364214e-02 4.146590018824e+00
2643 2.6410 -3.475894732069e-02 4.151561903222e+00
2644 2.6420 -3.459397492897e-02 4.156533787620e+00
2645 2.6430 -3.443274834352e-02 4.161505672018e+00
2646 2.6440 -3.427526944178e-02 4.166477556416e+00
2647 2.6450 -3.412154010218e-02 4.171449440814e+00
2648 2.6460 -3.397156220400e-02 4.176421325212e+00
2649 2.6470 -3.382533762753e-02 4.181393209610e+00
2650 2.6480 -3.368286825391e-02 4.186365094009e+00
2651 2.6490 -3.354415596528e-02 4.191336978407e+00
2652 2.6500 -3.340920264468e-02 4.196308862805e+00
2653 2.6510 -3.327801017607e-02 4.201280747203e+00
2654 2.6520 -3.315058044436e-02 4.206252631601e+00
2655 2.6530 -3.302691533539e-02 4.211224515999e+00
2656 2.6540 -3.290701673593e-02 4.216196400397e+00
2657 2.6550 -3.279088653369e-02 4.221168284795e+00
2658 2.6560 -3.267852661730e-02 4.226140169193e+00
2659 2.6570 -3.256993887635e-02 4.231112053591e+00
2660 2.6580 -3.246512520134e-02 4.236083937989e+00
2661 2.6590 -3.236408748370e-02 4.241055822387e+00
2662 2.6600 -3.226682761584e-02 4.246027706785e+00
2663 2.6610 -3.217334749105e-02 4.250999591183e+00
2664 2.6620 -3.208364900360e-02 4.255971475582e+00
2665 2.6630 -3.199773404868e-02 4.260943359980e+00
2666 2.6640 -3.191560452241e-02 4.265915244378e+00
2667 2.6650 -3.183726232187e-02 4.270887128776e+00
2668 2.6660 -3.176270934506e-02 4.275859013174e+00
2669 2.6670 -3.169194749093e-02 4.280830897572e+00
2670 2.6680 -3.162497865936e-02 4.285802781970e+00
2671 2.6690 -3.156180475119e-02 4.290774666368e+00
2672 2.6700 -3.150242766817e-02 4.295746550766e+00
2673 2.6710 -3.144684931303e-02 4.300718435164e+00
2674 2.6720 -3.139507158941e-02 4.305690319562e+00
2675 2.6730 -3.134709640190e-02 4.310662203960e+00
2676 2.6740 -3.130292565605e-02 4.315634088358e+00
2677 2.6750 -3.126256125833e-02 4.320605972756e+00
2678 2.6760 -3.122600511618e-02 4.325577857155e+00
2679 2.6770 -3.119325913795e-02 4.330549741553e+00
2680 2.6780 -3.116432523296e-02 4.335521625951e+00
2681 2.6790 -3.113920531147e-02 4.340493510349e+00
2682 2.6800 -3.111790128469e-02 4.345465394747e+00
2683 2.6810 -3.110041506476e-02 4.350437279145e+00
2684 2.6820 -3.108674856480e-02 4.355409163543e+00
2685 2.6830 -3.107690369884e-02 4.360381047941e+00
2686 2.6840 -3.107088238188e-02 4.365352932339e+00
2687 2.6850 -3.106868652986e-02 4.370324816737e+00
2688 2.6860 -3.107031805967e-02 4.375296701135e+00
2689 2.6870 -3.107577888915e-02 4.380268585533e+00
2690 2.6880 -3.108507093710e-02 4.385240469931e+00
2691 2.6890 -3.109819612325e-02 4.390212354329e+00
2692 2.6900 -3.111515636830e-02 4.395184238728e+00
2693 2.6910 -3.113595359389e-02 4.400156123126e+00
2694 2.6920 -3.116058972263e-02 4.405128007524e+00
2695 2.6930 -3.118906667804e-02 4.410099891922e+00
2696 2.6940 -3.122138638465e-02 4.415071776320e+00
2697 2.6950 -3.125755076789e-02 4.420043660718e+00
2698 2.6960 -3.129756175419e-02 4.425015545116e+00
2699 2.6970 -3.134142127090e-02 4.429987429514e+00
2700 2.6980 -3.138913124634e-02 4.434959313912e+00
2701 2.6990 -3.144069360978e-02 4.439931198310e+00
2702 2.7000 -3.149611029145e-02 4.444903082708e+00
2703 2.7010 -3.155538322255e-02 4.449874967106e+00
2704 2.7020 -3.161851433520e-02 4.454846851504e+00
2705 2.7030 -3.168550556252e-02 4.459818735902e+00
2706 2.7040 -3.175635883855e-02 4.464790620300e+00
2707 2.7050 -3.183107609832e-02 4.469762504699e+00
2708 2.7060 -3.190965927780e-02 4.474734389097e+00
2709 2.7070 -3.199211031393e-02 4.479706273495e+00
2710 2.7080 -3.207843114459e-02 4.484678157893e+00
2711 2.7090 -3.216862370865e-02 4.489650042291e+00
2712 2.7100 -3.226268994592e-02 4.494621926689e+00
2713 2.7110 -3.236063179718e-02 4.499593811087e+00
2714 2.7120 -3.246245120416e-02 4.504565695485e+00
2715 2.7130 -3.256815010958e-02 4.509537579883e+00
2716 2.7140 -3.267773045709e-02 4.514509464281e+00
2717 2.7150 -3.279119419132e-02 4.519481348679e+00
2718 2.7160 -3.290854325786e-02 4.524453233077e+00
2719 2.7170 -3.302977960328e-02 4.529425117475e+00
2720 2.7180 -3.315490517510e-02 4.534397001873e+00
2721 2.7190 -3.328392192178e-02 4.539368886272e+00
2722 2.7200 -3.341683179281e-02 4.544340770670e+00
2723 2.7210 -3.355363673859e-02 4.549312655068e+00
2724 2.7220 -3.369433871050e-02 4.554284539466e+00
2725 2.7230 -3.383893966092e-02 4.559256423864e+00
2726 2.7240 -3.398744154314e-02 4.564228308262e+00
2727 2.7250 -3.413984631147e-02 4.569200192660e+00
2728 2.7260 -3.429615592117e-02 4.574172077058e+00
2729 2.7270 -3.445637232847e-02 4.579143961456e+00
2730 2.7280 -3.462049749055e-02 4.584115845854e+00
2731 2.7290 -3.478853336561e-02 4.589087730252e+00
2732 2.7300 -3.496048191276e-02 4.594059614650e+00
2733 2.7310 -3.513634509213e-02 4.599031499048e+00
2734 2.7320 -3.531612486481e-02 4.604003383446e+00
2735 2.7330 -3.549982319284e-02 4.608975267845e+00
2736 2.7340 -3.568744203926e-02 4.613947152243e+00
2737 2.7350 -3.587898336807e-02 4.618919036641e+00
2738 2.7360 -3.607444914425e-02 4.623890921039e+00
2739 2.7370 -3.627384133375e-02 4.628862805437e+00
2740 2.7380 -3.647716190350e-02 4.633834689835e+00
2741 2.7390 -3.668441282140e-02 4.638806574233e+00
2742 2.7400 -3.689559605633e-02 4.643778458631e+00
2743 2.7410 -3.711071357814e-02 4.648750343029e+00
2744 2.7420 -3.732976735768e-02 4.653722227427e+00
2745 2.7430 -3.755275936674e-02 4.658694111825e+00
2746 2.7440 -3.777969157812e-02 4.663665996223e+00
2747 2.7450 -3.801056596558e-02 4.668637880621e+00
2748 2.7460 -3.824538450388e-02 4.673609765019e+00
2749 2.7470 -3.848414916872e-02 4.678581649418e+00
2750 2.7480 -3.872686193684e-02 4.683553533816e+00
2751 2.7490 -3.897352478590e-02 4.688525418214e+00
2752 2.7500 -3.922413969458e-02 4.693497302612e+00
2753 2.7510 -3.947870864252e-02 4.698469187010e+00
2754 2.7520 -3.973723361037e-02 4.703441071408e+00
2755 2.7530 -3.999971657972e-02 4.708412955806e+00
2756 2.7540 -4.026615953319e-02 4.713384840204e+00
2757 2.7550 -4.053656445436e-02 4.718356724602e+00
2758 2.7560 -4.081093332778e-02 4.723328609000e+00
2759 2.7570 -4.108926813901e-02 4.728300493398e+00
2760 2.7580 -4.137157087459e-02 4.733272377796e+00
2761 2.7590 -4.165784352203e-02 4.738244262194e+00
2762 2.7600 -4.194808806986e-02 4.743216146592e+00
2763 2.7610 -4.224230650755e-02 4.748188030990e+00
2764 2.7620 -4.254050082559e-02 4.753159915389e+00
2765 2.7630 -4.284267301546e-02 4.758131799787e+00
2766 2.7640 -4.314882506961e-02 4.763103684185e+00
2767 2.7650 -4.345895898150e-02 4.768075568583e+00
2768 2.7660 -4.377307674555e-02 4.773047452981e+00
2769 2.7670 -4.409118035719e-02 4.778019337379e+00
2770 2.7680 -4.441327181284e-02 4.782991221777e+00
2771 2.7690 -4.473935310991e-02 4.787963106175e+00
2772 2.7700 -4.506942624680e-02 4.792934990573e+00
2773 2.7710 -4.540349322290e-02 4.797906874971e+00
2774 2.7720 -4.574155603859e-02 4.802878759369e+00
2775 2.7730 -4.601234769028e-02 4.807921912772e+00
2776 2.7740 -4.618512139514e-02 4.813067083966e+00
2777 2.7750 -4.636189694671e-02 4.818212255159e+00
2778 2.7760 -4.654267634935e-02 4.823357426352e+00
2779 2.7770 -4.672746160840e-02 4.828502597545e+00
2780 2.7780 -4.691625473023e-02 4.833647768738e+00
2781 2.7790 -4.710905772217e-02 4.838792939932e+00
2782 2.7800 -4.730587259256e-02 4.843938111125e+00
2783 2.7810 -4.750670135076e-02 4.849083282318e+00
2784 2.7820 -4.771154600709e-02 4.854228453511e+00
2785 2.7830 -4.792040857289e-02 4.859373624704e+00
2786 2.7840 -4.813329106049e-02 4.864518795898e+00
2787 2.7850 -4.835019548323e-02 4.869663967091e+00
2788 2.7860 -4.857112385544e-02 4.874809138284e+00
2789 2.7870 -4.879607819246e-02 4.879954309477e+00
2790 2.7880 -4.902506051061e-02 4.885099480670e+00
2791 2.7890 -4.925807282723e-02 4.890244651864e+00
2792 2.7900 -4.949511716067e-02 4.895389823057e+00
2793 2.7910 -4.973619553025e-02 4.900534994250e+00
2794 2.7920 -4.998130995632e-02 4.905680165443e+00
2795 2.7930 -5.023046246023e-02 4.910825336637e+00
2796 2.7940 -5.048365506433e-02 4.915970507830e+00
2797 2.7950 -5.074088979197e-02 4.921115679023e+00
2798 2.7960 -5.100216866751e-02 4.926260850216e+00
2799 2.7970 -5.126749371631e-02 4.931406021409e+00
2800 2.7980 -5.153686696474e-02 4.936551192603e+00
2801 2.7990 -5.181029044019e-02 4.941696363796e+00
2802 2.8000 -5.208776617103e-02 4.946841534989e+00
2803 2.8010 -5.236929618665e-02 4.951986706182e+00
2804 2.8020 -5.265488251745e-02 4.957131877375e+00
2805 2.8030 -5.294452719485e-02 4.962277048569e+00
2806 2.8040 -5.323823225125e-02 4.967422219762e+00
2807 2.8050 -5.353599972009e-02 4.972567390955e+00
2808 2.8060 -5.383783163579e-02 4.977712562148e+00
2809 2.8070 -5.414373003382e-02 4.982857733341e+00
2810 2.8080 -5.445369695062e-02 4.988002904535e+00
2811 2.8090 -5.476773442367e-02 4.993148075728e+00
2812 2.8100 -5.508584449145e-02 4.998293246921e+00
2813 2.8110 -5.540802919344e-02 5.003438418114e+00
2814 2.8120 -5.573429057017e-02 5.008583589308e+00
2815 2.8130 -5.606463066316e-02 5.013728760501e+00
2816 2.8140 -5.639905151493e-02 5.018873931694e+00
2817 2.8150 -5.673755516904e-02 5.024019102887e+00
2818 2.8160 -5.708014367005e-02 5.029164274080e+00
2819 2.8170 -5.742681906356e-02 5.034309445274e+00
2820 2.8180 -5.777758339615e-02 5.039454616467e+00
2821 2.8190 -5.813243871545e-02 5.044599787660e+00
2822 2.8200 -5.849138707008e-02 5.049744958853e+00
2823 2.8210 -5.885443050970e-02 5.054890130046e+00
2824 2.8220 -5.922157108498e-02 5.060035301240e+00
2825 2.8230 -5.959281084761e-02 5.065180472433e+00
2826 2.8240 -5.996815185028e-02 5.070325643626e+00
2827 2.8250 -6.034759614674e-02 5.075470814819e+00
2828 2.8260 -6.073114579173e-02 5.080615986012e+00
2829 2.8270 -6.111880284101e-02 5.085761157206e+00
2830 2.8280 -6.151056935140e-02 5.090906328399e+00
2831 2.8290 -6.190644738068e-02 5.096051499592e+00
2832 2.8300 -6.230643898771e-02 5.101196670785e+00
2833 2.8310 -6.271054623234e-02 5.106341841979e+00
2834 2.8320 -6.311877117546e-02 5.111487013172e+00
2835 2.8330 -6.353111587898e-02 5.116632184365e+00
2836 2.8340 -6.340702770761e-02 5.122317910256e+00
2837 2.8350 -6.314046295247e-02 5.128150236619e+00
2838 2.8360 -6.287802414959e-02 5.133982562981e+00
2839 2.8370 -6.261971336500e-02 5.139814889344e+00
2840 2.8380 -6.236553266573e-02 5.145647215706e+00
2841 2.8390 -6.211548411983e-02 5.151479542069e+00
2842 2.8400 -6.186956979641e-02 5.157311868431e+00
2843 2.8410 -6.162779176558e-02 5.163144194794e+00
2844 2.8420 -6.139015209849e-02 5.168976521156e+00
2845 2.8430 -6.115665286734e-02 5.174808847519e+00
2846 2.8440 -6.092729614532e-02 5.180641173881e+00
2847 2.8450 -6.070208400667e-02 5.186473500244e+00
2848 2.8460 -6.048101852667e-02 5.192305826606e+00
2849 2.8470 -6.026410178163e-02 5.198138152968e+00
2850 2.8480 -6.005133584887e-02 5.203970479331e+00
2851 2.8490 -5.984272280677e-02 5.209802805693e+00
2852 2.8500 -5.963826473472e-02 5.215635132056e+00
2853 2.8510 -5.943796371318e-02 5.221467458418e+00
2854 2.8520 -5.924182182359e-02 5.227299784781e+00
2855 2.8530 -5.904984114847e-02 5.233132111143e+00
2856 2.8540 -5.886202377137e-02 5.238964437506e+00
2857 2.8550 -5.867837177685e-02 5.244796763868e+00
2858 2.8560 -5.849888725053e-02 5.250629090231e+00
2859 2.8570 -5.832357227907e-02 5.256461416593e+00
2860 2.8580 -5.815242895014e-02 5.262293742956e+00
2861 2.8590 -5.798545935247e-02 5.268126069318e+00
2862 2.8600 -5.782266557584e-02 5.273958395681e+00
2863 2.8610 -5.766404971103e-02 5.279790722043e+00
2864 2.8620 -5.750961384990e-02 5.285623048406e+00
2865 2.8630 -5.735936008533e-02 5.291455374768e+00
2866 2.8640 -5.721329051124e-02 5.297287701131e+00
2867 2.8650 -5.707140722260e-02 5.303120027493e+00
2868 2.8660 -5.693371231541e-02 5.308952353855e+00
2869 2.8670 -5.680020788674e-02 5.314784680218e+00
2870 2.8680 -5.667089603467e-02 5.320617006580e+00
2871 2.8690 -5.654577885832e-02 5.326449332943e+00
2872 2.8700 -5.642485845791e-02 5.332281659305e+00
2873 2.8710 -5.630813693462e-02 5.338113985668e+00
2874 2.8720 -5.619561639075e-02 5.343946312030e+00
2875 2.8730 -5.608729892960e-02 5.349778638393e+00
2876 2.8740 -5.598318665555e-02 5.355610964755e+00
2877 2.8750 -5.588328167399e-02 5.361443291118e+00
2878 2.8760 -5.578758609139e-02 5.367275617480e+00
2879 2.8770 -5.569610201524e-02 5.373107943843e+00
2880 2.8780 -5.560883155410e-02 5.378940270205e+00
2881 2.8790 -5.552577681757e-02 5.384772596568e+00
2882 2.8800 -5.544693991629e-02 5.390604922930e+00
2883 2.8810 -5.537232296198e-02 5.396437249293e+00
2884 2.8820 -5.530192806738e-02 5.402269575655e+00
2885 2.8830 -5.523575734628e-02 5.408101902017e+00
2886 2.8840 -5.517381291355e-02 5.413934228380e+00
2887 2.8850 -5.511609688509e-02 5.419766554742e+00
2888 2.8860 -5.506261137785e-02 5.425598881105e+00
2889 2.8870 -5.501335850985e-02 5.431431207467e+00
2890 2.8880 -5.496834040015e-02 5.437263533830e+00
2891 2.8890 -5.492755916887e-02 5.443095860192e+00
2892 2.8900 -5.489101693719e-02 5.448928186555e+00
2893 2.8910 -5.485871582732e-02 5.454760512917e+00
2894 2.8920 -5.483065796257e-02 5.460592839280e+00
2895 2.8930 -5.480684546726e-02 5.466425165642e+00
2896 2.8940 -5.478728046680e-02 5.472257492005e+00
2897 2.8950 -5.477196508764e-02 5.478089818367e+00
2898 2.8960 -5.476090145729e-02 5.483922144730e+00
2899 2.8970 -5.475409170433e-02 5.489754471092e+00
2900 2.8980 -5.475153795840e-02 5.495586797455e+00
2901 2.8990 -5.475324235017e-02 5.501419123817e+00
2902 2.9000 -5.475920701139e-02 5.507251450180e+00
2903 2.9010 -5.476943407490e-02 5.513083776542e+00
2904 2.9020 -5.478392567455e-02 5.518916102904e+00
2905 2.9030 -5.480268394528e-02 5.524748429267e+00
2906 2.9040 -5.482571102309e-02 5.530580755629e+00
2907 2.9050 -5.485300904503e-02 5.536413081992e+00
2908 2.9060 -5.488458014924e-02 5.542245408354e+00
2909 2.9070 -5.492042647491e-02 5.548077734717e+00
2910 2.9080 -5.496055016227e-02 5.553910061079e+00
2911 2.9090 -5.500495335265e-02 5.559742387442e+00
2912 2.9100 -5.505363818844e-02 5.565574713804e+00
2913 2.9110 -5.510660681308e-02 5.571407040167e+00
2914 2.9120 -5.516386137109e-02 5.577239366529e+00
2915 2.9130 -5.522540400804e-02 5.583071692892e+00
2916 2.9140 -5.529123687061e-02 5.588904019254e+00
2917 2.9150 -5.536136210649e-02 5.594736345617e+00
2918 2.9160 -5.543578186449e-02 5.600568671979e+00
2919 2.9170 -5.551449829446e-02 5.606400998342e+00
2920 2.9180 -5.559751354733e-02 5.612233324704e+00
2921 2.9190 -5.568482977509e-02 5.618065651066e+00
2922 2.9200 -5.577644913082e-02 5.623897977429e+00
2923 2.9210 -5.587237376866e-02 5.629730303791e+00
2924 2.9220 -5.597260584382e-02 5.635562630154e+00
2925 2.9230 -5.607714751259e-02 5.641394956516e+00
2926 2.9240 -5.618600093233e-02 5.647227282879e+00
2927 2.9250 -5.629916826147e-02 5.653059609241e+00
2928 2.9260 -5.641665165952e-02 5.658891935604e+00
2929 2.9270 -5.653845328706e-02 5.664724261966e+00
2930 2.9280 -5.666457530575e-02 5.670556588329e+00
2931 2.9290 -5.679501987834e-02 5.676388914691e+00
2932 2.9300 -5.692978916861e-02 5.682221241054e+00
2933 2.9310 -5.706888534148e-02 5.688053567416e+00
2934 2.9320 -5.721231056290e-02 5.693885893779e+00
2935 2.9330 -5.736006699991e-02 5.699718220141e+00
2936 2.9340 -5.751215682065e-02 5.705550546504e+00
2937 2.9350 -5.766858219431e-02 5.711382872866e+00
2938 2.9360 -5.782934529117e-02 5.717215199228e+00
2939 2.9370 -5.799444828261e-02 5.723047525591e+00
2940 2.9380 -5.816389334106e-02 5.728879851953e+00
2941 2.9390 -5.833768264005e-02 5.734712178316e+00
2942 2.9400 -5.851581835418e-02 5.740544504678e+00
2943 2.9410 -5.869830265915e-02 5.746376831041e+00
2944 2.9420 -5.888513773174e-02 5.752209157403e+00
2945 2.9430 -5.907632574979e-02 5.758041483766e+00
2946 2.9440 -5.927186889226e-02 5.763873810128e+00
2947 2.9450 -5.909279941308e-02 5.770085106417e+00
2948 2.9460 -5.862155871630e-02 5.776592933409e+00
2949 2.9470 -5.815467968726e-02 5.783100760400e+00
2950 2.9480 -5.769216450926e-02 5.789608587392e+00
2951 2.9490 -5.723401536666e-02 5.796116414384e+00
2952 2.9500 -5.678023444494e-02 5.802624241375e+00
2953 2.9510 -5.633082393063e-02 5.809132068367e+00
2954 2.9520 -5.588578601137e-02 5.815639895359e+00
2955 2.9530 -5.544512287589e-02 5.822147722351e+00
2956 2.9540 -5.500883671400e-02 5.828655549342e+00
2957 2.9550 -5.457692971662e-02 5.835163376334e+00
2958 2.9560 -5.414940407574e-02 5.841671203326e+00
2959 2.9570 -5.372626198444e-02 5.848179030317e+00
2960 2.9580 -5.330750563692e-02 5.854686857309e+00
2961 2.9590 -5.289313722844e-02 5.861194684301e+00
2962 2.9600 -5.248315895537e-02 5.867702511293e+00
2963 2.9610 -5.207757301518e-02 5.874210338284e+00
2964 2.9620 -5.167638160642e-02 5.880718165276e+00
2965 2.9630 -5.127958692874e-02 5.887225992268e+00
2966 2.9640 -5.088719118288e-02 5.893733819259e+00
2967 2.9650 -5.049919657069e-02 5.900241646251e+00
2968 2.9660 -5.011560529511e-02 5.906749473243e+00
2969 2.9670 -4.973641956016e-02 5.913257300235e+00
2970 2.9680 -4.936164157100e-02 5.919765127226e+00
2971 2.9690 -4.899127353385e-02 5.926272954218e+00
2972 2.9700 -4.862531765603e-02 5.932780781210e+00
2973 2.9710 -4.826377614599e-02 5.939288608201e+00
2974 2.9720 -4.790665121325e-02 5.945796435193e+00
2975 2.9730 -4.755394506844e-02 5.952304262185e+00
2976 2.9740 -4.720565992329e-02 5.958812089177e+00
2977 2.9750 -4.686179799065e-02 5.965319916168e+00
2978 2.9760 -4.652236148443e-02 5.971827743160e+00
2979 2.9770 -4.618735261969e-02 5.978335570152e+00
2980 2.9780 -4.585677361255e-02 5.984843397143e+00
2981 2.9790 -4.553062668028e-02 5.991351224135e+00
2982 2.9800 -4.520891404122e-02 5.997859051127e+00
2983 2.9810 -4.489163791482e-02 6.004366878119e+00
2984 2.9820 -4.457880052165e-02 6.010874705110e+00
2985 2.9830 -4.427040408338e-02 6.017382532102e+00
2986 2.9840 -4.396645082277e-02 6.023890359094e+00
2987 2.9850 -4.366694296371e-02 6.030398186085e+00
2988 2.9860 -4.337188273119e-02 6.036906013077e+00
2989 2.9870 -4.308127235131e-02 6.043413840069e+00
2990 2.9880 -4.279511405127e-02 6.049921667061e+00
2991 2.9890 -4.251341005938e-02 6.056429494052e+00
2992 2.9900 -4.223616260508e-02 6.062937321044e+00
2993 2.9910 -4.196337391891e-02 6.069445148036e+00
2994 2.9920 -4.169504623250e-02 6.075952975027e+00
2995 2.9930 -4.143118177863e-02 6.082460802019e+00
2996 2.9940 -4.117178279116e-02 6.088968629011e+00
2997 2.9950 -4.091685150508e-02 6.095476456003e+00
2998 2.9960 -4.066639015647e-02 6.101984282994e+00
2999 2.9970 -4.042040098258e-02 6.108492109986e+00
3000 2.9980 -4.017888622171e-02 6.114999936978e+00
3001 2.9990 -3.994184811331e-02 6.121507763969e+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())