#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Jmat.Real.gamma, branch z greater than 0.5";

double f_if(float z) {
        float r17459 = atan2(1.0, 0.0);
        float r17460 = 2.0f;
        float r17461 = r17459 * r17460;
        float r17462 = sqrt(r17461);
        float r17463 = z;
        float r17464 = 1.0f;
        float r17465 = r17463 - r17464;
        float r17466 = 7.0f;
        float r17467 = r17465 + r17466;
        float r17468 = 0.5f;
        float r17469 = r17467 + r17468;
        float r17470 = r17465 + r17468;
        float r17471 = pow(r17469, r17470);
        float r17472 = r17462 * r17471;
        float r17473 = -r17469;
        float r17474 = exp(r17473);
        float r17475 = r17472 * r17474;
        float r17476 = 1.0f;
        float r17477 = 676.5203857421875f;
        float r17478 = r17465 + r17464;
        float r17479 = r17477 / r17478;
        float r17480 = r17476 + r17479;
        float r17481 = -1259.13916015625f;
        float r17482 = r17465 + r17460;
        float r17483 = r17481 / r17482;
        float r17484 = r17480 + r17483;
        float r17485 = 771.3234252929688f;
        float r17486 = 3.0f;
        float r17487 = r17465 + r17486;
        float r17488 = r17485 / r17487;
        float r17489 = r17484 + r17488;
        float r17490 = -176.6150360107422f;
        float r17491 = 4.0f;
        float r17492 = r17465 + r17491;
        float r17493 = r17490 / r17492;
        float r17494 = r17489 + r17493;
        float r17495 = 12.507343292236328f;
        float r17496 = 5.0f;
        float r17497 = r17465 + r17496;
        float r17498 = r17495 / r17497;
        float r17499 = r17494 + r17498;
        float r17500 = -0.138571098446846f;
        float r17501 = 6.0f;
        float r17502 = r17465 + r17501;
        float r17503 = r17500 / r17502;
        float r17504 = r17499 + r17503;
        float r17505 = 9.984369171434082e-06f;
        float r17506 = r17505 / r17467;
        float r17507 = r17504 + r17506;
        float r17508 = 1.5056326674312004e-07f;
        float r17509 = 8.0f;
        float r17510 = r17465 + r17509;
        float r17511 = r17508 / r17510;
        float r17512 = r17507 + r17511;
        float r17513 = r17475 * r17512;
        return r17513;
}

double f_id(double z) {
        double r17514 = atan2(1.0, 0.0);
        double r17515 = 2.0;
        double r17516 = r17514 * r17515;
        double r17517 = sqrt(r17516);
        double r17518 = z;
        double r17519 = 1.0;
        double r17520 = r17518 - r17519;
        double r17521 = 7.0;
        double r17522 = r17520 + r17521;
        double r17523 = 0.5;
        double r17524 = r17522 + r17523;
        double r17525 = r17520 + r17523;
        double r17526 = pow(r17524, r17525);
        double r17527 = r17517 * r17526;
        double r17528 = -r17524;
        double r17529 = exp(r17528);
        double r17530 = r17527 * r17529;
        double r17531 = 1.0;
        double r17532 = 676.5203857421875;
        double r17533 = r17520 + r17519;
        double r17534 = r17532 / r17533;
        double r17535 = r17531 + r17534;
        double r17536 = -1259.13916015625;
        double r17537 = r17520 + r17515;
        double r17538 = r17536 / r17537;
        double r17539 = r17535 + r17538;
        double r17540 = 771.3234252929688;
        double r17541 = 3.0;
        double r17542 = r17520 + r17541;
        double r17543 = r17540 / r17542;
        double r17544 = r17539 + r17543;
        double r17545 = -176.6150360107422;
        double r17546 = 4.0;
        double r17547 = r17520 + r17546;
        double r17548 = r17545 / r17547;
        double r17549 = r17544 + r17548;
        double r17550 = 12.507343292236328;
        double r17551 = 5.0;
        double r17552 = r17520 + r17551;
        double r17553 = r17550 / r17552;
        double r17554 = r17549 + r17553;
        double r17555 = -0.138571098446846;
        double r17556 = 6.0;
        double r17557 = r17520 + r17556;
        double r17558 = r17555 / r17557;
        double r17559 = r17554 + r17558;
        double r17560 = 9.984369171434082e-06;
        double r17561 = r17560 / r17522;
        double r17562 = r17559 + r17561;
        double r17563 = 1.5056326674312004e-07;
        double r17564 = 8.0;
        double r17565 = r17520 + r17564;
        double r17566 = r17563 / r17565;
        double r17567 = r17562 + r17566;
        double r17568 = r17530 * r17567;
        return r17568;
}


