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

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

double f_if(float z) {
        float r26458 = atan2(1.0, 0.0);
        float r26459 = z;
        float r26460 = r26458 * r26459;
        float r26461 = sin(r26460);
        float r26462 = r26458 / r26461;
        float r26463 = 2;
        float r26464 = r26458 * r26463;
        float r26465 = sqrt(r26464);
        float r26466 = 1;
        float r26467 = r26466 - r26459;
        float r26468 = r26467 - r26466;
        float r26469 = 7;
        float r26470 = r26468 + r26469;
        float r26471 = 0.5;
        float r26472 = r26470 + r26471;
        float r26473 = r26468 + r26471;
        float r26474 = pow(r26472, r26473);
        float r26475 = r26465 * r26474;
        float r26476 = -r26472;
        float r26477 = exp(r26476);
        float r26478 = r26475 * r26477;
        float r26479 = 0.9999999999998099;
        float r26480 = 676.5203681218851;
        float r26481 = r26468 + r26466;
        float r26482 = r26480 / r26481;
        float r26483 = r26479 + r26482;
        float r26484 = -1259.1392167224028;
        float r26485 = r26468 + r26463;
        float r26486 = r26484 / r26485;
        float r26487 = r26483 + r26486;
        float r26488 = 771.3234287776531;
        float r26489 = 3;
        float r26490 = r26468 + r26489;
        float r26491 = r26488 / r26490;
        float r26492 = r26487 + r26491;
        float r26493 = -176.6150291621406;
        float r26494 = 4;
        float r26495 = r26468 + r26494;
        float r26496 = r26493 / r26495;
        float r26497 = r26492 + r26496;
        float r26498 = 12.507343278686905;
        float r26499 = 5;
        float r26500 = r26468 + r26499;
        float r26501 = r26498 / r26500;
        float r26502 = r26497 + r26501;
        float r26503 = -0.13857109526572012;
        float r26504 = 6;
        float r26505 = r26468 + r26504;
        float r26506 = r26503 / r26505;
        float r26507 = r26502 + r26506;
        float r26508 = 9.984369578019572e-06;
        float r26509 = r26508 / r26470;
        float r26510 = r26507 + r26509;
        float r26511 = 1.5056327351493116e-07;
        float r26512 = 8;
        float r26513 = r26468 + r26512;
        float r26514 = r26511 / r26513;
        float r26515 = r26510 + r26514;
        float r26516 = r26478 * r26515;
        float r26517 = r26462 * r26516;
        return r26517;
}

double f_id(double z) {
        double r26518 = atan2(1.0, 0.0);
        double r26519 = z;
        double r26520 = r26518 * r26519;
        double r26521 = sin(r26520);
        double r26522 = r26518 / r26521;
        double r26523 = 2;
        double r26524 = r26518 * r26523;
        double r26525 = sqrt(r26524);
        double r26526 = 1;
        double r26527 = r26526 - r26519;
        double r26528 = r26527 - r26526;
        double r26529 = 7;
        double r26530 = r26528 + r26529;
        double r26531 = 0.5;
        double r26532 = r26530 + r26531;
        double r26533 = r26528 + r26531;
        double r26534 = pow(r26532, r26533);
        double r26535 = r26525 * r26534;
        double r26536 = -r26532;
        double r26537 = exp(r26536);
        double r26538 = r26535 * r26537;
        double r26539 = 0.9999999999998099;
        double r26540 = 676.5203681218851;
        double r26541 = r26528 + r26526;
        double r26542 = r26540 / r26541;
        double r26543 = r26539 + r26542;
        double r26544 = -1259.1392167224028;
        double r26545 = r26528 + r26523;
        double r26546 = r26544 / r26545;
        double r26547 = r26543 + r26546;
        double r26548 = 771.3234287776531;
        double r26549 = 3;
        double r26550 = r26528 + r26549;
        double r26551 = r26548 / r26550;
        double r26552 = r26547 + r26551;
        double r26553 = -176.6150291621406;
        double r26554 = 4;
        double r26555 = r26528 + r26554;
        double r26556 = r26553 / r26555;
        double r26557 = r26552 + r26556;
        double r26558 = 12.507343278686905;
        double r26559 = 5;
        double r26560 = r26528 + r26559;
        double r26561 = r26558 / r26560;
        double r26562 = r26557 + r26561;
        double r26563 = -0.13857109526572012;
        double r26564 = 6;
        double r26565 = r26528 + r26564;
        double r26566 = r26563 / r26565;
        double r26567 = r26562 + r26566;
        double r26568 = 9.984369578019572e-06;
        double r26569 = r26568 / r26530;
        double r26570 = r26567 + r26569;
        double r26571 = 1.5056327351493116e-07;
        double r26572 = 8;
        double r26573 = r26528 + r26572;
        double r26574 = r26571 / r26573;
        double r26575 = r26570 + r26574;
        double r26576 = r26538 * r26575;
        double r26577 = r26522 * r26576;
        return r26577;
}


