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 5 of 21 · 500/page · 10001 rows next →
# tg_tprime_sum_t
2002 2.0000 -5.334112417186e-02 1.745850839155e+00
2003 2.0010 -5.316944083141e-02 1.748777073338e+00
2004 2.0020 -5.300047028606e-02 1.751703307520e+00
2005 2.0030 -5.283421391331e-02 1.754629541702e+00
2006 2.0040 -5.267067309132e-02 1.757555775884e+00
2007 2.0050 -5.250984919885e-02 1.760482010066e+00
2008 2.0060 -5.235174361533e-02 1.763408244248e+00
2009 2.0070 -5.219635772082e-02 1.766334478431e+00
2010 2.0080 -5.204369289600e-02 1.769260712613e+00
2011 2.0090 -5.189375052221e-02 1.772186946795e+00
2012 2.0100 -5.174653198141e-02 1.775113180977e+00
2013 2.0110 -5.160203865622e-02 1.778039415159e+00
2014 2.0120 -5.146027192988e-02 1.780965649341e+00
2015 2.0130 -5.132123318627e-02 1.783891883524e+00
2016 2.0140 -5.118492380993e-02 1.786818117706e+00
2017 2.0150 -5.105134518603e-02 1.789744351888e+00
2018 2.0160 -5.092049870037e-02 1.792670586070e+00
2019 2.0170 -5.079238573940e-02 1.795596820252e+00
2020 2.0180 -5.066700769023e-02 1.798523054435e+00
2021 2.0190 -5.054436594057e-02 1.801449288617e+00
2022 2.0200 -5.042446187882e-02 1.804375522799e+00
2023 2.0210 -5.030729689400e-02 1.807301756981e+00
2024 2.0220 -5.019287237578e-02 1.810227991163e+00
2025 2.0230 -5.008118971445e-02 1.813154225345e+00
2026 2.0240 -4.997225030099e-02 1.816080459528e+00
2027 2.0250 -4.986605552699e-02 1.819006693710e+00
2028 2.0260 -4.976260678470e-02 1.821932927892e+00
2029 2.0270 -4.966190546701e-02 1.824859162074e+00
2030 2.0280 -4.956395296747e-02 1.827785396256e+00
2031 2.0290 -4.946875068025e-02 1.830711630438e+00
2032 2.0300 -4.937630000020e-02 1.833637864621e+00
2033 2.0310 -4.928660232280e-02 1.836564098803e+00
2034 2.0320 -4.919965904417e-02 1.839490332985e+00
2035 2.0330 -4.911547156110e-02 1.842416567167e+00
2036 2.0340 -4.903404127102e-02 1.845342801349e+00
2037 2.0350 -4.895536957201e-02 1.848269035532e+00
2038 2.0360 -4.887945786280e-02 1.851195269714e+00
2039 2.0370 -4.880630754277e-02 1.854121503896e+00
2040 2.0380 -4.873592001195e-02 1.857047738078e+00
2041 2.0390 -4.866829667102e-02 1.859973972260e+00
2042 2.0400 -4.860343892133e-02 1.862900206442e+00
2043 2.0410 -4.854134816485e-02 1.865826440625e+00
2044 2.0420 -4.848202580423e-02 1.868752674807e+00
2045 2.0430 -4.842547324277e-02 1.871678908989e+00
2046 2.0440 -4.837169188441e-02 1.874605143171e+00
2047 2.0450 -4.832068313375e-02 1.877531377353e+00
2048 2.0460 -4.827244839606e-02 1.880457611535e+00
2049 2.0470 -4.822698907725e-02 1.883383845718e+00
2050 2.0480 -4.818430658388e-02 1.886310079900e+00
2051 2.0490 -4.814440232319e-02 1.889236314082e+00
2052 2.0500 -4.810727770305e-02 1.892162548264e+00
2053 2.0510 -4.807293413200e-02 1.895088782446e+00
2054 2.0520 -4.804137301925e-02 1.898015016629e+00
2055 2.0530 -4.801259577463e-02 1.900941250811e+00
2056 2.0540 -4.798660380867e-02 1.903867484993e+00
2057 2.0550 -4.796339853254e-02 1.906793719175e+00
2058 2.0560 -4.794298135807e-02 1.909719953357e+00
2059 2.0570 -4.792535369775e-02 1.912646187539e+00
2060 2.0580 -4.791051696473e-02 1.915572421722e+00
2061 2.0590 -4.789847257283e-02 1.918498655904e+00
2062 2.0600 -4.788922193651e-02 1.921424890086e+00
2063 2.0610 -4.788276647091e-02 1.924351124268e+00
2064 2.0620 -4.787910759183e-02 1.927277358450e+00
2065 2.0630 -4.787824671573e-02 1.930203592632e+00
2066 2.0640 -4.788018525972e-02 1.933129826815e+00
2067 2.0650 -4.788492464160e-02 1.936056060997e+00
2068 2.0660 -4.789246627981e-02 1.938982295179e+00
2069 2.0670 -4.790281159348e-02 1.941908529361e+00
2070 2.0680 -4.791596200236e-02 1.944834763543e+00
2071 2.0690 -4.793191892692e-02 1.947760997726e+00
2072 2.0700 -4.795068378825e-02 1.950687231908e+00
2073 2.0710 -4.797225800814e-02 1.953613466090e+00
2074 2.0720 -4.799664300902e-02 1.956539700272e+00
2075 2.0730 -4.802384021401e-02 1.959465934454e+00
2076 2.0740 -4.805385104688e-02 1.962392168636e+00
2077 2.0750 -4.808667693208e-02 1.965318402819e+00
2078 2.0760 -4.812231929471e-02 1.968244637001e+00
2079 2.0770 -4.816077956056e-02 1.971170871183e+00
2080 2.0780 -4.820205915608e-02 1.974097105365e+00
2081 2.0790 -4.824615950839e-02 1.977023339547e+00
2082 2.0800 -4.815622371625e-02 1.980086432059e+00
2083 2.0810 -4.796090533031e-02 1.983257730777e+00
2084 2.0820 -4.776841198655e-02 1.986429029495e+00
2085 2.0830 -4.757874511476e-02 1.989600328213e+00
2086 2.0840 -4.739190614542e-02 1.992771626931e+00
2087 2.0850 -4.720789650968e-02 1.995942925649e+00
2088 2.0860 -4.702671763936e-02 1.999114224367e+00
2089 2.0870 -4.684837096696e-02 2.002285523085e+00
2090 2.0880 -4.667285792563e-02 2.005456821803e+00
2091 2.0890 -4.650017994923e-02 2.008628120521e+00
2092 2.0900 -4.633033847226e-02 2.011799419239e+00
2093 2.0910 -4.616333492993e-02 2.014970717957e+00
2094 2.0920 -4.599917075809e-02 2.018142016675e+00
2095 2.0930 -4.583784739329e-02 2.021313315393e+00
2096 2.0940 -4.567936627275e-02 2.024484614111e+00
2097 2.0950 -4.552372883436e-02 2.027655912829e+00
2098 2.0960 -4.537093651670e-02 2.030827211547e+00
2099 2.0970 -4.522099075902e-02 2.033998510265e+00
2100 2.0980 -4.507389300125e-02 2.037169808983e+00
2101 2.0990 -4.492964468399e-02 2.040341107701e+00
2102 2.1000 -4.478824724854e-02 2.043512406419e+00
2103 2.1010 -4.464970213685e-02 2.046683705137e+00
2104 2.1020 -4.451401079158e-02 2.049855003855e+00
2105 2.1030 -4.438117465605e-02 2.053026302574e+00
2106 2.1040 -4.425119517427e-02 2.056197601292e+00
2107 2.1050 -4.412407379093e-02 2.059368900010e+00
2108 2.1060 -4.399981195139e-02 2.062540198728e+00
2109 2.1070 -4.387841110172e-02 2.065711497446e+00
2110 2.1080 -4.375987268865e-02 2.068882796164e+00
2111 2.1090 -4.364419815960e-02 2.072054094882e+00
2112 2.1100 -4.353138896266e-02 2.075225393600e+00
2113 2.1110 -4.342144654663e-02 2.078396692318e+00
2114 2.1120 -4.331437236098e-02 2.081567991036e+00
2115 2.1130 -4.321016785585e-02 2.084739289754e+00
2116 2.1140 -4.310883448210e-02 2.087910588472e+00
2117 2.1150 -4.301037369124e-02 2.091081887190e+00
2118 2.1160 -4.291478693550e-02 2.094253185908e+00
2119 2.1170 -4.282207566777e-02 2.097424484626e+00
2120 2.1180 -4.273224134164e-02 2.100595783344e+00
2121 2.1190 -4.264528541137e-02 2.103767082062e+00
2122 2.1200 -4.256120933195e-02 2.106938380780e+00
2123 2.1210 -4.248001455900e-02 2.110109679498e+00
2124 2.1220 -4.240170254888e-02 2.113280978216e+00
2125 2.1230 -4.232627475862e-02 2.116452276934e+00
2126 2.1240 -4.225373264592e-02 2.119623575652e+00
2127 2.1250 -4.218407766921e-02 2.122794874370e+00
2128 2.1260 -4.211731128757e-02 2.125966173089e+00
2129 2.1270 -4.205343496081e-02 2.129137471807e+00
2130 2.1280 -4.199245014940e-02 2.132308770525e+00
2131 2.1290 -4.193435831452e-02 2.135480069243e+00
2132 2.1300 -4.187916091803e-02 2.138651367961e+00
2133 2.1310 -4.182685942250e-02 2.141822666679e+00
2134 2.1320 -4.177745529117e-02 2.144993965397e+00
2135 2.1330 -4.173094998799e-02 2.148165264115e+00
2136 2.1340 -4.168734497761e-02 2.151336562833e+00
2137 2.1350 -4.164664172536e-02 2.154507861551e+00
2138 2.1360 -4.160884169727e-02 2.157679160269e+00
2139 2.1370 -4.157394636007e-02 2.160850458987e+00
2140 2.1380 -4.154195718118e-02 2.164021757705e+00
2141 2.1390 -4.151287562872e-02 2.167193056423e+00
2142 2.1400 -4.148670317149e-02 2.170364355141e+00
2143 2.1410 -4.146344127903e-02 2.173535653859e+00
2144 2.1420 -4.144309142154e-02 2.176706952577e+00
2145 2.1430 -4.142565506992e-02 2.179878251295e+00
2146 2.1440 -4.141113369579e-02 2.183049550013e+00
2147 2.1450 -4.139952877145e-02 2.186220848731e+00
2148 2.1460 -4.139084176991e-02 2.189392147449e+00
2149 2.1470 -4.138507416488e-02 2.192563446167e+00
2150 2.1480 -4.138222743076e-02 2.195734744885e+00
2151 2.1490 -4.138230304266e-02 2.198906043604e+00
2152 2.1500 -4.138530247639e-02 2.202077342322e+00
2153 2.1510 -4.139122720846e-02 2.205248641040e+00
2154 2.1520 -4.140007871608e-02 2.208419939758e+00
2155 2.1530 -4.141185847718e-02 2.211591238476e+00
2156 2.1540 -4.142656797036e-02 2.214762537194e+00
2157 2.1550 -4.144420867496e-02 2.217933835912e+00
2158 2.1560 -4.146478207100e-02 2.221105134630e+00
2159 2.1570 -4.148828963921e-02 2.224276433348e+00
2160 2.1580 -4.151473286102e-02 2.227447732066e+00
2161 2.1590 -4.154411321859e-02 2.230619030784e+00
2162 2.1600 -4.157643219474e-02 2.233790329502e+00
2163 2.1610 -4.161169127305e-02 2.236961628220e+00
2164 2.1620 -4.164989193777e-02 2.240132926938e+00
2165 2.1630 -4.169103567386e-02 2.243304225656e+00
2166 2.1640 -4.173512396701e-02 2.246475524374e+00
2167 2.1650 -4.178215830359e-02 2.249646823092e+00
2168 2.1660 -4.183214017070e-02 2.252818121810e+00
2169 2.1670 -4.188507105614e-02 2.255989420528e+00
2170 2.1680 -4.194095244841e-02 2.259160719246e+00
2171 2.1690 -4.199978583674e-02 2.262332017964e+00
2172 2.1700 -4.206157271105e-02 2.265503316682e+00
2173 2.1710 -4.212631456199e-02 2.268674615400e+00
2174 2.1720 -4.219401288091e-02 2.271845914119e+00
2175 2.1730 -4.226466915987e-02 2.275017212837e+00
2176 2.1740 -4.233828489165e-02 2.278188511555e+00
2177 2.1750 -4.241486156973e-02 2.281359810273e+00
2178 2.1760 -4.249440068832e-02 2.284531108991e+00
2179 2.1770 -4.257690374232e-02 2.287702407709e+00
2180 2.1780 -4.266237222737e-02 2.290873706427e+00
2181 2.1790 -4.275080763981e-02 2.294045005145e+00
2182 2.1800 -4.284221147670e-02 2.297216303863e+00
2183 2.1810 -4.293658523580e-02 2.300387602581e+00
2184 2.1820 -4.303393041561e-02 2.303558901299e+00
2185 2.1830 -4.313424851532e-02 2.306730200017e+00
2186 2.1840 -4.323754103486e-02 2.309901498735e+00
2187 2.1850 -4.334380947487e-02 2.313072797453e+00
2188 2.1860 -4.345305533670e-02 2.316244096171e+00
2189 2.1870 -4.356528012241e-02 2.319415394889e+00
2190 2.1880 -4.368048533481e-02 2.322586693607e+00
2191 2.1890 -4.379867247739e-02 2.325757992325e+00
2192 2.1900 -4.391984305440e-02 2.328929291043e+00
2193 2.1910 -4.404399857077e-02 2.332100589761e+00
2194 2.1920 -4.417114053217e-02 2.335271888479e+00
2195 2.1930 -4.430127044499e-02 2.338443187197e+00
2196 2.1940 -4.443438981634e-02 2.341614485915e+00
2197 2.1950 -4.457050015405e-02 2.344785784634e+00
2198 2.1960 -4.470960296667e-02 2.347957083352e+00
2199 2.1970 -4.485169976349e-02 2.351128382070e+00
2200 2.1980 -4.471282909870e-02 2.354583643743e+00
2201 2.1990 -4.449471429837e-02 2.358121146558e+00
2202 2.2000 -4.427959801439e-02 2.361658649372e+00
2203 2.2010 -4.406748175892e-02 2.365196152186e+00
2204 2.2020 -4.385836704486e-02 2.368733655001e+00
2205 2.2030 -4.365225538582e-02 2.372271157815e+00
2206 2.2040 -4.344914829616e-02 2.375808660629e+00
2207 2.2050 -4.324904729092e-02 2.379346163443e+00
2208 2.2060 -4.305195388591e-02 2.382883666258e+00
2209 2.2070 -4.285786959766e-02 2.386421169072e+00
2210 2.2080 -4.266679594340e-02 2.389958671886e+00
2211 2.2090 -4.247873444111e-02 2.393496174700e+00
2212 2.2100 -4.229368660950e-02 2.397033677515e+00
2213 2.2110 -4.211165396801e-02 2.400571180329e+00
2214 2.2120 -4.193263803678e-02 2.404108683143e+00
2215 2.2130 -4.175664033671e-02 2.407646185957e+00
2216 2.2140 -4.158366238943e-02 2.411183688772e+00
2217 2.2150 -4.141370571727e-02 2.414721191586e+00
2218 2.2160 -4.124677184333e-02 2.418258694400e+00
2219 2.2170 -4.108286229142e-02 2.421796197215e+00
2220 2.2180 -4.092197858608e-02 2.425333700029e+00
2221 2.2190 -4.076412225258e-02 2.428871202843e+00
2222 2.2200 -4.060929481693e-02 2.432408705657e+00
2223 2.2210 -4.045749780588e-02 2.435946208472e+00
2224 2.2220 -4.030873274690e-02 2.439483711286e+00
2225 2.2230 -4.016300116820e-02 2.443021214100e+00
2226 2.2240 -4.002030459871e-02 2.446558716914e+00
2227 2.2250 -3.988064456813e-02 2.450096219729e+00
2228 2.2260 -3.974402260685e-02 2.453633722543e+00
2229 2.2270 -3.961044024603e-02 2.457171225357e+00
2230 2.2280 -3.947989901755e-02 2.460708728171e+00
2231 2.2290 -3.935240045404e-02 2.464246230986e+00
2232 2.2300 -3.922794608884e-02 2.467783733800e+00
2233 2.2310 -3.910653745606e-02 2.471321236614e+00
2234 2.2320 -3.898817609052e-02 2.474858739428e+00
2235 2.2330 -3.887286352780e-02 2.478396242243e+00
2236 2.2340 -3.876060130421e-02 2.481933745057e+00
2237 2.2350 -3.865139095679e-02 2.485471247871e+00
2238 2.2360 -3.854523402333e-02 2.489008750686e+00
2239 2.2370 -3.844213204237e-02 2.492546253500e+00
2240 2.2380 -3.834208655316e-02 2.496083756314e+00
2241 2.2390 -3.824509909572e-02 2.499621259128e+00
2242 2.2400 -3.815117121081e-02 2.503158761943e+00
2243 2.2410 -3.806030443990e-02 2.506696264757e+00
2244 2.2420 -3.797250032524e-02 2.510233767571e+00
2245 2.2430 -3.788776040980e-02 2.513771270385e+00
2246 2.2440 -3.780608623731e-02 2.517308773200e+00
2247 2.2450 -3.772747935223e-02 2.520846276014e+00
2248 2.2460 -3.765194129976e-02 2.524383778828e+00
2249 2.2470 -3.757947362586e-02 2.527921281642e+00
2250 2.2480 -3.751007787722e-02 2.531458784457e+00
2251 2.2490 -3.744375560130e-02 2.534996287271e+00
2252 2.2500 -3.738050834627e-02 2.538533790085e+00
2253 2.2510 -3.732033766108e-02 2.542071292900e+00
2254 2.2520 -3.726324509540e-02 2.545608795714e+00
2255 2.2530 -3.720923219967e-02 2.549146298528e+00
2256 2.2540 -3.715830052505e-02 2.552683801342e+00
2257 2.2550 -3.711045162347e-02 2.556221304157e+00
2258 2.2560 -3.706568704762e-02 2.559758806971e+00
2259 2.2570 -3.702400835090e-02 2.563296309785e+00
2260 2.2580 -3.698541708748e-02 2.566833812599e+00
2261 2.2590 -3.694991481230e-02 2.570371315414e+00
2262 2.2600 -3.691750308102e-02 2.573908818228e+00
2263 2.2610 -3.688818345006e-02 2.577446321042e+00
2264 2.2620 -3.686195747659e-02 2.580983823856e+00
2265 2.2630 -3.683882671854e-02 2.584521326671e+00
2266 2.2640 -3.681879273460e-02 2.588058829485e+00
2267 2.2650 -3.680185708417e-02 2.591596332299e+00
2268 2.2660 -3.678802132745e-02 2.595133835114e+00
2269 2.2670 -3.677728702537e-02 2.598671337928e+00
2270 2.2680 -3.676965573962e-02 2.602208840742e+00
2271 2.2690 -3.676512903265e-02 2.605746343556e+00
2272 2.2700 -3.676370846764e-02 2.609283846371e+00
2273 2.2710 -3.676539560857e-02 2.612821349185e+00
2274 2.2720 -3.677019202012e-02 2.616358851999e+00
2275 2.2730 -3.677809926778e-02 2.619896354813e+00
2276 2.2740 -3.678911891775e-02 2.623433857628e+00
2277 2.2750 -3.680325253702e-02 2.626971360442e+00
2278 2.2760 -3.682050169333e-02 2.630508863256e+00
2279 2.2770 -3.684086795516e-02 2.634046366070e+00
2280 2.2780 -3.686435289177e-02 2.637583868885e+00
2281 2.2790 -3.689095807317e-02 2.641121371699e+00
2282 2.2800 -3.692068507013e-02 2.644658874513e+00
2283 2.2810 -3.695353545417e-02 2.648196377328e+00
2284 2.2820 -3.698951079759e-02 2.651733880142e+00
2285 2.2830 -3.702861267344e-02 2.655271382956e+00
2286 2.2840 -3.707084265552e-02 2.658808885770e+00
2287 2.2850 -3.711620231842e-02 2.662346388585e+00
2288 2.2860 -3.716469323745e-02 2.665883891399e+00
2289 2.2870 -3.721631698873e-02 2.669421394213e+00
2290 2.2880 -3.727107514910e-02 2.672958897027e+00
2291 2.2890 -3.732896929619e-02 2.676496399842e+00
2292 2.2900 -3.739000100838e-02 2.680033902656e+00
2293 2.2910 -3.745417186484e-02 2.683571405470e+00
2294 2.2920 -3.752148344546e-02 2.687108908284e+00
2295 2.2930 -3.759193733093e-02 2.690646411099e+00
2296 2.2940 -3.766553510269e-02 2.694183913913e+00
2297 2.2950 -3.774227834296e-02 2.697721416727e+00
2298 2.2960 -3.782216863471e-02 2.701258919542e+00
2299 2.2970 -3.790520756168e-02 2.704796422356e+00
2300 2.2980 -3.799139670839e-02 2.708333925170e+00
2301 2.2990 -3.808073766011e-02 2.711871427984e+00
2302 2.3000 -3.817323200289e-02 2.715408930799e+00
2303 2.3010 -3.826888132355e-02 2.718946433613e+00
2304 2.3020 -3.836768720966e-02 2.722483936427e+00
2305 2.3030 -3.846965124959e-02 2.726021439241e+00
2306 2.3040 -3.857477503246e-02 2.729558942056e+00
2307 2.3050 -3.868306014816e-02 2.733096444870e+00
2308 2.3060 -3.879450818735e-02 2.736633947684e+00
2309 2.3070 -3.890912074147e-02 2.740171450498e+00
2310 2.3080 -3.902689940273e-02 2.743708953313e+00
2311 2.3090 -3.914784576410e-02 2.747246456127e+00
2312 2.3100 -3.927196141935e-02 2.750783958941e+00
2313 2.3110 -3.939924796299e-02 2.754321461756e+00
2314 2.3120 -3.952970699033e-02 2.757858964570e+00
2315 2.3130 -3.966334009743e-02 2.761396467384e+00
2316 2.3140 -3.980014888114e-02 2.764933970198e+00
2317 2.3150 -3.994013493909e-02 2.768471473013e+00
2318 2.3160 -4.008329986967e-02 2.772008975827e+00
2319 2.3170 -4.022964527206e-02 2.775546478641e+00
2320 2.3180 -4.037917274620e-02 2.779083981455e+00
2321 2.3190 -4.053188389282e-02 2.782621484270e+00
2322 2.3200 -4.068778031342e-02 2.786158987084e+00
2323 2.3210 -4.084686361028e-02 2.789696489898e+00
2324 2.3220 -4.100913538647e-02 2.793233992712e+00
2325 2.3230 -4.117459724580e-02 2.796771495527e+00
2326 2.3240 -4.134325079292e-02 2.800308998341e+00
2327 2.3250 -4.151509763319e-02 2.803846501155e+00
2328 2.3260 -4.169013937281e-02 2.807384003970e+00
2329 2.3270 -4.186837761872e-02 2.810921506784e+00
2330 2.3280 -4.204981397867e-02 2.814459009598e+00
2331 2.3290 -4.223445006116e-02 2.817996512412e+00
2332 2.3300 -4.242228747549e-02 2.821534015227e+00
2333 2.3310 -4.261332783175e-02 2.825071518041e+00
2334 2.3320 -4.280757274080e-02 2.828609020855e+00
2335 2.3330 -4.300502381427e-02 2.832146523669e+00
2336 2.3340 -4.320568266461e-02 2.835684026484e+00
2337 2.3350 -4.340955090502e-02 2.839221529298e+00
2338 2.3360 -4.361663014951e-02 2.842759032112e+00
2339 2.3370 -4.382692201284e-02 2.846296534926e+00
2340 2.3380 -4.404042811059e-02 2.849834037741e+00
2341 2.3390 -4.425715005911e-02 2.853371540555e+00
2342 2.3400 -4.447708947553e-02 2.856909043369e+00
2343 2.3410 -4.470024797779e-02 2.860446546184e+00
2344 2.3420 -4.492662718459e-02 2.863984048998e+00
2345 2.3430 -4.515622871543e-02 2.867521551812e+00
2346 2.3440 -4.538905419061e-02 2.871059054626e+00
2347 2.3450 -4.562510523119e-02 2.874596557441e+00
2348 2.3460 -4.586438345903e-02 2.878134060255e+00
2349 2.3470 -4.610689049680e-02 2.881671563069e+00
2350 2.3480 -4.635262796793e-02 2.885209065883e+00
2351 2.3490 -4.660159749666e-02 2.888746568698e+00
2352 2.3500 -4.685380070801e-02 2.892284071512e+00
2353 2.3510 -4.710923922779e-02 2.895821574326e+00
2354 2.3520 -4.736791468261e-02 2.899359077140e+00
2355 2.3530 -4.762982869987e-02 2.902896579955e+00
2356 2.3540 -4.789498290776e-02 2.906434082769e+00
2357 2.3550 -4.816337893526e-02 2.909971585583e+00
2358 2.3560 -4.843501841214e-02 2.913509088398e+00
2359 2.3570 -4.870990296899e-02 2.917046591212e+00
2360 2.3580 -4.898803423715e-02 2.920584094026e+00
2361 2.3590 -4.926941384879e-02 2.924121596840e+00
2362 2.3600 -4.955404343687e-02 2.927659099655e+00
2363 2.3610 -4.984192463512e-02 2.931196602469e+00
2364 2.3620 -5.013305907811e-02 2.934734105283e+00
2365 2.3630 -5.042744840116e-02 2.938271608097e+00
2366 2.3640 -5.072509424042e-02 2.941809110912e+00
2367 2.3650 -5.102599823282e-02 2.945346613726e+00
2368 2.3660 -5.133016201611e-02 2.948884116540e+00
2369 2.3670 -5.163758722879e-02 2.952421619354e+00
2370 2.3680 -5.194827551022e-02 2.955959122169e+00
2371 2.3690 -5.226222850052e-02 2.959496624983e+00
2372 2.3700 -5.257944784061e-02 2.963034127797e+00
2373 2.3710 -5.289993517223e-02 2.966571630612e+00
2374 2.3720 -5.322369213790e-02 2.970109133426e+00
2375 2.3730 -5.355072038097e-02 2.973646636240e+00
2376 2.3740 -5.388102154555e-02 2.977184139054e+00
2377 2.3750 -5.421459727658e-02 2.980721641869e+00
2378 2.3760 -5.455144921981e-02 2.984259144683e+00
2379 2.3770 -5.489157902176e-02 2.987796647497e+00
2380 2.3780 -5.523498832978e-02 2.991334150311e+00
2381 2.3790 -5.558167879202e-02 2.994871653126e+00
2382 2.3800 -5.593165205742e-02 2.998409155940e+00
2383 2.3810 -5.628490977575e-02 3.001946658754e+00
2384 2.3820 -5.664145359755e-02 3.005484161568e+00
2385 2.3830 -5.700128517420e-02 3.009021664383e+00
2386 2.3840 -5.736440615787e-02 3.012559167197e+00
2387 2.3850 -5.773081820153e-02 3.016096670011e+00
2388 2.3860 -5.810052295897e-02 3.019634172825e+00
2389 2.3870 -5.847352208477e-02 3.023171675640e+00
2390 2.3880 -5.884981723434e-02 3.026709178454e+00
2391 2.3890 -5.922941006389e-02 3.030246681268e+00
2392 2.3900 -5.961230223043e-02 3.033784184083e+00
2393 2.3910 -5.999849539179e-02 3.037321686897e+00
2394 2.3920 -6.038799120660e-02 3.040859189711e+00
2395 2.3930 -6.078079133431e-02 3.044396692525e+00
2396 2.3940 -6.117689743516e-02 3.047934195340e+00
2397 2.3950 -6.157631117023e-02 3.051471698154e+00
2398 2.3960 -6.197903420140e-02 3.055009200968e+00
2399 2.3970 -6.238506819136e-02 3.058546703782e+00
2400 2.3980 -6.271869780888e-02 3.062159923591e+00
2401 2.3990 -6.240836607987e-02 3.066420419034e+00
2402 2.4000 -6.210135030258e-02 3.070680914476e+00
2403 2.4010 -6.179765214296e-02 3.074941409918e+00
2404 2.4020 -6.149727326777e-02 3.079201905360e+00
2405 2.4030 -6.120021534457e-02 3.083462400802e+00
2406 2.4040 -6.090648004175e-02 3.087722896244e+00
2407 2.4050 -6.061606902851e-02 3.091983391686e+00
2408 2.4060 -6.032898397487e-02 3.096243887128e+00
2409 2.4070 -6.004522655166e-02 3.100504382571e+00
2410 2.4080 -5.976479843052e-02 3.104764878013e+00
2411 2.4090 -5.948770128394e-02 3.109025373455e+00
2412 2.4100 -5.921393678518e-02 3.113285868897e+00
2413 2.4110 -5.894350660836e-02 3.117546364339e+00
2414 2.4120 -5.867641242840e-02 3.121806859781e+00
2415 2.4130 -5.841265592103e-02 3.126067355223e+00
2416 2.4140 -5.815223876282e-02 3.130327850665e+00
2417 2.4150 -5.789516263115e-02 3.134588346108e+00
2418 2.4160 -5.764142920421e-02 3.138848841550e+00
2419 2.4170 -5.739104016104e-02 3.143109336992e+00
2420 2.4180 -5.714399718147e-02 3.147369832434e+00
2421 2.4190 -5.690030194617e-02 3.151630327876e+00
2422 2.4200 -5.665995613662e-02 3.155890823318e+00
2423 2.4210 -5.642296143515e-02 3.160151318760e+00
2424 2.4220 -5.618931952487e-02 3.164411814202e+00
2425 2.4230 -5.595903208975e-02 3.168672309645e+00
2426 2.4240 -5.573210081457e-02 3.172932805087e+00
2427 2.4250 -5.550852738493e-02 3.177193300529e+00
2428 2.4260 -5.528831348727e-02 3.181453795971e+00
2429 2.4270 -5.507146080885e-02 3.185714291413e+00
2430 2.4280 -5.485797103774e-02 3.189974786855e+00
2431 2.4290 -5.464784586285e-02 3.194235282297e+00
2432 2.4300 -5.444108697393e-02 3.198495777739e+00
2433 2.4310 -5.423769606153e-02 3.202756273182e+00
2434 2.4320 -5.403767481704e-02 3.207016768624e+00
2435 2.4330 -5.384102493270e-02 3.211277264066e+00
2436 2.4340 -5.364774810153e-02 3.215537759508e+00
2437 2.4350 -5.345784601743e-02 3.219798254950e+00
2438 2.4360 -5.327132037509e-02 3.224058750392e+00
2439 2.4370 -5.308817287006e-02 3.228319245834e+00
2440 2.4380 -5.290840519871e-02 3.232579741276e+00
2441 2.4390 -5.273201905822e-02 3.236840236719e+00
2442 2.4400 -5.255901614665e-02 3.241100732161e+00
2443 2.4410 -5.238939816283e-02 3.245361227603e+00
2444 2.4420 -5.222316680648e-02 3.249621723045e+00
2445 2.4430 -5.206032377812e-02 3.253882218487e+00
2446 2.4440 -5.190087077910e-02 3.258142713929e+00
2447 2.4450 -5.174480951163e-02 3.262403209371e+00
2448 2.4460 -5.159214167873e-02 3.266663704813e+00
2449 2.4470 -5.144286898427e-02 3.270924200256e+00
2450 2.4480 -5.129699313295e-02 3.275184695698e+00
2451 2.4490 -5.115451583030e-02 3.279445191140e+00
2452 2.4500 -5.101543878269e-02 3.283705686582e+00
2453 2.4510 -5.087976369733e-02 3.287966182024e+00
2454 2.4520 -5.074749228227e-02 3.292226677466e+00
2455 2.4530 -5.061862624638e-02 3.296487172908e+00
2456 2.4540 -5.049316729939e-02 3.300747668350e+00
2457 2.4550 -5.037111715185e-02 3.305008163792e+00
2458 2.4560 -5.025247751517e-02 3.309268659235e+00
2459 2.4570 -5.013725010157e-02 3.313529154677e+00
2460 2.4580 -5.002543662414e-02 3.317789650119e+00
2461 2.4590 -4.991703879679e-02 3.322050145561e+00
2462 2.4600 -4.981205833428e-02 3.326310641003e+00
2463 2.4610 -4.971049695221e-02 3.330571136445e+00
2464 2.4620 -4.961235636701e-02 3.334831631887e+00
2465 2.4630 -4.951763829598e-02 3.339092127329e+00
2466 2.4640 -4.942634445723e-02 3.343352622772e+00
2467 2.4650 -4.933847656973e-02 3.347613118214e+00
2468 2.4660 -4.925403635330e-02 3.351873613656e+00
2469 2.4670 -4.917302552859e-02 3.356134109098e+00
2470 2.4680 -4.909544581710e-02 3.360394604540e+00
2471 2.4690 -4.902129894117e-02 3.364655099982e+00
2472 2.4700 -4.895058662399e-02 3.368915595424e+00
2473 2.4710 -4.888331058961e-02 3.373176090866e+00
2474 2.4720 -4.881947256290e-02 3.377436586309e+00
2475 2.4730 -4.875907426959e-02 3.381697081751e+00
2476 2.4740 -4.870211743626e-02 3.385957577193e+00
2477 2.4750 -4.864860379034e-02 3.390218072635e+00
2478 2.4760 -4.859853506008e-02 3.394478568077e+00
2479 2.4770 -4.855191297463e-02 3.398739063519e+00
2480 2.4780 -4.850873926393e-02 3.402999558961e+00
2481 2.4790 -4.846901565882e-02 3.407260054403e+00
2482 2.4800 -4.843274389096e-02 3.411520549846e+00
2483 2.4810 -4.839992569287e-02 3.415781045288e+00
2484 2.4820 -4.837056279793e-02 3.420041540730e+00
2485 2.4830 -4.834465694035e-02 3.424302036172e+00
2486 2.4840 -4.832220985521e-02 3.428562531614e+00
2487 2.4850 -4.830322327844e-02 3.432823027056e+00
2488 2.4860 -4.828769894681e-02 3.437083522498e+00
2489 2.4870 -4.827563859795e-02 3.441344017940e+00
2490 2.4880 -4.826704397036e-02 3.445604513383e+00
2491 2.4890 -4.826191680336e-02 3.449865008825e+00
2492 2.4900 -4.826025883717e-02 3.454125504267e+00
2493 2.4910 -4.826207181282e-02 3.458385999709e+00
2494 2.4920 -4.826735747223e-02 3.462646495151e+00
2495 2.4930 -4.827611755814e-02 3.466906990593e+00
2496 2.4940 -4.828835381419e-02 3.471167486035e+00
2497 2.4950 -4.830406798485e-02 3.475427981477e+00
2498 2.4960 -4.832326181544e-02 3.479688476920e+00
2499 2.4970 -4.834593705217e-02 3.483948972362e+00
2500 2.4980 -4.837209544207e-02 3.488209467804e+00
2501 2.4990 -4.840173873306e-02 3.492469963246e+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())