double f_of(float z) {
        float r17569 = z;
        float r17570 = -0.0026040219236165285f;
        bool r17571 = r17569 <= r17570;
        float r17572 = 1.5056326674312004e-07f;
        float r17573 = 7.0f;
        float r17574 = 1.0f;
        float r17575 = r17569 - r17574;
        float r17576 = r17573 + r17575;
        float r17577 = r17572 * r17576;
        float r17578 = 8.0f;
        float r17579 = r17569 + r17578;
        float r17580 = r17579 - r17574;
        float r17581 = 9.984369171434082e-06f;
        float r17582 = r17580 * r17581;
        float r17583 = r17577 + r17582;
        float r17584 = 6.0f;
        float r17585 = r17575 + r17584;
        float r17586 = 5.0f;
        float r17587 = r17574 - r17586;
        float r17588 = r17569 - r17587;
        float r17589 = r17585 * r17588;
        float r17590 = r17583 * r17589;
        float r17591 = r17580 * r17576;
        float r17592 = -0.138571098446846f;
        float r17593 = r17592 * r17588;
        float r17594 = 12.507343292236328f;
        float r17595 = r17585 * r17594;
        float r17596 = r17593 + r17595;
        float r17597 = r17591 * r17596;
        float r17598 = r17590 + r17597;
        float r17599 = -1259.13916015625f;
        float r17600 = 2.0f;
        float r17601 = r17574 - r17600;
        float r17602 = r17569 - r17601;
        float r17603 = r17599 / r17602;
        float r17604 = 771.3234252929688f;
        float r17605 = 3.0f;
        float r17606 = r17575 + r17605;
        float r17607 = r17604 / r17606;
        float r17608 = r17603 - r17607;
        float r17609 = 676.5203857421875f;
        float r17610 = 0.0f;
        float r17611 = r17569 - r17610;
        float r17612 = r17609 / r17611;
        float r17613 = r17612 * r17612;
        float r17614 = 1.0f;
        float r17615 = r17614 * r17614;
        float r17616 = r17612 * r17614;
        float r17617 = r17615 - r17616;
        float r17618 = r17613 + r17617;
        float r17619 = 4.0f;
        float r17620 = r17569 + r17619;
        float r17621 = r17620 - r17574;
        float r17622 = r17618 * r17621;
        float r17623 = r17608 * r17622;
        float r17624 = r17598 * r17623;
        float r17625 = r17591 * r17589;
        float r17626 = r17603 * r17603;
        float r17627 = r17607 * r17607;
        float r17628 = r17626 - r17627;
        float r17629 = r17628 * r17622;
        float r17630 = pow(r17612, r17605);
        float r17631 = pow(r17614, r17605);
        float r17632 = r17630 - r17631;
        float r17633 = r17632 * r17621;
        float r17634 = -176.6150360107422f;
        float r17635 = r17618 * r17634;
        float r17636 = r17633 + r17635;
        float r17637 = r17608 * r17636;
        float r17638 = r17629 + r17637;
        float r17639 = r17625 * r17638;
        float r17640 = r17624 + r17639;
        float r17641 = 0.5f;
        float r17642 = r17641 + r17573;
        float r17643 = r17575 + r17642;
        float r17644 = r17641 + r17575;
        float r17645 = pow(r17643, r17644);
        float r17646 = atan2(1.0, 0.0);
        float r17647 = r17600 * r17646;
        float r17648 = sqrt(r17647);
        float r17649 = r17645 * r17648;
        float r17650 = r17640 * r17649;
        float r17651 = r17586 + r17569;
        float r17652 = r17651 - r17574;
        float r17653 = r17584 + r17575;
        float r17654 = r17652 * r17653;
        float r17655 = r17574 - r17573;
        float r17656 = r17569 - r17655;
        float r17657 = r17578 - r17574;
        float r17658 = r17657 + r17569;
        float r17659 = r17656 * r17658;
        float r17660 = r17654 * r17659;
        float r17661 = r17605 + r17575;
        float r17662 = r17604 / r17661;
        float r17663 = r17603 - r17662;
        float r17664 = r17660 * r17663;
        float r17665 = r17614 - r17612;
        float r17666 = fma(r17614, r17665, r17613);
        float r17667 = r17619 - r17574;
        float r17668 = r17667 + r17569;
        float r17669 = r17666 * r17668;
        float r17670 = r17664 * r17669;
        float r17671 = r17573 + r17641;
        float r17672 = r17671 + r17575;
        float r17673 = exp(r17672);
        float r17674 = r17670 * r17673;
        float r17675 = r17650 / r17674;
        float r17676 = sqrt(r17646);
        float r17677 = 6.5f;
        float r17678 = 1.0f;
        float r17679 = pow(r17677, r17678);
        float r17680 = r17574 / r17679;
        float r17681 = pow(r17680, r17641);
        float r17682 = r17676 * r17681;
        float r17683 = log(r17677);
        float r17684 = sqrt(r17600);
        float r17685 = exp(r17677);
        float r17686 = r17684 / r17685;
        float r17687 = r17683 * r17686;
        float r17688 = r17686 / r17569;
        float r17689 = r17687 + r17688;
        float r17690 = r17682 * r17689;
        float r17691 = 338.26019287109375f;
        float r17692 = r17684 * r17569;
        float r17693 = r17683 * r17683;
        float r17694 = r17685 / r17693;
        float r17695 = r17692 / r17694;
        float r17696 = r17691 * r17695;
        float r17697 = r17696 * r17682;
        float r17698 = fma(r17609, r17690, r17697);
        float r17699 = 1656.8104248046875f;
        float r17700 = r17692 * r17683;
        float r17701 = r17700 / r17685;
        float r17702 = r17676 * r17686;
        float r17703 = r17702 * r17681;
        float r17704 = fma(r17701, r17682, r17703);
        float r17705 = r17699 * r17704;
        float r17706 = 2585.19482421875f;
        float r17707 = r17569 * r17676;
        float r17708 = r17685 / r17684;
        float r17709 = r17707 / r17708;
        float r17710 = r17681 * r17709;
        float r17711 = r17706 * r17710;
        float r17712 = r17705 - r17711;
        float r17713 = r17698 - r17712;
        float r17714 = r17571 ? r17675 : r17713;
        return r17714;
}

