#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 r17423 = atan2(1.0, 0.0);
        float r17424 = 2.0f;
        float r17425 = r17423 * r17424;
        float r17426 = sqrt(r17425);
        float r17427 = z;
        float r17428 = 1.0f;
        float r17429 = r17427 - r17428;
        float r17430 = 7.0f;
        float r17431 = r17429 + r17430;
        float r17432 = 0.5f;
        float r17433 = r17431 + r17432;
        float r17434 = r17429 + r17432;
        float r17435 = pow(r17433, r17434);
        float r17436 = r17426 * r17435;
        float r17437 = -r17433;
        float r17438 = exp(r17437);
        float r17439 = r17436 * r17438;
        float r17440 = 1.0f;
        float r17441 = 676.5203857421875f;
        float r17442 = r17429 + r17428;
        float r17443 = r17441 / r17442;
        float r17444 = r17440 + r17443;
        float r17445 = -1259.13916015625f;
        float r17446 = r17429 + r17424;
        float r17447 = r17445 / r17446;
        float r17448 = r17444 + r17447;
        float r17449 = 771.3234252929688f;
        float r17450 = 3.0f;
        float r17451 = r17429 + r17450;
        float r17452 = r17449 / r17451;
        float r17453 = r17448 + r17452;
        float r17454 = -176.6150360107422f;
        float r17455 = 4.0f;
        float r17456 = r17429 + r17455;
        float r17457 = r17454 / r17456;
        float r17458 = r17453 + r17457;
        float r17459 = 12.507343292236328f;
        float r17460 = 5.0f;
        float r17461 = r17429 + r17460;
        float r17462 = r17459 / r17461;
        float r17463 = r17458 + r17462;
        float r17464 = -0.138571098446846f;
        float r17465 = 6.0f;
        float r17466 = r17429 + r17465;
        float r17467 = r17464 / r17466;
        float r17468 = r17463 + r17467;
        float r17469 = 9.984369171434082e-06f;
        float r17470 = r17469 / r17431;
        float r17471 = r17468 + r17470;
        float r17472 = 1.5056326674312004e-07f;
        float r17473 = 8.0f;
        float r17474 = r17429 + r17473;
        float r17475 = r17472 / r17474;
        float r17476 = r17471 + r17475;
        float r17477 = r17439 * r17476;
        return r17477;
}

double f_id(double z) {
        double r17478 = atan2(1.0, 0.0);
        double r17479 = 2.0;
        double r17480 = r17478 * r17479;
        double r17481 = sqrt(r17480);
        double r17482 = z;
        double r17483 = 1.0;
        double r17484 = r17482 - r17483;
        double r17485 = 7.0;
        double r17486 = r17484 + r17485;
        double r17487 = 0.5;
        double r17488 = r17486 + r17487;
        double r17489 = r17484 + r17487;
        double r17490 = pow(r17488, r17489);
        double r17491 = r17481 * r17490;
        double r17492 = -r17488;
        double r17493 = exp(r17492);
        double r17494 = r17491 * r17493;
        double r17495 = 1.0;
        double r17496 = 676.5203857421875;
        double r17497 = r17484 + r17483;
        double r17498 = r17496 / r17497;
        double r17499 = r17495 + r17498;
        double r17500 = -1259.13916015625;
        double r17501 = r17484 + r17479;
        double r17502 = r17500 / r17501;
        double r17503 = r17499 + r17502;
        double r17504 = 771.3234252929688;
        double r17505 = 3.0;
        double r17506 = r17484 + r17505;
        double r17507 = r17504 / r17506;
        double r17508 = r17503 + r17507;
        double r17509 = -176.6150360107422;
        double r17510 = 4.0;
        double r17511 = r17484 + r17510;
        double r17512 = r17509 / r17511;
        double r17513 = r17508 + r17512;
        double r17514 = 12.507343292236328;
        double r17515 = 5.0;
        double r17516 = r17484 + r17515;
        double r17517 = r17514 / r17516;
        double r17518 = r17513 + r17517;
        double r17519 = -0.138571098446846;
        double r17520 = 6.0;
        double r17521 = r17484 + r17520;
        double r17522 = r17519 / r17521;
        double r17523 = r17518 + r17522;
        double r17524 = 9.984369171434082e-06;
        double r17525 = r17524 / r17486;
        double r17526 = r17523 + r17525;
        double r17527 = 1.5056326674312004e-07;
        double r17528 = 8.0;
        double r17529 = r17484 + r17528;
        double r17530 = r17527 / r17529;
        double r17531 = r17526 + r17530;
        double r17532 = r17494 * r17531;
        return r17532;
}