double f_of(float z) {
        float r26578 = atan2(1.0, 0.0);
        float r26579 = z;
        float r26580 = r26579 * r26578;
        float r26581 = sin(r26580);
        float r26582 = r26578 / r26581;
        float r26583 = 2;
        float r26584 = r26583 * r26578;
        float r26585 = sqrt(r26584);
        float r26586 = 0.5;
        float r26587 = 1;
        float r26588 = r26587 - r26579;
        float r26589 = r26586 + r26588;
        float r26590 = 7;
        float r26591 = r26587 - r26590;
        float r26592 = r26589 - r26591;
        float r26593 = r26587 - r26586;
        float r26594 = r26588 - r26593;
        float r26595 = pow(r26592, r26594);
        float r26596 = r26585 * r26595;
        float r26597 = r26582 * r26596;
        float r26598 = -r26592;
        float r26599 = exp(r26598);
        float r26600 = r26597 * r26599;
        float r26601 = -1259.1392167224028;
        float r26602 = r26583 + r26587;
        float r26603 = r26587 + r26579;
        float r26604 = r26602 - r26603;
        float r26605 = r26601 / r26604;
        float r26606 = r26605 * r26605;
        float r26607 = 771.3234287776531;
        float r26608 = 3;
        float r26609 = r26608 + r26587;
        float r26610 = r26609 - r26603;
        float r26611 = r26607 / r26610;
        float r26612 = pow(r26611, r26608);
        float r26613 = fma(r26605, r26606, r26612);
        float r26614 = 676.5203681218851;
        float r26615 = r26614 / r26588;
        float r26616 = 0.9999999999998099;
        float r26617 = r26615 - r26616;
        float r26618 = r26616 * r26616;
        float r26619 = fma(r26615, r26617, r26618);
        float r26620 = r26615 * r26615;
        float r26621 = pow(r26616, r26608);
        float r26622 = fma(r26615, r26620, r26621);
        float r26623 = r26605 - r26611;
        float r26624 = r26611 * r26611;
        float r26625 = fma(r26605, r26623, r26624);
        float r26626 = r26622 * r26625;
        float r26627 = fma(r26613, r26619, r26626);
        float r26628 = 4;
        float r26629 = r26587 - r26628;
        float r26630 = r26588 - r26629;
        float r26631 = -176.6150291621406;
        float r26632 = r26631 * r26619;
        float r26633 = r26632 * r26625;
        float r26634 = fma(r26627, r26630, r26633);
        float r26635 = r26579 - r26628;
        float r26636 = -r26635;
        float r26637 = fma(r26617, r26615, r26618);
        float r26638 = r26636 * r26637;
        float r26639 = -r26579;
        float r26640 = r26583 + r26639;
        float r26641 = r26601 / r26640;
        float r26642 = r26639 + r26608;
        float r26643 = r26607 / r26642;
        float r26644 = r26641 - r26643;
        float r26645 = r26643 * r26643;
        float r26646 = fma(r26644, r26641, r26645);
        float r26647 = r26638 * r26646;
        float r26648 = r26634 / r26647;
        float r26649 = -0.13857109526572012;
        float r26650 = 6;
        float r26651 = r26650 + r26587;
        float r26652 = r26651 - r26603;
        float r26653 = r26649 / r26652;
        float r26654 = 12.507343278686905;
        float r26655 = 5;
        float r26656 = r26587 - r26655;
        float r26657 = r26588 - r26656;
        float r26658 = r26654 / r26657;
        float r26659 = r26653 + r26658;
        float r26660 = 9.984369578019572e-06;
        float r26661 = r26588 - r26591;
        float r26662 = r26660 / r26661;
        float r26663 = 1.5056327351493116e-07;
        float r26664 = 8;
        float r26665 = r26664 + r26587;
        float r26666 = r26665 - r26603;
        float r26667 = r26663 / r26666;
        float r26668 = r26662 + r26667;
        float r26669 = r26659 + r26668;
        float r26670 = r26648 + r26669;
        float r26671 = r26600 * r26670;
        return r26671;
}