double f_od(double z) {
        double r17715 = z;
        double r17716 = -0.0026040219236165285;
        bool r17717 = r17715 <= r17716;
        double r17718 = 1.5056326674312004e-07;
        double r17719 = 7.0;
        double r17720 = 1.0;
        double r17721 = r17715 - r17720;
        double r17722 = r17719 + r17721;
        double r17723 = r17718 * r17722;
        double r17724 = 8.0;
        double r17725 = r17715 + r17724;
        double r17726 = r17725 - r17720;
        double r17727 = 9.984369171434082e-06;
        double r17728 = r17726 * r17727;
        double r17729 = r17723 + r17728;
        double r17730 = 6.0;
        double r17731 = r17721 + r17730;
        double r17732 = 5.0;
        double r17733 = r17720 - r17732;
        double r17734 = r17715 - r17733;
        double r17735 = r17731 * r17734;
        double r17736 = r17729 * r17735;
        double r17737 = r17726 * r17722;
        double r17738 = -0.138571098446846;
        double r17739 = r17738 * r17734;
        double r17740 = 12.507343292236328;
        double r17741 = r17731 * r17740;
        double r17742 = r17739 + r17741;
        double r17743 = r17737 * r17742;
        double r17744 = r17736 + r17743;
        double r17745 = -1259.13916015625;
        double r17746 = 2.0;
        double r17747 = r17720 - r17746;
        double r17748 = r17715 - r17747;
        double r17749 = r17745 / r17748;
        double r17750 = 771.3234252929688;
        double r17751 = 3.0;
        double r17752 = r17721 + r17751;
        double r17753 = r17750 / r17752;
        double r17754 = r17749 - r17753;
        double r17755 = 676.5203857421875;
        double r17756 = 0.0;
        double r17757 = r17715 - r17756;
        double r17758 = r17755 / r17757;
        double r17759 = r17758 * r17758;
        double r17760 = 1.0;
        double r17761 = r17760 * r17760;
        double r17762 = r17758 * r17760;
        double r17763 = r17761 - r17762;
        double r17764 = r17759 + r17763;
        double r17765 = 4.0;
        double r17766 = r17715 + r17765;
        double r17767 = r17766 - r17720;
        double r17768 = r17764 * r17767;
        double r17769 = r17754 * r17768;
        double r17770 = r17744 * r17769;
        double r17771 = r17737 * r17735;
        double r17772 = r17749 * r17749;
        double r17773 = r17753 * r17753;
        double r17774 = r17772 - r17773;
        double r17775 = r17774 * r17768;
        double r17776 = pow(r17758, r17751);
        double r17777 = pow(r17760, r17751);
        double r17778 = r17776 - r17777;
        double r17779 = r17778 * r17767;
        double r17780 = -176.6150360107422;
        double r17781 = r17764 * r17780;
        double r17782 = r17779 + r17781;
        double r17783 = r17754 * r17782;
        double r17784 = r17775 + r17783;
        double r17785 = r17771 * r17784;
        double r17786 = r17770 + r17785;
        double r17787 = 0.5;
        double r17788 = r17787 + r17719;
        double r17789 = r17721 + r17788;
        double r17790 = r17787 + r17721;
        double r17791 = pow(r17789, r17790);
        double r17792 = atan2(1.0, 0.0);
        double r17793 = r17746 * r17792;
        double r17794 = sqrt(r17793);
        double r17795 = r17791 * r17794;
        double r17796 = r17786 * r17795;
        double r17797 = r17732 + r17715;
        double r17798 = r17797 - r17720;
        double r17799 = r17730 + r17721;
        double r17800 = r17798 * r17799;
        double r17801 = r17720 - r17719;
        double r17802 = r17715 - r17801;
        double r17803 = r17724 - r17720;
        double r17804 = r17803 + r17715;
        double r17805 = r17802 * r17804;
        double r17806 = r17800 * r17805;
        double r17807 = r17751 + r17721;
        double r17808 = r17750 / r17807;
        double r17809 = r17749 - r17808;
        double r17810 = r17806 * r17809;
        double r17811 = r17760 - r17758;
        double r17812 = fma(r17760, r17811, r17759);
        double r17813 = r17765 - r17720;
        double r17814 = r17813 + r17715;
        double r17815 = r17812 * r17814;
        double r17816 = r17810 * r17815;
        double r17817 = r17719 + r17787;
        double r17818 = r17817 + r17721;
        double r17819 = exp(r17818);
        double r17820 = r17816 * r17819;
        double r17821 = r17796 / r17820;
        double r17822 = sqrt(r17792);
        double r17823 = 6.5;
        double r17824 = 1.0;
        double r17825 = pow(r17823, r17824);
        double r17826 = r17720 / r17825;
        double r17827 = pow(r17826, r17787);
        double r17828 = r17822 * r17827;
        double r17829 = log(r17823);
        double r17830 = sqrt(r17746);
        double r17831 = exp(r17823);
        double r17832 = r17830 / r17831;
        double r17833 = r17829 * r17832;
        double r17834 = r17832 / r17715;
        double r17835 = r17833 + r17834;
        double r17836 = r17828 * r17835;
        double r17837 = 338.26019287109375;
        double r17838 = r17830 * r17715;
        double r17839 = r17829 * r17829;
        double r17840 = r17831 / r17839;
        double r17841 = r17838 / r17840;
        double r17842 = r17837 * r17841;
        double r17843 = r17842 * r17828;
        double r17844 = fma(r17755, r17836, r17843);
        double r17845 = 1656.8104248046875;
        double r17846 = r17838 * r17829;
        double r17847 = r17846 / r17831;
        double r17848 = r17822 * r17832;
        double r17849 = r17848 * r17827;
        double r17850 = fma(r17847, r17828, r17849);
        double r17851 = r17845 * r17850;
        double r17852 = 2585.19482421875;
        double r17853 = r17715 * r17822;
        double r17854 = r17831 / r17830;
        double r17855 = r17853 / r17854;
        double r17856 = r17827 * r17855;
        double r17857 = r17852 * r17856;
        double r17858 = r17851 - r17857;
        double r17859 = r17844 - r17858;
        double r17860 = r17717 ? r17821 : r17859;
        return r17860;
}

void mpfr_fmod2(mpfr_t r, mpfr_t n, mpfr_t d, mpfr_rnd_t rmd) {
        mpfr_fmod(r, n, d, rmd);
        if (mpfr_cmp_ui(r, 0) < 0) mpfr_add(r, r, d, rmd);
}


static mpfr_t r17861, r17862, r17863, r17864, r17865, r17866, r17867, r17868, r17869, r17870, r17871, r17872, r17873, r17874, r17875, r17876, r17877, r17878, r17879, r17880, r17881, r17882, r17883, r17884, r17885, r17886, r17887, r17888, r17889, r17890, r17891, r17892, r17893, r17894, r17895, r17896, r17897, r17898, r17899, r17900, r17901, r17902, r17903, r17904, r17905, r17906, r17907, r17908, r17909, r17910, r17911, r17912, r17913, r17914, r17915;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r17861);
        mpfr_init_set_str(r17862, "2", 10, MPFR_RNDN);
        mpfr_init(r17863);
        mpfr_init(r17864);
        mpfr_init(r17865);
        mpfr_init_set_str(r17866, "1", 10, MPFR_RNDN);
        mpfr_init(r17867);
        mpfr_init_set_str(r17868, "7", 10, MPFR_RNDN);
        mpfr_init(r17869);
        mpfr_init_set_str(r17870, "0.5", 10, MPFR_RNDN);
        mpfr_init(r17871);
        mpfr_init(r17872);
        mpfr_init(r17873);
        mpfr_init(r17874);
        mpfr_init(r17875);
        mpfr_init(r17876);
        mpfr_init(r17877);
        mpfr_init_set_str(r17878, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r17879, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r17880);
        mpfr_init(r17881);
        mpfr_init(r17882);
        mpfr_init_set_str(r17883, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r17884);
        mpfr_init(r17885);
        mpfr_init(r17886);
        mpfr_init_set_str(r17887, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r17888, "3", 10, MPFR_RNDN);
        mpfr_init(r17889);
        mpfr_init(r17890);
        mpfr_init(r17891);
        mpfr_init_set_str(r17892, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r17893, "4", 10, MPFR_RNDN);
        mpfr_init(r17894);
        mpfr_init(r17895);
        mpfr_init(r17896);
        mpfr_init_set_str(r17897, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r17898, "5", 10, MPFR_RNDN);
        mpfr_init(r17899);
        mpfr_init(r17900);
        mpfr_init(r17901);
        mpfr_init_set_str(r17902, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r17903, "6", 10, MPFR_RNDN);
        mpfr_init(r17904);
        mpfr_init(r17905);
        mpfr_init(r17906);
        mpfr_init_set_str(r17907, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r17908);
        mpfr_init(r17909);
        mpfr_init_set_str(r17910, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r17911, "8", 10, MPFR_RNDN);
        mpfr_init(r17912);
        mpfr_init(r17913);
        mpfr_init(r17914);
        mpfr_init(r17915);
}

