#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 r26404 = atan2(1.0, 0.0);
        float r26405 = z;
        float r26406 = r26404 * r26405;
        float r26407 = sin(r26406);
        float r26408 = r26404 / r26407;
        float r26409 = 2;
        float r26410 = r26404 * r26409;
        float r26411 = sqrt(r26410);
        float r26412 = 1;
        float r26413 = r26412 - r26405;
        float r26414 = r26413 - r26412;
        float r26415 = 7;
        float r26416 = r26414 + r26415;
        float r26417 = 0.5;
        float r26418 = r26416 + r26417;
        float r26419 = r26414 + r26417;
        float r26420 = pow(r26418, r26419);
        float r26421 = r26411 * r26420;
        float r26422 = -r26418;
        float r26423 = exp(r26422);
        float r26424 = r26421 * r26423;
        float r26425 = 0.9999999999998099;
        float r26426 = 676.5203681218851;
        float r26427 = r26414 + r26412;
        float r26428 = r26426 / r26427;
        float r26429 = r26425 + r26428;
        float r26430 = -1259.1392167224028;
        float r26431 = r26414 + r26409;
        float r26432 = r26430 / r26431;
        float r26433 = r26429 + r26432;
        float r26434 = 771.3234287776531;
        float r26435 = 3;
        float r26436 = r26414 + r26435;
        float r26437 = r26434 / r26436;
        float r26438 = r26433 + r26437;
        float r26439 = -176.6150291621406;
        float r26440 = 4;
        float r26441 = r26414 + r26440;
        float r26442 = r26439 / r26441;
        float r26443 = r26438 + r26442;
        float r26444 = 12.507343278686905;
        float r26445 = 5;
        float r26446 = r26414 + r26445;
        float r26447 = r26444 / r26446;
        float r26448 = r26443 + r26447;
        float r26449 = -0.13857109526572012;
        float r26450 = 6;
        float r26451 = r26414 + r26450;
        float r26452 = r26449 / r26451;
        float r26453 = r26448 + r26452;
        float r26454 = 9.984369578019572e-06;
        float r26455 = r26454 / r26416;
        float r26456 = r26453 + r26455;
        float r26457 = 1.5056327351493116e-07;
        float r26458 = 8;
        float r26459 = r26414 + r26458;
        float r26460 = r26457 / r26459;
        float r26461 = r26456 + r26460;
        float r26462 = r26424 * r26461;
        float r26463 = r26408 * r26462;
        return r26463;
}

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