double f_of(float z) {
        float r17533 = z;
        float r17534 = -0.0026040219236165285f;
        bool r17535 = r17533 <= r17534;
        float r17536 = 1.5056326674312004e-07f;
        float r17537 = 7.0f;
        float r17538 = 1.0f;
        float r17539 = r17533 - r17538;
        float r17540 = r17537 + r17539;
        float r17541 = r17536 * r17540;
        float r17542 = 8.0f;
        float r17543 = r17533 + r17542;
        float r17544 = r17543 - r17538;
        float r17545 = 9.984369171434082e-06f;
        float r17546 = r17544 * r17545;
        float r17547 = r17541 + r17546;
        float r17548 = 6.0f;
        float r17549 = r17539 + r17548;
        float r17550 = 5.0f;
        float r17551 = r17538 - r17550;
        float r17552 = r17533 - r17551;
        float r17553 = r17549 * r17552;
        float r17554 = r17547 * r17553;
        float r17555 = r17544 * r17540;
        float r17556 = -0.138571098446846f;
        float r17557 = r17556 * r17552;
        float r17558 = 12.507343292236328f;
        float r17559 = r17549 * r17558;
        float r17560 = r17557 + r17559;
        float r17561 = r17555 * r17560;
        float r17562 = r17554 + r17561;
        float r17563 = -1259.13916015625f;
        float r17564 = 2.0f;
        float r17565 = r17538 - r17564;
        float r17566 = r17533 - r17565;
        float r17567 = r17563 / r17566;
        float r17568 = 771.3234252929688f;
        float r17569 = 3.0f;
        float r17570 = r17539 + r17569;
        float r17571 = r17568 / r17570;
        float r17572 = r17567 - r17571;
        float r17573 = 676.5203857421875f;
        float r17574 = 0.0f;
        float r17575 = r17533 - r17574;
        float r17576 = r17573 / r17575;
        float r17577 = r17576 * r17576;
        float r17578 = 1.0f;
        float r17579 = r17578 * r17578;
        float r17580 = r17576 * r17578;
        float r17581 = r17579 - r17580;
        float r17582 = r17577 + r17581;
        float r17583 = 4.0f;
        float r17584 = r17533 + r17583;
        float r17585 = r17584 - r17538;
        float r17586 = r17582 * r17585;
        float r17587 = r17572 * r17586;
        float r17588 = r17562 * r17587;
        float r17589 = r17555 * r17553;
        float r17590 = r17567 * r17567;
        float r17591 = r17571 * r17571;
        float r17592 = r17590 - r17591;
        float r17593 = r17592 * r17586;
        float r17594 = pow(r17576, r17569);
        float r17595 = pow(r17578, r17569);
        float r17596 = r17594 - r17595;
        float r17597 = r17596 * r17585;
        float r17598 = -176.6150360107422f;
        float r17599 = r17582 * r17598;
        float r17600 = r17597 + r17599;
        float r17601 = r17572 * r17600;
        float r17602 = r17593 + r17601;
        float r17603 = r17589 * r17602;
        float r17604 = r17588 + r17603;
        float r17605 = 0.5f;
        float r17606 = r17605 + r17537;
        float r17607 = r17539 + r17606;
        float r17608 = r17605 + r17539;
        float r17609 = pow(r17607, r17608);
        float r17610 = atan2(1.0, 0.0);
        float r17611 = r17564 * r17610;
        float r17612 = sqrt(r17611);
        float r17613 = r17609 * r17612;
        float r17614 = r17604 * r17613;
        float r17615 = r17550 + r17533;
        float r17616 = r17615 - r17538;
        float r17617 = r17548 + r17539;
        float r17618 = r17616 * r17617;
        float r17619 = r17538 - r17537;
        float r17620 = r17533 - r17619;
        float r17621 = r17542 - r17538;
        float r17622 = r17621 + r17533;
        float r17623 = r17620 * r17622;
        float r17624 = r17618 * r17623;
        float r17625 = r17569 + r17539;
        float r17626 = r17568 / r17625;
        float r17627 = r17567 - r17626;
        float r17628 = r17624 * r17627;
        float r17629 = r17578 - r17576;
        float r17630 = fma(r17578, r17629, r17577);
        float r17631 = r17583 - r17538;
        float r17632 = r17631 + r17533;
        float r17633 = r17630 * r17632;
        float r17634 = r17628 * r17633;
        float r17635 = r17537 + r17605;
        float r17636 = r17635 + r17539;
        float r17637 = exp(r17636);
        float r17638 = r17634 * r17637;
        float r17639 = r17614 / r17638;
        float r17640 = sqrt(r17610);
        float r17641 = 6.5f;
        float r17642 = 1.0f;
        float r17643 = pow(r17641, r17642);
        float r17644 = r17538 / r17643;
        float r17645 = pow(r17644, r17605);
        float r17646 = r17640 * r17645;
        float r17647 = log(r17641);
        float r17648 = sqrt(r17564);
        float r17649 = exp(r17641);
        float r17650 = r17648 / r17649;
        float r17651 = r17647 * r17650;
        float r17652 = r17650 / r17533;
        float r17653 = r17651 + r17652;
        float r17654 = r17646 * r17653;
        float r17655 = 338.26019287109375f;
        float r17656 = r17648 * r17533;
        float r17657 = r17647 * r17647;
        float r17658 = r17649 / r17657;
        float r17659 = r17656 / r17658;
        float r17660 = r17655 * r17659;
        float r17661 = r17660 * r17646;
        float r17662 = fma(r17573, r17654, r17661);
        float r17663 = 1656.8104248046875f;
        float r17664 = r17656 * r17647;
        float r17665 = r17664 / r17649;
        float r17666 = r17640 * r17650;
        float r17667 = r17666 * r17645;
        float r17668 = fma(r17665, r17646, r17667);
        float r17669 = r17663 * r17668;
        float r17670 = 2585.19482421875f;
        float r17671 = r17533 * r17640;
        float r17672 = r17649 / r17648;
        float r17673 = r17671 / r17672;
        float r17674 = r17645 * r17673;
        float r17675 = r17670 * r17674;
        float r17676 = r17669 - r17675;
        float r17677 = r17662 - r17676;
        float r17678 = r17535 ? r17639 : r17677;
        return r17678;
}