double f_od(double z) {
        double r26672 = atan2(1.0, 0.0);
        double r26673 = z;
        double r26674 = r26673 * r26672;
        double r26675 = sin(r26674);
        double r26676 = r26672 / r26675;
        double r26677 = 2;
        double r26678 = r26677 * r26672;
        double r26679 = sqrt(r26678);
        double r26680 = 0.5;
        double r26681 = 1;
        double r26682 = r26681 - r26673;
        double r26683 = r26680 + r26682;
        double r26684 = 7;
        double r26685 = r26681 - r26684;
        double r26686 = r26683 - r26685;
        double r26687 = r26681 - r26680;
        double r26688 = r26682 - r26687;
        double r26689 = pow(r26686, r26688);
        double r26690 = r26679 * r26689;
        double r26691 = r26676 * r26690;
        double r26692 = -r26686;
        double r26693 = exp(r26692);
        double r26694 = r26691 * r26693;
        double r26695 = -1259.1392167224028;
        double r26696 = r26677 + r26681;
        double r26697 = r26681 + r26673;
        double r26698 = r26696 - r26697;
        double r26699 = r26695 / r26698;
        double r26700 = r26699 * r26699;
        double r26701 = 771.3234287776531;
        double r26702 = 3;
        double r26703 = r26702 + r26681;
        double r26704 = r26703 - r26697;
        double r26705 = r26701 / r26704;
        double r26706 = pow(r26705, r26702);
        double r26707 = fma(r26699, r26700, r26706);
        double r26708 = 676.5203681218851;
        double r26709 = r26708 / r26682;
        double r26710 = 0.9999999999998099;
        double r26711 = r26709 - r26710;
        double r26712 = r26710 * r26710;
        double r26713 = fma(r26709, r26711, r26712);
        double r26714 = r26709 * r26709;
        double r26715 = pow(r26710, r26702);
        double r26716 = fma(r26709, r26714, r26715);
        double r26717 = r26699 - r26705;
        double r26718 = r26705 * r26705;
        double r26719 = fma(r26699, r26717, r26718);
        double r26720 = r26716 * r26719;
        double r26721 = fma(r26707, r26713, r26720);
        double r26722 = 4;
        double r26723 = r26681 - r26722;
        double r26724 = r26682 - r26723;
        double r26725 = -176.6150291621406;
        double r26726 = r26725 * r26713;
        double r26727 = r26726 * r26719;
        double r26728 = fma(r26721, r26724, r26727);
        double r26729 = r26673 - r26722;
        double r26730 = -r26729;
        double r26731 = fma(r26711, r26709, r26712);
        double r26732 = r26730 * r26731;
        double r26733 = -r26673;
        double r26734 = r26677 + r26733;
        double r26735 = r26695 / r26734;
        double r26736 = r26733 + r26702;
        double r26737 = r26701 / r26736;
        double r26738 = r26735 - r26737;
        double r26739 = r26737 * r26737;
        double r26740 = fma(r26738, r26735, r26739);
        double r26741 = r26732 * r26740;
        double r26742 = r26728 / r26741;
        double r26743 = -0.13857109526572012;
        double r26744 = 6;
        double r26745 = r26744 + r26681;
        double r26746 = r26745 - r26697;
        double r26747 = r26743 / r26746;
        double r26748 = 12.507343278686905;
        double r26749 = 5;
        double r26750 = r26681 - r26749;
        double r26751 = r26682 - r26750;
        double r26752 = r26748 / r26751;
        double r26753 = r26747 + r26752;
        double r26754 = 9.984369578019572e-06;
        double r26755 = r26682 - r26685;
        double r26756 = r26754 / r26755;
        double r26757 = 1.5056327351493116e-07;
        double r26758 = 8;
        double r26759 = r26758 + r26681;
        double r26760 = r26759 - r26697;
        double r26761 = r26757 / r26760;
        double r26762 = r26756 + r26761;
        double r26763 = r26753 + r26762;
        double r26764 = r26742 + r26763;
        double r26765 = r26694 * r26764;
        return r26765;
}

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 r26766, r26767, r26768, r26769, r26770, r26771, r26772, r26773, r26774, r26775, r26776, r26777, r26778, r26779, r26780, r26781, r26782, r26783, r26784, r26785, r26786, r26787, r26788, r26789, r26790, r26791, r26792, r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802, r26803, r26804, r26805, r26806, r26807, r26808, r26809, r26810, r26811, r26812, r26813, r26814, r26815, r26816, r26817, r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26766);
        mpfr_init(r26767);
        mpfr_init(r26768);
        mpfr_init(r26769);
        mpfr_init(r26770);
        mpfr_init_set_str(r26771, "2", 10, MPFR_RNDN);
        mpfr_init(r26772);
        mpfr_init(r26773);
        mpfr_init_set_str(r26774, "1", 10, MPFR_RNDN);
        mpfr_init(r26775);
        mpfr_init(r26776);
        mpfr_init_set_str(r26777, "7", 10, MPFR_RNDN);
        mpfr_init(r26778);
        mpfr_init_set_str(r26779, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26780);
        mpfr_init(r26781);
        mpfr_init(r26782);
        mpfr_init(r26783);
        mpfr_init(r26784);
        mpfr_init(r26785);
        mpfr_init(r26786);
        mpfr_init_set_str(r26787, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26788, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26789);
        mpfr_init(r26790);
        mpfr_init(r26791);
        mpfr_init_set_str(r26792, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26793);
        mpfr_init(r26794);
        mpfr_init(r26795);
        mpfr_init_set_str(r26796, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26797, "3", 10, MPFR_RNDN);
        mpfr_init(r26798);
        mpfr_init(r26799);
        mpfr_init(r26800);
        mpfr_init_set_str(r26801, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26802, "4", 10, MPFR_RNDN);
        mpfr_init(r26803);
        mpfr_init(r26804);
        mpfr_init(r26805);
        mpfr_init_set_str(r26806, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26807, "5", 10, MPFR_RNDN);
        mpfr_init(r26808);
        mpfr_init(r26809);
        mpfr_init(r26810);
        mpfr_init_set_str(r26811, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26812, "6", 10, MPFR_RNDN);
        mpfr_init(r26813);
        mpfr_init(r26814);
        mpfr_init(r26815);
        mpfr_init_set_str(r26816, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26817);
        mpfr_init(r26818);
        mpfr_init_set_str(r26819, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26820, "8", 10, MPFR_RNDN);
        mpfr_init(r26821);
        mpfr_init(r26822);
        mpfr_init(r26823);
        mpfr_init(r26824);
        mpfr_init(r26825);
}