double f_of(float z) {
        float r26524 = atan2(1.0, 0.0);
        float r26525 = z;
        float r26526 = r26525 * r26524;
        float r26527 = sin(r26526);
        float r26528 = r26524 / r26527;
        float r26529 = 2;
        float r26530 = r26524 * r26529;
        float r26531 = sqrt(r26530);
        float r26532 = r26531 * r26530;
        float r26533 = cbrt(r26532);
        float r26534 = 0.5;
        float r26535 = 1;
        float r26536 = r26535 - r26525;
        float r26537 = r26534 + r26536;
        float r26538 = 7;
        float r26539 = r26535 - r26538;
        float r26540 = r26537 - r26539;
        float r26541 = r26535 - r26534;
        float r26542 = r26536 - r26541;
        float r26543 = pow(r26540, r26542);
        float r26544 = r26533 * r26543;
        float r26545 = r26528 * r26544;
        float r26546 = -r26540;
        float r26547 = exp(r26546);
        float r26548 = r26545 * r26547;
        float r26549 = 0.9999999999998099;
        float r26550 = 676.5203681218851;
        float r26551 = 0;
        float r26552 = r26536 - r26551;
        float r26553 = r26550 / r26552;
        float r26554 = r26549 + r26553;
        float r26555 = 771.3234287776531;
        float r26556 = 3;
        float r26557 = r26556 + r26535;
        float r26558 = r26535 + r26525;
        float r26559 = r26557 - r26558;
        float r26560 = r26555 / r26559;
        float r26561 = -1259.1392167224028;
        float r26562 = r26529 + r26535;
        float r26563 = r26562 - r26558;
        float r26564 = r26561 / r26563;
        float r26565 = r26560 + r26564;
        float r26566 = r26554 + r26565;
        float r26567 = -176.6150291621406;
        float r26568 = 4;
        float r26569 = r26535 - r26568;
        float r26570 = r26536 - r26569;
        float r26571 = r26567 / r26570;
        float r26572 = r26566 + r26571;
        float r26573 = -0.13857109526572012;
        float r26574 = 6;
        float r26575 = r26574 + r26535;
        float r26576 = r26575 - r26558;
        float r26577 = r26573 / r26576;
        float r26578 = 12.507343278686905;
        float r26579 = 5;
        float r26580 = r26535 - r26579;
        float r26581 = r26536 - r26580;
        float r26582 = r26578 / r26581;
        float r26583 = r26577 + r26582;
        float r26584 = 9.984369578019572e-06;
        float r26585 = r26536 - r26539;
        float r26586 = r26584 / r26585;
        float r26587 = 1.5056327351493116e-07;
        float r26588 = 8;
        float r26589 = r26588 + r26535;
        float r26590 = r26589 - r26558;
        float r26591 = r26587 / r26590;
        float r26592 = r26586 + r26591;
        float r26593 = r26583 + r26592;
        float r26594 = r26572 + r26593;
        float r26595 = r26548 * r26594;
        return r26595;
}

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

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 r26668, r26669, r26670, r26671, r26672, r26673, r26674, r26675, r26676, r26677, r26678, r26679, r26680, r26681, r26682, r26683, r26684, r26685, r26686, r26687, r26688, r26689, r26690, r26691, r26692, r26693, r26694, r26695, r26696, r26697, r26698, r26699, r26700, r26701, r26702, r26703, r26704, r26705, r26706, r26707, r26708, r26709, r26710, r26711, r26712, r26713, r26714, r26715, r26716, r26717, r26718, r26719, r26720, r26721, r26722, r26723, r26724, r26725, r26726, r26727;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26668);
        mpfr_init(r26669);
        mpfr_init(r26670);
        mpfr_init(r26671);
        mpfr_init(r26672);
        mpfr_init_set_str(r26673, "2", 10, MPFR_RNDN);
        mpfr_init(r26674);
        mpfr_init(r26675);
        mpfr_init_set_str(r26676, "1", 10, MPFR_RNDN);
        mpfr_init(r26677);
        mpfr_init(r26678);
        mpfr_init_set_str(r26679, "7", 10, MPFR_RNDN);
        mpfr_init(r26680);
        mpfr_init_set_str(r26681, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26682);
        mpfr_init(r26683);
        mpfr_init(r26684);
        mpfr_init(r26685);
        mpfr_init(r26686);
        mpfr_init(r26687);
        mpfr_init(r26688);
        mpfr_init_set_str(r26689, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26690, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26691);
        mpfr_init(r26692);
        mpfr_init(r26693);
        mpfr_init_set_str(r26694, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26695);
        mpfr_init(r26696);
        mpfr_init(r26697);
        mpfr_init_set_str(r26698, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26699, "3", 10, MPFR_RNDN);
        mpfr_init(r26700);
        mpfr_init(r26701);
        mpfr_init(r26702);
        mpfr_init_set_str(r26703, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26704, "4", 10, MPFR_RNDN);
        mpfr_init(r26705);
        mpfr_init(r26706);
        mpfr_init(r26707);
        mpfr_init_set_str(r26708, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26709, "5", 10, MPFR_RNDN);
        mpfr_init(r26710);
        mpfr_init(r26711);
        mpfr_init(r26712);
        mpfr_init_set_str(r26713, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26714, "6", 10, MPFR_RNDN);
        mpfr_init(r26715);
        mpfr_init(r26716);
        mpfr_init(r26717);
        mpfr_init_set_str(r26718, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26719);
        mpfr_init(r26720);
        mpfr_init_set_str(r26721, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26722, "8", 10, MPFR_RNDN);
        mpfr_init(r26723);
        mpfr_init(r26724);
        mpfr_init(r26725);
        mpfr_init(r26726);
        mpfr_init(r26727);
}