double f_od(double z) {
        double r17679 = z;
        double r17680 = -0.0026040219236165285;
        bool r17681 = r17679 <= r17680;
        double r17682 = 1.5056326674312004e-07;
        double r17683 = 7.0;
        double r17684 = 1.0;
        double r17685 = r17679 - r17684;
        double r17686 = r17683 + r17685;
        double r17687 = r17682 * r17686;
        double r17688 = 8.0;
        double r17689 = r17679 + r17688;
        double r17690 = r17689 - r17684;
        double r17691 = 9.984369171434082e-06;
        double r17692 = r17690 * r17691;
        double r17693 = r17687 + r17692;
        double r17694 = 6.0;
        double r17695 = r17685 + r17694;
        double r17696 = 5.0;
        double r17697 = r17684 - r17696;
        double r17698 = r17679 - r17697;
        double r17699 = r17695 * r17698;
        double r17700 = r17693 * r17699;
        double r17701 = r17690 * r17686;
        double r17702 = -0.138571098446846;
        double r17703 = r17702 * r17698;
        double r17704 = 12.507343292236328;
        double r17705 = r17695 * r17704;
        double r17706 = r17703 + r17705;
        double r17707 = r17701 * r17706;
        double r17708 = r17700 + r17707;
        double r17709 = -1259.13916015625;
        double r17710 = 2.0;
        double r17711 = r17684 - r17710;
        double r17712 = r17679 - r17711;
        double r17713 = r17709 / r17712;
        double r17714 = 771.3234252929688;
        double r17715 = 3.0;
        double r17716 = r17685 + r17715;
        double r17717 = r17714 / r17716;
        double r17718 = r17713 - r17717;
        double r17719 = 676.5203857421875;
        double r17720 = 0.0;
        double r17721 = r17679 - r17720;
        double r17722 = r17719 / r17721;
        double r17723 = r17722 * r17722;
        double r17724 = 1.0;
        double r17725 = r17724 * r17724;
        double r17726 = r17722 * r17724;
        double r17727 = r17725 - r17726;
        double r17728 = r17723 + r17727;
        double r17729 = 4.0;
        double r17730 = r17679 + r17729;
        double r17731 = r17730 - r17684;
        double r17732 = r17728 * r17731;
        double r17733 = r17718 * r17732;
        double r17734 = r17708 * r17733;
        double r17735 = r17701 * r17699;
        double r17736 = r17713 * r17713;
        double r17737 = r17717 * r17717;
        double r17738 = r17736 - r17737;
        double r17739 = r17738 * r17732;
        double r17740 = pow(r17722, r17715);
        double r17741 = pow(r17724, r17715);
        double r17742 = r17740 - r17741;
        double r17743 = r17742 * r17731;
        double r17744 = -176.6150360107422;
        double r17745 = r17728 * r17744;
        double r17746 = r17743 + r17745;
        double r17747 = r17718 * r17746;
        double r17748 = r17739 + r17747;
        double r17749 = r17735 * r17748;
        double r17750 = r17734 + r17749;
        double r17751 = 0.5;
        double r17752 = r17751 + r17683;
        double r17753 = r17685 + r17752;
        double r17754 = r17751 + r17685;
        double r17755 = pow(r17753, r17754);
        double r17756 = atan2(1.0, 0.0);
        double r17757 = r17710 * r17756;
        double r17758 = sqrt(r17757);
        double r17759 = r17755 * r17758;
        double r17760 = r17750 * r17759;
        double r17761 = r17696 + r17679;
        double r17762 = r17761 - r17684;
        double r17763 = r17694 + r17685;
        double r17764 = r17762 * r17763;
        double r17765 = r17684 - r17683;
        double r17766 = r17679 - r17765;
        double r17767 = r17688 - r17684;
        double r17768 = r17767 + r17679;
        double r17769 = r17766 * r17768;
        double r17770 = r17764 * r17769;
        double r17771 = r17715 + r17685;
        double r17772 = r17714 / r17771;
        double r17773 = r17713 - r17772;
        double r17774 = r17770 * r17773;
        double r17775 = r17724 - r17722;
        double r17776 = fma(r17724, r17775, r17723);
        double r17777 = r17729 - r17684;
        double r17778 = r17777 + r17679;
        double r17779 = r17776 * r17778;
        double r17780 = r17774 * r17779;
        double r17781 = r17683 + r17751;
        double r17782 = r17781 + r17685;
        double r17783 = exp(r17782);
        double r17784 = r17780 * r17783;
        double r17785 = r17760 / r17784;
        double r17786 = sqrt(r17756);
        double r17787 = 6.5;
        double r17788 = 1.0;
        double r17789 = pow(r17787, r17788);
        double r17790 = r17684 / r17789;
        double r17791 = pow(r17790, r17751);
        double r17792 = r17786 * r17791;
        double r17793 = log(r17787);
        double r17794 = sqrt(r17710);
        double r17795 = exp(r17787);
        double r17796 = r17794 / r17795;
        double r17797 = r17793 * r17796;
        double r17798 = r17796 / r17679;
        double r17799 = r17797 + r17798;
        double r17800 = r17792 * r17799;
        double r17801 = 338.26019287109375;
        double r17802 = r17794 * r17679;
        double r17803 = r17793 * r17793;
        double r17804 = r17795 / r17803;
        double r17805 = r17802 / r17804;
        double r17806 = r17801 * r17805;
        double r17807 = r17806 * r17792;
        double r17808 = fma(r17719, r17800, r17807);
        double r17809 = 1656.8104248046875;
        double r17810 = r17802 * r17793;
        double r17811 = r17810 / r17795;
        double r17812 = r17786 * r17796;
        double r17813 = r17812 * r17791;
        double r17814 = fma(r17811, r17792, r17813);
        double r17815 = r17809 * r17814;
        double r17816 = 2585.19482421875;
        double r17817 = r17679 * r17786;
        double r17818 = r17795 / r17794;
        double r17819 = r17817 / r17818;
        double r17820 = r17791 * r17819;
        double r17821 = r17816 * r17820;
        double r17822 = r17815 - r17821;
        double r17823 = r17808 - r17822;
        double r17824 = r17681 ? r17785 : r17823;
        return r17824;
}

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 r17825, r17826, r17827, r17828, r17829, r17830, r17831, r17832, r17833, r17834, r17835, r17836, r17837, r17838, r17839, r17840, r17841, r17842, r17843, r17844, r17845, r17846, r17847, r17848, r17849, r17850, r17851, r17852, r17853, r17854, r17855, r17856, r17857, r17858, r17859, r17860, r17861, r17862, r17863, r17864, r17865, r17866, r17867, r17868, r17869, r17870, r17871, r17872, r17873, r17874, r17875, r17876, r17877, r17878, r17879;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r17825);
        mpfr_init_set_str(r17826, "2", 10, MPFR_RNDN);
        mpfr_init(r17827);
        mpfr_init(r17828);
        mpfr_init(r17829);
        mpfr_init_set_str(r17830, "1", 10, MPFR_RNDN);
        mpfr_init(r17831);
        mpfr_init_set_str(r17832, "7", 10, MPFR_RNDN);
        mpfr_init(r17833);
        mpfr_init_set_str(r17834, "0.5", 10, MPFR_RNDN);
        mpfr_init(r17835);
        mpfr_init(r17836);
        mpfr_init(r17837);
        mpfr_init(r17838);
        mpfr_init(r17839);
        mpfr_init(r17840);
        mpfr_init(r17841);
        mpfr_init_set_str(r17842, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r17843, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r17844);
        mpfr_init(r17845);
        mpfr_init(r17846);
        mpfr_init_set_str(r17847, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r17848);
        mpfr_init(r17849);
        mpfr_init(r17850);
        mpfr_init_set_str(r17851, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r17852, "3", 10, MPFR_RNDN);
        mpfr_init(r17853);
        mpfr_init(r17854);
        mpfr_init(r17855);
        mpfr_init_set_str(r17856, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r17857, "4", 10, MPFR_RNDN);
        mpfr_init(r17858);
        mpfr_init(r17859);
        mpfr_init(r17860);
        mpfr_init_set_str(r17861, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r17862, "5", 10, MPFR_RNDN);
        mpfr_init(r17863);
        mpfr_init(r17864);
        mpfr_init(r17865);
        mpfr_init_set_str(r17866, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r17867, "6", 10, MPFR_RNDN);
        mpfr_init(r17868);
        mpfr_init(r17869);
        mpfr_init(r17870);
        mpfr_init_set_str(r17871, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r17872);
        mpfr_init(r17873);
        mpfr_init_set_str(r17874, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r17875, "8", 10, MPFR_RNDN);
        mpfr_init(r17876);
        mpfr_init(r17877);
        mpfr_init(r17878);
        mpfr_init(r17879);
}