double f_im(double z) {
        mpfr_const_pi(r26766, MPFR_RNDN);
        mpfr_set_d(r26767, z, MPFR_RNDN);
        mpfr_mul(r26768, r26766, r26767, MPFR_RNDN);
        mpfr_sin(r26769, r26768, MPFR_RNDN);
        mpfr_div(r26770, r26766, r26769, MPFR_RNDN);
        ;
        mpfr_mul(r26772, r26766, r26771, MPFR_RNDN);
        mpfr_sqrt(r26773, r26772, MPFR_RNDN);
        ;
        mpfr_sub(r26775, r26774, r26767, MPFR_RNDN);
        mpfr_sub(r26776, r26775, r26774, MPFR_RNDN);
        ;
        mpfr_add(r26778, r26776, r26777, MPFR_RNDN);
        ;
        mpfr_add(r26780, r26778, r26779, MPFR_RNDN);
        mpfr_add(r26781, r26776, r26779, MPFR_RNDN);
        mpfr_pow(r26782, r26780, r26781, MPFR_RNDN);
        mpfr_mul(r26783, r26773, r26782, MPFR_RNDN);
        mpfr_neg(r26784, r26780, MPFR_RNDN);
        mpfr_exp(r26785, r26784, MPFR_RNDN);
        mpfr_mul(r26786, r26783, r26785, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26789, r26776, r26774, MPFR_RNDN);
        mpfr_div(r26790, r26788, r26789, MPFR_RNDN);
        mpfr_add(r26791, r26787, r26790, MPFR_RNDN);
        ;
        mpfr_add(r26793, r26776, r26771, MPFR_RNDN);
        mpfr_div(r26794, r26792, r26793, MPFR_RNDN);
        mpfr_add(r26795, r26791, r26794, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26798, r26776, r26797, MPFR_RNDN);
        mpfr_div(r26799, r26796, r26798, MPFR_RNDN);
        mpfr_add(r26800, r26795, r26799, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26803, r26776, r26802, MPFR_RNDN);
        mpfr_div(r26804, r26801, r26803, MPFR_RNDN);
        mpfr_add(r26805, r26800, r26804, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26808, r26776, r26807, MPFR_RNDN);
        mpfr_div(r26809, r26806, r26808, MPFR_RNDN);
        mpfr_add(r26810, r26805, r26809, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26813, r26776, r26812, MPFR_RNDN);
        mpfr_div(r26814, r26811, r26813, MPFR_RNDN);
        mpfr_add(r26815, r26810, r26814, MPFR_RNDN);
        ;
        mpfr_div(r26817, r26816, r26778, MPFR_RNDN);
        mpfr_add(r26818, r26815, r26817, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26821, r26776, r26820, MPFR_RNDN);
        mpfr_div(r26822, r26819, r26821, MPFR_RNDN);
        mpfr_add(r26823, r26818, r26822, MPFR_RNDN);
        mpfr_mul(r26824, r26786, r26823, MPFR_RNDN);
        mpfr_mul(r26825, r26770, r26824, MPFR_RNDN);
        return mpfr_get_d(r26825, MPFR_RNDN);
}

