E-021-sinf-sf-curve.py
Experiments: E-021 · script updated 08-19-2026
E-021-sinf-sf-curve.csv
— 299.9 KB, updated 08-19-2026
| # | n | S_inf | S_f | lambda_n | abs_Sf |
|---|---|---|---|---|---|
| 2502 | 2501 | 6957.26253732 | 7.26057942045 | 6951.0019579 | 7.26057942045 |
| 2503 | 2502 | 6960.54452953 | 7.18399812542 | 6954.36053141 | 7.18399812542 |
| 2504 | 2503 | 6963.82672159 | 7.09227539777 | 6957.7344462 | 7.09227539777 |
| 2505 | 2504 | 6967.10911341 | 6.9859354769 | 6961.12317793 | 6.9859354769 |
| 2506 | 2505 | 6970.39170491 | 6.86554320148 | 6964.52616171 | 6.86554320148 |
| 2507 | 2506 | 6973.67449601 | 6.73170101971 | 6967.94279499 | 6.73170101971 |
| 2508 | 2507 | 6976.95748663 | 6.58504586487 | 6971.37244077 | 6.58504586487 |
| 2509 | 2508 | 6980.24067669 | 6.42624591232 | 6974.81443078 | 6.42624591232 |
| 2510 | 2509 | 6983.52406612 | 6.25599723424 | 6978.26806888 | 6.25599723424 |
| 2511 | 2510 | 6986.80765483 | 6.07502036921 | 6981.73263446 | 6.07502036921 |
| 2512 | 2511 | 6990.09144274 | 5.88405682373 | 6985.20738591 | 5.88405682373 |
| 2513 | 2512 | 6993.37542977 | 5.68386552333 | 6988.69156425 | 5.68386552333 |
| 2514 | 2513 | 6996.65961585 | 5.4752192307 | 6992.18439662 | 5.4752192307 |
| 2515 | 2514 | 6999.94400089 | 5.25890094874 | 6995.68509994 | 5.25890094874 |
| 2516 | 2515 | 7003.22858482 | 5.03570032603 | 6999.1928845 | 5.03570032603 |
| 2517 | 2516 | 7006.51336756 | 4.80641008244 | 7002.70695748 | 4.80641008244 |
| 2518 | 2517 | 7009.79834903 | 4.57182247217 | 7006.22652655 | 4.57182247217 |
| 2519 | 2518 | 7013.08352914 | 4.3327258012 | 7009.75080334 | 4.3327258012 |
| 2520 | 2519 | 7016.36890783 | 4.0899010161 | 7013.27900681 | 4.0899010161 |
| 2521 | 2520 | 7019.654485 | 3.84411838024 | 7016.81036662 | 3.84411838024 |
| 2522 | 2521 | 7022.94026059 | 3.59613425319 | 7020.34412634 | 3.59613425319 |
| 2523 | 2522 | 7026.22623452 | 3.34668798851 | 7023.87954653 | 3.34668798851 |
| 2524 | 2523 | 7029.51240669 | 3.09649896419 | 7027.41590773 | 3.09649896419 |
| 2525 | 2524 | 7032.79877705 | 2.84626375963 | 7030.95251329 | 2.84626375963 |
| 2526 | 2525 | 7036.0853455 | 2.59665349181 | 7034.48869201 | 2.59665349181 |
| 2527 | 2526 | 7039.37211198 | 2.34831132284 | 7038.02380065 | 2.34831132284 |
| 2528 | 2527 | 7042.65907639 | 2.10185014969 | 7041.55722624 | 2.10185014969 |
| 2529 | 2528 | 7045.94623867 | 1.85785048639 | 7045.08838818 | 1.85785048639 |
| 2530 | 2529 | 7049.23359873 | 1.61685854758 | 7048.61674018 | 1.61685854758 |
| 2531 | 2530 | 7052.5211565 | 1.37938454126 | 7052.14177196 | 1.37938454126 |
| 2532 | 2531 | 7055.8089119 | 1.14590117777 | 7055.66301072 | 1.14590117777 |
| 2533 | 2532 | 7059.09686485 | 0.916842400491 | 7059.18002245 | 0.916842400491 |
| 2534 | 2533 | 7062.38501527 | 0.692602342746 | 7062.69241293 | 0.692602342746 |
| 2535 | 2534 | 7065.67336308 | 0.47353451435 | 7066.19982857 | 0.47353451435 |
| 2536 | 2535 | 7068.96190821 | 0.259951219726 | 7069.70195699 | 0.259951219726 |
| 2537 | 2536 | 7072.25065058 | 0.0521232085694 | 7073.19852738 | 0.0521232085694 |
| 2538 | 2537 | 7075.53959012 | -0.149720441305 | 7076.68931056 | 0.149720441305 |
| 2539 | 2538 | 7078.82872673 | -0.345392210482 | 7080.17411894 | 0.345392210482 |
| 2540 | 2539 | 7082.11806035 | -0.53474579656 | 7083.65280615 | 0.53474579656 |
| 2541 | 2540 | 7085.4075909 | -0.717675548773 | 7087.12526645 | 0.717675548773 |
| 2542 | 2541 | 7088.69731829 | -0.894115683702 | 7090.59143398 | 0.894115683702 |
| 2543 | 2542 | 7091.98724247 | -1.06403928825 | 7094.05128175 | 1.06403928825 |
| 2544 | 2543 | 7095.27736333 | -1.22745711721 | 7097.50482045 | 1.22745711721 |
| 2545 | 2544 | 7098.56768082 | -1.38441619366 | 7100.95209701 | 1.38441619366 |
| 2546 | 2545 | 7101.85819484 | -1.53499822166 | 7104.39319306 | 1.53499822166 |
| 2547 | 2546 | 7105.14890533 | -1.67931782142 | 7107.82822315 | 1.67931782142 |
| 2548 | 2547 | 7108.43981221 | -1.81752059813 | 7111.25733281 | 1.81752059813 |
| 2549 | 2548 | 7111.73091539 | -1.9497810566 | 7114.68069645 | 1.9497810566 |
| 2550 | 2549 | 7115.02221481 | -2.07630037427 | 7118.09851518 | 2.07630037427 |
| 2551 | 2550 | 7118.31371038 | -2.1973040463 | 7121.51101443 | 2.1973040463 |
| 2552 | 2551 | 7121.60540203 | -2.31303941676 | 7124.91844145 | 2.31303941676 |
| 2553 | 2552 | 7124.89728969 | -2.42377311051 | 7128.3210628 | 2.42377311051 |
| 2554 | 2553 | 7128.18937326 | -2.52978838115 | 7131.71916164 | 2.52978838115 |
| 2555 | 2554 | 7131.48165269 | -2.63138239035 | 7135.11303508 | 2.63138239035 |
| 2556 | 2555 | 7134.77412789 | -2.72886343459 | 7138.50299132 | 2.72886343459 |
| 2557 | 2556 | 7138.06679878 | -2.82254813532 | 7141.88934691 | 2.82254813532 |
| 2558 | 2557 | 7141.35966529 | -2.91275860884 | 7145.2724239 | 2.91275860884 |
| 2559 | 2558 | 7144.65272734 | -2.99981963216 | 7148.65254697 | 2.99981963216 |
| 2560 | 2559 | 7147.94598485 | -3.08405582116 | 7152.03004068 | 3.08405582116 |
| 2561 | 2560 | 7151.23943776 | -3.16578883724 | 7155.4052266 | 3.16578883724 |
| 2562 | 2561 | 7154.53308598 | -3.24533463833 | 7158.77842062 | 3.24533463833 |
| 2563 | 2562 | 7157.82692943 | -3.32300079019 | 7162.14993022 | 3.32300079019 |
| 2564 | 2563 | 7161.12096805 | -3.39908385304 | 7165.5200519 | 3.39908385304 |
| 2565 | 2564 | 7164.41520174 | -3.47386685872 | 7168.8890686 | 3.47386685872 |
| 2566 | 2565 | 7167.70963045 | -3.54761689257 | 7172.25724734 | 3.54761689257 |
| 2567 | 2566 | 7171.00425409 | -3.62058279391 | 7175.62483688 | 3.62058279391 |
| 2568 | 2567 | 7174.29907258 | -3.69299298823 | 7178.99206557 | 3.69299298823 |
| 2569 | 2568 | 7177.59408585 | -3.76505346348 | 7182.35913932 | 3.76505346348 |
| 2570 | 2569 | 7180.88929383 | -3.83694590211 | 7185.72623973 | 3.83694590211 |
| 2571 | 2570 | 7184.18469644 | -3.90882597948 | 7189.09352242 | 3.90882597948 |
| 2572 | 2571 | 7187.4802936 | -3.98082183862 | 7192.46111543 | 3.98082183862 |
| 2573 | 2572 | 7190.77608523 | -4.05303275003 | 7195.82911798 | 4.05303275003 |
| 2574 | 2573 | 7194.07207127 | -4.12552796458 | 7199.19759923 | 4.12552796458 |
| 2575 | 2574 | 7197.36825163 | -4.19834576602 | 7202.56659739 | 4.19834576602 |
| 2576 | 2575 | 7200.66462624 | -4.27149272909 | 7205.93611897 | 4.27149272909 |
| 2577 | 2576 | 7203.96119503 | -4.34494318759 | 7209.30613822 | 4.34494318759 |
| 2578 | 2577 | 7207.25795791 | -4.41863891594 | 7212.67659683 | 4.41863891594 |
| 2579 | 2578 | 7210.55491482 | -4.49248902656 | 7216.04740385 | 4.49248902656 |
| 2580 | 2579 | 7213.85206568 | -4.56637008398 | 7219.41843577 | 4.56637008398 |
| 2581 | 2580 | 7217.14941042 | -4.64012643581 | 7222.78953685 | 4.64012643581 |
| 2582 | 2581 | 7220.44694895 | -4.7135707592 | 7226.16051971 | 4.7135707592 |
| 2583 | 2582 | 7223.7446812 | -4.78648482026 | 7229.53116602 | 4.78648482026 |
| 2584 | 2583 | 7227.0426071 | -4.85862044305 | 7232.90122755 | 4.85862044305 |
| 2585 | 2584 | 7230.34072658 | -4.92970068318 | 7236.27042726 | 4.92970068318 |
| 2586 | 2585 | 7233.63903956 | -4.99942120022 | 7239.63846076 | 4.99942120022 |
| 2587 | 2586 | 7236.93754595 | -5.06745182201 | 7243.00499778 | 5.06745182201 |
| 2588 | 2587 | 7240.2362457 | -5.13343829272 | 7246.36968399 | 5.13343829272 |
| 2589 | 2588 | 7243.53513872 | -5.19700419568 | 7249.73214292 | 5.19700419568 |
| 2590 | 2589 | 7246.83422494 | -5.25775304103 | 7253.09197798 | 5.25775304103 |
| 2591 | 2590 | 7250.13350429 | -5.31527050708 | 7256.4487748 | 5.31527050708 |
| 2592 | 2591 | 7253.43297668 | -5.36912682374 | 7259.80210351 | 5.36912682374 |
| 2593 | 2592 | 7256.73264205 | -5.41887928538 | 7263.15152134 | 5.41887928538 |
| 2594 | 2593 | 7260.03250033 | -5.46407487968 | 7266.49657521 | 5.46407487968 |
| 2595 | 2594 | 7263.33255143 | -5.50425301858 | 7269.83680444 | 5.50425301858 |
| 2596 | 2595 | 7266.63279528 | -5.53894835665 | 7273.17174363 | 5.53894835665 |
| 2597 | 2596 | 7269.93323181 | -5.56769368174 | 7276.50092549 | 5.56769368174 |
| 2598 | 2597 | 7273.23386094 | -5.59002286238 | 7279.8238838 | 5.59002286238 |
| 2599 | 2598 | 7276.53468261 | -5.60547383589 | 7283.14015644 | 5.60547383589 |
| 2600 | 2599 | 7279.83569673 | -5.61359162109 | 7286.44928835 | 5.61359162109 |
| 2601 | 2600 | 7283.13690323 | -5.61393133904 | 7289.75083457 | 5.61393133904 |
| 2602 | 2601 | 7286.43830204 | -5.60606122538 | 7293.04436326 | 5.60606122538 |
| 2603 | 2602 | 7289.73989308 | -5.58956561762 | 7296.3294587 | 5.58956561762 |
| 2604 | 2603 | 7293.04167628 | -5.56404790093 | 7299.60572418 | 5.56404790093 |
| 2605 | 2604 | 7296.34365157 | -5.52913339598 | 7302.87278497 | 5.52913339598 |
| 2606 | 2605 | 7299.64581887 | -5.48447217275 | 7306.13029104 | 5.48447217275 |
| 2607 | 2606 | 7302.94817811 | -5.42974177442 | 7309.37791988 | 5.42974177442 |
| 2608 | 2607 | 7306.25072921 | -5.36464983593 | 7312.61537905 | 5.36464983593 |
| 2609 | 2608 | 7309.55347211 | -5.28893658226 | 7315.84240869 | 5.28893658226 |
| 2610 | 2609 | 7312.85640672 | -5.20237719202 | 7319.05878392 | 5.20237719202 |
| 2611 | 2610 | 7316.15953298 | -5.1047840125 | 7322.26431699 | 5.1047840125 |
| 2612 | 2611 | 7319.46285081 | -4.99600861317 | 7325.45885942 | 4.99600861317 |
| 2613 | 2612 | 7322.76636014 | -4.87594366541 | 7328.6423038 | 4.87594366541 |
| 2614 | 2613 | 7326.07006089 | -4.74452463674 | 7331.81458552 | 4.74452463674 |
| 2615 | 2614 | 7329.37395299 | -4.6017312893 | 7334.97568428 | 4.6017312893 |
| 2616 | 2615 | 7332.67803637 | -4.44758897273 | 7338.12562534 | 4.44758897273 |
| 2617 | 2616 | 7335.98231095 | -4.28216970297 | 7341.26448065 | 4.28216970297 |
| 2618 | 2617 | 7339.28677667 | -4.10559301939 | 7344.39236969 | 4.10559301939 |
| 2619 | 2618 | 7342.59143344 | -3.91802661377 | 7347.50946005 | 3.91802661377 |
| 2620 | 2619 | 7345.8962812 | -3.71968672593 | 7350.61596792 | 3.71968672593 |
| 2621 | 2620 | 7349.20131987 | -3.51083830166 | 7353.71215817 | 3.51083830166 |
| 2622 | 2621 | 7352.50654938 | -3.29179491017 | 7356.79834429 | 3.29179491017 |
| 2623 | 2622 | 7355.81196966 | -3.06291841923 | 7359.87488808 | 3.06291841923 |
| 2624 | 2623 | 7359.11758063 | -2.82461842739 | 7362.94219906 | 2.82461842739 |
| 2625 | 2624 | 7362.42338223 | -2.57735145414 | 7366.00073368 | 2.57735145414 |
| 2626 | 2625 | 7365.72937437 | -2.32161988976 | 7369.05099426 | 2.32161988976 |
| 2627 | 2626 | 7369.03555699 | -2.05797070809 | 7372.0935277 | 2.05797070809 |
| 2628 | 2627 | 7372.34193001 | -1.78699394657 | 7375.12892396 | 1.78699394657 |
| 2629 | 2628 | 7375.64849336 | -1.50932095906 | 7378.15781432 | 1.50932095906 |
| 2630 | 2629 | 7378.95524698 | -1.22562244817 | 7381.18086942 | 1.22562244817 |
| 2631 | 2630 | 7382.26219078 | -0.936606284974 | 7384.19879706 | 0.936606284974 |
| 2632 | 2631 | 7385.56932469 | -0.643015125005 | 7387.21233981 | 0.643015125005 |
| 2633 | 2632 | 7388.87664864 | -0.345623830621 | 7390.22227247 | 0.345623830621 |
| 2634 | 2633 | 7392.18416257 | -0.0452367107083 | 7393.22939928 | 0.0452367107083 |
| 2635 | 2634 | 7395.49186639 | 0.257315410249 | 7396.23455098 | 0.257315410249 |
| 2636 | 2635 | 7398.79976004 | 0.561178280838 | 7399.23858176 | 0.561178280838 |
| 2637 | 2636 | 7402.10784344 | 0.865477455385 | 7402.24236598 | 0.865477455385 |
| 2638 | 2637 | 7405.41611652 | 1.1693216561 | 7405.24679486 | 1.1693216561 |
| 2639 | 2638 | 7408.72457921 | 1.47180624944 | 7408.25277296 | 1.47180624944 |
| 2640 | 2639 | 7412.03323144 | 1.77201682087 | 7411.26121462 | 1.77201682087 |
| 2641 | 2640 | 7415.34207313 | 2.06903283156 | 7414.2730403 | 2.06903283156 |
| 2642 | 2641 | 7418.65110422 | 2.36193134009 | 7417.28917288 | 2.36193134009 |
| 2643 | 2642 | 7421.96032463 | 2.6497907719 | 7420.31053386 | 2.6497907719 |
| 2644 | 2643 | 7425.26973429 | 2.93169471889 | 7423.33803957 | 2.93169471889 |
| 2645 | 2644 | 7428.57933313 | 3.20673575126 | 7426.37259738 | 3.20673575126 |
| 2646 | 2645 | 7431.88912108 | 3.47401922363 | 7429.41510186 | 3.47401922363 |
| 2647 | 2646 | 7435.19909806 | 3.73266705747 | 7432.46643101 | 3.73266705747 |
| 2648 | 2647 | 7438.50926401 | 3.98182148175 | 7435.52744253 | 3.98182148175 |
| 2649 | 2648 | 7441.81961885 | 4.22064871407 | 7438.59897014 | 4.22064871407 |
| 2650 | 2649 | 7445.13016251 | 4.44834256449 | 7441.68181995 | 4.44834256449 |
| 2651 | 2650 | 7448.44089493 | 4.66412794479 | 7444.77676698 | 4.66412794479 |
| 2652 | 2651 | 7451.75181602 | 4.86726426618 | 7447.88455175 | 4.86726426618 |
| 2653 | 2652 | 7455.06292572 | 5.05704870901 | 7451.00587701 | 5.05704870901 |
| 2654 | 2653 | 7458.37422396 | 5.23281934853 | 7454.14140461 | 5.23281934853 |
| 2655 | 2654 | 7461.68571066 | 5.39395812133 | 7457.29175254 | 5.39395812133 |
| 2656 | 2655 | 7464.99738576 | 5.53989361805 | 7460.45749214 | 5.53989361805 |
| 2657 | 2656 | 7468.30924918 | 5.67010368837 | 7463.63914549 | 5.67010368837 |
| 2658 | 2657 | 7471.62130086 | 5.7841178455 | 7466.83718301 | 5.7841178455 |
| 2659 | 2658 | 7474.93354071 | 5.88151945798 | 7470.05202126 | 5.88151945798 |
| 2660 | 2659 | 7478.24596868 | 5.96194771792 | 7473.28402096 | 5.96194771792 |
| 2661 | 2660 | 7481.55858469 | 6.02509937552 | 7476.53348532 | 6.02509937552 |
| 2662 | 2661 | 7484.87138867 | 6.07073023102 | 7479.80065844 | 6.07073023102 |
| 2663 | 2662 | 7488.18438055 | 6.09865637622 | 7483.08572417 | 6.09865637622 |
| 2664 | 2663 | 7491.49756026 | 6.1087551791 | 7486.38880508 | 6.1087551791 |
| 2665 | 2664 | 7494.81092772 | 6.10096600591 | 7489.70996172 | 6.10096600591 |
| 2666 | 2665 | 7498.12448288 | 6.07529067673 | 7493.0491922 | 6.07529067673 |
| 2667 | 2666 | 7501.43822565 | 6.03179365146 | 7496.40643199 | 6.03179365146 |
| 2668 | 2667 | 7504.75215596 | 5.97060194471 | 7499.78155402 | 5.97060194471 |
| 2669 | 2668 | 7508.06627376 | 5.89190476907 | 7503.17436899 | 5.89190476907 |
| 2670 | 2669 | 7511.38057896 | 5.7959529079 | 7506.58462605 | 5.7959529079 |
| 2671 | 2670 | 7514.69507149 | 5.68305781959 | 7510.01201367 | 5.68305781959 |
| 2672 | 2671 | 7518.0097513 | 5.55359047705 | 7513.45616082 | 5.55359047705 |
| 2673 | 2672 | 7521.32461829 | 5.40797994701 | 7516.91663835 | 5.40797994701 |
| 2674 | 2673 | 7524.63967242 | 5.24671171511 | 7520.3929607 | 5.24671171511 |
| 2675 | 2674 | 7527.9549136 | 5.07032576418 | 7523.88458783 | 5.07032576418 |
| 2676 | 2675 | 7531.27034176 | 4.87941441385 | 7527.39092735 | 4.87941441385 |
| 2677 | 2676 | 7534.58595684 | 4.67461993125 | 7530.91133691 | 4.67461993125 |
| 2678 | 2677 | 7537.90175877 | 4.4566319232 | 7534.44512685 | 4.4566319232 |
| 2679 | 2678 | 7541.21774747 | 4.22618452182 | 7537.99156295 | 4.22618452182 |
| 2680 | 2679 | 7544.53392288 | 3.98405337601 | 7541.54986951 | 3.98405337601 |
| 2681 | 2680 | 7547.85028493 | 3.73105246251 | 7545.11923247 | 3.73105246251 |
| 2682 | 2681 | 7551.16683354 | 3.46803073101 | 7548.69880281 | 3.46803073101 |
| 2683 | 2682 | 7554.48356865 | 3.19586859847 | 7552.28770006 | 3.19586859847 |
| 2684 | 2683 | 7557.80049019 | 2.9154743088 | 7555.88501588 | 2.9154743088 |
| 2685 | 2684 | 7561.11759809 | 2.62778017443 | 7559.48981792 | 2.62778017443 |
| 2686 | 2685 | 7564.43489228 | 2.33373871692 | 7563.10115356 | 2.33373871692 |
| 2687 | 2686 | 7567.75237269 | 2.03431872446 | 7566.71805396 | 2.03431872446 |
| 2688 | 2687 | 7571.07003924 | 1.73050124422 | 7570.339538 | 1.73050124422 |
| 2689 | 2688 | 7574.38789188 | 1.42327552803 | 7573.96461635 | 1.42327552803 |
| 2690 | 2689 | 7577.70593053 | 1.11363494992 | 7577.59229558 | 1.11363494992 |
| 2691 | 2690 | 7581.02415512 | 0.802572914396 | 7581.22158221 | 0.802572914396 |
| 2692 | 2691 | 7584.34256559 | 0.491078774219 | 7584.85148682 | 0.491078774219 |
| 2693 | 2692 | 7587.66116186 | 0.180133776382 | 7588.48102809 | 0.180133776382 |
| 2694 | 2693 | 7590.97994387 | -0.129292944983 | 7592.10923681 | 0.129292944983 |
| 2695 | 2694 | 7594.29891154 | -0.436248310448 | 7595.73515985 | 0.436248310448 |
| 2696 | 2695 | 7597.61806481 | -0.739799153775 | 7599.35786397 | 0.739799153775 |
| 2697 | 2696 | 7600.93740361 | -1.03903597936 | 7602.97643959 | 1.03903597936 |
| 2698 | 2697 | 7604.25692787 | -1.33307660145 | 7606.59000447 | 1.33307660145 |
| 2699 | 2698 | 7607.57663752 | -1.62106964852 | 7610.19770717 | 1.62106964852 |
| 2700 | 2699 | 7610.8965325 | -1.90219791686 | 7613.79873041 | 1.90219791686 |
| 2701 | 2700 | 7614.21661272 | -2.17568155802 | 7617.39229428 | 2.17568155802 |
| 2702 | 2701 | 7617.53687813 | -2.4407810859 | 7620.97765922 | 2.4407810859 |
| 2703 | 2702 | 7620.85732866 | -2.69680018963 | 7624.55412885 | 2.69680018963 |
| 2704 | 2703 | 7624.17796424 | -2.94308833987 | 7628.12105258 | 2.94308833987 |
| 2705 | 2704 | 7627.4987848 | -3.17904317674 | 7631.67782797 | 3.17904317674 |
| 2706 | 2705 | 7630.81979026 | -3.40411266878 | 7635.22390293 | 3.40411266878 |
| 2707 | 2706 | 7634.14098057 | -3.61779703366 | 7638.75877761 | 3.61779703366 |
| 2708 | 2707 | 7637.46235566 | -3.81965041202 | 7642.28200607 | 3.81965041202 |
| 2709 | 2708 | 7640.78391545 | -4.00928228756 | 7645.79319774 | 4.00928228756 |
| 2710 | 2709 | 7644.10565988 | -4.18635864727 | 7649.29201853 | 4.18635864727 |
| 2711 | 2710 | 7647.42758888 | -4.35060287726 | 7652.77819176 | 4.35060287726 |
| 2712 | 2711 | 7650.74970238 | -4.50179639072 | 7656.25149877 | 4.50179639072 |
| 2713 | 2712 | 7654.07200032 | -4.63977898586 | 7659.7117793 | 4.63977898586 |
| 2714 | 2713 | 7657.39448262 | -4.76444893319 | 7663.15893155 | 4.76444893319 |
| 2715 | 2714 | 7660.71714922 | -4.87576279238 | 7666.59291201 | 4.87576279238 |
| 2716 | 2715 | 7664.04000005 | -4.97373496065 | 7670.01373501 | 4.97373496065 |
| 2717 | 2716 | 7667.36303504 | -5.05843695567 | 7673.42147199 | 5.05843695567 |
| 2718 | 2717 | 7670.68625412 | -5.12999643737 | 7676.81625056 | 5.12999643737 |
| 2719 | 2718 | 7674.00965723 | -5.18859597415 | 7680.19825321 | 5.18859597415 |
| 2720 | 2719 | 7677.3332443 | -5.23447156034 | 7683.56771586 | 5.23447156034 |
| 2721 | 2720 | 7680.65701527 | -5.26791089288 | 7686.92492616 | 5.26791089288 |
| 2722 | 2721 | 7683.98097005 | -5.28925141635 | 7690.27022147 | 5.28925141635 |
| 2723 | 2722 | 7687.30510859 | -5.29887814654 | 7693.60398674 | 5.29887814654 |
| 2724 | 2723 | 7690.62943082 | -5.29722128383 | 7696.9266521 | 5.29722128383 |
| 2725 | 2724 | 7693.95393667 | -5.28475362866 | 7700.2386903 | 5.28475362866 |
| 2726 | 2725 | 7697.27862608 | -5.26198781231 | 7703.54061389 | 5.26198781231 |
| 2727 | 2726 | 7700.60349897 | -5.22947335687 | 7706.83297232 | 5.22947335687 |
| 2728 | 2727 | 7703.92855527 | -5.18779357947 | 7710.11634885 | 5.18779357947 |
| 2729 | 2728 | 7707.25379494 | -5.13756235617 | 7713.39135729 | 5.13756235617 |
| 2730 | 2729 | 7710.57921788 | -5.07942076174 | 7716.65863864 | 5.07942076174 |
| 2731 | 2730 | 7713.90482404 | -5.0140336022 | 7719.91885765 | 5.0140336022 |
| 2732 | 2731 | 7717.23061336 | -4.94208585717 | 7723.17269921 | 4.94208585717 |
| 2733 | 2732 | 7720.55658575 | -4.86427904988 | 7726.4208648 | 4.86427904988 |
| 2734 | 2733 | 7723.88274116 | -4.78132756263 | 7729.66406873 | 4.78132756263 |
| 2735 | 2734 | 7727.20907953 | -4.69395491598 | 7732.90303444 | 4.69395491598 |
| 2736 | 2735 | 7730.53560077 | -4.60289002986 | 7736.1384908 | 4.60289002986 |
| 2737 | 2736 | 7733.86230483 | -4.50886348504 | 7739.37116831 | 4.50886348504 |
| 2738 | 2737 | 7737.18919164 | -4.41260380319 | 7742.60179544 | 4.41260380319 |
| 2739 | 2738 | 7740.51626112 | -4.31483376362 | 7745.83109489 | 4.31483376362 |
| 2740 | 2739 | 7743.84351323 | -4.21626677482 | 7749.05978 | 4.21626677482 |
| 2741 | 2740 | 7747.17094788 | -4.11760331811 | 7752.2885512 | 4.11760331811 |
| 2742 | 2741 | 7750.49856502 | -4.01952748083 | 7755.5180925 | 4.01952748083 |
| 2743 | 2742 | 7753.82636456 | -3.92270359572 | 7758.74906816 | 3.92270359572 |
| 2744 | 2743 | 7757.15434646 | -3.82777300255 | 7761.98211947 | 3.82777300255 |
| 2745 | 2744 | 7760.48251064 | -3.73535094758 | 7765.21786159 | 3.73535094758 |
| 2746 | 2745 | 7763.81085704 | -3.64602363565 | 7768.45688067 | 3.64602363565 |
| 2747 | 2746 | 7767.13938558 | -3.56034544877 | 7771.69973103 | 3.56034544877 |
| 2748 | 2747 | 7770.46809621 | -3.47883634439 | 7774.94693256 | 3.47883634439 |
| 2749 | 2748 | 7773.79698886 | -3.40197944562 | 7778.1989683 | 3.40197944562 |
| 2750 | 2749 | 7777.12606345 | -3.33021883442 | 7781.45628229 | 3.33021883442 |
| 2751 | 2750 | 7780.45531993 | -3.26395755816 | 7784.71927749 | 3.26395755816 |
| 2752 | 2751 | 7783.78475823 | -3.20355585845 | 7787.98831409 | 3.20355585845 |
| 2753 | 2752 | 7787.11437828 | -3.14932963031 | 7791.26370791 | 3.14932963031 |
| 2754 | 2753 | 7790.44418002 | -3.1015491184 | 7794.54572914 | 3.1015491184 |
| 2755 | 2754 | 7793.77416337 | -3.06043785605 | 7797.83460123 | 3.06043785605 |
| 2756 | 2755 | 7797.10432829 | -3.02617185122 | 7801.13050014 | 3.02617185122 |
| 2757 | 2756 | 7800.43467468 | -2.99887902275 | 7804.43355371 | 2.99887902275 |
| 2758 | 2757 | 7803.7652025 | -2.9786388887 | 7807.74384139 | 2.9786388887 |
| 2759 | 2758 | 7807.09591168 | -2.9654825073 | 7811.06139419 | 2.9654825073 |
| 2760 | 2759 | 7810.42680215 | -2.95939267004 | 7814.38619482 | 2.95939267004 |
| 2761 | 2760 | 7813.75787384 | -2.96030434481 | 7817.71817819 | 2.96030434481 |
| 2762 | 2761 | 7817.0891267 | -2.96810536607 | 7821.05723206 | 2.96810536607 |
| 2763 | 2762 | 7820.42056064 | -2.9826373676 | 7824.40319801 | 2.9826373676 |
| 2764 | 2763 | 7823.75217562 | -3.00369695225 | 7827.75587257 | 3.00369695225 |
| 2765 | 2764 | 7827.08397156 | -3.03103709198 | 7831.11500865 | 3.03103709198 |
| 2766 | 2765 | 7830.41594839 | -3.0643687502 | 7834.48031714 | 3.0643687502 |
| 2767 | 2766 | 7833.74810606 | -3.10336271749 | 7837.85146878 | 3.10336271749 |
| 2768 | 2767 | 7837.08044449 | -3.1476516507 | 7841.22809614 | 3.1476516507 |
| 2769 | 2768 | 7840.41296362 | -3.1968323042 | 7844.60979593 | 3.1968323042 |
| 2770 | 2769 | 7843.7456634 | -3.25046794154 | 7847.99613134 | 3.25046794154 |
| 2771 | 2770 | 7847.07854374 | -3.30809091448 | 7851.38663465 | 3.30809091448 |
| 2772 | 2771 | 7850.41160458 | -3.36920539578 | 7854.78080998 | 3.36920539578 |
| 2773 | 2772 | 7853.74484587 | -3.43329025138 | 7858.17813612 | 3.43329025138 |
| 2774 | 2773 | 7857.07826753 | -3.49980203678 | 7861.57806957 | 3.49980203678 |
| 2775 | 2774 | 7860.4118695 | -3.56817810204 | 7864.9800476 | 3.56817810204 |
| 2776 | 2775 | 7863.74565172 | -3.63783978914 | 7868.38349151 | 3.63783978914 |
| 2777 | 2776 | 7867.07961412 | -3.70819570511 | 7871.78780982 | 3.70819570511 |
| 2778 | 2777 | 7870.41375663 | -3.77864505401 | 7875.19240168 | 3.77864505401 |
| 2779 | 2778 | 7873.74807919 | -3.84858101034 | 7878.5966602 | 3.84858101034 |
| 2780 | 2779 | 7877.08258174 | -3.9173941168 | 7881.99997586 | 3.9173941168 |
| 2781 | 2780 | 7880.41726421 | -3.98447568854 | 7885.4017399 | 3.98447568854 |
| 2782 | 2781 | 7883.75212653 | -4.0492212067 | 7888.80134774 | 4.0492212067 |
| 2783 | 2782 | 7887.08716865 | -4.11103368372 | 7892.19820233 | 4.11103368372 |
| 2784 | 2783 | 7890.42239049 | -4.1693269832 | 7895.59171748 | 4.1693269832 |
| 2785 | 2784 | 7893.757792 | -4.22352907737 | 7898.98132108 | 4.22352907737 |
| 2786 | 2785 | 7897.0933731 | -4.27308522554 | 7902.36645833 | 4.27308522554 |
| 2787 | 2786 | 7900.42913374 | -4.31746105743 | 7905.7465948 | 4.31746105743 |
| 2788 | 2787 | 7903.76507384 | -4.35614554561 | 7909.12121939 | 4.35614554561 |
| 2789 | 2788 | 7907.10119335 | -4.38865385208 | 7912.48984721 | 4.38865385208 |
| 2790 | 2789 | 7910.4374922 | -4.41453003446 | 7915.85202224 | 4.41453003446 |
| 2791 | 2790 | 7913.77397033 | -4.43334959826 | 7919.20731993 | 4.43334959826 |
| 2792 | 2791 | 7917.11062767 | -4.44472188234 | 7922.55534955 | 4.44472188234 |
| 2793 | 2792 | 7920.44746415 | -4.44829226543 | 7925.89575642 | 4.44829226543 |
| 2794 | 2793 | 7923.78447972 | -4.44374418284 | 7929.2282239 | 4.44374418284 |
| 2795 | 2794 | 7927.1216743 | -4.43080094319 | 7932.55247525 | 4.43080094319 |
| 2796 | 2795 | 7930.45904785 | -4.40922733609 | 7935.86827518 | 4.40922733609 |
| 2797 | 2796 | 7933.79660028 | -4.37883102287 | 7939.1754313 | 4.37883102287 |
| 2798 | 2797 | 7937.13433154 | -4.33946370347 | 7942.47379524 | 4.33946370347 |
| 2799 | 2798 | 7940.47224156 | -4.29102205378 | 7945.76326361 | 4.29102205378 |
| 2800 | 2799 | 7943.81033028 | -4.23344842897 | 7949.04377871 | 4.23344842897 |
| 2801 | 2800 | 7947.14859764 | -4.16673132937 | 7952.31532897 | 4.16673132937 |
| 2802 | 2801 | 7950.48704356 | -4.09090562698 | 7955.57794919 | 4.09090562698 |
| 2803 | 2802 | 7953.825668 | -4.0060525515 | 7958.83172055 | 4.0060525515 |
| 2804 | 2803 | 7957.16447088 | -3.91229943637 | 7962.07677032 | 3.91229943637 |
| 2805 | 2804 | 7960.50345214 | -3.80981922638 | 7965.31327137 | 3.80981922638 |
| 2806 | 2805 | 7963.84261172 | -3.69882974953 | 7968.54144146 | 3.69882974953 |
| 2807 | 2806 | 7967.18194954 | -3.57959275727 | 7971.7615423 | 3.57959275727 |
| 2808 | 2807 | 7970.52146556 | -3.45241273805 | 7974.9738783 | 3.45241273805 |
| 2809 | 2808 | 7973.86115971 | -3.31763551077 | 7978.17879522 | 3.31763551077 |
| 2810 | 2809 | 7977.20103192 | -3.17564660531 | 7981.37667852 | 3.17564660531 |
| 2811 | 2810 | 7980.54108212 | -3.02686943872 | 7984.56795156 | 3.02686943872 |
| 2812 | 2811 | 7983.88131027 | -2.87176329666 | 7987.75307356 | 2.87176329666 |
| 2813 | 2812 | 7987.22171628 | -2.71082113054 | 7990.93253741 | 2.71082113054 |
| 2814 | 2813 | 7990.56230011 | -2.54456718176 | 7994.10686729 | 2.54456718176 |
| 2815 | 2814 | 7993.90306168 | -2.37355444554 | 7997.27661612 | 2.37355444554 |
| 2816 | 2815 | 7997.24400093 | -2.19836198726 | 8000.44236292 | 2.19836198726 |
| 2817 | 2816 | 8000.58511781 | -2.01959212525 | 8003.60470993 | 2.01959212525 |
| 2818 | 2817 | 8003.92641224 | -1.83786749468 | 8006.76427973 | 1.83786749468 |
| 2819 | 2818 | 8007.26788416 | -1.65382800748 | 8009.92171217 | 1.65382800748 |
| 2820 | 2819 | 8010.60953352 | -1.46812772401 | 8013.07766124 | 1.46812772401 |
| 2821 | 2820 | 8013.95136024 | -1.2814316527 | 8016.2327919 | 1.2814316527 |
| 2822 | 2821 | 8017.29336427 | -1.0944124938 | 8019.38777677 | 1.0944124938 |
| 2823 | 2822 | 8020.63554554 | -0.907747344297 | 8022.54329289 | 0.907747344297 |
| 2824 | 2823 | 8023.97790399 | -0.722114380554 | 8025.70001837 | 0.722114380554 |
| 2825 | 2824 | 8027.32043956 | -0.538189535935 | 8028.85862909 | 0.538189535935 |
| 2826 | 2825 | 8030.66315218 | -0.356643190255 | 8032.01979537 | 0.356643190255 |
| 2827 | 2826 | 8034.00604179 | -0.178136888056 | 8035.18417868 | 0.178136888056 |
| 2828 | 2827 | 8037.34910833 | -0.00332010246648 | 8038.35242843 | 0.00332010246648 |
| 2829 | 2828 | 8040.69235174 | 0.167172938829 | 8041.5251788 | 0.167172938829 |
| 2830 | 2829 | 8044.03577194 | 0.332726349307 | 8044.7030456 | 0.332726349307 |
| 2831 | 2830 | 8047.37936889 | 0.492745585228 | 8047.88662331 | 0.492745585228 |
| 2832 | 2831 | 8050.72314252 | 0.646660337859 | 8051.07648219 | 0.646660337859 |
| 2833 | 2832 | 8054.06709277 | 0.793927301576 | 8054.27316547 | 0.793927301576 |
| 2834 | 2833 | 8057.41121957 | 0.934032803763 | 8057.47718676 | 0.934032803763 |
| 2835 | 2834 | 8060.75552286 | 1.06649528313 | 8060.68902757 | 1.06649528313 |
| 2836 | 2835 | 8064.10000257 | 1.19086760388 | 8063.90913497 | 1.19086760388 |
| 2837 | 2836 | 8067.44465866 | 1.30673919396 | 8067.13791947 | 1.30673919396 |
| 2838 | 2837 | 8070.78949105 | 1.41373799661 | 8070.37575305 | 1.41373799661 |
| 2839 | 2838 | 8074.13449968 | 1.51153222526 | 8073.62296746 | 1.51153222526 |
| 2840 | 2839 | 8077.4796845 | 1.59983191304 | 8076.87985258 | 1.59983191304 |
| 2841 | 2840 | 8080.82504543 | 1.67839024894 | 8080.14665518 | 1.67839024894 |
| 2842 | 2841 | 8084.17058242 | 1.74700469404 | 8083.42357772 | 1.74700469404 |
| 2843 | 2842 | 8087.5162954 | 1.80551787221 | 8086.71077753 | 1.80551787221 |
| 2844 | 2843 | 8090.86218431 | 1.85381823076 | 8090.00836608 | 1.85381823076 |
| 2845 | 2844 | 8094.2082491 | 1.89184046794 | 8093.31640863 | 1.89184046794 |
| 2846 | 2845 | 8097.55448969 | 1.91956572516 | 8096.63492397 | 1.91956572516 |
| 2847 | 2846 | 8100.90090603 | 1.93702154307 | 8099.96388449 | 1.93702154307 |
| 2848 | 2847 | 8104.24749806 | 1.94428158194 | 8103.30321648 | 1.94428158194 |
| 2849 | 2848 | 8107.59426571 | 1.94146510792 | 8106.6528006 | 1.94146510792 |
| 2850 | 2849 | 8110.94120892 | 1.92873624784 | 8110.01247267 | 1.92873624784 |
| 2851 | 2850 | 8114.28832763 | 1.90630301667 | 8113.38202461 | 1.90630301667 |
| 2852 | 2851 | 8117.63562178 | 1.87441612266 | 8116.76120566 | 1.87441612266 |
| 2853 | 2852 | 8120.98309131 | 1.83336755654 | 8120.14972375 | 1.83336755654 |
| 2854 | 2853 | 8124.33073615 | 1.78348897198 | 8123.54724718 | 1.78348897198 |
| 2855 | 2854 | 8127.67855625 | 1.72514986596 | 8126.95340638 | 1.72514986596 |
| 2856 | 2855 | 8131.02655154 | 1.65875556838 | 8130.36779597 | 1.65875556838 |
| 2857 | 2856 | 8134.37472196 | 1.58474505141 | 8133.78997691 | 1.58474505141 |
| 2858 | 2857 | 8137.72306745 | 1.50358856999 | 8137.21947888 | 1.50358856999 |
| 2859 | 2858 | 8141.07158795 | 1.41578514566 | 8140.6558028 | 1.41578514566 |
| 2860 | 2859 | 8144.4202834 | 1.32185990678 | 8144.09842349 | 1.32185990678 |
| 2861 | 2860 | 8147.76915373 | 1.22236129902 | 8147.54679243 | 1.22236129902 |
| 2862 | 2861 | 8151.11819889 | 1.11785818036 | 8151.00034071 | 1.11785818036 |
| 2863 | 2862 | 8154.46741881 | 1.00893681597 | 8154.45848199 | 1.00893681597 |
| 2864 | 2863 | 8157.81681344 | 0.896197788167 | 8157.92061565 | 0.896197788167 |
| 2865 | 2864 | 8161.1663827 | 0.780252837777 | 8161.38612987 | 0.780252837777 |
| 2866 | 2865 | 8164.51612655 | 0.661721653045 | 8164.8544049 | 0.661721653045 |
| 2867 | 2866 | 8167.86604492 | 0.541228622843 | 8168.3248163 | 0.541228622843 |
| 2868 | 2867 | 8171.21613775 | 0.419399570943 | 8171.79673818 | 0.419399570943 |
| 2869 | 2868 | 8174.56640498 | 0.29685848831 | 8175.26954649 | 0.29685848831 |
| 2870 | 2869 | 8177.91684654 | 0.174224280338 | 8178.74262226 | 0.174224280338 |
| 2871 | 2870 | 8181.26746238 | 0.052107545915 | 8182.21535483 | 0.052107545915 |
| 2872 | 2871 | 8184.61825244 | -0.0688925949815 | 8185.68714503 | 0.0688925949815 |
| 2873 | 2872 | 8187.96921665 | -0.188191608677 | 8189.15740826 | 0.188191608677 |
| 2874 | 2873 | 8191.32035495 | -0.305222574033 | 8192.62557753 | 0.305222574033 |
| 2875 | 2874 | 8194.6716673 | -0.419439111789 | 8196.09110641 | 0.419439111789 |
| 2876 | 2875 | 8198.02315361 | -0.530318201756 | 8199.55347181 | 0.530318201756 |
| 2877 | 2876 | 8201.37481384 | -0.63736287318 | 8203.01217671 | 0.63736287318 |
| 2878 | 2877 | 8204.72664792 | -0.740104754247 | 8206.46675267 | 0.740104754247 |
| 2879 | 2878 | 8208.07865579 | -0.838106467386 | 8209.91676226 | 0.838106467386 |
| 2880 | 2879 | 8211.43083739 | -0.930963857841 | 8213.36180125 | 0.930963857841 |
| 2881 | 2880 | 8214.78319267 | -1.01830804382 | 8216.80150071 | 1.01830804382 |
| 2882 | 2881 | 8218.13572155 | -1.09980727743 | 8220.23552883 | 1.09980727743 |
| 2883 | 2882 | 8221.48842399 | -1.17516860655 | 8223.6635926 | 1.17516860655 |
| 2884 | 2883 | 8224.84129992 | -1.24413932891 | 8227.08543925 | 1.24413932891 |
| 2885 | 2884 | 8228.19434928 | -1.30650823051 | 8230.50085751 | 1.30650823051 |
| 2886 | 2885 | 8231.54757201 | -1.36210660188 | 8233.90967861 | 1.36210660188 |
| 2887 | 2886 | 8234.90096805 | -1.41080902651 | 8237.31177707 | 1.41080902651 |
| 2888 | 2887 | 8238.25453733 | -1.45253393725 | 8240.70707127 | 1.45253393725 |
| 2889 | 2888 | 8241.60827981 | -1.4872439374 | 8244.09552375 | 1.4872439374 |
| 2890 | 2889 | 8244.96219542 | -1.51494588468 | 8247.47714131 | 1.51494588468 |
| 2891 | 2890 | 8248.3162841 | -1.53569073713 | 8250.85197484 | 1.53569073713 |
| 2892 | 2891 | 8251.67054579 | -1.54957316169 | 8254.22011895 | 1.54957316169 |
| 2893 | 2892 | 8255.02498043 | -1.55673090696 | 8257.58171134 | 1.55673090696 |
| 2894 | 2893 | 8258.37958796 | -1.55734394315 | 8260.93693191 | 1.55734394315 |
| 2895 | 2894 | 8261.73436833 | -1.55163337331 | 8264.2860017 | 1.55163337331 |
| 2896 | 2895 | 8265.08932146 | -1.53986012119 | 8267.62918158 | 1.53986012119 |
| 2897 | 2896 | 8268.44444731 | -1.52232340214 | 8270.96677071 | 1.52232340214 |
| 2898 | 2897 | 8271.7997458 | -1.49935898462 | 8274.29910479 | 1.49935898462 |
| 2899 | 2898 | 8275.15521689 | -1.47133725105 | 8277.62655414 | 1.47133725105 |
| 2900 | 2899 | 8278.51086051 | -1.43866106761 | 8280.94952158 | 1.43866106761 |
| 2901 | 2900 | 8281.86667661 | -1.40176347384 | 8284.26844008 | 1.40176347384 |
| 2902 | 2901 | 8285.22266512 | -1.3611052035 | 8287.58377032 | 1.3611052035 |
| 2903 | 2902 | 8288.57882598 | -1.31717204944 | 8290.89599803 | 1.31717204944 |
| 2904 | 2903 | 8291.93515914 | -1.27047208565 | 8294.20563123 | 1.27047208565 |
| 2905 | 2904 | 8295.29166453 | -1.22153276068 | 8297.51319729 | 1.22153276068 |
| 2906 | 2905 | 8298.6483421 | -1.17089787731 | 8300.81923998 | 1.17089787731 |
| 2907 | 2906 | 8302.00519179 | -1.1191244737 | 8304.12431627 | 1.1191244737 |
| 2908 | 2907 | 8305.36221354 | -1.06677962215 | 8307.42899316 | 1.06677962215 |
| 2909 | 2908 | 8308.71940728 | -1.01443716173 | 8310.73384444 | 1.01443716173 |
| 2910 | 2909 | 8312.07677296 | -0.962674381689 | 8314.03944735 | 0.962674381689 |
| 2911 | 2910 | 8315.43431053 | -0.912068672553 | 8317.3463792 | 0.912068672553 |
| 2912 | 2911 | 8318.79201991 | -0.863194162325 | 8320.65521408 | 0.863194162325 |
| 2913 | 2912 | 8322.14990106 | -0.81661835506 | 8323.96651942 | 0.81661835506 |
| 2914 | 2913 | 8325.50795391 | -0.772898789284 | 8327.2808527 | 0.772898789284 |
| 2915 | 2914 | 8328.86617841 | -0.732579733585 | 8330.59875814 | 0.732579733585 |
| 2916 | 2915 | 8332.22457449 | -0.696188936585 | 8333.92076342 | 0.696188936585 |
| 2917 | 2916 | 8335.58314209 | -0.66423444825 | 8337.24737654 | 0.66423444825 |
| 2918 | 2917 | 8338.94188117 | -0.637201529207 | 8340.5790827 | 0.637201529207 |
| 2919 | 2918 | 8342.30079165 | -0.615549664283 | 8343.91634132 | 0.615549664283 |
| 2920 | 2919 | 8345.65987349 | -0.599709696045 | 8347.25958318 | 0.599709696045 |
| 2921 | 2920 | 8349.01912661 | -0.590081093522 | 8350.60920771 | 0.590081093522 |
| 2922 | 2921 | 8352.37855097 | -0.587029370641 | 8353.96558034 | 0.587029370641 |
| 2923 | 2922 | 8355.7381465 | -0.590883668216 | 8357.32903017 | 0.590883668216 |
| 2924 | 2923 | 8359.09791315 | -0.601934512518 | 8360.69984766 | 0.601934512518 |
| 2925 | 2924 | 8362.45785086 | -0.620431762603 | 8364.07828262 | 0.620431762603 |
| 2926 | 2925 | 8365.81795956 | -0.64658275765 | 8367.46454232 | 0.64658275765 |
| 2927 | 2926 | 8369.17823921 | -0.680550674604 | 8370.85878988 | 0.680550674604 |
| 2928 | 2927 | 8372.53868973 | -0.722453105353 | 8374.26114284 | 0.722453105353 |
| 2929 | 2928 | 8375.89931108 | -0.772360861626 | 8377.67167194 | 0.772360861626 |
| 2930 | 2929 | 8379.2601032 | -0.830297014649 | 8381.09040021 | 0.830297014649 |
| 2931 | 2930 | 8382.62106602 | -0.896236175444 | 8384.51730219 | 0.896236175444 |
| 2932 | 2931 | 8385.98219949 | -0.970104020485 | 8387.95230351 | 0.970104020485 |
| 2933 | 2932 | 8389.34350355 | -1.05177706616 | 8391.39528061 | 1.05177706616 |
| 2934 | 2933 | 8392.70497814 | -1.14108269432 | 8394.84606083 | 1.14108269432 |
| 2935 | 2934 | 8396.0666232 | -1.23779942987 | 8398.30442263 | 1.23779942987 |
| 2936 | 2935 | 8399.42843869 | -1.34165747016 | 8401.77009616 | 1.34165747016 |
| 2937 | 2936 | 8402.79042452 | -1.45233946464 | 8405.24276399 | 1.45233946464 |
| 2938 | 2937 | 8406.15258066 | -1.56948154203 | 8408.72206221 | 1.56948154203 |
| 2939 | 2938 | 8409.51490705 | -1.69267458095 | 8412.20758163 | 1.69267458095 |
| 2940 | 2939 | 8412.87740361 | -1.82146571877 | 8415.69886933 | 1.82146571877 |
| 2941 | 2940 | 8416.2400703 | -1.95536009228 | 8419.19543039 | 1.95536009228 |
| 2942 | 2941 | 8419.60290706 | -2.09382280251 | 8422.69672986 | 2.09382280251 |
| 2943 | 2942 | 8422.96591383 | -2.23628109501 | 8426.20219492 | 2.23628109501 |
| 2944 | 2943 | 8426.32909055 | -2.38212674567 | 8429.71121729 | 2.38212674567 |
| 2945 | 2944 | 8429.69243716 | -2.53071864128 | 8433.22315581 | 2.53071864128 |
| 2946 | 2945 | 8433.05595362 | -2.6813855429 | 8436.73733916 | 2.6813855429 |
| 2947 | 2946 | 8436.41963985 | -2.83342901923 | 8440.25306887 | 2.83342901923 |
| 2948 | 2947 | 8439.7834958 | -2.98612653621 | 8443.76962234 | 2.98612653621 |
| 2949 | 2948 | 8443.14752142 | -3.13873468856 | 8447.28625611 | 3.13873468856 |
| 2950 | 2949 | 8446.51171665 | -3.29049255769 | 8450.8022092 | 3.29049255769 |
| 2951 | 2950 | 8449.87608142 | -3.44062518043 | 8454.3167066 | 3.44062518043 |
| 2952 | 2951 | 8453.24061568 | -3.58834711176 | 8457.8289628 | 3.58834711176 |
| 2953 | 2952 | 8456.60531938 | -3.73286606472 | 8461.33818545 | 3.73286606472 |
| 2954 | 2953 | 8459.97019246 | -3.87338661012 | 8464.84357907 | 3.87338661012 |
| 2955 | 2954 | 8463.33523485 | -4.00911391803 | 8468.34434877 | 4.00911391803 |
| 2956 | 2955 | 8466.70044651 | -4.13925752336 | 8471.83970403 | 4.13925752336 |
| 2957 | 2956 | 8470.06582737 | -4.26303509703 | 8475.32886247 | 4.26303509703 |
| 2958 | 2957 | 8473.43137738 | -4.37967620476 | 8478.81105359 | 4.37967620476 |
| 2959 | 2958 | 8476.79709648 | -4.488426035 | 8482.28552252 | 4.488426035 |
| 2960 | 2959 | 8480.16298461 | -4.58854907804 | 8485.75153369 | 4.58854907804 |
| 2961 | 2960 | 8483.52904172 | -4.67933273824 | 8489.20837446 | 4.67933273824 |
| 2962 | 2961 | 8486.89526775 | -4.76009086179 | 8492.65535861 | 4.76009086179 |
| 2963 | 2962 | 8490.26166264 | -4.83016716267 | 8496.0918298 | 4.83016716267 |
| 2964 | 2963 | 8493.62822633 | -4.88893853006 | 8499.51716486 | 4.88893853006 |
| 2965 | 2964 | 8496.99495878 | -4.93581820071 | 8502.93077698 | 4.93581820071 |
| 2966 | 2965 | 8500.36185991 | -4.97025878091 | 8506.33211869 | 4.97025878091 |
| 2967 | 2966 | 8503.72892968 | -4.99175510273 | 8509.72068478 | 4.99175510273 |
| 2968 | 2967 | 8507.09616802 | -4.99984690059 | 8513.09601492 | 4.99984690059 |
| 2969 | 2968 | 8510.46357489 | -4.9941212947 | 8516.45769618 | 4.9941212947 |
| 2970 | 2969 | 8513.83115021 | -4.97421506883 | 8519.80536528 | 4.97421506883 |
| 2971 | 2970 | 8517.19889395 | -4.93981673112 | 8523.13871068 | 4.93981673112 |
| 2972 | 2971 | 8520.56680604 | -4.89066834728 | 8526.45747438 | 4.89066834728 |
| 2973 | 2972 | 8523.93488641 | -4.82656713686 | 8529.76145355 | 4.82656713686 |
| 2974 | 2973 | 8527.30313503 | -4.74736682446 | 8533.05050185 | 4.74736682446 |
| 2975 | 2974 | 8530.67155183 | -4.65297873857 | 8536.32453057 | 4.65297873857 |
| 2976 | 2975 | 8534.04013675 | -4.54337265235 | 8539.5835094 | 4.54337265235 |
| 2977 | 2976 | 8537.40888973 | -4.41857736163 | 8542.8274671 | 4.41857736163 |
| 2978 | 2977 | 8540.77781073 | -4.27868099674 | 8546.05649173 | 4.27868099674 |
| 2979 | 2978 | 8544.14689968 | -4.12383106606 | 8549.27073075 | 4.12383106606 |
| 2980 | 2979 | 8547.51615653 | -3.95423423047 | 8552.47039076 | 3.95423423047 |
| 2981 | 2980 | 8550.88558123 | -3.77015580921 | 8555.65573703 | 3.77015580921 |
| 2982 | 2981 | 8554.2551737 | -3.57191901877 | 8558.82709272 | 3.57191901877 |
| 2983 | 2982 | 8557.62493391 | -3.35990394809 | 8561.98483786 | 3.35990394809 |
| 2984 | 2983 | 8560.99486179 | -3.13454627407 | 8565.12940806 | 3.13454627407 |
| 2985 | 2984 | 8564.36495728 | -2.89633572327 | 8568.26129301 | 2.89633572327 |
| 2986 | 2985 | 8567.73522034 | -2.64581428632 | 8571.38103462 | 2.64581428632 |
| 2987 | 2986 | 8571.1056509 | -2.38357419317 | 8574.48922509 | 2.38357419317 |
| 2988 | 2987 | 8574.4762489 | -2.11025565826 | 8577.58650456 | 2.11025565826 |
| 2989 | 2988 | 8577.8470143 | -1.82654440583 | 8580.67355871 | 1.82654440583 |
| 2990 | 2989 | 8581.21794704 | -1.53316898665 | 8583.75111603 | 1.53316898665 |
| 2991 | 2990 | 8584.58904706 | -1.2308978986 | 8586.81994495 | 1.2308978986 |
| 2992 | 2991 | 8587.9603143 | -0.920536524071 | 8589.88085082 | 0.920536524071 |
| 2993 | 2992 | 8591.3317487 | -0.602923898671 | 8592.9346726 | 0.602923898671 |
| 2994 | 2993 | 8594.70335022 | -0.278929325852 | 8595.98227955 | 0.278929325852 |
| 2995 | 2994 | 8598.0751188 | 0.0505511466585 | 8599.02456765 | 0.0505511466585 |
| 2996 | 2995 | 8601.44705438 | 0.384598372349 | 8602.06245601 | 0.384598372349 |
| 2997 | 2996 | 8604.8191569 | 0.722273856401 | 8605.09688304 | 0.722273856401 |
| 2998 | 2997 | 8608.19142631 | 1.06262359371 | 8608.12880272 | 1.06262359371 |
| 2999 | 2998 | 8611.56386256 | 1.40468197658 | 8611.15918058 | 1.40468197658 |
| 3000 | 2999 | 8614.93646558 | 1.74747575395 | 8614.18898983 | 1.74747575395 |
| 3001 | 3000 | 8618.30923532 | 2.09002802367 | 8617.2192073 | 2.09002802367 |
E-021-sinf-sf-curve.json
— 1.2 KB, updated 08-19-2026
JSON sidecar (click to expand)
{
"experiment": "E-021",
"task": "3.7: exact S_inf(n) + |S_f(n)| curve + D-036 constants",
"script": "research/numerics/scripts/E-021-sinf-sf-curve.py",
"parameters": {
"n_max": 5000,
"t_zeros": 5000.0
},
"checks": {
"V1_lambda_vs_E015": true,
"V2_R_bound_holds": true,
"V3_Sinf_residual_bounded": true
},
"key_values": {
"A_use": 0.9,
"B0_use": 1.0,
"R_max_sample": 4.7507714994958565,
"C0_samples": {
"1e2": 6.234438640727731,
"1e4": 8.840233256550178,
"1e6": 11.194201354663145
},
"eta_0": "-0.5772156649015328606065120900824024310",
"Sinf_residual_fits": [
[
1000,
-0.2500416666625
],
[
2000,
-0.2500208333328125
],
[
3000,
-0.25001388888873455
],
[
4000,
-0.25001041666660156
],
[
5000,
-0.2500083333333
]
],
"V1_worst_rel": 4.79820218420929e-25,
"S_f_max_abs": "13.5229134371",
"S_f_max_abs_n": 3298
},
"elapsed_seconds": 2139.3,
"timestamp_utc": "2026-08-19T06:48:55.463113+00:00"
}
Source code
Python script (click to expand)
"""E-021 — task 3.7: exact S_inf(n) to n=1e4, |S_f(n)| curve, tightened
D-036 constants. Feeds D-037 (finite-height Li theorem).
Components:
P1. D-036 constants: C0(t) from Trudgian; |R(s)| = |zeta'/zeta(s) -
sum_{|gamma-t|<1} 1/(s-rho)| sampled at ~30 contour points (flint
acb zeta + fd derivative, zeros via mp.zetazero) -> fit A, B0.
P2. eta_j — ALL FLINT (session 006 cont.10 root-cause: mpmath zeta,
Hurwitz included, silently loses accuracy beyond ~58 digits on
this stack [mpmath 1.3 + Py 3.14] -> eta_j errors ~1e-58 ->
S_f binomial cancellation explodes ~(4/3)^n; V1 failed 1.4e143.
The zero-side sigma route also has eta_0 wrong by 2.4e-4 from
sigma_1 truncation at T=5000 — both defects removed here).
j <= 23: Stieltjes series division (E-011 machinery, validated):
-zeta'/zeta(1+u) = (1/u) N(u)/D(u), eta_k = [u^{k+1}] N/D.
j >= 24: Lagarias (4.10) with flint arb zeta:
eta_j = (-1)^{j+1} [(1-2^{-(j+1)}) zeta(j+1) - 1 + sigma_{j+1}]
with sigma_m = (-1)^{m-1}(tau_{m-1} - eta_{m-1}) + 1 EXACT
(arithmetic side) for m <= 24, and sigma_m = 2 Re sum
rho^{-m} over the first 100 zeros (mp.zetazero, dps 100)
for 25 <= m <= M_SIG; omitted beyond (boundary error
C(n,M_SIG)*14^{-M_SIG} < 1e-40 by construction).
NOTES (hard-won, session 006 cont.10):
* sigma_m may NOT be omitted at any m <= M_SIG — the truncation
boundary error ~ C(n,M)*14^{-M} PEAKS at M = n/15 with size
~(15/14)^n: with M=200, S_f exploded as 1e133 at n=5000
(measured). M_SIG ~ 0.22*n_max.
* the m=24 omission alone moved S_f(200) by ~0.4 (measured).
* float64 zeros for sigma_m are NOT enough either (S_f(300) off
by 7.8e-8 — measured); need mp.zetazero precision. Zeros
k > 100 contribute < (14.13/236.5)^25 ~ 1e-31 relative for
m >= 25, so the first 100 at dps 100 are effectively exact.
* GAMMA_E must be a string (bare float -> 53-bit, 4.94e-21).
P3. S_inf(n) EXACT for n <= N_MAX (Lagarias (4.11)):
S_inf(n) = sum_{j=1}^n (-1)^j C(n,j) (1-2^{-j}) zeta*(j),
zeta*(1) = log(4pi)+gamma, zeta*(j) = zeta(j) (flint.arb).
Cancellation ~2^n -> dps = ceil(0.31*n) + 60.
P4. S_f(n) = sum_{j=1}^n C(n,j) eta_{j-1} (plain binomial — the
E-011/Lagarias-(4.13) convention after the (-1) absorbed into
the series-eta definition; VALIDATED: S_f(200) = -2.14037668
matches S_inf(200)+1-lambda_200(E-015)); lambda_n =
S_inf - S_f + 1.
P5. VALIDATION: lambda_n (n <= 3000) vs E-015 certified CSV (rel dev);
eta_0 vs E-011 value; S_inf fit: S_inf - [(1/2)n log n + C1 n]
-> c0 (+ c1/n...), C1 = (gamma-1-log(2pi))/2.
Checks:
V1. lambda_n matches E-015 for n <= 3000 (rel dev < 1e-50 at dps used).
V2. |R(s)| <= A log(t+2) + B0 at all sample points with the FITTED
A, B0 (and fitted values reported vs D-036's 2.0/2.0).
V3. S_inf fit residual -> constant c0 (|residual - c0| -> 0 trend).
Outputs: research/numerics/data/E-021-sinf-sf-curve.csv (+ .json)
"""
import json
import sys
import time
from datetime import datetime, timezone
from pathlib import Path
import flint
import mpmath as mp
import numpy as np
REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-021-sinf-sf-curve.csv"
JSON = DATA / "E-021-sinf-sf-curve.json"
E015 = DATA / "E-015-li-coefficients-n3000.csv"
N_MAX = 5000 # 10000 costs ~2h (row cost ~ n^2 * dps);
# cached zeta/zeros make a later 1e4 rerun cheap
T_ZEROS = 5000.0 # zeros up to this height for sigma sums
N_ZMAX = 8000 # mp.zetazero count cap (N(5e3) ~ 7.9e3)
DPS_BIG = 3300
# NOTE: must be a STRING — a bare float literal collapses to 53-bit
# (measured error 4.94e-21 -> sigma_1/zeta*(1) wrong at digit 21).
GAMMA_E = "0.57721566490153286060651209008240243104215933593992337"
# ---------------------------------------------------------------- N(T)
def N_count(T):
F = (T / (2 * np.pi)) * np.log(T / (2 * np.pi)) - T / (2 * np.pi) + 7 / 8
return F
def S_bound(T):
return 0.137 * np.log(T) + 0.443 * np.log(np.log(T)) + 1.588
def C0(t):
"""Upper bound for zeros in [t, t+1] (t >= 10)."""
return (N_count(t + 1) - N_count(t)) + S_bound(t + 1) + S_bound(t)
# ------------------------------------------------------------- zeros
def compute_zeros():
cache = DATA / "E-021-zeros-cache.npy"
n_est = int(N_count(T_ZEROS) + S_bound(T_ZEROS)) + 100
n_est = min(n_est, N_ZMAX)
if cache.exists():
zs = np.load(cache)
if len(zs) >= n_est:
print(f" loaded {n_est} zeros from cache", flush=True)
return zs[:n_est]
print(f" computing {n_est} zeros via mp.zetazero ...", flush=True)
mp.mp.dps = 30
zs = []
for k in range(1, n_est + 1):
zs.append(mp.zetazero(k).imag)
if k % 1000 == 0:
print(f" {k}/{n_est}", flush=True)
out = np.array([float(z) for z in zs])
np.save(cache, out)
return out
# ------------------------------------------------------- zeta strings
def get_zeta_strings(n_max):
"""zeta(j) decimal strings at full precision (flint arb), cached.
full_digits = 0.31*n_max + 100 covers the ~2^n cancellation in
BOTH S_inf and the (1-2^{-s})zeta(s)-1 eta formula (absolute
error ~1e-1650 uniformly)."""
full_digits = int(0.31 * n_max) + 100
zcache = DATA / "E-021-zeta-cache.json"
if zcache.exists():
zeta_str = {int(k): v for k, v in
json.loads(zcache.read_text()).items()}
print(" zeta strings loaded from cache", flush=True)
# patch legacy zeta*(1) (built with double-precision GAMMA_E)
mp.mp.dps = full_digits + 50
z1 = mp.nstr(mp.log(4 * mp.pi) + mp.mpf(GAMMA_E), full_digits)
if zeta_str.get(1) != z1:
zeta_str[1] = z1
zcache.write_text(json.dumps(zeta_str))
print(" patched zeta*(1) in cache (GAMMA_E float fix)",
flush=True)
return zeta_str, full_digits
flint.ctx.prec = int(full_digits * 3.33) + 200
mp.mp.dps = full_digits + 50
zeta_str = {1: mp.nstr(mp.log(4 * mp.pi) + mp.mpf(GAMMA_E),
full_digits)}
for j in range(2, n_max + 1):
zeta_str[j] = flint.arb(j).zeta().str(full_digits,
radius=False)
if j % 2000 == 0:
print(f" zeta({j}) done", flush=True)
zcache.write_text(json.dumps(zeta_str))
return zeta_str, full_digits
# ---------------------------------------------------------------- eta
# K_SPLIT: eta_j for j < K_SPLIT from Stieltjes (exact, arithmetic);
# sigma_m exact for m <= K_SPLIT. Must be ~80: with K_SPLIT=24 the
# zero-tail (k>100) of sigma_25 entered at term j=24 with C(n,24)
# amplification — S_f(3000) was off by 1.06e3 growing ~n^24 (measured).
# With K_SPLIT=80 the zero-tail exposure (m>=81, k>100) is < 3e-11.
K_SPLIT = 80
def compute_eta(zeta_str, full_digits):
"""eta_j for j = 0..N_MAX-1, ALL flint-based (see header P2).
Returns dict j -> decimal string at full_digits."""
print(f" eta_0..{K_SPLIT - 1}: flint Stieltjes + series division "
"(E-011) ...", flush=True)
flint.ctx.prec = int((full_digits + 100) * 3.33) + 200
mp.mp.dps = full_digits + 100 # BEFORE mp.mpf(string) parses below!
gam_s = [mp.mpf(flint.acb.stieltjes(k).real.str(
full_digits + 100, radius=False)) for k in range(K_SPLIT + 2)]
N_ = [mp.mpf(0)] * (K_SPLIT + 2)
D_ = [mp.mpf(0)] * (K_SPLIT + 2)
N_[0] = D_[0] = 1
for m in range(0, K_SPLIT + 1):
D_[m + 1] = (-1) ** m * gam_s[m] / mp.factorial(m)
for m in range(1, K_SPLIT + 1):
N_[m + 1] = -(-1) ** m * gam_s[m] / mp.factorial(m - 1)
Ev = [mp.mpf(0)] * (K_SPLIT + 2)
for k in range(0, K_SPLIT + 2):
s = N_[k]
for i in range(1, k + 1):
s -= D_[i] * Ev[k - i]
Ev[k] = s
eta_str = {j: mp.nstr(Ev[j + 1], full_digits)
for j in range(K_SPLIT)}
print(f" eta_0 = {mp.nstr(Ev[1], 15)} (should be -gamma)",
flush=True)
print(f" eta_1 = {mp.nstr(Ev[2], 15)}", flush=True)
# ---- sigma_m: exact (arithmetic) for m <= 24; zeros for 25..200
print(" sigma_m: m<=24 exact (tau-eta), 25..200 from zeros ...",
flush=True)
mp.mp.dps = full_digits + 50
tau = {0: mp.mpf(-0.5) * (mp.log(4 * mp.pi) + mp.mpf(GAMMA_E))}
for j in range(1, K_SPLIT):
z = mp.mpf(zeta_str[j + 1])
tau[j] = (-1) ** (j + 1) * (1 - mp.mpf(2) ** (-(j + 1))) * z
sigma = {}
for m in range(1, K_SPLIT + 1):
sigma[m] = ((-1) ** (m - 1)
* (tau[m - 1] - mp.mpf(eta_str[m - 1])) + 1)
mp.mp.dps = 60
sig1_known = 1 + mp.euler / 2 - mp.log(4 * mp.pi) / 2
print(f" sigma_1 = {mp.nstr(sigma[1], 20)} "
f"(closed form {mp.nstr(sig1_known, 20)})", flush=True)
# sigma_m, m = 25..M_SIG: first 100 zeros via mp.zetazero, dps 100.
# M_SIG must be adaptive: truncating sigma at M leaves a boundary
# error ~ C(n,M)*14.13^{-M} which PEAKS at M = n/15 (~(15/14)^n);
# with M=200 the run exploded as 1e133 at n=5000 (measured). Need
# C(n,M)*14^{-M} < 1e-40 on the decreasing side (M > n/15).
# float64 zeros are NOT enough (S_f(300) off 7.8e-8 — measured);
# zeros k>100 are suppressed by (14.13/236.5)^25 ~ 1e-31 relative.
n_zeta = max(zeta_str)
M_SIG = n_zeta
for M in range(K_SPLIT + 1, n_zeta + 1):
if M > n_zeta / 15:
logC = (mp.loggamma(n_zeta + 1) - mp.loggamma(M + 1)
- mp.loggamma(n_zeta - M + 1))
if float(logC - (M - 1) * mp.log(14.13)
+ mp.log(0.05)) / np.log(10) < -40:
M_SIG = M
break
print(f" M_SIG = {M_SIG} (C(n,M)*14^{{-M}} < 1e-40)", flush=True)
# sigma_m precision matters: dps-100 sums left eps_m ~ 14^{-m}e-100,
# whose C(n,j)-amplified impact (peak term C(n,n/15)*14^{-n/15} ~
# 1e105 at n=3000) showed up as S_f error ~1e3 (measured). Zeros
# at 400 digits + sums at full_digits+50 kill it.
# dps BEFORE any mp.mpf(string) parse! (Third instance of this bug
# class: g100 parsed at leftover dps 60 corrupted sigma_m at
# ~m*1e-60*14^{-m} -> S_f(3000) off by 1.7e7, growth ~n^80.)
mp.mp.dps = full_digits + 50
z100cache = DATA / "E-021-zeros100-hi-cache.json"
if z100cache.exists():
g100 = [mp.mpf(v) for v in
json.loads(z100cache.read_text())]
else:
mp.mp.dps = 450
g100 = [mp.zetazero(k).imag for k in range(1, 101)]
z100cache.write_text(json.dumps([mp.nstr(g, 400)
for g in g100]))
mp.mp.dps = full_digits + 50
rho = [mp.mpc(mp.mpf("0.5"), g) for g in g100]
for m in range(K_SPLIT + 1, M_SIG + 1):
sigma[m] = 2 * mp.re(sum(r ** (-m) for r in rho))
mp.mp.dps = 60
print(f" sigma_2 = {mp.nstr(sigma[2], 20)}", flush=True)
print(f" sigma_25 (zeros) = {mp.nstr(sigma[25], 6)}; "
f"sigma_{M_SIG} = {mp.nstr(sigma[M_SIG], 6)}", flush=True)
print(" eta_j (j>=24): (-1)^{j+1}[(1-2^{-(j+1)})zeta(j+1) - 1 "
"+ sigma_{j+1}] ...", flush=True)
mp.mp.dps = full_digits + 50
for j in range(K_SPLIT, n_zeta):
z = mp.mpf(zeta_str[j + 1])
sig = sigma[j + 1] if j + 1 <= M_SIG else mp.mpf(0)
eta = (-1) ** (j + 1) * ((1 - mp.mpf(2) ** (-(j + 1))) * z - 1
+ sig)
eta_str[j] = mp.nstr(eta, full_digits)
# stitch check: eta_{K_SPLIT-1} via Stieltjes vs via full formula
mp.mp.dps = full_digits + 50
eta23_formula = ((-1) ** K_SPLIT
* ((1 - mp.mpf(2) ** (-K_SPLIT))
* mp.mpf(zeta_str[K_SPLIT])
- 1 + sigma[K_SPLIT]))
stitch = abs(eta23_formula - mp.mpf(eta_str[K_SPLIT - 1]))
mp.mp.dps = 60
print(f" stitch |eta_{K_SPLIT - 1} stieltjes - formula| = "
f"{mp.nstr(stitch, 3)}", flush=True)
return eta_str
# ----------------------------------------------------------- S_inf, Sf
def compute_S_inf(n_max, zeta_str, full_digits):
"""Exact S_inf(n) via zeta*(j) (flint arb), dps scaled by n.
Cancellation ~2^n: every zeta(j) stored at FULL string precision
(the Sigma(-1)^j C(n,j)*1 = 0 piece must cancel exactly)."""
print(" parsing zeta strings once at full precision ...", flush=True)
mp.mp.dps = full_digits + 50
zeta_mpf = {j: mp.mpf(v) for j, v in zeta_str.items()}
results = {}
for n in range(1, n_max + 1):
mp.mp.dps = int(0.31 * n) + 80
s = mp.mpf(0)
c = mp.mpf(1)
for j in range(1, n + 1):
c = c * (n - j + 1) / j # C(n,j) by recurrence
s += ((-1) ** j) * c * (1 - mp.mpf(2) ** (-j)) * zeta_mpf[j]
results[n] = +s
if n % 500 == 0:
print(f" S_inf row {n}/{n_max}", flush=True)
return results
def compute_Sf(n_max, eta_str):
"""S_f(n) = sum_j C(n,j) eta_{j-1} — plain binomial (E-011/Lagarias
(4.13) convention with series-eta; validated at n=200 vs E-015:
S_f(200) = -2.14037668 = S_inf(200)+1-lambda_200). Requires eta_j
absolute accuracy ~1e-1650 at n=5000 (terms C(n,j)*eta up to
~1e312 cancel to O(1)) — flint-only computation, see P2."""
full_digits = int(0.31 * n_max) + 100
mp.mp.dps = full_digits + 50
eta_mpf = {j: mp.mpf(v) for j, v in eta_str.items()}
results = {}
for n in range(1, n_max + 1):
mp.mp.dps = int(0.31 * n) + 80
s = mp.mpf(0)
c = mp.mpf(1)
for j in range(1, n + 1):
c = c * (n - j + 1) / j
s += c * eta_mpf[j - 1]
results[n] = +s
if n % 500 == 0:
print(f" S_f row {n}/{n_max}", flush=True)
return results
def main() -> int:
if CSV.exists() and "--force" not in sys.argv:
print(f"cached: {CSV} (use --force to recompute)")
return 0
t0 = time.time()
# ---- P1: constants
print("P1: D-036 constants ...", flush=True)
print(f" C0(100) = {C0(100):.3f}, C0(1e4) = {C0(1e4):.3f}, "
f"C0(1e6) = {C0(1e6):.3f}", flush=True)
gam_sample = compute_zeros()
def xi_mp(s):
return 0.5 * s * (s - 1) * mp.pi ** (-s / 2) * mp.gamma(s / 2) \
* mp.zeta(s)
def zeta_logder(s):
"""zeta'/zeta via xi'/xi minus explicit terms (mpmath dps 30;
complex-zeta OK to ~1e-10 per E-018 C2)."""
sm = mp.mpc(s.real, s.imag)
xi_log = mp.diff(xi_mp, sm) / xi_mp(sm)
return complex(xi_log - 1 / sm - 1 / (sm - 1)
+ mp.mpf(0.5) * mp.log(mp.pi)
- mp.mpf(0.5) * mp.digamma(sm / 2))
R_samples = []
mp.mp.dps = 30
for sig in (-2.5, 0.5, 3.0):
for t in (10.0, 50.0, 100.0, 500.0, 1000.0):
s = complex(sig, t)
near = [g for g in gam_sample if abs(g - t) < 1.0]
psum = sum(1.0 / (s - complex(0.5, g)) for g in near)
R_samples.append((sig, t, abs(zeta_logder(s) - psum)))
# fit |R| <= A log(t+2) + B0
A_fit = max(v / np.log(t + 2) for _, t, v in R_samples)
A_use = max(0.5, float(np.ceil(A_fit * 1.2 * 10) / 10))
B0_need = max(v - A_use * np.log(t + 2) for _, t, v in R_samples)
B0_use = max(1.0, float(np.ceil(B0_need * 1.3 * 10) / 10))
print(f" |R| max sample = {max(v for *_ , v in R_samples):.2f}; "
f"A_use={A_use}, B0_use={B0_use}", flush=True)
# ---- P2: zeta strings + eta (all flint)
print("P2: zeta strings + eta_j (flint) ...", flush=True)
zeta_str, full_digits = get_zeta_strings(N_MAX)
eta_str = compute_eta(zeta_str, full_digits)
# ---- P3/P4: S_inf, S_f
print("P3: S_inf exact ...", flush=True)
S_inf = compute_S_inf(N_MAX, zeta_str, full_digits)
print("P4: S_f ...", flush=True)
S_f = compute_Sf(N_MAX, eta_str)
# ---- P5: validation + fit
print("P5: validation vs E-015 ...", flush=True)
e015 = {}
with E015.open() as f:
header = f.readline()
for line in f:
parts = line.strip().split(",")
if len(parts) >= 2 and parts[0].isdigit():
e015[int(parts[0])] = mp.mpf(parts[1])
worst = 0.0
mp.mp.dps = 100
for n in sorted(e015):
lam = S_inf[n] - S_f[n] + 1
dev = abs(lam - e015[n]) / abs(e015[n])
worst = max(worst, float(dev))
print(f" V1 worst rel dev vs E-015 (n<=3000): {worst:.2e}", flush=True)
C1 = (mp.mpf(GAMMA_E) - 1 - mp.log(2 * mp.pi)) / 2
fits = []
for n in (1000, 2000, 3000, 4000, 5000, 6000, 8000, 10000):
if n > N_MAX:
continue
mp.mp.dps = 100
resid = S_inf[n] - (mp.mpf(n) / 2) * mp.log(n) - C1 * n
fits.append((n, float(resid)))
print(f" S_inf residual (should -> c0): {fits}", flush=True)
# ---- write CSV
with CSV.open("w", encoding="utf-8", newline="") as f:
f.write("n,S_inf,S_f,lambda_n,abs_Sf\n")
for n in range(1, N_MAX + 1):
lam = S_inf[n] - S_f[n] + 1
f.write(f"{n},{mp.nstr(S_inf[n],12)},{mp.nstr(S_f[n],12)},"
f"{mp.nstr(lam,12)},{mp.nstr(abs(S_f[n]),12)}\n")
checks = {
# V1 floor is ~1e-24 (E-015 CSV holds 26 digits); 1e-15 still
# kills any macroscopic (convention/precision) bug — the bugs
# found in cont.10 produced 1e-8..1e143 deviations.
"V1_lambda_vs_E015": bool(worst < 1e-15),
"V2_R_bound_holds": bool(all(
v <= A_use * np.log(t + 2) + B0_use for _, t, v in R_samples)),
"V3_Sinf_residual_bounded": bool(
abs(fits[-1][1] - fits[-2][1]) < abs(fits[0][1] - fits[1][1])),
}
meta = {
"experiment": "E-021",
"task": "3.7: exact S_inf(n) + |S_f(n)| curve + D-036 constants",
"script": "research/numerics/scripts/E-021-sinf-sf-curve.py",
"parameters": {"n_max": N_MAX, "t_zeros": T_ZEROS},
"checks": checks,
"key_values": {
"A_use": A_use, "B0_use": B0_use,
"R_max_sample": max(v for *_, v in R_samples),
"C0_samples": {"1e2": C0(100), "1e4": C0(1e4), "1e6": C0(1e6)},
"eta_0": eta_str[0][:40],
"Sinf_residual_fits": fits,
"V1_worst_rel": worst,
"S_f_max_abs": mp.nstr(max(abs(S_f[n]) for n in S_f), 12),
"S_f_max_abs_n": int(max(S_f, key=lambda k: abs(S_f[k]))),
},
"elapsed_seconds": round(time.time() - t0, 1),
"timestamp_utc": datetime.now(timezone.utc).isoformat(),
}
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())