double f_im(double z) {
        mpfr_const_pi(r17825, MPFR_RNDN);
        ;
        mpfr_mul(r17827, r17825, r17826, MPFR_RNDN);
        mpfr_sqrt(r17828, r17827, MPFR_RNDN);
        mpfr_set_d(r17829, z, MPFR_RNDN);
        ;
        mpfr_sub(r17831, r17829, r17830, MPFR_RNDN);
        ;
        mpfr_add(r17833, r17831, r17832, MPFR_RNDN);
        ;
        mpfr_add(r17835, r17833, r17834, MPFR_RNDN);
        mpfr_add(r17836, r17831, r17834, MPFR_RNDN);
        mpfr_pow(r17837, r17835, r17836, MPFR_RNDN);
        mpfr_mul(r17838, r17828, r17837, MPFR_RNDN);
        mpfr_neg(r17839, r17835, MPFR_RNDN);
        mpfr_exp(r17840, r17839, MPFR_RNDN);
        mpfr_mul(r17841, r17838, r17840, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17844, r17831, r17830, MPFR_RNDN);
        mpfr_div(r17845, r17843, r17844, MPFR_RNDN);
        mpfr_add(r17846, r17842, r17845, MPFR_RNDN);
        ;
        mpfr_add(r17848, r17831, r17826, MPFR_RNDN);
        mpfr_div(r17849, r17847, r17848, MPFR_RNDN);
        mpfr_add(r17850, r17846, r17849, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17853, r17831, r17852, MPFR_RNDN);
        mpfr_div(r17854, r17851, r17853, MPFR_RNDN);
        mpfr_add(r17855, r17850, r17854, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17858, r17831, r17857, MPFR_RNDN);
        mpfr_div(r17859, r17856, r17858, MPFR_RNDN);
        mpfr_add(r17860, r17855, r17859, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17863, r17831, r17862, MPFR_RNDN);
        mpfr_div(r17864, r17861, r17863, MPFR_RNDN);
        mpfr_add(r17865, r17860, r17864, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17868, r17831, r17867, MPFR_RNDN);
        mpfr_div(r17869, r17866, r17868, MPFR_RNDN);
        mpfr_add(r17870, r17865, r17869, MPFR_RNDN);
        ;
        mpfr_div(r17872, r17871, r17833, MPFR_RNDN);
        mpfr_add(r17873, r17870, r17872, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17876, r17831, r17875, MPFR_RNDN);
        mpfr_div(r17877, r17874, r17876, MPFR_RNDN);
        mpfr_add(r17878, r17873, r17877, MPFR_RNDN);
        mpfr_mul(r17879, r17841, r17878, MPFR_RNDN);
        return mpfr_get_d(r17879, MPFR_RNDN);
}