double f_im(double z) {
        mpfr_const_pi(r26668, MPFR_RNDN);
        mpfr_set_d(r26669, z, MPFR_RNDN);
        mpfr_mul(r26670, r26668, r26669, MPFR_RNDN);
        mpfr_sin(r26671, r26670, MPFR_RNDN);
        mpfr_div(r26672, r26668, r26671, MPFR_RNDN);
        ;
        mpfr_mul(r26674, r26668, r26673, MPFR_RNDN);
        mpfr_sqrt(r26675, r26674, MPFR_RNDN);
        ;
        mpfr_sub(r26677, r26676, r26669, MPFR_RNDN);
        mpfr_sub(r26678, r26677, r26676, MPFR_RNDN);
        ;
        mpfr_add(r26680, r26678, r26679, MPFR_RNDN);
        ;
        mpfr_add(r26682, r26680, r26681, MPFR_RNDN);
        mpfr_add(r26683, r26678, r26681, MPFR_RNDN);
        mpfr_pow(r26684, r26682, r26683, MPFR_RNDN);
        mpfr_mul(r26685, r26675, r26684, MPFR_RNDN);
        mpfr_neg(r26686, r26682, MPFR_RNDN);
        mpfr_exp(r26687, r26686, MPFR_RNDN);
        mpfr_mul(r26688, r26685, r26687, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26691, r26678, r26676, MPFR_RNDN);
        mpfr_div(r26692, r26690, r26691, MPFR_RNDN);
        mpfr_add(r26693, r26689, r26692, MPFR_RNDN);
        ;
        mpfr_add(r26695, r26678, r26673, MPFR_RNDN);
        mpfr_div(r26696, r26694, r26695, MPFR_RNDN);
        mpfr_add(r26697, r26693, r26696, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26700, r26678, r26699, MPFR_RNDN);
        mpfr_div(r26701, r26698, r26700, MPFR_RNDN);
        mpfr_add(r26702, r26697, r26701, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26705, r26678, r26704, MPFR_RNDN);
        mpfr_div(r26706, r26703, r26705, MPFR_RNDN);
        mpfr_add(r26707, r26702, r26706, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26710, r26678, r26709, MPFR_RNDN);
        mpfr_div(r26711, r26708, r26710, MPFR_RNDN);
        mpfr_add(r26712, r26707, r26711, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26715, r26678, r26714, MPFR_RNDN);
        mpfr_div(r26716, r26713, r26715, MPFR_RNDN);
        mpfr_add(r26717, r26712, r26716, MPFR_RNDN);
        ;
        mpfr_div(r26719, r26718, r26680, MPFR_RNDN);
        mpfr_add(r26720, r26717, r26719, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26723, r26678, r26722, MPFR_RNDN);
        mpfr_div(r26724, r26721, r26723, MPFR_RNDN);
        mpfr_add(r26725, r26720, r26724, MPFR_RNDN);
        mpfr_mul(r26726, r26688, r26725, MPFR_RNDN);
        mpfr_mul(r26727, r26672, r26726, MPFR_RNDN);
        return mpfr_get_d(r26727, MPFR_RNDN);
}