static mpfr_t r26826, r26827, r26828, r26829, r26830, r26831, r26832, r26833, r26834, r26835, r26836, r26837, r26838, r26839, r26840, r26841, r26842, r26843, r26844, r26845, r26846, r26847, r26848, r26849, r26850, r26851, r26852, r26853, r26854, r26855, r26856, r26857, r26858, r26859, r26860, r26861, r26862, r26863, r26864, r26865, r26866, r26867, r26868, r26869, r26870, r26871, r26872, r26873, r26874, r26875, r26876, r26877, r26878, r26879, r26880, r26881, r26882, r26883, r26884, r26885, r26886, r26887, r26888, r26889, r26890, r26891, r26892, r26893, r26894, r26895, r26896, r26897, r26898, r26899, r26900, r26901, r26902, r26903, r26904, r26905, r26906, r26907, r26908, r26909, r26910, r26911, r26912, r26913, r26914, r26915, r26916, r26917, r26918, r26919;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26826);
        mpfr_init(r26827);
        mpfr_init(r26828);
        mpfr_init(r26829);
        mpfr_init(r26830);
        mpfr_init_set_str(r26831, "2", 10, MPFR_RNDN);
        mpfr_init(r26832);
        mpfr_init(r26833);
        mpfr_init_set_str(r26834, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26835, "1", 10, MPFR_RNDN);
        mpfr_init(r26836);
        mpfr_init(r26837);
        mpfr_init_set_str(r26838, "7", 10, MPFR_RNDN);
        mpfr_init(r26839);
        mpfr_init(r26840);
        mpfr_init(r26841);
        mpfr_init(r26842);
        mpfr_init(r26843);
        mpfr_init(r26844);
        mpfr_init(r26845);
        mpfr_init(r26846);
        mpfr_init(r26847);
        mpfr_init(r26848);
        mpfr_init_set_str(r26849, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26850);
        mpfr_init(r26851);
        mpfr_init(r26852);
        mpfr_init(r26853);
        mpfr_init(r26854);
        mpfr_init_set_str(r26855, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26856, "3", 10, MPFR_RNDN);
        mpfr_init(r26857);
        mpfr_init(r26858);
        mpfr_init(r26859);
        mpfr_init(r26860);
        mpfr_init(r26861);
        mpfr_init_set_str(r26862, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26863);
        mpfr_init_set_str(r26864, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r26865);
        mpfr_init(r26866);
        mpfr_init(r26867);
        mpfr_init(r26868);
        mpfr_init(r26869);
        mpfr_init(r26870);
        mpfr_init(r26871);
        mpfr_init(r26872);
        mpfr_init(r26873);
        mpfr_init(r26874);
        mpfr_init(r26875);
        mpfr_init_set_str(r26876, "4", 10, MPFR_RNDN);
        mpfr_init(r26877);
        mpfr_init(r26878);
        mpfr_init_set_str(r26879, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init(r26880);
        mpfr_init(r26881);
        mpfr_init(r26882);
        mpfr_init(r26883);
        mpfr_init(r26884);
        mpfr_init(r26885);
        mpfr_init(r26886);
        mpfr_init(r26887);
        mpfr_init(r26888);
        mpfr_init(r26889);
        mpfr_init(r26890);
        mpfr_init(r26891);
        mpfr_init(r26892);
        mpfr_init(r26893);
        mpfr_init(r26894);
        mpfr_init(r26895);
        mpfr_init(r26896);
        mpfr_init_set_str(r26897, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26898, "6", 10, MPFR_RNDN);
        mpfr_init(r26899);
        mpfr_init(r26900);
        mpfr_init(r26901);
        mpfr_init_set_str(r26902, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26903, "5", 10, MPFR_RNDN);
        mpfr_init(r26904);
        mpfr_init(r26905);
        mpfr_init(r26906);
        mpfr_init(r26907);
        mpfr_init_set_str(r26908, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26909);
        mpfr_init(r26910);
        mpfr_init_set_str(r26911, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26912, "8", 10, MPFR_RNDN);
        mpfr_init(r26913);
        mpfr_init(r26914);
        mpfr_init(r26915);
        mpfr_init(r26916);
        mpfr_init(r26917);
        mpfr_init(r26918);
        mpfr_init(r26919);
}