static mpfr_t 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, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r17880);
        mpfr_init_set_str(r17881, "-0.002604022f0", 10, MPFR_RNDN);
        mpfr_init(r17882);
        mpfr_init_set_str(r17883, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r17884, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r17885, "1", 10, MPFR_RNDN);
        mpfr_init(r17886);
        mpfr_init(r17887);
        mpfr_init(r17888);
        mpfr_init_set_str(r17889, "8", 10, MPFR_RNDN);
        mpfr_init(r17890);
        mpfr_init(r17891);
        mpfr_init_set_str(r17892, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r17893);
        mpfr_init(r17894);
        mpfr_init_set_str(r17895, "6", 10, MPFR_RNDN);
        mpfr_init(r17896);
        mpfr_init_set_str(r17897, "5", 10, MPFR_RNDN);
        mpfr_init(r17898);
        mpfr_init(r17899);
        mpfr_init(r17900);
        mpfr_init(r17901);
        mpfr_init(r17902);
        mpfr_init_set_str(r17903, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init(r17904);
        mpfr_init_set_str(r17905, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init(r17906);
        mpfr_init(r17907);
        mpfr_init(r17908);
        mpfr_init(r17909);
        mpfr_init_set_str(r17910, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r17911, "2", 10, MPFR_RNDN);
        mpfr_init(r17912);
        mpfr_init(r17913);
        mpfr_init(r17914);
        mpfr_init_set_str(r17915, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r17916, "3", 10, MPFR_RNDN);
        mpfr_init(r17917);
        mpfr_init(r17918);
        mpfr_init(r17919);
        mpfr_init_set_str(r17920, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r17921, "0", 10, MPFR_RNDN);
        mpfr_init(r17922);
        mpfr_init(r17923);
        mpfr_init(r17924);
        mpfr_init_set_str(r17925, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r17926);
        mpfr_init(r17927);
        mpfr_init(r17928);
        mpfr_init(r17929);
        mpfr_init_set_str(r17930, "4", 10, MPFR_RNDN);
        mpfr_init(r17931);
        mpfr_init(r17932);
        mpfr_init(r17933);
        mpfr_init(r17934);
        mpfr_init(r17935);
        mpfr_init(r17936);
        mpfr_init(r17937);
        mpfr_init(r17938);
        mpfr_init(r17939);
        mpfr_init(r17940);
        mpfr_init(r17941);
        mpfr_init(r17942);
        mpfr_init(r17943);
        mpfr_init(r17944);
        mpfr_init_set_str(r17945, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init(r17946);
        mpfr_init(r17947);
        mpfr_init(r17948);
        mpfr_init(r17949);
        mpfr_init(r17950);
        mpfr_init(r17951);
        mpfr_init_set_str(r17952, "0.5", 10, MPFR_RNDN);
        mpfr_init(r17953);
        mpfr_init(r17954);
        mpfr_init(r17955);
        mpfr_init(r17956);
        mpfr_init(r17957);
        mpfr_init(r17958);
        mpfr_init(r17959);
        mpfr_init(r17960);
        mpfr_init(r17961);
        mpfr_init(r17962);
        mpfr_init(r17963);
        mpfr_init(r17964);
        mpfr_init(r17965);
        mpfr_init(r17966);
        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(r17981);
        mpfr_init(r17982);
        mpfr_init(r17983);
        mpfr_init(r17984);
        mpfr_init(r17985);
        mpfr_init(r17986);
        mpfr_init(r17987);
        mpfr_init_set_str(r17988, "6.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r17989, "1.0", 10, MPFR_RNDN);
        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_set_str(r18002, "338.26018406094255", 10, MPFR_RNDN);
        mpfr_init(r18003);
        mpfr_init(r18004);
        mpfr_init(r18005);
        mpfr_init(r18006);
        mpfr_init(r18007);
        mpfr_init(r18008);
        mpfr_init(r18009);
        mpfr_init_set_str(r18010, "1656.8104518737205", 10, MPFR_RNDN);
        mpfr_init(r18011);
        mpfr_init(r18012);
        mpfr_init(r18013);
        mpfr_init(r18014);
        mpfr_init(r18015);
        mpfr_init(r18016);
        mpfr_init_set_str(r18017, "2585.1948787825354", 10, MPFR_RNDN);
        mpfr_init(r18018);
        mpfr_init(r18019);
        mpfr_init(r18020);
        mpfr_init(r18021);
        mpfr_init(r18022);
        mpfr_init(r18023);
        mpfr_init(r18024);
        mpfr_init(r18025);
}

double f_fm(double z) {
        mpfr_set_d(r17880, z, MPFR_RNDN);
        ;
        mpfr_set_si(r17882, mpfr_cmp(r17880, r17881) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r17886, r17880, r17885, MPFR_RNDN);
        mpfr_add(r17887, r17884, r17886, MPFR_RNDN);
        mpfr_mul(r17888, r17883, r17887, MPFR_RNDN);
        ;
        mpfr_add(r17890, r17880, r17889, MPFR_RNDN);
        mpfr_sub(r17891, r17890, r17885, MPFR_RNDN);
        ;
        mpfr_mul(r17893, r17891, r17892, MPFR_RNDN);
        mpfr_add(r17894, r17888, r17893, MPFR_RNDN);
        ;
        mpfr_add(r17896, r17886, r17895, MPFR_RNDN);
        ;
        mpfr_sub(r17898, r17885, r17897, MPFR_RNDN);
        mpfr_sub(r17899, r17880, r17898, MPFR_RNDN);
        mpfr_mul(r17900, r17896, r17899, MPFR_RNDN);
        mpfr_mul(r17901, r17894, r17900, MPFR_RNDN);
        mpfr_mul(r17902, r17891, r17887, MPFR_RNDN);
        ;
        mpfr_mul(r17904, r17903, r17899, MPFR_RNDN);
        ;
        mpfr_mul(r17906, r17896, r17905, MPFR_RNDN);
        mpfr_add(r17907, r17904, r17906, MPFR_RNDN);
        mpfr_mul(r17908, r17902, r17907, MPFR_RNDN);
        mpfr_add(r17909, r17901, r17908, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r17912, r17885, r17911, MPFR_RNDN);
        mpfr_sub(r17913, r17880, r17912, MPFR_RNDN);
        mpfr_div(r17914, r17910, r17913, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17917, r17886, r17916, MPFR_RNDN);
        mpfr_div(r17918, r17915, r17917, MPFR_RNDN);
        mpfr_sub(r17919, r17914, r17918, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r17922, r17880, r17921, MPFR_RNDN);
        mpfr_div(r17923, r17920, r17922, MPFR_RNDN);
        mpfr_sqr(r17924, r17923, MPFR_RNDN);
        ;
        mpfr_sqr(r17926, r17925, MPFR_RNDN);
        mpfr_mul(r17927, r17923, r17925, MPFR_RNDN);
        mpfr_sub(r17928, r17926, r17927, MPFR_RNDN);
        mpfr_add(r17929, r17924, r17928, MPFR_RNDN);
        ;
        mpfr_add(r17931, r17880, r17930, MPFR_RNDN);
        mpfr_sub(r17932, r17931, r17885, MPFR_RNDN);
        mpfr_mul(r17933, r17929, r17932, MPFR_RNDN);
        mpfr_mul(r17934, r17919, r17933, MPFR_RNDN);
        mpfr_mul(r17935, r17909, r17934, MPFR_RNDN);
        mpfr_mul(r17936, r17902, r17900, MPFR_RNDN);
        mpfr_sqr(r17937, r17914, MPFR_RNDN);
        mpfr_sqr(r17938, r17918, MPFR_RNDN);
        mpfr_sub(r17939, r17937, r17938, MPFR_RNDN);
        mpfr_mul(r17940, r17939, r17933, MPFR_RNDN);
        mpfr_pow(r17941, r17923, r17916, MPFR_RNDN);
        mpfr_pow(r17942, r17925, r17916, MPFR_RNDN);
        mpfr_sub(r17943, r17941, r17942, MPFR_RNDN);
        mpfr_mul(r17944, r17943, r17932, MPFR_RNDN);
        ;
        mpfr_mul(r17946, r17929, r17945, MPFR_RNDN);
        mpfr_add(r17947, r17944, r17946, MPFR_RNDN);
        mpfr_mul(r17948, r17919, r17947, MPFR_RNDN);
        mpfr_add(r17949, r17940, r17948, MPFR_RNDN);
        mpfr_mul(r17950, r17936, r17949, MPFR_RNDN);
        mpfr_add(r17951, r17935, r17950, MPFR_RNDN);
        ;
        mpfr_add(r17953, r17952, r17884, MPFR_RNDN);
        mpfr_add(r17954, r17886, r17953, MPFR_RNDN);
        mpfr_add(r17955, r17952, r17886, MPFR_RNDN);
        mpfr_pow(r17956, r17954, r17955, MPFR_RNDN);
        mpfr_const_pi(r17957, MPFR_RNDN);
        mpfr_mul(r17958, r17911, r17957, MPFR_RNDN);
        mpfr_sqrt(r17959, r17958, MPFR_RNDN);
        mpfr_mul(r17960, r17956, r17959, MPFR_RNDN);
        mpfr_mul(r17961, r17951, r17960, MPFR_RNDN);
        mpfr_add(r17962, r17897, r17880, MPFR_RNDN);
        mpfr_sub(r17963, r17962, r17885, MPFR_RNDN);
        mpfr_add(r17964, r17895, r17886, MPFR_RNDN);
        mpfr_mul(r17965, r17963, r17964, MPFR_RNDN);
        mpfr_sub(r17966, r17885, r17884, MPFR_RNDN);
        mpfr_sub(r17967, r17880, r17966, MPFR_RNDN);
        mpfr_sub(r17968, r17889, r17885, MPFR_RNDN);
        mpfr_add(r17969, r17968, r17880, MPFR_RNDN);
        mpfr_mul(r17970, r17967, r17969, MPFR_RNDN);
        mpfr_mul(r17971, r17965, r17970, MPFR_RNDN);
        mpfr_add(r17972, r17916, r17886, MPFR_RNDN);
        mpfr_div(r17973, r17915, r17972, MPFR_RNDN);
        mpfr_sub(r17974, r17914, r17973, MPFR_RNDN);
        mpfr_mul(r17975, r17971, r17974, MPFR_RNDN);
        mpfr_sub(r17976, r17925, r17923, MPFR_RNDN);
        mpfr_fma(r17977, r17925, r17976, r17924, MPFR_RNDN);
        mpfr_sub(r17978, r17930, r17885, MPFR_RNDN);
        mpfr_add(r17979, r17978, r17880, MPFR_RNDN);
        mpfr_mul(r17980, r17977, r17979, MPFR_RNDN);
        mpfr_mul(r17981, r17975, r17980, MPFR_RNDN);
        mpfr_add(r17982, r17884, r17952, MPFR_RNDN);
        mpfr_add(r17983, r17982, r17886, MPFR_RNDN);
        mpfr_exp(r17984, r17983, MPFR_RNDN);
        mpfr_mul(r17985, r17981, r17984, MPFR_RNDN);
        mpfr_div(r17986, r17961, r17985, MPFR_RNDN);
        mpfr_sqrt(r17987, r17957, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r17990, r17988, r17989, MPFR_RNDN);
        mpfr_div(r17991, r17885, r17990, MPFR_RNDN);
        mpfr_pow(r17992, r17991, r17952, MPFR_RNDN);
        mpfr_mul(r17993, r17987, r17992, MPFR_RNDN);
        mpfr_log(r17994, r17988, MPFR_RNDN);
        mpfr_sqrt(r17995, r17911, MPFR_RNDN);
        mpfr_exp(r17996, r17988, MPFR_RNDN);
        mpfr_div(r17997, r17995, r17996, MPFR_RNDN);
        mpfr_mul(r17998, r17994, r17997, MPFR_RNDN);
        mpfr_div(r17999, r17997, r17880, MPFR_RNDN);
        mpfr_add(r18000, r17998, r17999, MPFR_RNDN);
        mpfr_mul(r18001, r17993, r18000, MPFR_RNDN);
        ;
        mpfr_mul(r18003, r17995, r17880, MPFR_RNDN);
        mpfr_sqr(r18004, r17994, MPFR_RNDN);
        mpfr_div(r18005, r17996, r18004, MPFR_RNDN);
        mpfr_div(r18006, r18003, r18005, MPFR_RNDN);
        mpfr_mul(r18007, r18002, r18006, MPFR_RNDN);
        mpfr_mul(r18008, r18007, r17993, MPFR_RNDN);
        mpfr_fma(r18009, r17920, r18001, r18008, MPFR_RNDN);
        ;
        mpfr_mul(r18011, r18003, r17994, MPFR_RNDN);
        mpfr_div(r18012, r18011, r17996, MPFR_RNDN);
        mpfr_mul(r18013, r17987, r17997, MPFR_RNDN);
        mpfr_mul(r18014, r18013, r17992, MPFR_RNDN);
        mpfr_fma(r18015, r18012, r17993, r18014, MPFR_RNDN);
        mpfr_mul(r18016, r18010, r18015, MPFR_RNDN);
        ;
        mpfr_mul(r18018, r17880, r17987, MPFR_RNDN);
        mpfr_div(r18019, r17996, r17995, MPFR_RNDN);
        mpfr_div(r18020, r18018, r18019, MPFR_RNDN);
        mpfr_mul(r18021, r17992, r18020, MPFR_RNDN);
        mpfr_mul(r18022, r18017, r18021, MPFR_RNDN);
        mpfr_sub(r18023, r18016, r18022, MPFR_RNDN);
        mpfr_sub(r18024, r18009, r18023, MPFR_RNDN);
        if (mpfr_get_si(r17882, MPFR_RNDN)) { mpfr_set(r18025, r17986, MPFR_RNDN); } else { mpfr_set(r18025, r18024, MPFR_RNDN); };
        return mpfr_get_d(r18025, MPFR_RNDN);
}

static mpfr_t 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, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18026);
        mpfr_init_set_str(r18027, "-0.002604022f0", 10, MPFR_RNDN);
        mpfr_init(r18028);
        mpfr_init_set_str(r18029, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r18030, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r18031, "1", 10, MPFR_RNDN);
        mpfr_init(r18032);
        mpfr_init(r18033);
        mpfr_init(r18034);
        mpfr_init_set_str(r18035, "8", 10, MPFR_RNDN);
        mpfr_init(r18036);
        mpfr_init(r18037);
        mpfr_init_set_str(r18038, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r18039);
        mpfr_init(r18040);
        mpfr_init_set_str(r18041, "6", 10, MPFR_RNDN);
        mpfr_init(r18042);
        mpfr_init_set_str(r18043, "5", 10, MPFR_RNDN);
        mpfr_init(r18044);
        mpfr_init(r18045);
        mpfr_init(r18046);
        mpfr_init(r18047);
        mpfr_init(r18048);
        mpfr_init_set_str(r18049, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init(r18050);
        mpfr_init_set_str(r18051, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init(r18052);
        mpfr_init(r18053);
        mpfr_init(r18054);
        mpfr_init(r18055);
        mpfr_init_set_str(r18056, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r18057, "2", 10, MPFR_RNDN);
        mpfr_init(r18058);
        mpfr_init(r18059);
        mpfr_init(r18060);
        mpfr_init_set_str(r18061, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18062, "3", 10, MPFR_RNDN);
        mpfr_init(r18063);
        mpfr_init(r18064);
        mpfr_init(r18065);
        mpfr_init_set_str(r18066, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r18067, "0", 10, MPFR_RNDN);
        mpfr_init(r18068);
        mpfr_init(r18069);
        mpfr_init(r18070);
        mpfr_init_set_str(r18071, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r18072);
        mpfr_init(r18073);
        mpfr_init(r18074);
        mpfr_init(r18075);
        mpfr_init_set_str(r18076, "4", 10, MPFR_RNDN);
        mpfr_init(r18077);
        mpfr_init(r18078);
        mpfr_init(r18079);
        mpfr_init(r18080);
        mpfr_init(r18081);
        mpfr_init(r18082);
        mpfr_init(r18083);
        mpfr_init(r18084);
        mpfr_init(r18085);
        mpfr_init(r18086);
        mpfr_init(r18087);
        mpfr_init(r18088);
        mpfr_init(r18089);
        mpfr_init(r18090);
        mpfr_init_set_str(r18091, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init(r18092);
        mpfr_init(r18093);
        mpfr_init(r18094);
        mpfr_init(r18095);
        mpfr_init(r18096);
        mpfr_init(r18097);
        mpfr_init_set_str(r18098, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18099);
        mpfr_init(r18100);
        mpfr_init(r18101);
        mpfr_init(r18102);
        mpfr_init(r18103);
        mpfr_init(r18104);
        mpfr_init(r18105);
        mpfr_init(r18106);
        mpfr_init(r18107);
        mpfr_init(r18108);
        mpfr_init(r18109);
        mpfr_init(r18110);
        mpfr_init(r18111);
        mpfr_init(r18112);
        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(r18127);
        mpfr_init(r18128);
        mpfr_init(r18129);
        mpfr_init(r18130);
        mpfr_init(r18131);
        mpfr_init(r18132);
        mpfr_init(r18133);
        mpfr_init_set_str(r18134, "6.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r18135, "1.0", 10, MPFR_RNDN);
        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_set_str(r18148, "338.26018406094255", 10, MPFR_RNDN);
        mpfr_init(r18149);
        mpfr_init(r18150);
        mpfr_init(r18151);
        mpfr_init(r18152);
        mpfr_init(r18153);
        mpfr_init(r18154);
        mpfr_init(r18155);
        mpfr_init_set_str(r18156, "1656.8104518737205", 10, MPFR_RNDN);
        mpfr_init(r18157);
        mpfr_init(r18158);
        mpfr_init(r18159);
        mpfr_init(r18160);
        mpfr_init(r18161);
        mpfr_init(r18162);
        mpfr_init_set_str(r18163, "2585.1948787825354", 10, MPFR_RNDN);
        mpfr_init(r18164);
        mpfr_init(r18165);
        mpfr_init(r18166);
        mpfr_init(r18167);
        mpfr_init(r18168);
        mpfr_init(r18169);
        mpfr_init(r18170);
        mpfr_init(r18171);
}

double f_dm(double z) {
        mpfr_set_d(r18026, z, MPFR_RNDN);
        ;
        mpfr_set_si(r18028, mpfr_cmp(r18026, r18027) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r18032, r18026, r18031, MPFR_RNDN);
        mpfr_add(r18033, r18030, r18032, MPFR_RNDN);
        mpfr_mul(r18034, r18029, r18033, MPFR_RNDN);
        ;
        mpfr_add(r18036, r18026, r18035, MPFR_RNDN);
        mpfr_sub(r18037, r18036, r18031, MPFR_RNDN);
        ;
        mpfr_mul(r18039, r18037, r18038, MPFR_RNDN);
        mpfr_add(r18040, r18034, r18039, MPFR_RNDN);
        ;
        mpfr_add(r18042, r18032, r18041, MPFR_RNDN);
        ;
        mpfr_sub(r18044, r18031, r18043, MPFR_RNDN);
        mpfr_sub(r18045, r18026, r18044, MPFR_RNDN);
        mpfr_mul(r18046, r18042, r18045, MPFR_RNDN);
        mpfr_mul(r18047, r18040, r18046, MPFR_RNDN);
        mpfr_mul(r18048, r18037, r18033, MPFR_RNDN);
        ;
        mpfr_mul(r18050, r18049, r18045, MPFR_RNDN);
        ;
        mpfr_mul(r18052, r18042, r18051, MPFR_RNDN);
        mpfr_add(r18053, r18050, r18052, MPFR_RNDN);
        mpfr_mul(r18054, r18048, r18053, MPFR_RNDN);
        mpfr_add(r18055, r18047, r18054, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18058, r18031, r18057, MPFR_RNDN);
        mpfr_sub(r18059, r18026, r18058, MPFR_RNDN);
        mpfr_div(r18060, r18056, r18059, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18063, r18032, r18062, MPFR_RNDN);
        mpfr_div(r18064, r18061, r18063, MPFR_RNDN);
        mpfr_sub(r18065, r18060, r18064, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18068, r18026, r18067, MPFR_RNDN);
        mpfr_div(r18069, r18066, r18068, MPFR_RNDN);
        mpfr_sqr(r18070, r18069, MPFR_RNDN);
        ;
        mpfr_sqr(r18072, r18071, MPFR_RNDN);
        mpfr_mul(r18073, r18069, r18071, MPFR_RNDN);
        mpfr_sub(r18074, r18072, r18073, MPFR_RNDN);
        mpfr_add(r18075, r18070, r18074, MPFR_RNDN);
        ;
        mpfr_add(r18077, r18026, r18076, MPFR_RNDN);
        mpfr_sub(r18078, r18077, r18031, MPFR_RNDN);
        mpfr_mul(r18079, r18075, r18078, MPFR_RNDN);
        mpfr_mul(r18080, r18065, r18079, MPFR_RNDN);
        mpfr_mul(r18081, r18055, r18080, MPFR_RNDN);
        mpfr_mul(r18082, r18048, r18046, MPFR_RNDN);
        mpfr_sqr(r18083, r18060, MPFR_RNDN);
        mpfr_sqr(r18084, r18064, MPFR_RNDN);
        mpfr_sub(r18085, r18083, r18084, MPFR_RNDN);
        mpfr_mul(r18086, r18085, r18079, MPFR_RNDN);
        mpfr_pow(r18087, r18069, r18062, MPFR_RNDN);
        mpfr_pow(r18088, r18071, r18062, MPFR_RNDN);
        mpfr_sub(r18089, r18087, r18088, MPFR_RNDN);
        mpfr_mul(r18090, r18089, r18078, MPFR_RNDN);
        ;
        mpfr_mul(r18092, r18075, r18091, MPFR_RNDN);
        mpfr_add(r18093, r18090, r18092, MPFR_RNDN);
        mpfr_mul(r18094, r18065, r18093, MPFR_RNDN);
        mpfr_add(r18095, r18086, r18094, MPFR_RNDN);
        mpfr_mul(r18096, r18082, r18095, MPFR_RNDN);
        mpfr_add(r18097, r18081, r18096, MPFR_RNDN);
        ;
        mpfr_add(r18099, r18098, r18030, MPFR_RNDN);
        mpfr_add(r18100, r18032, r18099, MPFR_RNDN);
        mpfr_add(r18101, r18098, r18032, MPFR_RNDN);
        mpfr_pow(r18102, r18100, r18101, MPFR_RNDN);
        mpfr_const_pi(r18103, MPFR_RNDN);
        mpfr_mul(r18104, r18057, r18103, MPFR_RNDN);
        mpfr_sqrt(r18105, r18104, MPFR_RNDN);
        mpfr_mul(r18106, r18102, r18105, MPFR_RNDN);
        mpfr_mul(r18107, r18097, r18106, MPFR_RNDN);
        mpfr_add(r18108, r18043, r18026, MPFR_RNDN);
        mpfr_sub(r18109, r18108, r18031, MPFR_RNDN);
        mpfr_add(r18110, r18041, r18032, MPFR_RNDN);
        mpfr_mul(r18111, r18109, r18110, MPFR_RNDN);
        mpfr_sub(r18112, r18031, r18030, MPFR_RNDN);
        mpfr_sub(r18113, r18026, r18112, MPFR_RNDN);
        mpfr_sub(r18114, r18035, r18031, MPFR_RNDN);
        mpfr_add(r18115, r18114, r18026, MPFR_RNDN);
        mpfr_mul(r18116, r18113, r18115, MPFR_RNDN);
        mpfr_mul(r18117, r18111, r18116, MPFR_RNDN);
        mpfr_add(r18118, r18062, r18032, MPFR_RNDN);
        mpfr_div(r18119, r18061, r18118, MPFR_RNDN);
        mpfr_sub(r18120, r18060, r18119, MPFR_RNDN);
        mpfr_mul(r18121, r18117, r18120, MPFR_RNDN);
        mpfr_sub(r18122, r18071, r18069, MPFR_RNDN);
        mpfr_fma(r18123, r18071, r18122, r18070, MPFR_RNDN);
        mpfr_sub(r18124, r18076, r18031, MPFR_RNDN);
        mpfr_add(r18125, r18124, r18026, MPFR_RNDN);
        mpfr_mul(r18126, r18123, r18125, MPFR_RNDN);
        mpfr_mul(r18127, r18121, r18126, MPFR_RNDN);
        mpfr_add(r18128, r18030, r18098, MPFR_RNDN);
        mpfr_add(r18129, r18128, r18032, MPFR_RNDN);
        mpfr_exp(r18130, r18129, MPFR_RNDN);
        mpfr_mul(r18131, r18127, r18130, MPFR_RNDN);
        mpfr_div(r18132, r18107, r18131, MPFR_RNDN);
        mpfr_sqrt(r18133, r18103, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18136, r18134, r18135, MPFR_RNDN);
        mpfr_div(r18137, r18031, r18136, MPFR_RNDN);
        mpfr_pow(r18138, r18137, r18098, MPFR_RNDN);
        mpfr_mul(r18139, r18133, r18138, MPFR_RNDN);
        mpfr_log(r18140, r18134, MPFR_RNDN);
        mpfr_sqrt(r18141, r18057, MPFR_RNDN);
        mpfr_exp(r18142, r18134, MPFR_RNDN);
        mpfr_div(r18143, r18141, r18142, MPFR_RNDN);
        mpfr_mul(r18144, r18140, r18143, MPFR_RNDN);
        mpfr_div(r18145, r18143, r18026, MPFR_RNDN);
        mpfr_add(r18146, r18144, r18145, MPFR_RNDN);
        mpfr_mul(r18147, r18139, r18146, MPFR_RNDN);
        ;
        mpfr_mul(r18149, r18141, r18026, MPFR_RNDN);
        mpfr_sqr(r18150, r18140, MPFR_RNDN);
        mpfr_div(r18151, r18142, r18150, MPFR_RNDN);
        mpfr_div(r18152, r18149, r18151, MPFR_RNDN);
        mpfr_mul(r18153, r18148, r18152, MPFR_RNDN);
        mpfr_mul(r18154, r18153, r18139, MPFR_RNDN);
        mpfr_fma(r18155, r18066, r18147, r18154, MPFR_RNDN);
        ;
        mpfr_mul(r18157, r18149, r18140, MPFR_RNDN);
        mpfr_div(r18158, r18157, r18142, MPFR_RNDN);
        mpfr_mul(r18159, r18133, r18143, MPFR_RNDN);
        mpfr_mul(r18160, r18159, r18138, MPFR_RNDN);
        mpfr_fma(r18161, r18158, r18139, r18160, MPFR_RNDN);
        mpfr_mul(r18162, r18156, r18161, MPFR_RNDN);
        ;
        mpfr_mul(r18164, r18026, r18133, MPFR_RNDN);
        mpfr_div(r18165, r18142, r18141, MPFR_RNDN);
        mpfr_div(r18166, r18164, r18165, MPFR_RNDN);
        mpfr_mul(r18167, r18138, r18166, MPFR_RNDN);
        mpfr_mul(r18168, r18163, r18167, MPFR_RNDN);
        mpfr_sub(r18169, r18162, r18168, MPFR_RNDN);
        mpfr_sub(r18170, r18155, r18169, MPFR_RNDN);
        if (mpfr_get_si(r18028, MPFR_RNDN)) { mpfr_set(r18171, r18132, MPFR_RNDN); } else { mpfr_set(r18171, r18170, MPFR_RNDN); };
        return mpfr_get_d(r18171, MPFR_RNDN);
}