static mpfr_t r26728, r26729, r26730, r26731, r26732, r26733, r26734, r26735, r26736, r26737, r26738, r26739, r26740, r26741, r26742, r26743, r26744, r26745, r26746, r26747, r26748, r26749, r26750, r26751, r26752, r26753, r26754, r26755, r26756, r26757, r26758, r26759, r26760, r26761, r26762, r26763, r26764, r26765, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26728);
        mpfr_init(r26729);
        mpfr_init(r26730);
        mpfr_init(r26731);
        mpfr_init(r26732);
        mpfr_init_set_str(r26733, "2", 10, MPFR_RNDN);
        mpfr_init(r26734);
        mpfr_init(r26735);
        mpfr_init(r26736);
        mpfr_init(r26737);
        mpfr_init_set_str(r26738, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26739, "1", 10, MPFR_RNDN);
        mpfr_init(r26740);
        mpfr_init(r26741);
        mpfr_init_set_str(r26742, "7", 10, MPFR_RNDN);
        mpfr_init(r26743);
        mpfr_init(r26744);
        mpfr_init(r26745);
        mpfr_init(r26746);
        mpfr_init(r26747);
        mpfr_init(r26748);
        mpfr_init(r26749);
        mpfr_init(r26750);
        mpfr_init(r26751);
        mpfr_init(r26752);
        mpfr_init_set_str(r26753, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26754, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r26755, "0", 10, MPFR_RNDN);
        mpfr_init(r26756);
        mpfr_init(r26757);
        mpfr_init(r26758);
        mpfr_init_set_str(r26759, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26760, "3", 10, MPFR_RNDN);
        mpfr_init(r26761);
        mpfr_init(r26762);
        mpfr_init(r26763);
        mpfr_init(r26764);
        mpfr_init_set_str(r26765, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26766);
        mpfr_init(r26767);
        mpfr_init(r26768);
        mpfr_init(r26769);
        mpfr_init(r26770);
        mpfr_init_set_str(r26771, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26772, "4", 10, MPFR_RNDN);
        mpfr_init(r26773);
        mpfr_init(r26774);
        mpfr_init(r26775);
        mpfr_init(r26776);
        mpfr_init_set_str(r26777, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26778, "6", 10, MPFR_RNDN);
        mpfr_init(r26779);
        mpfr_init(r26780);
        mpfr_init(r26781);
        mpfr_init_set_str(r26782, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26783, "5", 10, MPFR_RNDN);
        mpfr_init(r26784);
        mpfr_init(r26785);
        mpfr_init(r26786);
        mpfr_init(r26787);
        mpfr_init_set_str(r26788, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26789);
        mpfr_init(r26790);
        mpfr_init_set_str(r26791, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26792, "8", 10, MPFR_RNDN);
        mpfr_init(r26793);
        mpfr_init(r26794);
        mpfr_init(r26795);
        mpfr_init(r26796);
        mpfr_init(r26797);
        mpfr_init(r26798);
        mpfr_init(r26799);
}