double f_fm(double z) {
        mpfr_const_pi(r26826, MPFR_RNDN);
        mpfr_set_d(r26827, z, MPFR_RNDN);
        mpfr_mul(r26828, r26827, r26826, MPFR_RNDN);
        mpfr_sin(r26829, r26828, MPFR_RNDN);
        mpfr_div(r26830, r26826, r26829, MPFR_RNDN);
        ;
        mpfr_mul(r26832, r26831, r26826, MPFR_RNDN);
        mpfr_sqrt(r26833, r26832, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26836, r26835, r26827, MPFR_RNDN);
        mpfr_add(r26837, r26834, r26836, MPFR_RNDN);
        ;
        mpfr_sub(r26839, r26835, r26838, MPFR_RNDN);
        mpfr_sub(r26840, r26837, r26839, MPFR_RNDN);
        mpfr_sub(r26841, r26835, r26834, MPFR_RNDN);
        mpfr_sub(r26842, r26836, r26841, MPFR_RNDN);
        mpfr_pow(r26843, r26840, r26842, MPFR_RNDN);
        mpfr_mul(r26844, r26833, r26843, MPFR_RNDN);
        mpfr_mul(r26845, r26830, r26844, MPFR_RNDN);
        mpfr_neg(r26846, r26840, MPFR_RNDN);
        mpfr_exp(r26847, r26846, MPFR_RNDN);
        mpfr_mul(r26848, r26845, r26847, MPFR_RNDN);
        ;
        mpfr_add(r26850, r26831, r26835, MPFR_RNDN);
        mpfr_add(r26851, r26835, r26827, MPFR_RNDN);
        mpfr_sub(r26852, r26850, r26851, MPFR_RNDN);
        mpfr_div(r26853, r26849, r26852, MPFR_RNDN);
        mpfr_mul(r26854, r26853, r26853, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26857, r26856, r26835, MPFR_RNDN);
        mpfr_sub(r26858, r26857, r26851, MPFR_RNDN);
        mpfr_div(r26859, r26855, r26858, MPFR_RNDN);
        mpfr_pow(r26860, r26859, r26856, MPFR_RNDN);
        mpfr_fma(r26861, r26853, r26854, r26860, MPFR_RNDN);
        ;
        mpfr_div(r26863, r26862, r26836, MPFR_RNDN);
        ;
        mpfr_sub(r26865, r26863, r26864, MPFR_RNDN);
        mpfr_mul(r26866, r26864, r26864, MPFR_RNDN);
        mpfr_fma(r26867, r26863, r26865, r26866, MPFR_RNDN);
        mpfr_mul(r26868, r26863, r26863, MPFR_RNDN);
        mpfr_pow(r26869, r26864, r26856, MPFR_RNDN);
        mpfr_fma(r26870, r26863, r26868, r26869, MPFR_RNDN);
        mpfr_sub(r26871, r26853, r26859, MPFR_RNDN);
        mpfr_mul(r26872, r26859, r26859, MPFR_RNDN);
        mpfr_fma(r26873, r26853, r26871, r26872, MPFR_RNDN);
        mpfr_mul(r26874, r26870, r26873, MPFR_RNDN);
        mpfr_fma(r26875, r26861, r26867, r26874, MPFR_RNDN);
        ;
        mpfr_sub(r26877, r26835, r26876, MPFR_RNDN);
        mpfr_sub(r26878, r26836, r26877, MPFR_RNDN);
        ;
        mpfr_mul(r26880, r26879, r26867, MPFR_RNDN);
        mpfr_mul(r26881, r26880, r26873, MPFR_RNDN);
        mpfr_fma(r26882, r26875, r26878, r26881, MPFR_RNDN);
        mpfr_sub(r26883, r26827, r26876, MPFR_RNDN);
        mpfr_neg(r26884, r26883, MPFR_RNDN);
        mpfr_fma(r26885, r26865, r26863, r26866, MPFR_RNDN);
        mpfr_mul(r26886, r26884, r26885, MPFR_RNDN);
        mpfr_neg(r26887, r26827, MPFR_RNDN);
        mpfr_add(r26888, r26831, r26887, MPFR_RNDN);
        mpfr_div(r26889, r26849, r26888, MPFR_RNDN);
        mpfr_add(r26890, r26887, r26856, MPFR_RNDN);
        mpfr_div(r26891, r26855, r26890, MPFR_RNDN);
        mpfr_sub(r26892, r26889, r26891, MPFR_RNDN);
        mpfr_mul(r26893, r26891, r26891, MPFR_RNDN);
        mpfr_fma(r26894, r26892, r26889, r26893, MPFR_RNDN);
        mpfr_mul(r26895, r26886, r26894, MPFR_RNDN);
        mpfr_div(r26896, r26882, r26895, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26899, r26898, r26835, MPFR_RNDN);
        mpfr_sub(r26900, r26899, r26851, MPFR_RNDN);
        mpfr_div(r26901, r26897, r26900, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26904, r26835, r26903, MPFR_RNDN);
        mpfr_sub(r26905, r26836, r26904, MPFR_RNDN);
        mpfr_div(r26906, r26902, r26905, MPFR_RNDN);
        mpfr_add(r26907, r26901, r26906, MPFR_RNDN);
        ;
        mpfr_sub(r26909, r26836, r26839, MPFR_RNDN);
        mpfr_div(r26910, r26908, r26909, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26913, r26912, r26835, MPFR_RNDN);
        mpfr_sub(r26914, r26913, r26851, MPFR_RNDN);
        mpfr_div(r26915, r26911, r26914, MPFR_RNDN);
        mpfr_add(r26916, r26910, r26915, MPFR_RNDN);
        mpfr_add(r26917, r26907, r26916, MPFR_RNDN);
        mpfr_add(r26918, r26896, r26917, MPFR_RNDN);
        mpfr_mul(r26919, r26848, r26918, MPFR_RNDN);
        return mpfr_get_d(r26919, MPFR_RNDN);
}

