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 12 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
5502 5.5000 -5.161892212631e-02 4.404473632955e+01
5503 5.5010 -5.147481145913e-02 4.407348743532e+01
5504 5.5020 -5.134635124638e-02 4.410223854109e+01
5505 5.5030 -5.123354931522e-02 4.413098964687e+01
5506 5.5040 -5.113641349678e-02 4.415974075264e+01
5507 5.5050 -5.105495162608e-02 4.418849185841e+01
5508 5.5060 -5.098917154201e-02 4.421724296418e+01
5509 5.5070 -5.093908108746e-02 4.424599406995e+01
5510 5.5080 -5.090468810921e-02 4.427474517573e+01
5511 5.5090 -5.088600045798e-02 4.430349628150e+01
5512 5.5100 -5.088302598837e-02 4.433224738727e+01
5513 5.5110 -5.089577255893e-02 4.436099849304e+01
5514 5.5120 -5.092424803218e-02 4.438974959881e+01
5515 5.5130 -5.096846027452e-02 4.441850070459e+01
5516 5.5140 -5.102841715635e-02 4.444725181036e+01
5517 5.5150 -5.110412655190e-02 4.447600291613e+01
5518 5.5160 -5.119559633942e-02 4.450475402190e+01
5519 5.5170 -5.130283440108e-02 4.453350512768e+01
5520 5.5180 -5.142584862300e-02 4.456225623345e+01
5521 5.5190 -5.156464689525e-02 4.459100733922e+01
5522 5.5200 -5.171923711179e-02 4.461975844499e+01
5523 5.5210 -5.188962717059e-02 4.464850955076e+01
5524 5.5220 -5.207582497355e-02 4.467726065654e+01
5525 5.5230 -5.227783842653e-02 4.470601176231e+01
5526 5.5240 -5.249567543935e-02 4.473476286808e+01
5527 5.5250 -5.272934392572e-02 4.476351397385e+01
5528 5.5260 -5.278805694191e-02 4.479245587449e+01
5529 5.5270 -5.270464863560e-02 4.482155574376e+01
5530 5.5280 -5.263709556791e-02 4.485065561302e+01
5531 5.5290 -5.258540566841e-02 4.487975548229e+01
5532 5.5300 -5.254958687073e-02 4.490885535156e+01
5533 5.5310 -5.252964711235e-02 4.493795522083e+01
5534 5.5320 -5.252559433484e-02 4.496705509010e+01
5535 5.5330 -5.253743648365e-02 4.499615495937e+01
5536 5.5340 -5.256518150821e-02 4.502525482864e+01
5537 5.5350 -5.260883736199e-02 4.505435469791e+01
5538 5.5360 -5.266841200235e-02 4.508345456718e+01
5539 5.5370 -5.274391339073e-02 4.511255443645e+01
5540 5.5380 -5.283534949248e-02 4.514165430572e+01
5541 5.5390 -5.294272827692e-02 4.517075417498e+01
5542 5.5400 -5.306605771742e-02 4.519985404425e+01
5543 5.5410 -5.320534579127e-02 4.522895391352e+01
5544 5.5420 -5.336060047985e-02 4.525805378279e+01
5545 5.5430 -5.353182976842e-02 4.528715365206e+01
5546 5.5440 -5.371904164627e-02 4.531625352133e+01
5547 5.5450 -5.392224410673e-02 4.534535339060e+01
5548 5.5460 -5.410581064457e-02 4.537448889437e+01
5549 5.5470 -5.429769656730e-02 4.540363208534e+01
5550 5.5480 -5.450559707651e-02 4.543277527631e+01
5551 5.5490 -5.472952018148e-02 4.546191846727e+01
5552 5.5500 -5.464966820646e-02 4.549138146393e+01
5553 5.5510 -5.455951869098e-02 4.552087079676e+01
5554 5.5520 -5.448541582322e-02 4.555036012958e+01
5555 5.5530 -5.442736762850e-02 4.557984946240e+01
5556 5.5540 -5.438538213614e-02 4.560933879523e+01
5557 5.5550 -5.435946737956e-02 4.563882812805e+01
5558 5.5560 -5.434963139611e-02 4.566831746087e+01
5559 5.5570 -5.435588222718e-02 4.569780679370e+01
5560 5.5580 -5.437822791821e-02 4.572729612652e+01
5561 5.5590 -5.441667651862e-02 4.575678545935e+01
5562 5.5600 -5.447123608190e-02 4.578627479217e+01
5563 5.5610 -5.454191466553e-02 4.581576412499e+01
5564 5.5620 -5.462872033109e-02 4.584525345782e+01
5565 5.5630 -5.473166114408e-02 4.587474279064e+01
5566 5.5640 -5.485074517414e-02 4.590423212347e+01
5567 5.5650 -5.498598049483e-02 4.593372145629e+01
5568 5.5660 -5.513737518389e-02 4.596321078911e+01
5569 5.5670 -5.530493732302e-02 4.599270012194e+01
5570 5.5680 -5.548867499793e-02 4.602218945476e+01
5571 5.5690 -5.568859629844e-02 4.605167878758e+01
5572 5.5700 -5.590470931835e-02 4.608116812041e+01
5573 5.5710 -5.613702215562e-02 4.611065745323e+01
5574 5.5720 -5.638554291213e-02 4.614014678606e+01
5575 5.5730 -5.635961044843e-02 4.616992678813e+01
5576 5.5740 -5.629697762848e-02 4.619975971469e+01
5577 5.5750 -5.625057705788e-02 4.622959264125e+01
5578 5.5760 -5.622041685481e-02 4.625942556781e+01
5579 5.5770 -5.620650514154e-02 4.628925849437e+01
5580 5.5780 -5.620885004428e-02 4.631909142093e+01
5581 5.5790 -5.622745969339e-02 4.634892434749e+01
5582 5.5800 -5.626234222332e-02 4.637875727405e+01
5583 5.5810 -5.631350577248e-02 4.640859020061e+01
5584 5.5820 -5.638095848348e-02 4.643842312717e+01
5585 5.5830 -5.646470850289e-02 4.646825605373e+01
5586 5.5840 -5.656476398147e-02 4.649808898029e+01
5587 5.5850 -5.668113307392e-02 4.652792190686e+01
5588 5.5860 -5.681382393911e-02 4.655775483342e+01
5589 5.5870 -5.696284474001e-02 4.658758775998e+01
5590 5.5880 -5.712820364358e-02 4.661742068654e+01
5591 5.5890 -5.730990882094e-02 4.664725361310e+01
5592 5.5900 -5.750796844729e-02 4.667708653966e+01
5593 5.5910 -5.772239070184e-02 4.670691946622e+01
5594 5.5920 -5.795318376802e-02 4.673675239278e+01
5595 5.5930 -5.820035583326e-02 4.676658531934e+01
5596 5.5940 -5.846391508911e-02 4.679641824590e+01
5597 5.5950 -5.864541681863e-02 4.682634962538e+01
5598 5.5960 -5.860065947355e-02 4.685652366751e+01
5599 5.5970 -5.857231391830e-02 4.688669770964e+01
5600 5.5980 -5.856038836083e-02 4.691687175178e+01
5601 5.5990 -5.856489101323e-02 4.694704579391e+01
5602 5.6000 -5.858583009162e-02 4.697721983605e+01
5603 5.6010 -5.862321381631e-02 4.700739387818e+01
5604 5.6020 -5.867705041165e-02 4.703756792031e+01
5605 5.6030 -5.844747890105e-02 4.706804183165e+01
5606 5.6040 -5.819394144417e-02 4.709855617827e+01
5607 5.6050 -5.795688155576e-02 4.712907052489e+01
5608 5.6060 -5.773630747670e-02 4.715958487151e+01
5609 5.6070 -5.753222745198e-02 4.719009921812e+01
5610 5.6080 -5.734464973063e-02 4.722061356474e+01
5611 5.6090 -5.717358256590e-02 4.725112791136e+01
5612 5.6100 -5.701903421515e-02 4.728164225797e+01
5613 5.6110 -5.688101293983e-02 4.731215660459e+01
5614 5.6120 -5.675952700555e-02 4.734267095121e+01
5615 5.6130 -5.665458468207e-02 4.737318529783e+01
5616 5.6140 -5.656619424325e-02 4.740369964444e+01
5617 5.6150 -5.649436396710e-02 4.743421399106e+01
5618 5.6160 -5.643910213577e-02 4.746472833768e+01
5619 5.6170 -5.640041703558e-02 4.749524268429e+01
5620 5.6180 -5.637831695696e-02 4.752575703091e+01
5621 5.6190 -5.637281019451e-02 4.755627137753e+01
5622 5.6200 -5.638390504692e-02 4.758678572415e+01
5623 5.6210 -5.641160981710e-02 4.761730007076e+01
5624 5.6220 -5.645593281210e-02 4.764781441738e+01
5625 5.6230 -5.651688234310e-02 4.767832876400e+01
5626 5.6240 -5.659446672547e-02 4.770884311061e+01
5627 5.6250 -5.635669541035e-02 4.773968945610e+01
5628 5.6260 -5.612965999584e-02 4.777054171718e+01
5629 5.6270 -5.591928440372e-02 4.780139397826e+01
5630 5.6280 -5.572557696593e-02 4.783224623934e+01
5631 5.6290 -5.554854601870e-02 4.786309850042e+01
5632 5.6300 -5.538819990228e-02 4.789395076150e+01
5633 5.6310 -5.524454696126e-02 4.792480302258e+01
5634 5.6320 -5.511759554424e-02 4.795565528366e+01
5635 5.6330 -5.500735400412e-02 4.798650754474e+01
5636 5.6340 -5.491383069795e-02 4.801735980582e+01
5637 5.6350 -5.483703398685e-02 4.804821206689e+01
5638 5.6360 -5.477697223629e-02 4.807906432797e+01
5639 5.6370 -5.473365381580e-02 4.810991658905e+01
5640 5.6380 -5.470708709919e-02 4.814076885013e+01
5641 5.6390 -5.448021959694e-02 4.817183817208e+01
5642 5.6400 -5.415082538599e-02 4.820302678920e+01
5643 5.6410 -5.383820802533e-02 4.823421540632e+01
5644 5.6420 -5.354237590546e-02 4.826540402344e+01
5645 5.6430 -5.326333742106e-02 4.829659264056e+01
5646 5.6440 -5.300110097114e-02 4.832778125768e+01
5647 5.6450 -5.275567495878e-02 4.835896987480e+01
5648 5.6460 -5.234145383914e-02 4.839034410587e+01
5649 5.6470 -5.179408694335e-02 4.842186830997e+01
5650 5.6480 -5.126355571974e-02 4.845339251408e+01
5651 5.6490 -5.074986858817e-02 4.848491671818e+01
5652 5.6500 -5.025303397287e-02 4.851644092229e+01
5653 5.6510 -4.977306030213e-02 4.854796512639e+01
5654 5.6520 -4.930995600863e-02 4.857948933049e+01
5655 5.6530 -4.886372952908e-02 4.861101353460e+01
5656 5.6540 -4.843438930451e-02 4.864253773870e+01
5657 5.6550 -4.802194378024e-02 4.867406194281e+01
5658 5.6560 -4.762640140564e-02 4.870558614691e+01
5659 5.6570 -4.724777063447e-02 4.873711035101e+01
5660 5.6580 -4.688605992459e-02 4.876863455512e+01
5661 5.6590 -4.654127773822e-02 4.880015875922e+01
5662 5.6600 -4.621343254166e-02 4.883168296333e+01
5663 5.6610 -4.590253280558e-02 4.886320716743e+01
5664 5.6620 -4.560858700480e-02 4.889473137154e+01
5665 5.6630 -4.533160361845e-02 4.892625557564e+01
5666 5.6640 -4.507159112978e-02 4.895777977974e+01
5667 5.6650 -4.482855802648e-02 4.898930398385e+01
5668 5.6660 -4.460251280025e-02 4.902082818795e+01
5669 5.6670 -4.429791601251e-02 4.905244793999e+01
5670 5.6680 -4.393921242451e-02 4.908413880370e+01
5671 5.6690 -4.359752221460e-02 4.911582966742e+01
5672 5.6700 -4.327285389152e-02 4.914752053113e+01
5673 5.6710 -4.296521596844e-02 4.917921139484e+01
5674 5.6720 -4.267461696265e-02 4.921090225855e+01
5675 5.6730 -4.240106539573e-02 4.924259312227e+01
5676 5.6740 -4.214456979351e-02 4.927428398598e+01
5677 5.6750 -4.190513868618e-02 4.930597484969e+01
5678 5.6760 -4.168278060808e-02 4.933766571341e+01
5679 5.6770 -4.147750409785e-02 4.936935657712e+01
5680 5.6780 -4.128931769841e-02 4.940104744083e+01
5681 5.6790 -4.111822995698e-02 4.943273830454e+01
5682 5.6800 -4.096424942503e-02 4.946442916826e+01
5683 5.6810 -4.055282387405e-02 4.949639459275e+01
5684 5.6820 -4.010124420554e-02 4.952841729569e+01
5685 5.6830 -3.966679742656e-02 4.956043999863e+01
5686 5.6840 -3.924949210570e-02 4.959246270157e+01
5687 5.6850 -3.884933681585e-02 4.962448540451e+01
5688 5.6860 -3.846634013419e-02 4.965650810745e+01
5689 5.6870 -3.810051064211e-02 4.968853081039e+01
5690 5.6880 -3.775185692543e-02 4.972055351333e+01
5691 5.6890 -3.742038757413e-02 4.975257621627e+01
5692 5.6900 -3.710611118258e-02 4.978459891921e+01
5693 5.6910 -3.680903634935e-02 4.981662162215e+01
5694 5.6920 -3.652917167746e-02 4.984864432509e+01
5695 5.6930 -3.626652577408e-02 4.988066702803e+01
5696 5.6940 -3.602110725076e-02 4.991268973097e+01
5697 5.6950 -3.579292472337e-02 4.994471243391e+01
5698 5.6960 -3.558198681206e-02 4.997673513685e+01
5699 5.6970 -3.538830214123e-02 5.000875783979e+01
5700 5.6980 -3.521187933977e-02 5.004078054273e+01
5701 5.6990 -3.505272704071e-02 5.007280324567e+01
5702 5.7000 -3.491085388144e-02 5.010482594861e+01
5703 5.7010 -3.478626850376e-02 5.013684865155e+01
5704 5.7020 -3.467897955368e-02 5.016887135449e+01
5705 5.7030 -3.458899568155e-02 5.020089405743e+01
5706 5.7040 -3.451632554215e-02 5.023291676037e+01
5707 5.7050 -3.446097779447e-02 5.026493946331e+01
5708 5.7060 -3.442296110185e-02 5.029696216625e+01
5709 5.7070 -3.440228413204e-02 5.032898486918e+01
5710 5.7080 -3.439895555703e-02 5.036100757212e+01
5711 5.7090 -3.441298405319e-02 5.039303027506e+01
5712 5.7100 -3.444437830126e-02 5.042505297800e+01
5713 5.7110 -3.449314698625e-02 5.045707568094e+01
5714 5.7120 -3.455929879757e-02 5.048909838388e+01
5715 5.7130 -3.464284242897e-02 5.052112108682e+01
5716 5.7140 -3.474378657854e-02 5.055314378976e+01
5717 5.7150 -3.486213994866e-02 5.058516649270e+01
5718 5.7160 -3.499791124620e-02 5.061718919564e+01
5719 5.7170 -3.515110918227e-02 5.064921189858e+01
5720 5.7180 -3.532174247235e-02 5.068123460152e+01
5721 5.7190 -3.550981983628e-02 5.071325730446e+01
5722 5.7200 -3.571534999836e-02 5.074528000740e+01
5723 5.7210 -3.593834168710e-02 5.077730271034e+01
5724 5.7220 -3.617880363544e-02 5.080932541328e+01
5725 5.7230 -3.643674458078e-02 5.084134811622e+01
5726 5.7240 -3.671217326473e-02 5.087337081916e+01
5727 5.7250 -3.700509843337e-02 5.090539352210e+01
5728 5.7260 -3.731552883715e-02 5.093741622504e+01
5729 5.7270 -3.759370976348e-02 5.096948869145e+01
5730 5.7280 -3.761232844144e-02 5.100183824285e+01
5731 5.7290 -3.764847863210e-02 5.103418779426e+01
5732 5.7300 -3.770216910341e-02 5.106653734566e+01
5733 5.7310 -3.777340862766e-02 5.109888689706e+01
5734 5.7320 -3.786220598161e-02 5.113123644847e+01
5735 5.7330 -3.796856994638e-02 5.116358599987e+01
5736 5.7340 -3.809250930745e-02 5.119593555128e+01
5737 5.7350 -3.823403285471e-02 5.122828510268e+01
5738 5.7360 -3.839314938248e-02 5.126063465409e+01
5739 5.7370 -3.856986768943e-02 5.129298420549e+01
5740 5.7380 -3.876419657866e-02 5.132533375690e+01
5741 5.7390 -3.897614485768e-02 5.135768330830e+01
5742 5.7400 -3.913831967921e-02 5.139010026136e+01
5743 5.7410 -3.906005938187e-02 5.142277528656e+01
5744 5.7420 -3.899944492324e-02 5.145545031176e+01
5745 5.7430 -3.895648512842e-02 5.148812533697e+01
5746 5.7440 -3.893118882700e-02 5.152080036217e+01
5747 5.7450 -3.892356485287e-02 5.155347538737e+01
5748 5.7460 -3.893362204445e-02 5.158615041257e+01
5749 5.7470 -3.870256982874e-02 5.161908423718e+01
5750 5.7480 -3.842322127699e-02 5.165208405699e+01
5751 5.7490 -3.816158043257e-02 5.168508387680e+01
5752 5.7500 -3.791765615160e-02 5.171808369661e+01
5753 5.7510 -3.769145729452e-02 5.175108351642e+01
5754 5.7520 -3.748299272632e-02 5.178408333622e+01
5755 5.7530 -3.729227131628e-02 5.181708315603e+01
5756 5.7540 -3.711930193832e-02 5.185008297584e+01
5757 5.7550 -3.696409347055e-02 5.188308279565e+01
5758 5.7560 -3.682665479575e-02 5.191608261546e+01
5759 5.7570 -3.670699480099e-02 5.194908243526e+01
5760 5.7580 -3.660512237780e-02 5.198208225507e+01
5761 5.7590 -3.648927497183e-02 5.201511384633e+01
5762 5.7600 -3.609955223608e-02 5.204843711829e+01
5763 5.7610 -3.572764377332e-02 5.208176039024e+01
5764 5.7620 -3.537355849287e-02 5.211508366220e+01
5765 5.7630 -3.503730530866e-02 5.214840693416e+01
5766 5.7640 -3.471889313888e-02 5.218173020611e+01
5767 5.7650 -3.441833090630e-02 5.221505347807e+01
5768 5.7660 -3.413562753812e-02 5.224837675003e+01
5769 5.7670 -3.387079196601e-02 5.228170002198e+01
5770 5.7680 -3.362383312609e-02 5.231502329394e+01
5771 5.7690 -3.339475995901e-02 5.234834656589e+01
5772 5.7700 -3.318358140975e-02 5.238166983785e+01
5773 5.7710 -3.299030642796e-02 5.241499310981e+01
5774 5.7720 -3.281494396760e-02 5.244831638176e+01
5775 5.7730 -3.265750298719e-02 5.248163965372e+01
5776 5.7740 -3.251799244972e-02 5.251496292568e+01
5777 5.7750 -3.239642132266e-02 5.254828619763e+01
5778 5.7760 -3.229279857790e-02 5.258160946959e+01
5779 5.7770 -3.220713319197e-02 5.261493274155e+01
5780 5.7780 -3.213943414572e-02 5.264825601350e+01
5781 5.7790 -3.208971042461e-02 5.268157928546e+01
5782 5.7800 -3.205797101855e-02 5.271490255741e+01
5783 5.7810 -3.204422492191e-02 5.274822582937e+01
5784 5.7820 -3.204848113365e-02 5.278154910133e+01
5785 5.7830 -3.207074865713e-02 5.281487237328e+01
5786 5.7840 -3.211103650028e-02 5.284819564524e+01
5787 5.7850 -3.216935367552e-02 5.288151891720e+01
5788 5.7860 -3.224570919977e-02 5.291484218915e+01
5789 5.7870 -3.234011209443e-02 5.294816546111e+01
5790 5.7880 -3.245257138550e-02 5.298148873306e+01
5791 5.7890 -3.258309610335e-02 5.301481200502e+01
5792 5.7900 -3.273169528306e-02 5.304813527698e+01
5793 5.7910 -3.289837796408e-02 5.308145854893e+01
5794 5.7920 -3.308315319036e-02 5.311478182089e+01
5795 5.7930 -3.328603001053e-02 5.314810509285e+01
5796 5.7940 -3.350701747761e-02 5.318142836480e+01
5797 5.7950 -3.374612464917e-02 5.321475163676e+01
5798 5.7960 -3.400336058738e-02 5.324807490872e+01
5799 5.7970 -3.427873435885e-02 5.328139818067e+01
5800 5.7980 -3.457225503475e-02 5.331472145263e+01
5801 5.7990 -3.488393169087e-02 5.334804472458e+01
5802 5.8000 -3.521377340740e-02 5.338136799654e+01
5803 5.8010 -3.556178926917e-02 5.341469126850e+01
5804 5.8020 -3.592798836557e-02 5.344801454045e+01
5805 5.8030 -3.603121800057e-02 5.348161897420e+01
5806 5.8040 -3.611489758417e-02 5.351526115942e+01
5807 5.8050 -3.621678769766e-02 5.354890334465e+01
5808 5.8060 -3.633689744861e-02 5.358254552987e+01
5809 5.8070 -3.647523594908e-02 5.361618771510e+01
5810 5.8080 -3.663181231583e-02 5.364982990032e+01
5811 5.8090 -3.680663566996e-02 5.368347208555e+01
5812 5.8100 -3.699971513728e-02 5.371711427077e+01
5813 5.8110 -3.721105984815e-02 5.375075645600e+01
5814 5.8120 -3.744067893748e-02 5.378439864122e+01
5815 5.8130 -3.768858154475e-02 5.381804082645e+01
5816 5.8140 -3.795477681394e-02 5.385168301167e+01
5817 5.8150 -3.823927389376e-02 5.388532519690e+01
5818 5.8160 -3.854208193733e-02 5.391896738212e+01
5819 5.8170 -3.886321010247e-02 5.395260956734e+01
5820 5.8180 -3.920266755155e-02 5.398625175257e+01
5821 5.8190 -3.956046345144e-02 5.401989393779e+01
5822 5.8200 -3.993660697369e-02 5.405353612302e+01
5823 5.8210 -4.004035942410e-02 5.408746905611e+01
5824 5.8220 -4.013618560485e-02 5.412142828146e+01
5825 5.8230 -4.025038695008e-02 5.415538750680e+01
5826 5.8240 -4.038297264961e-02 5.418934673214e+01
5827 5.8250 -4.053395189799e-02 5.422330595749e+01
5828 5.8260 -4.070333389422e-02 5.425726518283e+01
5829 5.8270 -4.089112784203e-02 5.429122440817e+01
5830 5.8280 -4.109734294969e-02 5.432518363352e+01
5831 5.8290 -4.132198843006e-02 5.435914285886e+01
5832 5.8300 -4.156507350066e-02 5.439310208421e+01
5833 5.8310 -4.182660738356e-02 5.442706130955e+01
5834 5.8320 -4.210659930550e-02 5.446102053489e+01
5835 5.8330 -4.240505849779e-02 5.449497976024e+01
5836 5.8340 -4.272199419642e-02 5.452893898558e+01
5837 5.8350 -4.305741564188e-02 5.456289821092e+01
5838 5.8360 -4.341133207944e-02 5.459685743627e+01
5839 5.8370 -4.378375275886e-02 5.463081666161e+01
5840 5.8380 -4.414636521449e-02 5.466480420868e+01
5841 5.8390 -4.445075287359e-02 5.469886850329e+01
5842 5.8400 -4.477367255172e-02 5.473293279791e+01
5843 5.8410 -4.511513351724e-02 5.476699709252e+01
5844 5.8420 -4.547514504313e-02 5.480106138714e+01
5845 5.8430 -4.585371640696e-02 5.483512568175e+01
5846 5.8440 -4.625085689097e-02 5.486918997637e+01
5847 5.8450 -4.666657578209e-02 5.490325427099e+01
5848 5.8460 -4.710088237180e-02 5.493731856560e+01
5849 5.8470 -4.755378595628e-02 5.497138286022e+01
5850 5.8480 -4.802529583639e-02 5.500544715483e+01
5851 5.8490 -4.851542131756e-02 5.503951144945e+01
5852 5.8500 -4.881214707195e-02 5.507378776870e+01
5853 5.8510 -4.902552348370e-02 5.510816607152e+01
5854 5.8520 -4.925754344087e-02 5.514254437435e+01
5855 5.8530 -4.950821626758e-02 5.517692267717e+01
5856 5.8540 -4.977755129260e-02 5.521130097999e+01
5857 5.8550 -5.006555784937e-02 5.524567928281e+01
5858 5.8560 -5.008137194531e-02 5.528034845897e+01
5859 5.8570 -5.009333477014e-02 5.531504017660e+01
5860 5.8580 -5.012399715501e-02 5.534973189424e+01
5861 5.8590 -5.017336845209e-02 5.538442361188e+01
5862 5.8600 -5.024145801813e-02 5.541911532951e+01
5863 5.8610 -5.032827521462e-02 5.545380704715e+01
5864 5.8620 -5.043382940775e-02 5.548849876479e+01
5865 5.8630 -5.055812996831e-02 5.552319048242e+01
5866 5.8640 -5.070118627185e-02 5.555788220006e+01
5867 5.8650 -5.086300769856e-02 5.559257391770e+01
5868 5.8660 -5.104360363342e-02 5.562726563533e+01
5869 5.8670 -5.107688924950e-02 5.566212344719e+01
5870 5.8680 -5.098282178500e-02 5.569712740541e+01
5871 5.8690 -5.090755701153e-02 5.573213136364e+01
5872 5.8700 -5.085110433278e-02 5.576713532186e+01
5873 5.8710 -5.081347315710e-02 5.580213928009e+01
5874 5.8720 -5.079467289766e-02 5.583714323832e+01
5875 5.8730 -5.079471297223e-02 5.587214719654e+01
5876 5.8740 -5.081360280334e-02 5.590715115477e+01
5877 5.8750 -5.085135181827e-02 5.594215511299e+01
5878 5.8760 -5.090796944888e-02 5.597715907122e+01
5879 5.8770 -5.098346513192e-02 5.601216302945e+01
5880 5.8780 -5.107784830875e-02 5.604716698767e+01
5881 5.8790 -5.119112842548e-02 5.608217094590e+01
5882 5.8800 -5.132331493292e-02 5.611717490412e+01
5883 5.8810 -5.147441728668e-02 5.615217886235e+01
5884 5.8820 -5.164444494702e-02 5.618718282057e+01
5885 5.8830 -5.183340737896e-02 5.622218677880e+01
5886 5.8840 -5.183090898333e-02 5.625740114209e+01
5887 5.8850 -5.174725949291e-02 5.629271561020e+01
5888 5.8860 -5.168257319756e-02 5.632803007831e+01
5889 5.8870 -5.163685958124e-02 5.636334454641e+01
5890 5.8880 -5.161012813271e-02 5.639865901452e+01
5891 5.8890 -5.158347549055e-02 5.643399239548e+01
5892 5.8900 -5.143976639004e-02 5.646946183405e+01
5893 5.8910 -5.131506795191e-02 5.650493127263e+01
5894 5.8920 -5.120938968391e-02 5.654040071121e+01
5895 5.8930 -5.112274109843e-02 5.657587014979e+01
5896 5.8940 -5.105513171273e-02 5.661133958837e+01
5897 5.8950 -5.100657104881e-02 5.664680902694e+01
5898 5.8960 -5.097706863335e-02 5.668227846552e+01
5899 5.8970 -5.096663399792e-02 5.671774790410e+01
5900 5.8980 -5.097527667878e-02 5.675321734268e+01
5901 5.8990 -5.100300621695e-02 5.678868678126e+01
5902 5.9000 -5.104983215827e-02 5.682415621983e+01
5903 5.9010 -5.111576405334e-02 5.685962565841e+01
5904 5.9020 -5.120081145749e-02 5.689509509699e+01
5905 5.9030 -5.130498393088e-02 5.693056453557e+01
5906 5.9040 -5.142829103846e-02 5.696603397415e+01
5907 5.9050 -5.157074234991e-02 5.700150341272e+01
5908 5.9060 -5.153563239345e-02 5.703716956635e+01
5909 5.9070 -5.140814346170e-02 5.707294726230e+01
5910 5.9080 -5.129982747166e-02 5.710872495826e+01
5911 5.9090 -5.121069401224e-02 5.714450265422e+01
5912 5.9100 -5.114075267710e-02 5.718028035018e+01
5913 5.9110 -5.109001306469e-02 5.721605804613e+01
5914 5.9120 -5.105848477832e-02 5.725183574209e+01
5915 5.9130 -5.104617742596e-02 5.728761343805e+01
5916 5.9140 -5.105310062056e-02 5.732339113400e+01
5917 5.9150 -5.107926397977e-02 5.735916882996e+01
5918 5.9160 -5.112467712609e-02 5.739494652592e+01
5919 5.9170 -5.118934968682e-02 5.743072422188e+01
5920 5.9180 -5.127329129408e-02 5.746650191783e+01
5921 5.9190 -5.137651158479e-02 5.750227961379e+01
5922 5.9200 -5.149902020067e-02 5.753805730975e+01
5923 5.9210 -5.164082678836e-02 5.757383500571e+01
5924 5.9220 -5.167268121238e-02 5.760974196145e+01
5925 5.9230 -5.154650499434e-02 5.764582626512e+01
5926 5.9240 -5.143965571677e-02 5.768191056878e+01
5927 5.9250 -5.135214304555e-02 5.771799487245e+01
5928 5.9260 -5.128397665140e-02 5.775407917611e+01
5929 5.9270 -5.123516620989e-02 5.779016347978e+01
5930 5.9280 -5.120572140140e-02 5.782624778344e+01
5931 5.9290 -5.119565191116e-02 5.786233208711e+01
5932 5.9300 -5.120496742931e-02 5.789841639077e+01
5933 5.9310 -5.123367765072e-02 5.793450069444e+01
5934 5.9320 -5.128179227522e-02 5.797058499810e+01
5935 5.9330 -5.134932100737e-02 5.800666930177e+01
5936 5.9340 -5.143627355672e-02 5.804275360544e+01
5937 5.9350 -5.154265963756e-02 5.807883790910e+01
5938 5.9360 -5.166848896911e-02 5.811492221277e+01
5939 5.9370 -5.181377127538e-02 5.815100651643e+01
5940 5.9380 -5.183706312629e-02 5.818723227326e+01
5941 5.9390 -5.171628982521e-02 5.822362156767e+01
5942 5.9400 -5.161499870025e-02 5.826001086209e+01
5943 5.9410 -5.153319949495e-02 5.829640015650e+01
5944 5.9420 -5.147090195767e-02 5.833278945091e+01
5945 5.9430 -5.142811584172e-02 5.836917874533e+01
5946 5.9440 -5.140485090524e-02 5.840556803974e+01
5947 5.9450 -5.140111691124e-02 5.844195733416e+01
5948 5.9460 -5.141692362768e-02 5.847834662857e+01
5949 5.9470 -5.145228082734e-02 5.851473592298e+01
5950 5.9480 -5.150719828787e-02 5.855112521740e+01
5951 5.9490 -5.128838967707e-02 5.858780780793e+01
5952 5.9500 -5.107852662189e-02 5.862450103273e+01
5953 5.9510 -5.088825318996e-02 5.866119425754e+01
5954 5.9520 -5.071757917865e-02 5.869788748234e+01
5955 5.9530 -5.056651439008e-02 5.873458070714e+01
5956 5.9540 -5.043506863129e-02 5.877127393195e+01
5957 5.9550 -5.032325171428e-02 5.880796715675e+01
5958 5.9560 -5.023107345591e-02 5.884466038156e+01
5959 5.9570 -5.015854367797e-02 5.888135360636e+01
5960 5.9580 -5.010567220713e-02 5.891804683117e+01
5961 5.9590 -5.007246887506e-02 5.895474005597e+01
5962 5.9600 -5.005894351826e-02 5.899143328077e+01
5963 5.9610 -5.006510597816e-02 5.902812650558e+01
5964 5.9620 -5.009096610116e-02 5.906481973038e+01
5965 5.9630 -5.013653373853e-02 5.910151295519e+01
5966 5.9640 -5.007462677973e-02 5.913833337196e+01
5967 5.9650 -4.985727354409e-02 5.917532896224e+01
5968 5.9660 -4.965965740631e-02 5.921232455252e+01
5969 5.9670 -4.948178823739e-02 5.924932014280e+01
5970 5.9680 -4.932367591330e-02 5.928631573308e+01
5971 5.9690 -4.918533031488e-02 5.932331132336e+01
5972 5.9700 -4.906676132801e-02 5.936030691364e+01
5973 5.9710 -4.896797884347e-02 5.939730250391e+01
5974 5.9720 -4.888899275696e-02 5.943429809419e+01
5975 5.9730 -4.882981296916e-02 5.947129368447e+01
5976 5.9740 -4.879044938572e-02 5.950828927475e+01
5977 5.9750 -4.877091191721e-02 5.954528486503e+01
5978 5.9760 -4.877121047916e-02 5.958228045531e+01
5979 5.9770 -4.879135499207e-02 5.961927604559e+01
5980 5.9780 -4.883135538139e-02 5.965627163587e+01
5981 5.9790 -4.889122157757e-02 5.969326722615e+01
5982 5.9800 -4.897096351596e-02 5.973026281643e+01
5983 5.9810 -4.907059113694e-02 5.976725840671e+01
5984 5.9820 -4.919011438583e-02 5.980425399699e+01
5985 5.9830 -4.932954321295e-02 5.984124958727e+01
5986 5.9840 -4.946975106119e-02 5.987826431406e+01
5987 5.9850 -4.934869576257e-02 5.991556022949e+01
5988 5.9860 -4.924757592294e-02 5.995285614493e+01
5989 5.9870 -4.916640151253e-02 5.999015206036e+01
5990 5.9880 -4.910518250653e-02 6.002744797579e+01
5991 5.9890 -4.906392888514e-02 6.006474389122e+01
5992 5.9900 -4.904265063357e-02 6.010203980666e+01
5993 5.9910 -4.904135774200e-02 6.013933572209e+01
5994 5.9920 -4.906006020558e-02 6.017663163752e+01
5995 5.9930 -4.909876802452e-02 6.021392755296e+01
5996 5.9940 -4.914594546536e-02 6.025123501413e+01
5997 5.9950 -4.892536986580e-02 6.028883025371e+01
5998 5.9960 -4.872482965217e-02 6.032642549329e+01
5999 5.9970 -4.854433484465e-02 6.036402073287e+01
6000 5.9980 -4.838389546840e-02 6.040161597246e+01
6001 5.9990 -4.824352155372e-02 6.043921121204e+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())