double f_fm(double z) {
        mpfr_const_pi(r26728, MPFR_RNDN);
        mpfr_set_d(r26729, z, MPFR_RNDN);
        mpfr_mul(r26730, r26729, r26728, MPFR_RNDN);
        mpfr_sin(r26731, r26730, MPFR_RNDN);
        mpfr_div(r26732, r26728, r26731, MPFR_RNDN);
        ;
        mpfr_mul(r26734, r26728, r26733, MPFR_RNDN);
        mpfr_sqrt(r26735, r26734, MPFR_RNDN);
        mpfr_mul(r26736, r26735, r26734, MPFR_RNDN);
        mpfr_cbrt(r26737, r26736, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26740, r26739, r26729, MPFR_RNDN);
        mpfr_add(r26741, r26738, r26740, MPFR_RNDN);
        ;
        mpfr_sub(r26743, r26739, r26742, MPFR_RNDN);
        mpfr_sub(r26744, r26741, r26743, MPFR_RNDN);
        mpfr_sub(r26745, r26739, r26738, MPFR_RNDN);
        mpfr_sub(r26746, r26740, r26745, MPFR_RNDN);
        mpfr_pow(r26747, r26744, r26746, MPFR_RNDN);
        mpfr_mul(r26748, r26737, r26747, MPFR_RNDN);
        mpfr_mul(r26749, r26732, r26748, MPFR_RNDN);
        mpfr_neg(r26750, r26744, MPFR_RNDN);
        mpfr_exp(r26751, r26750, MPFR_RNDN);
        mpfr_mul(r26752, r26749, r26751, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r26756, r26740, r26755, MPFR_RNDN);
        mpfr_div(r26757, r26754, r26756, MPFR_RNDN);
        mpfr_add(r26758, r26753, r26757, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26761, r26760, r26739, MPFR_RNDN);
        mpfr_add(r26762, r26739, r26729, MPFR_RNDN);
        mpfr_sub(r26763, r26761, r26762, MPFR_RNDN);
        mpfr_div(r26764, r26759, r26763, MPFR_RNDN);
        ;
        mpfr_add(r26766, r26733, r26739, MPFR_RNDN);
        mpfr_sub(r26767, r26766, r26762, MPFR_RNDN);
        mpfr_div(r26768, r26765, r26767, MPFR_RNDN);
        mpfr_add(r26769, r26764, r26768, MPFR_RNDN);
        mpfr_add(r26770, r26758, r26769, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26773, r26739, r26772, MPFR_RNDN);
        mpfr_sub(r26774, r26740, r26773, MPFR_RNDN);
        mpfr_div(r26775, r26771, r26774, MPFR_RNDN);
        mpfr_add(r26776, r26770, r26775, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26779, r26778, r26739, MPFR_RNDN);
        mpfr_sub(r26780, r26779, r26762, MPFR_RNDN);
        mpfr_div(r26781, r26777, r26780, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26784, r26739, r26783, MPFR_RNDN);
        mpfr_sub(r26785, r26740, r26784, MPFR_RNDN);
        mpfr_div(r26786, r26782, r26785, MPFR_RNDN);
        mpfr_add(r26787, r26781, r26786, MPFR_RNDN);
        ;
        mpfr_sub(r26789, r26740, r26743, MPFR_RNDN);
        mpfr_div(r26790, r26788, r26789, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26793, r26792, r26739, MPFR_RNDN);
        mpfr_sub(r26794, r26793, r26762, MPFR_RNDN);
        mpfr_div(r26795, r26791, r26794, MPFR_RNDN);
        mpfr_add(r26796, r26790, r26795, MPFR_RNDN);
        mpfr_add(r26797, r26787, r26796, MPFR_RNDN);
        mpfr_add(r26798, r26776, r26797, MPFR_RNDN);
        mpfr_mul(r26799, r26752, r26798, MPFR_RNDN);
        return mpfr_get_d(r26799, MPFR_RNDN);
}

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

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26800);
        mpfr_init(r26801);
        mpfr_init(r26802);
        mpfr_init(r26803);
        mpfr_init(r26804);
        mpfr_init_set_str(r26805, "2", 10, MPFR_RNDN);
        mpfr_init(r26806);
        mpfr_init(r26807);
        mpfr_init(r26808);
        mpfr_init(r26809);
        mpfr_init_set_str(r26810, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26811, "1", 10, MPFR_RNDN);
        mpfr_init(r26812);
        mpfr_init(r26813);
        mpfr_init_set_str(r26814, "7", 10, MPFR_RNDN);
        mpfr_init(r26815);
        mpfr_init(r26816);
        mpfr_init(r26817);
        mpfr_init(r26818);
        mpfr_init(r26819);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init(r26822);
        mpfr_init(r26823);
        mpfr_init(r26824);
        mpfr_init_set_str(r26825, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26826, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r26827, "0", 10, MPFR_RNDN);
        mpfr_init(r26828);
        mpfr_init(r26829);
        mpfr_init(r26830);
        mpfr_init_set_str(r26831, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26832, "3", 10, MPFR_RNDN);
        mpfr_init(r26833);
        mpfr_init(r26834);
        mpfr_init(r26835);
        mpfr_init(r26836);
        mpfr_init_set_str(r26837, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26838);
        mpfr_init(r26839);
        mpfr_init(r26840);
        mpfr_init(r26841);
        mpfr_init(r26842);
        mpfr_init_set_str(r26843, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26844, "4", 10, MPFR_RNDN);
        mpfr_init(r26845);
        mpfr_init(r26846);
        mpfr_init(r26847);
        mpfr_init(r26848);
        mpfr_init_set_str(r26849, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26850, "6", 10, MPFR_RNDN);
        mpfr_init(r26851);
        mpfr_init(r26852);
        mpfr_init(r26853);
        mpfr_init_set_str(r26854, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26855, "5", 10, MPFR_RNDN);
        mpfr_init(r26856);
        mpfr_init(r26857);
        mpfr_init(r26858);
        mpfr_init(r26859);
        mpfr_init_set_str(r26860, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26861);
        mpfr_init(r26862);
        mpfr_init_set_str(r26863, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26864, "8", 10, MPFR_RNDN);
        mpfr_init(r26865);
        mpfr_init(r26866);
        mpfr_init(r26867);
        mpfr_init(r26868);
        mpfr_init(r26869);
        mpfr_init(r26870);
        mpfr_init(r26871);
}