static mpfr_t r26920, r26921, r26922, r26923, r26924, r26925, r26926, r26927, r26928, r26929, r26930, r26931, r26932, r26933, r26934, r26935, r26936, r26937, r26938, r26939, r26940, r26941, r26942, r26943, r26944, r26945, r26946, r26947, r26948, r26949, r26950, r26951, r26952, r26953, r26954, r26955, r26956, r26957, r26958, r26959, r26960, r26961, r26962, r26963, r26964, r26965, r26966, r26967, r26968, r26969, r26970, r26971, r26972, r26973, r26974, r26975, r26976, r26977, r26978, r26979, r26980, r26981, r26982, r26983, r26984, r26985, r26986, r26987, r26988, r26989, r26990, r26991, r26992, r26993, r26994, r26995, r26996, r26997, r26998, r26999, r27000, r27001, r27002, r27003, r27004, r27005, r27006, r27007, r27008, r27009, r27010, r27011, r27012, r27013;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26920);
        mpfr_init(r26921);
        mpfr_init(r26922);
        mpfr_init(r26923);
        mpfr_init(r26924);
        mpfr_init_set_str(r26925, "2", 10, MPFR_RNDN);
        mpfr_init(r26926);
        mpfr_init(r26927);
        mpfr_init_set_str(r26928, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26929, "1", 10, MPFR_RNDN);
        mpfr_init(r26930);
        mpfr_init(r26931);
        mpfr_init_set_str(r26932, "7", 10, MPFR_RNDN);
        mpfr_init(r26933);
        mpfr_init(r26934);
        mpfr_init(r26935);
        mpfr_init(r26936);
        mpfr_init(r26937);
        mpfr_init(r26938);
        mpfr_init(r26939);
        mpfr_init(r26940);
        mpfr_init(r26941);
        mpfr_init(r26942);
        mpfr_init_set_str(r26943, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26944);
        mpfr_init(r26945);
        mpfr_init(r26946);
        mpfr_init(r26947);
        mpfr_init(r26948);
        mpfr_init_set_str(r26949, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26950, "3", 10, MPFR_RNDN);
        mpfr_init(r26951);
        mpfr_init(r26952);
        mpfr_init(r26953);
        mpfr_init(r26954);
        mpfr_init(r26955);
        mpfr_init_set_str(r26956, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26957);
        mpfr_init_set_str(r26958, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r26959);
        mpfr_init(r26960);
        mpfr_init(r26961);
        mpfr_init(r26962);
        mpfr_init(r26963);
        mpfr_init(r26964);
        mpfr_init(r26965);
        mpfr_init(r26966);
        mpfr_init(r26967);
        mpfr_init(r26968);
        mpfr_init(r26969);
        mpfr_init_set_str(r26970, "4", 10, MPFR_RNDN);
        mpfr_init(r26971);
        mpfr_init(r26972);
        mpfr_init_set_str(r26973, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init(r26974);
        mpfr_init(r26975);
        mpfr_init(r26976);
        mpfr_init(r26977);
        mpfr_init(r26978);
        mpfr_init(r26979);
        mpfr_init(r26980);
        mpfr_init(r26981);
        mpfr_init(r26982);
        mpfr_init(r26983);
        mpfr_init(r26984);
        mpfr_init(r26985);
        mpfr_init(r26986);
        mpfr_init(r26987);
        mpfr_init(r26988);
        mpfr_init(r26989);
        mpfr_init(r26990);
        mpfr_init_set_str(r26991, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26992, "6", 10, MPFR_RNDN);
        mpfr_init(r26993);
        mpfr_init(r26994);
        mpfr_init(r26995);
        mpfr_init_set_str(r26996, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26997, "5", 10, MPFR_RNDN);
        mpfr_init(r26998);
        mpfr_init(r26999);
        mpfr_init(r27000);
        mpfr_init(r27001);
        mpfr_init_set_str(r27002, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27003);
        mpfr_init(r27004);
        mpfr_init_set_str(r27005, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27006, "8", 10, MPFR_RNDN);
        mpfr_init(r27007);
        mpfr_init(r27008);
        mpfr_init(r27009);
        mpfr_init(r27010);
        mpfr_init(r27011);
        mpfr_init(r27012);
        mpfr_init(r27013);
}