double f_im(double z) {
        mpfr_const_pi(r17861, MPFR_RNDN);
        ;
        mpfr_mul(r17863, r17861, r17862, MPFR_RNDN);
        mpfr_sqrt(r17864, r17863, MPFR_RNDN);
        mpfr_set_d(r17865, z, MPFR_RNDN);
        ;
        mpfr_sub(r17867, r17865, r17866, MPFR_RNDN);
        ;
        mpfr_add(r17869, r17867, r17868, MPFR_RNDN);
        ;
        mpfr_add(r17871, r17869, r17870, MPFR_RNDN);
        mpfr_add(r17872, r17867, r17870, MPFR_RNDN);
        mpfr_pow(r17873, r17871, r17872, MPFR_RNDN);
        mpfr_mul(r17874, r17864, r17873, MPFR_RNDN);
        mpfr_neg(r17875, r17871, MPFR_RNDN);
        mpfr_exp(r17876, r17875, MPFR_RNDN);
        mpfr_mul(r17877, r17874, r17876, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17880, r17867, r17866, MPFR_RNDN);
        mpfr_div(r17881, r17879, r17880, MPFR_RNDN);
        mpfr_add(r17882, r17878, r17881, MPFR_RNDN);
        ;
        mpfr_add(r17884, r17867, r17862, MPFR_RNDN);
        mpfr_div(r17885, r17883, r17884, MPFR_RNDN);
        mpfr_add(r17886, r17882, r17885, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17889, r17867, r17888, MPFR_RNDN);
        mpfr_div(r17890, r17887, r17889, MPFR_RNDN);
        mpfr_add(r17891, r17886, r17890, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17894, r17867, r17893, MPFR_RNDN);
        mpfr_div(r17895, r17892, r17894, MPFR_RNDN);
        mpfr_add(r17896, r17891, r17895, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17899, r17867, r17898, MPFR_RNDN);
        mpfr_div(r17900, r17897, r17899, MPFR_RNDN);
        mpfr_add(r17901, r17896, r17900, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17904, r17867, r17903, MPFR_RNDN);
        mpfr_div(r17905, r17902, r17904, MPFR_RNDN);
        mpfr_add(r17906, r17901, r17905, MPFR_RNDN);
        ;
        mpfr_div(r17908, r17907, r17869, MPFR_RNDN);
        mpfr_add(r17909, r17906, r17908, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17912, r17867, r17911, MPFR_RNDN);
        mpfr_div(r17913, r17910, r17912, MPFR_RNDN);
        mpfr_add(r17914, r17909, r17913, MPFR_RNDN);
        mpfr_mul(r17915, r17877, r17914, MPFR_RNDN);
        return mpfr_get_d(r17915, MPFR_RNDN);
}