double f_dm(double z) {
        mpfr_const_pi(r26800, MPFR_RNDN);
        mpfr_set_d(r26801, z, MPFR_RNDN);
        mpfr_mul(r26802, r26801, r26800, MPFR_RNDN);
        mpfr_sin(r26803, r26802, MPFR_RNDN);
        mpfr_div(r26804, r26800, r26803, MPFR_RNDN);
        ;
        mpfr_mul(r26806, r26800, r26805, MPFR_RNDN);
        mpfr_sqrt(r26807, r26806, MPFR_RNDN);
        mpfr_mul(r26808, r26807, r26806, MPFR_RNDN);
        mpfr_cbrt(r26809, r26808, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26812, r26811, r26801, MPFR_RNDN);
        mpfr_add(r26813, r26810, r26812, MPFR_RNDN);
        ;
        mpfr_sub(r26815, r26811, r26814, MPFR_RNDN);
        mpfr_sub(r26816, r26813, r26815, MPFR_RNDN);
        mpfr_sub(r26817, r26811, r26810, MPFR_RNDN);
        mpfr_sub(r26818, r26812, r26817, MPFR_RNDN);
        mpfr_pow(r26819, r26816, r26818, MPFR_RNDN);
        mpfr_mul(r26820, r26809, r26819, MPFR_RNDN);
        mpfr_mul(r26821, r26804, r26820, MPFR_RNDN);
        mpfr_neg(r26822, r26816, MPFR_RNDN);
        mpfr_exp(r26823, r26822, MPFR_RNDN);
        mpfr_mul(r26824, r26821, r26823, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r26828, r26812, r26827, MPFR_RNDN);
        mpfr_div(r26829, r26826, r26828, MPFR_RNDN);
        mpfr_add(r26830, r26825, r26829, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26833, r26832, r26811, MPFR_RNDN);
        mpfr_add(r26834, r26811, r26801, MPFR_RNDN);
        mpfr_sub(r26835, r26833, r26834, MPFR_RNDN);
        mpfr_div(r26836, r26831, r26835, MPFR_RNDN);
        ;
        mpfr_add(r26838, r26805, r26811, MPFR_RNDN);
        mpfr_sub(r26839, r26838, r26834, MPFR_RNDN);
        mpfr_div(r26840, r26837, r26839, MPFR_RNDN);
        mpfr_add(r26841, r26836, r26840, MPFR_RNDN);
        mpfr_add(r26842, r26830, r26841, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26845, r26811, r26844, MPFR_RNDN);
        mpfr_sub(r26846, r26812, r26845, MPFR_RNDN);
        mpfr_div(r26847, r26843, r26846, MPFR_RNDN);
        mpfr_add(r26848, r26842, r26847, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26851, r26850, r26811, MPFR_RNDN);
        mpfr_sub(r26852, r26851, r26834, MPFR_RNDN);
        mpfr_div(r26853, r26849, r26852, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26856, r26811, r26855, MPFR_RNDN);
        mpfr_sub(r26857, r26812, r26856, MPFR_RNDN);
        mpfr_div(r26858, r26854, r26857, MPFR_RNDN);
        mpfr_add(r26859, r26853, r26858, MPFR_RNDN);
        ;
        mpfr_sub(r26861, r26812, r26815, MPFR_RNDN);
        mpfr_div(r26862, r26860, r26861, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26865, r26864, r26811, MPFR_RNDN);
        mpfr_sub(r26866, r26865, r26834, MPFR_RNDN);
        mpfr_div(r26867, r26863, r26866, MPFR_RNDN);
        mpfr_add(r26868, r26862, r26867, MPFR_RNDN);
        mpfr_add(r26869, r26859, r26868, MPFR_RNDN);
        mpfr_add(r26870, r26848, r26869, MPFR_RNDN);
        mpfr_mul(r26871, r26824, r26870, MPFR_RNDN);
        return mpfr_get_d(r26871, MPFR_RNDN);
}