double f_dm(double z) {
        mpfr_const_pi(r26920, MPFR_RNDN);
        mpfr_set_d(r26921, z, MPFR_RNDN);
        mpfr_mul(r26922, r26921, r26920, MPFR_RNDN);
        mpfr_sin(r26923, r26922, MPFR_RNDN);
        mpfr_div(r26924, r26920, r26923, MPFR_RNDN);
        ;
        mpfr_mul(r26926, r26925, r26920, MPFR_RNDN);
        mpfr_sqrt(r26927, r26926, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26930, r26929, r26921, MPFR_RNDN);
        mpfr_add(r26931, r26928, r26930, MPFR_RNDN);
        ;
        mpfr_sub(r26933, r26929, r26932, MPFR_RNDN);
        mpfr_sub(r26934, r26931, r26933, MPFR_RNDN);
        mpfr_sub(r26935, r26929, r26928, MPFR_RNDN);
        mpfr_sub(r26936, r26930, r26935, MPFR_RNDN);
        mpfr_pow(r26937, r26934, r26936, MPFR_RNDN);
        mpfr_mul(r26938, r26927, r26937, MPFR_RNDN);
        mpfr_mul(r26939, r26924, r26938, MPFR_RNDN);
        mpfr_neg(r26940, r26934, MPFR_RNDN);
        mpfr_exp(r26941, r26940, MPFR_RNDN);
        mpfr_mul(r26942, r26939, r26941, MPFR_RNDN);
        ;
        mpfr_add(r26944, r26925, r26929, MPFR_RNDN);
        mpfr_add(r26945, r26929, r26921, MPFR_RNDN);
        mpfr_sub(r26946, r26944, r26945, MPFR_RNDN);
        mpfr_div(r26947, r26943, r26946, MPFR_RNDN);
        mpfr_mul(r26948, r26947, r26947, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26951, r26950, r26929, MPFR_RNDN);
        mpfr_sub(r26952, r26951, r26945, MPFR_RNDN);
        mpfr_div(r26953, r26949, r26952, MPFR_RNDN);
        mpfr_pow(r26954, r26953, r26950, MPFR_RNDN);
        mpfr_fma(r26955, r26947, r26948, r26954, MPFR_RNDN);
        ;
        mpfr_div(r26957, r26956, r26930, MPFR_RNDN);
        ;
        mpfr_sub(r26959, r26957, r26958, MPFR_RNDN);
        mpfr_mul(r26960, r26958, r26958, MPFR_RNDN);
        mpfr_fma(r26961, r26957, r26959, r26960, MPFR_RNDN);
        mpfr_mul(r26962, r26957, r26957, MPFR_RNDN);
        mpfr_pow(r26963, r26958, r26950, MPFR_RNDN);
        mpfr_fma(r26964, r26957, r26962, r26963, MPFR_RNDN);
        mpfr_sub(r26965, r26947, r26953, MPFR_RNDN);
        mpfr_mul(r26966, r26953, r26953, MPFR_RNDN);
        mpfr_fma(r26967, r26947, r26965, r26966, MPFR_RNDN);
        mpfr_mul(r26968, r26964, r26967, MPFR_RNDN);
        mpfr_fma(r26969, r26955, r26961, r26968, MPFR_RNDN);
        ;
        mpfr_sub(r26971, r26929, r26970, MPFR_RNDN);
        mpfr_sub(r26972, r26930, r26971, MPFR_RNDN);
        ;
        mpfr_mul(r26974, r26973, r26961, MPFR_RNDN);
        mpfr_mul(r26975, r26974, r26967, MPFR_RNDN);
        mpfr_fma(r26976, r26969, r26972, r26975, MPFR_RNDN);
        mpfr_sub(r26977, r26921, r26970, MPFR_RNDN);
        mpfr_neg(r26978, r26977, MPFR_RNDN);
        mpfr_fma(r26979, r26959, r26957, r26960, MPFR_RNDN);
        mpfr_mul(r26980, r26978, r26979, MPFR_RNDN);
        mpfr_neg(r26981, r26921, MPFR_RNDN);
        mpfr_add(r26982, r26925, r26981, MPFR_RNDN);
        mpfr_div(r26983, r26943, r26982, MPFR_RNDN);
        mpfr_add(r26984, r26981, r26950, MPFR_RNDN);
        mpfr_div(r26985, r26949, r26984, MPFR_RNDN);
        mpfr_sub(r26986, r26983, r26985, MPFR_RNDN);
        mpfr_mul(r26987, r26985, r26985, MPFR_RNDN);
        mpfr_fma(r26988, r26986, r26983, r26987, MPFR_RNDN);
        mpfr_mul(r26989, r26980, r26988, MPFR_RNDN);
        mpfr_div(r26990, r26976, r26989, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26993, r26992, r26929, MPFR_RNDN);
        mpfr_sub(r26994, r26993, r26945, MPFR_RNDN);
        mpfr_div(r26995, r26991, r26994, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26998, r26929, r26997, MPFR_RNDN);
        mpfr_sub(r26999, r26930, r26998, MPFR_RNDN);
        mpfr_div(r27000, r26996, r26999, MPFR_RNDN);
        mpfr_add(r27001, r26995, r27000, MPFR_RNDN);
        ;
        mpfr_sub(r27003, r26930, r26933, MPFR_RNDN);
        mpfr_div(r27004, r27002, r27003, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27007, r27006, r26929, MPFR_RNDN);
        mpfr_sub(r27008, r27007, r26945, MPFR_RNDN);
        mpfr_div(r27009, r27005, r27008, MPFR_RNDN);
        mpfr_add(r27010, r27004, r27009, MPFR_RNDN);
        mpfr_add(r27011, r27001, r27010, MPFR_RNDN);
        mpfr_add(r27012, r26990, r27011, MPFR_RNDN);
        mpfr_mul(r27013, r26942, r27012, MPFR_RNDN);
        return mpfr_get_d(r27013, MPFR_RNDN);
}