static mpfr_t r17916, r17917, r17918, r17919, r17920, r17921, r17922, r17923, r17924, r17925, r17926, r17927, r17928, r17929, r17930, r17931, r17932, r17933, r17934, r17935, r17936, r17937, r17938, r17939, r17940, r17941, r17942, r17943, r17944, r17945, r17946, r17947, r17948, r17949, r17950, r17951, r17952, r17953, r17954, r17955, r17956, r17957, r17958, r17959, r17960, r17961, r17962, r17963, r17964, r17965, r17966, r17967, r17968, r17969, r17970, r17971, r17972, r17973, r17974, r17975, r17976, r17977, r17978, r17979, r17980, r17981, r17982, r17983, r17984, r17985, r17986, r17987, r17988, r17989, r17990, r17991, r17992, r17993, r17994, r17995, r17996, r17997, r17998, r17999, r18000, r18001, r18002, r18003, r18004, r18005, r18006, r18007, r18008, r18009, r18010, r18011, r18012, r18013, r18014, r18015, r18016, r18017, r18018, r18019, r18020, r18021, r18022, r18023, r18024, r18025, r18026, r18027, r18028, r18029, r18030, r18031, r18032, r18033, r18034, r18035, r18036, r18037, r18038, r18039, r18040, r18041, r18042, r18043, r18044, r18045, r18046, r18047, r18048, r18049, r18050, r18051, r18052, r18053, r18054, r18055, r18056, r18057, r18058, r18059, r18060, r18061;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17916);
        mpfr_init_set_str(r17917, "-0.002604022f0", 10, MPFR_RNDN);
        mpfr_init(r17918);
        mpfr_init_set_str(r17919, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r17920, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r17921, "1", 10, MPFR_RNDN);
        mpfr_init(r17922);
        mpfr_init(r17923);
        mpfr_init(r17924);
        mpfr_init_set_str(r17925, "8", 10, MPFR_RNDN);
        mpfr_init(r17926);
        mpfr_init(r17927);
        mpfr_init_set_str(r17928, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r17929);
        mpfr_init(r17930);
        mpfr_init_set_str(r17931, "6", 10, MPFR_RNDN);
        mpfr_init(r17932);
        mpfr_init_set_str(r17933, "5", 10, MPFR_RNDN);
        mpfr_init(r17934);
        mpfr_init(r17935);
        mpfr_init(r17936);
        mpfr_init(r17937);
        mpfr_init(r17938);
        mpfr_init_set_str(r17939, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init(r17940);
        mpfr_init_set_str(r17941, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init(r17942);
        mpfr_init(r17943);
        mpfr_init(r17944);
        mpfr_init(r17945);
        mpfr_init_set_str(r17946, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r17947, "2", 10, MPFR_RNDN);
        mpfr_init(r17948);
        mpfr_init(r17949);
        mpfr_init(r17950);
        mpfr_init_set_str(r17951, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r17952, "3", 10, MPFR_RNDN);
        mpfr_init(r17953);
        mpfr_init(r17954);
        mpfr_init(r17955);
        mpfr_init_set_str(r17956, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r17957, "0", 10, MPFR_RNDN);
        mpfr_init(r17958);
        mpfr_init(r17959);
        mpfr_init(r17960);
        mpfr_init_set_str(r17961, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r17962);
        mpfr_init(r17963);
        mpfr_init(r17964);
        mpfr_init(r17965);
        mpfr_init_set_str(r17966, "4", 10, MPFR_RNDN);
        mpfr_init(r17967);
        mpfr_init(r17968);
        mpfr_init(r17969);
        mpfr_init(r17970);
        mpfr_init(r17971);
        mpfr_init(r17972);
        mpfr_init(r17973);
        mpfr_init(r17974);
        mpfr_init(r17975);
        mpfr_init(r17976);
        mpfr_init(r17977);
        mpfr_init(r17978);
        mpfr_init(r17979);
        mpfr_init(r17980);
        mpfr_init_set_str(r17981, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init(r17982);
        mpfr_init(r17983);
        mpfr_init(r17984);
        mpfr_init(r17985);
        mpfr_init(r17986);
        mpfr_init(r17987);
        mpfr_init_set_str(r17988, "0.5", 10, MPFR_RNDN);
        mpfr_init(r17989);
        mpfr_init(r17990);
        mpfr_init(r17991);
        mpfr_init(r17992);
        mpfr_init(r17993);
        mpfr_init(r17994);
        mpfr_init(r17995);
        mpfr_init(r17996);
        mpfr_init(r17997);
        mpfr_init(r17998);
        mpfr_init(r17999);
        mpfr_init(r18000);
        mpfr_init(r18001);
        mpfr_init(r18002);
        mpfr_init(r18003);
        mpfr_init(r18004);
        mpfr_init(r18005);
        mpfr_init(r18006);
        mpfr_init(r18007);
        mpfr_init(r18008);
        mpfr_init(r18009);
        mpfr_init(r18010);
        mpfr_init(r18011);
        mpfr_init(r18012);
        mpfr_init(r18013);
        mpfr_init(r18014);
        mpfr_init(r18015);
        mpfr_init(r18016);
        mpfr_init(r18017);
        mpfr_init(r18018);
        mpfr_init(r18019);
        mpfr_init(r18020);
        mpfr_init(r18021);
        mpfr_init(r18022);
        mpfr_init(r18023);
        mpfr_init_set_str(r18024, "6.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r18025, "1.0", 10, MPFR_RNDN);
        mpfr_init(r18026);
        mpfr_init(r18027);
        mpfr_init(r18028);
        mpfr_init(r18029);
        mpfr_init(r18030);
        mpfr_init(r18031);
        mpfr_init(r18032);
        mpfr_init(r18033);
        mpfr_init(r18034);
        mpfr_init(r18035);
        mpfr_init(r18036);
        mpfr_init(r18037);
        mpfr_init_set_str(r18038, "338.26018406094255", 10, MPFR_RNDN);
        mpfr_init(r18039);
        mpfr_init(r18040);
        mpfr_init(r18041);
        mpfr_init(r18042);
        mpfr_init(r18043);
        mpfr_init(r18044);
        mpfr_init(r18045);
        mpfr_init_set_str(r18046, "1656.8104518737205", 10, MPFR_RNDN);
        mpfr_init(r18047);
        mpfr_init(r18048);
        mpfr_init(r18049);
        mpfr_init(r18050);
        mpfr_init(r18051);
        mpfr_init(r18052);
        mpfr_init_set_str(r18053, "2585.1948787825354", 10, MPFR_RNDN);
        mpfr_init(r18054);
        mpfr_init(r18055);
        mpfr_init(r18056);
        mpfr_init(r18057);
        mpfr_init(r18058);
        mpfr_init(r18059);
        mpfr_init(r18060);
        mpfr_init(r18061);
}

double f_fm(double z) {
        mpfr_set_d(r17916, z, MPFR_RNDN);
        ;
        mpfr_set_si(r17918, mpfr_cmp(r17916, r17917) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r17922, r17916, r17921, MPFR_RNDN);
        mpfr_add(r17923, r17920, r17922, MPFR_RNDN);
        mpfr_mul(r17924, r17919, r17923, MPFR_RNDN);
        ;
        mpfr_add(r17926, r17916, r17925, MPFR_RNDN);
        mpfr_sub(r17927, r17926, r17921, MPFR_RNDN);
        ;
        mpfr_mul(r17929, r17927, r17928, MPFR_RNDN);
        mpfr_add(r17930, r17924, r17929, MPFR_RNDN);
        ;
        mpfr_add(r17932, r17922, r17931, MPFR_RNDN);
        ;
        mpfr_sub(r17934, r17921, r17933, MPFR_RNDN);
        mpfr_sub(r17935, r17916, r17934, MPFR_RNDN);
        mpfr_mul(r17936, r17932, r17935, MPFR_RNDN);
        mpfr_mul(r17937, r17930, r17936, MPFR_RNDN);
        mpfr_mul(r17938, r17927, r17923, MPFR_RNDN);
        ;
        mpfr_mul(r17940, r17939, r17935, MPFR_RNDN);
        ;
        mpfr_mul(r17942, r17932, r17941, MPFR_RNDN);
        mpfr_add(r17943, r17940, r17942, MPFR_RNDN);
        mpfr_mul(r17944, r17938, r17943, MPFR_RNDN);
        mpfr_add(r17945, r17937, r17944, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r17948, r17921, r17947, MPFR_RNDN);
        mpfr_sub(r17949, r17916, r17948, MPFR_RNDN);
        mpfr_div(r17950, r17946, r17949, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17953, r17922, r17952, MPFR_RNDN);
        mpfr_div(r17954, r17951, r17953, MPFR_RNDN);
        mpfr_sub(r17955, r17950, r17954, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r17958, r17916, r17957, MPFR_RNDN);
        mpfr_div(r17959, r17956, r17958, MPFR_RNDN);
        mpfr_sqr(r17960, r17959, MPFR_RNDN);
        ;
        mpfr_sqr(r17962, r17961, MPFR_RNDN);
        mpfr_mul(r17963, r17959, r17961, MPFR_RNDN);
        mpfr_sub(r17964, r17962, r17963, MPFR_RNDN);
        mpfr_add(r17965, r17960, r17964, MPFR_RNDN);
        ;
        mpfr_add(r17967, r17916, r17966, MPFR_RNDN);
        mpfr_sub(r17968, r17967, r17921, MPFR_RNDN);
        mpfr_mul(r17969, r17965, r17968, MPFR_RNDN);
        mpfr_mul(r17970, r17955, r17969, MPFR_RNDN);
        mpfr_mul(r17971, r17945, r17970, MPFR_RNDN);
        mpfr_mul(r17972, r17938, r17936, MPFR_RNDN);
        mpfr_sqr(r17973, r17950, MPFR_RNDN);
        mpfr_sqr(r17974, r17954, MPFR_RNDN);
        mpfr_sub(r17975, r17973, r17974, MPFR_RNDN);
        mpfr_mul(r17976, r17975, r17969, MPFR_RNDN);
        mpfr_pow(r17977, r17959, r17952, MPFR_RNDN);
        mpfr_pow(r17978, r17961, r17952, MPFR_RNDN);
        mpfr_sub(r17979, r17977, r17978, MPFR_RNDN);
        mpfr_mul(r17980, r17979, r17968, MPFR_RNDN);
        ;
        mpfr_mul(r17982, r17965, r17981, MPFR_RNDN);
        mpfr_add(r17983, r17980, r17982, MPFR_RNDN);
        mpfr_mul(r17984, r17955, r17983, MPFR_RNDN);
        mpfr_add(r17985, r17976, r17984, MPFR_RNDN);
        mpfr_mul(r17986, r17972, r17985, MPFR_RNDN);
        mpfr_add(r17987, r17971, r17986, MPFR_RNDN);
        ;
        mpfr_add(r17989, r17988, r17920, MPFR_RNDN);
        mpfr_add(r17990, r17922, r17989, MPFR_RNDN);
        mpfr_add(r17991, r17988, r17922, MPFR_RNDN);
        mpfr_pow(r17992, r17990, r17991, MPFR_RNDN);
        mpfr_const_pi(r17993, MPFR_RNDN);
        mpfr_mul(r17994, r17947, r17993, MPFR_RNDN);
        mpfr_sqrt(r17995, r17994, MPFR_RNDN);
        mpfr_mul(r17996, r17992, r17995, MPFR_RNDN);
        mpfr_mul(r17997, r17987, r17996, MPFR_RNDN);
        mpfr_add(r17998, r17933, r17916, MPFR_RNDN);
        mpfr_sub(r17999, r17998, r17921, MPFR_RNDN);
        mpfr_add(r18000, r17931, r17922, MPFR_RNDN);
        mpfr_mul(r18001, r17999, r18000, MPFR_RNDN);
        mpfr_sub(r18002, r17921, r17920, MPFR_RNDN);
        mpfr_sub(r18003, r17916, r18002, MPFR_RNDN);
        mpfr_sub(r18004, r17925, r17921, MPFR_RNDN);
        mpfr_add(r18005, r18004, r17916, MPFR_RNDN);
        mpfr_mul(r18006, r18003, r18005, MPFR_RNDN);
        mpfr_mul(r18007, r18001, r18006, MPFR_RNDN);
        mpfr_add(r18008, r17952, r17922, MPFR_RNDN);
        mpfr_div(r18009, r17951, r18008, MPFR_RNDN);
        mpfr_sub(r18010, r17950, r18009, MPFR_RNDN);
        mpfr_mul(r18011, r18007, r18010, MPFR_RNDN);
        mpfr_sub(r18012, r17961, r17959, MPFR_RNDN);
        mpfr_fma(r18013, r17961, r18012, r17960, MPFR_RNDN);
        mpfr_sub(r18014, r17966, r17921, MPFR_RNDN);
        mpfr_add(r18015, r18014, r17916, MPFR_RNDN);
        mpfr_mul(r18016, r18013, r18015, MPFR_RNDN);
        mpfr_mul(r18017, r18011, r18016, MPFR_RNDN);
        mpfr_add(r18018, r17920, r17988, MPFR_RNDN);
        mpfr_add(r18019, r18018, r17922, MPFR_RNDN);
        mpfr_exp(r18020, r18019, MPFR_RNDN);
        mpfr_mul(r18021, r18017, r18020, MPFR_RNDN);
        mpfr_div(r18022, r17997, r18021, MPFR_RNDN);
        mpfr_sqrt(r18023, r17993, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18026, r18024, r18025, MPFR_RNDN);
        mpfr_div(r18027, r17921, r18026, MPFR_RNDN);
        mpfr_pow(r18028, r18027, r17988, MPFR_RNDN);
        mpfr_mul(r18029, r18023, r18028, MPFR_RNDN);
        mpfr_log(r18030, r18024, MPFR_RNDN);
        mpfr_sqrt(r18031, r17947, MPFR_RNDN);
        mpfr_exp(r18032, r18024, MPFR_RNDN);
        mpfr_div(r18033, r18031, r18032, MPFR_RNDN);
        mpfr_mul(r18034, r18030, r18033, MPFR_RNDN);
        mpfr_div(r18035, r18033, r17916, MPFR_RNDN);
        mpfr_add(r18036, r18034, r18035, MPFR_RNDN);
        mpfr_mul(r18037, r18029, r18036, MPFR_RNDN);
        ;
        mpfr_mul(r18039, r18031, r17916, MPFR_RNDN);
        mpfr_sqr(r18040, r18030, MPFR_RNDN);
        mpfr_div(r18041, r18032, r18040, MPFR_RNDN);
        mpfr_div(r18042, r18039, r18041, MPFR_RNDN);
        mpfr_mul(r18043, r18038, r18042, MPFR_RNDN);
        mpfr_mul(r18044, r18043, r18029, MPFR_RNDN);
        mpfr_fma(r18045, r17956, r18037, r18044, MPFR_RNDN);
        ;
        mpfr_mul(r18047, r18039, r18030, MPFR_RNDN);
        mpfr_div(r18048, r18047, r18032, MPFR_RNDN);
        mpfr_mul(r18049, r18023, r18033, MPFR_RNDN);
        mpfr_mul(r18050, r18049, r18028, MPFR_RNDN);
        mpfr_fma(r18051, r18048, r18029, r18050, MPFR_RNDN);
        mpfr_mul(r18052, r18046, r18051, MPFR_RNDN);
        ;
        mpfr_mul(r18054, r17916, r18023, MPFR_RNDN);
        mpfr_div(r18055, r18032, r18031, MPFR_RNDN);
        mpfr_div(r18056, r18054, r18055, MPFR_RNDN);
        mpfr_mul(r18057, r18028, r18056, MPFR_RNDN);
        mpfr_mul(r18058, r18053, r18057, MPFR_RNDN);
        mpfr_sub(r18059, r18052, r18058, MPFR_RNDN);
        mpfr_sub(r18060, r18045, r18059, MPFR_RNDN);
        if (mpfr_get_si(r17918, MPFR_RNDN)) { mpfr_set(r18061, r18022, MPFR_RNDN); } else { mpfr_set(r18061, r18060, MPFR_RNDN); };
        return mpfr_get_d(r18061, MPFR_RNDN);
}

static mpfr_t r18062, r18063, r18064, r18065, r18066, r18067, r18068, r18069, r18070, r18071, r18072, r18073, r18074, r18075, r18076, r18077, r18078, r18079, r18080, r18081, r18082, r18083, r18084, r18085, r18086, r18087, r18088, r18089, r18090, r18091, r18092, r18093, r18094, r18095, r18096, r18097, r18098, r18099, r18100, r18101, r18102, r18103, r18104, r18105, r18106, r18107, r18108, r18109, r18110, r18111, r18112, r18113, r18114, r18115, r18116, r18117, r18118, r18119, r18120, r18121, r18122, r18123, r18124, r18125, r18126, r18127, r18128, r18129, r18130, r18131, r18132, r18133, r18134, r18135, r18136, r18137, r18138, r18139, r18140, r18141, r18142, r18143, r18144, r18145, r18146, r18147, r18148, r18149, r18150, r18151, r18152, r18153, r18154, r18155, r18156, r18157, r18158, r18159, r18160, r18161, r18162, r18163, r18164, r18165, r18166, r18167, r18168, r18169, r18170, r18171, r18172, r18173, r18174, r18175, r18176, r18177, r18178, r18179, r18180, r18181, r18182, r18183, r18184, r18185, r18186, r18187, r18188, r18189, r18190, r18191, r18192, r18193, r18194, r18195, r18196, r18197, r18198, r18199, r18200, r18201, r18202, r18203, r18204, r18205, r18206, r18207;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18062);
        mpfr_init_set_str(r18063, "-0.002604022f0", 10, MPFR_RNDN);
        mpfr_init(r18064);
        mpfr_init_set_str(r18065, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r18066, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r18067, "1", 10, MPFR_RNDN);
        mpfr_init(r18068);
        mpfr_init(r18069);
        mpfr_init(r18070);
        mpfr_init_set_str(r18071, "8", 10, MPFR_RNDN);
        mpfr_init(r18072);
        mpfr_init(r18073);
        mpfr_init_set_str(r18074, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r18075);
        mpfr_init(r18076);
        mpfr_init_set_str(r18077, "6", 10, MPFR_RNDN);
        mpfr_init(r18078);
        mpfr_init_set_str(r18079, "5", 10, MPFR_RNDN);
        mpfr_init(r18080);
        mpfr_init(r18081);
        mpfr_init(r18082);
        mpfr_init(r18083);
        mpfr_init(r18084);
        mpfr_init_set_str(r18085, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init(r18086);
        mpfr_init_set_str(r18087, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init(r18088);
        mpfr_init(r18089);
        mpfr_init(r18090);
        mpfr_init(r18091);
        mpfr_init_set_str(r18092, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r18093, "2", 10, MPFR_RNDN);
        mpfr_init(r18094);
        mpfr_init(r18095);
        mpfr_init(r18096);
        mpfr_init_set_str(r18097, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18098, "3", 10, MPFR_RNDN);
        mpfr_init(r18099);
        mpfr_init(r18100);
        mpfr_init(r18101);
        mpfr_init_set_str(r18102, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r18103, "0", 10, MPFR_RNDN);
        mpfr_init(r18104);
        mpfr_init(r18105);
        mpfr_init(r18106);
        mpfr_init_set_str(r18107, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r18108);
        mpfr_init(r18109);
        mpfr_init(r18110);
        mpfr_init(r18111);
        mpfr_init_set_str(r18112, "4", 10, MPFR_RNDN);
        mpfr_init(r18113);
        mpfr_init(r18114);
        mpfr_init(r18115);
        mpfr_init(r18116);
        mpfr_init(r18117);
        mpfr_init(r18118);
        mpfr_init(r18119);
        mpfr_init(r18120);
        mpfr_init(r18121);
        mpfr_init(r18122);
        mpfr_init(r18123);
        mpfr_init(r18124);
        mpfr_init(r18125);
        mpfr_init(r18126);
        mpfr_init_set_str(r18127, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init(r18128);
        mpfr_init(r18129);
        mpfr_init(r18130);
        mpfr_init(r18131);
        mpfr_init(r18132);
        mpfr_init(r18133);
        mpfr_init_set_str(r18134, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18135);
        mpfr_init(r18136);
        mpfr_init(r18137);
        mpfr_init(r18138);
        mpfr_init(r18139);
        mpfr_init(r18140);
        mpfr_init(r18141);
        mpfr_init(r18142);
        mpfr_init(r18143);
        mpfr_init(r18144);
        mpfr_init(r18145);
        mpfr_init(r18146);
        mpfr_init(r18147);
        mpfr_init(r18148);
        mpfr_init(r18149);
        mpfr_init(r18150);
        mpfr_init(r18151);
        mpfr_init(r18152);
        mpfr_init(r18153);
        mpfr_init(r18154);
        mpfr_init(r18155);
        mpfr_init(r18156);
        mpfr_init(r18157);
        mpfr_init(r18158);
        mpfr_init(r18159);
        mpfr_init(r18160);
        mpfr_init(r18161);
        mpfr_init(r18162);
        mpfr_init(r18163);
        mpfr_init(r18164);
        mpfr_init(r18165);
        mpfr_init(r18166);
        mpfr_init(r18167);
        mpfr_init(r18168);
        mpfr_init(r18169);
        mpfr_init_set_str(r18170, "6.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r18171, "1.0", 10, MPFR_RNDN);
        mpfr_init(r18172);
        mpfr_init(r18173);
        mpfr_init(r18174);
        mpfr_init(r18175);
        mpfr_init(r18176);
        mpfr_init(r18177);
        mpfr_init(r18178);
        mpfr_init(r18179);
        mpfr_init(r18180);
        mpfr_init(r18181);
        mpfr_init(r18182);
        mpfr_init(r18183);
        mpfr_init_set_str(r18184, "338.26018406094255", 10, MPFR_RNDN);
        mpfr_init(r18185);
        mpfr_init(r18186);
        mpfr_init(r18187);
        mpfr_init(r18188);
        mpfr_init(r18189);
        mpfr_init(r18190);
        mpfr_init(r18191);
        mpfr_init_set_str(r18192, "1656.8104518737205", 10, MPFR_RNDN);
        mpfr_init(r18193);
        mpfr_init(r18194);
        mpfr_init(r18195);
        mpfr_init(r18196);
        mpfr_init(r18197);
        mpfr_init(r18198);
        mpfr_init_set_str(r18199, "2585.1948787825354", 10, MPFR_RNDN);
        mpfr_init(r18200);
        mpfr_init(r18201);
        mpfr_init(r18202);
        mpfr_init(r18203);
        mpfr_init(r18204);
        mpfr_init(r18205);
        mpfr_init(r18206);
        mpfr_init(r18207);
}

double f_dm(double z) {
        mpfr_set_d(r18062, z, MPFR_RNDN);
        ;
        mpfr_set_si(r18064, mpfr_cmp(r18062, r18063) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r18068, r18062, r18067, MPFR_RNDN);
        mpfr_add(r18069, r18066, r18068, MPFR_RNDN);
        mpfr_mul(r18070, r18065, r18069, MPFR_RNDN);
        ;
        mpfr_add(r18072, r18062, r18071, MPFR_RNDN);
        mpfr_sub(r18073, r18072, r18067, MPFR_RNDN);
        ;
        mpfr_mul(r18075, r18073, r18074, MPFR_RNDN);
        mpfr_add(r18076, r18070, r18075, MPFR_RNDN);
        ;
        mpfr_add(r18078, r18068, r18077, MPFR_RNDN);
        ;
        mpfr_sub(r18080, r18067, r18079, MPFR_RNDN);
        mpfr_sub(r18081, r18062, r18080, MPFR_RNDN);
        mpfr_mul(r18082, r18078, r18081, MPFR_RNDN);
        mpfr_mul(r18083, r18076, r18082, MPFR_RNDN);
        mpfr_mul(r18084, r18073, r18069, MPFR_RNDN);
        ;
        mpfr_mul(r18086, r18085, r18081, MPFR_RNDN);
        ;
        mpfr_mul(r18088, r18078, r18087, MPFR_RNDN);
        mpfr_add(r18089, r18086, r18088, MPFR_RNDN);
        mpfr_mul(r18090, r18084, r18089, MPFR_RNDN);
        mpfr_add(r18091, r18083, r18090, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18094, r18067, r18093, MPFR_RNDN);
        mpfr_sub(r18095, r18062, r18094, MPFR_RNDN);
        mpfr_div(r18096, r18092, r18095, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18099, r18068, r18098, MPFR_RNDN);
        mpfr_div(r18100, r18097, r18099, MPFR_RNDN);
        mpfr_sub(r18101, r18096, r18100, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18104, r18062, r18103, MPFR_RNDN);
        mpfr_div(r18105, r18102, r18104, MPFR_RNDN);
        mpfr_sqr(r18106, r18105, MPFR_RNDN);
        ;
        mpfr_sqr(r18108, r18107, MPFR_RNDN);
        mpfr_mul(r18109, r18105, r18107, MPFR_RNDN);
        mpfr_sub(r18110, r18108, r18109, MPFR_RNDN);
        mpfr_add(r18111, r18106, r18110, MPFR_RNDN);
        ;
        mpfr_add(r18113, r18062, r18112, MPFR_RNDN);
        mpfr_sub(r18114, r18113, r18067, MPFR_RNDN);
        mpfr_mul(r18115, r18111, r18114, MPFR_RNDN);
        mpfr_mul(r18116, r18101, r18115, MPFR_RNDN);
        mpfr_mul(r18117, r18091, r18116, MPFR_RNDN);
        mpfr_mul(r18118, r18084, r18082, MPFR_RNDN);
        mpfr_sqr(r18119, r18096, MPFR_RNDN);
        mpfr_sqr(r18120, r18100, MPFR_RNDN);
        mpfr_sub(r18121, r18119, r18120, MPFR_RNDN);
        mpfr_mul(r18122, r18121, r18115, MPFR_RNDN);
        mpfr_pow(r18123, r18105, r18098, MPFR_RNDN);
        mpfr_pow(r18124, r18107, r18098, MPFR_RNDN);
        mpfr_sub(r18125, r18123, r18124, MPFR_RNDN);
        mpfr_mul(r18126, r18125, r18114, MPFR_RNDN);
        ;
        mpfr_mul(r18128, r18111, r18127, MPFR_RNDN);
        mpfr_add(r18129, r18126, r18128, MPFR_RNDN);
        mpfr_mul(r18130, r18101, r18129, MPFR_RNDN);
        mpfr_add(r18131, r18122, r18130, MPFR_RNDN);
        mpfr_mul(r18132, r18118, r18131, MPFR_RNDN);
        mpfr_add(r18133, r18117, r18132, MPFR_RNDN);
        ;
        mpfr_add(r18135, r18134, r18066, MPFR_RNDN);
        mpfr_add(r18136, r18068, r18135, MPFR_RNDN);
        mpfr_add(r18137, r18134, r18068, MPFR_RNDN);
        mpfr_pow(r18138, r18136, r18137, MPFR_RNDN);
        mpfr_const_pi(r18139, MPFR_RNDN);
        mpfr_mul(r18140, r18093, r18139, MPFR_RNDN);
        mpfr_sqrt(r18141, r18140, MPFR_RNDN);
        mpfr_mul(r18142, r18138, r18141, MPFR_RNDN);
        mpfr_mul(r18143, r18133, r18142, MPFR_RNDN);
        mpfr_add(r18144, r18079, r18062, MPFR_RNDN);
        mpfr_sub(r18145, r18144, r18067, MPFR_RNDN);
        mpfr_add(r18146, r18077, r18068, MPFR_RNDN);
        mpfr_mul(r18147, r18145, r18146, MPFR_RNDN);
        mpfr_sub(r18148, r18067, r18066, MPFR_RNDN);
        mpfr_sub(r18149, r18062, r18148, MPFR_RNDN);
        mpfr_sub(r18150, r18071, r18067, MPFR_RNDN);
        mpfr_add(r18151, r18150, r18062, MPFR_RNDN);
        mpfr_mul(r18152, r18149, r18151, MPFR_RNDN);
        mpfr_mul(r18153, r18147, r18152, MPFR_RNDN);
        mpfr_add(r18154, r18098, r18068, MPFR_RNDN);
        mpfr_div(r18155, r18097, r18154, MPFR_RNDN);
        mpfr_sub(r18156, r18096, r18155, MPFR_RNDN);
        mpfr_mul(r18157, r18153, r18156, MPFR_RNDN);
        mpfr_sub(r18158, r18107, r18105, MPFR_RNDN);
        mpfr_fma(r18159, r18107, r18158, r18106, MPFR_RNDN);
        mpfr_sub(r18160, r18112, r18067, MPFR_RNDN);
        mpfr_add(r18161, r18160, r18062, MPFR_RNDN);
        mpfr_mul(r18162, r18159, r18161, MPFR_RNDN);
        mpfr_mul(r18163, r18157, r18162, MPFR_RNDN);
        mpfr_add(r18164, r18066, r18134, MPFR_RNDN);
        mpfr_add(r18165, r18164, r18068, MPFR_RNDN);
        mpfr_exp(r18166, r18165, MPFR_RNDN);
        mpfr_mul(r18167, r18163, r18166, MPFR_RNDN);
        mpfr_div(r18168, r18143, r18167, MPFR_RNDN);
        mpfr_sqrt(r18169, r18139, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18172, r18170, r18171, MPFR_RNDN);
        mpfr_div(r18173, r18067, r18172, MPFR_RNDN);
        mpfr_pow(r18174, r18173, r18134, MPFR_RNDN);
        mpfr_mul(r18175, r18169, r18174, MPFR_RNDN);
        mpfr_log(r18176, r18170, MPFR_RNDN);
        mpfr_sqrt(r18177, r18093, MPFR_RNDN);
        mpfr_exp(r18178, r18170, MPFR_RNDN);
        mpfr_div(r18179, r18177, r18178, MPFR_RNDN);
        mpfr_mul(r18180, r18176, r18179, MPFR_RNDN);
        mpfr_div(r18181, r18179, r18062, MPFR_RNDN);
        mpfr_add(r18182, r18180, r18181, MPFR_RNDN);
        mpfr_mul(r18183, r18175, r18182, MPFR_RNDN);
        ;
        mpfr_mul(r18185, r18177, r18062, MPFR_RNDN);
        mpfr_sqr(r18186, r18176, MPFR_RNDN);
        mpfr_div(r18187, r18178, r18186, MPFR_RNDN);
        mpfr_div(r18188, r18185, r18187, MPFR_RNDN);
        mpfr_mul(r18189, r18184, r18188, MPFR_RNDN);
        mpfr_mul(r18190, r18189, r18175, MPFR_RNDN);
        mpfr_fma(r18191, r18102, r18183, r18190, MPFR_RNDN);
        ;
        mpfr_mul(r18193, r18185, r18176, MPFR_RNDN);
        mpfr_div(r18194, r18193, r18178, MPFR_RNDN);
        mpfr_mul(r18195, r18169, r18179, MPFR_RNDN);
        mpfr_mul(r18196, r18195, r18174, MPFR_RNDN);
        mpfr_fma(r18197, r18194, r18175, r18196, MPFR_RNDN);
        mpfr_mul(r18198, r18192, r18197, MPFR_RNDN);
        ;
        mpfr_mul(r18200, r18062, r18169, MPFR_RNDN);
        mpfr_div(r18201, r18178, r18177, MPFR_RNDN);
        mpfr_div(r18202, r18200, r18201, MPFR_RNDN);
        mpfr_mul(r18203, r18174, r18202, MPFR_RNDN);
        mpfr_mul(r18204, r18199, r18203, MPFR_RNDN);
        mpfr_sub(r18205, r18198, r18204, MPFR_RNDN);
        mpfr_sub(r18206, r18191, r18205, MPFR_RNDN);
        if (mpfr_get_si(r18064, MPFR_RNDN)) { mpfr_set(r18207, r18168, MPFR_RNDN); } else { mpfr_set(r18207, r18206, MPFR_RNDN); };
        return mpfr_get_d(r18207, MPFR_RNDN);
}

