#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 r10386 = atan2(1.0, 0.0);
        float r10387 = z;
        float r10388 = r10386 * r10387;
        float r10389 = sin(r10388);
        float r10390 = r10386 / r10389;
        float r10391 = 2;
        float r10392 = r10386 * r10391;
        float r10393 = sqrt(r10392);
        float r10394 = 1;
        float r10395 = r10394 - r10387;
        float r10396 = r10395 - r10394;
        float r10397 = 7;
        float r10398 = r10396 + r10397;
        float r10399 = 0.5;
        float r10400 = r10398 + r10399;
        float r10401 = r10396 + r10399;
        float r10402 = pow(r10400, r10401);
        float r10403 = r10393 * r10402;
        float r10404 = -r10400;
        float r10405 = exp(r10404);
        float r10406 = r10403 * r10405;
        float r10407 = 0.9999999999998099;
        float r10408 = 676.5203681218851;
        float r10409 = r10396 + r10394;
        float r10410 = r10408 / r10409;
        float r10411 = r10407 + r10410;
        float r10412 = -1259.1392167224028;
        float r10413 = r10396 + r10391;
        float r10414 = r10412 / r10413;
        float r10415 = r10411 + r10414;
        float r10416 = 771.3234287776531;
        float r10417 = 3;
        float r10418 = r10396 + r10417;
        float r10419 = r10416 / r10418;
        float r10420 = r10415 + r10419;
        float r10421 = -176.6150291621406;
        float r10422 = 4;
        float r10423 = r10396 + r10422;
        float r10424 = r10421 / r10423;
        float r10425 = r10420 + r10424;
        float r10426 = 12.507343278686905;
        float r10427 = 5;
        float r10428 = r10396 + r10427;
        float r10429 = r10426 / r10428;
        float r10430 = r10425 + r10429;
        float r10431 = -0.13857109526572012;
        float r10432 = 6;
        float r10433 = r10396 + r10432;
        float r10434 = r10431 / r10433;
        float r10435 = r10430 + r10434;
        float r10436 = 9.984369578019572e-06;
        float r10437 = r10436 / r10398;
        float r10438 = r10435 + r10437;
        float r10439 = 1.5056327351493116e-07;
        float r10440 = 8;
        float r10441 = r10396 + r10440;
        float r10442 = r10439 / r10441;
        float r10443 = r10438 + r10442;
        float r10444 = r10406 * r10443;
        float r10445 = r10390 * r10444;
        return r10445;
}

double f_id(double z) {
        double r10446 = atan2(1.0, 0.0);
        double r10447 = z;
        double r10448 = r10446 * r10447;
        double r10449 = sin(r10448);
        double r10450 = r10446 / r10449;
        double r10451 = 2;
        double r10452 = r10446 * r10451;
        double r10453 = sqrt(r10452);
        double r10454 = 1;
        double r10455 = r10454 - r10447;
        double r10456 = r10455 - r10454;
        double r10457 = 7;
        double r10458 = r10456 + r10457;
        double r10459 = 0.5;
        double r10460 = r10458 + r10459;
        double r10461 = r10456 + r10459;
        double r10462 = pow(r10460, r10461);
        double r10463 = r10453 * r10462;
        double r10464 = -r10460;
        double r10465 = exp(r10464);
        double r10466 = r10463 * r10465;
        double r10467 = 0.9999999999998099;
        double r10468 = 676.5203681218851;
        double r10469 = r10456 + r10454;
        double r10470 = r10468 / r10469;
        double r10471 = r10467 + r10470;
        double r10472 = -1259.1392167224028;
        double r10473 = r10456 + r10451;
        double r10474 = r10472 / r10473;
        double r10475 = r10471 + r10474;
        double r10476 = 771.3234287776531;
        double r10477 = 3;
        double r10478 = r10456 + r10477;
        double r10479 = r10476 / r10478;
        double r10480 = r10475 + r10479;
        double r10481 = -176.6150291621406;
        double r10482 = 4;
        double r10483 = r10456 + r10482;
        double r10484 = r10481 / r10483;
        double r10485 = r10480 + r10484;
        double r10486 = 12.507343278686905;
        double r10487 = 5;
        double r10488 = r10456 + r10487;
        double r10489 = r10486 / r10488;
        double r10490 = r10485 + r10489;
        double r10491 = -0.13857109526572012;
        double r10492 = 6;
        double r10493 = r10456 + r10492;
        double r10494 = r10491 / r10493;
        double r10495 = r10490 + r10494;
        double r10496 = 9.984369578019572e-06;
        double r10497 = r10496 / r10458;
        double r10498 = r10495 + r10497;
        double r10499 = 1.5056327351493116e-07;
        double r10500 = 8;
        double r10501 = r10456 + r10500;
        double r10502 = r10499 / r10501;
        double r10503 = r10498 + r10502;
        double r10504 = r10466 * r10503;
        double r10505 = r10450 * r10504;
        return r10505;
}


double f_of(float z) {
        float r10506 = atan2(1.0, 0.0);
        float r10507 = z;
        float r10508 = r10506 * r10507;
        float r10509 = sin(r10508);
        float r10510 = r10506 / r10509;
        float r10511 = 2;
        float r10512 = r10511 * r10506;
        float r10513 = sqrt(r10512);
        float r10514 = r10510 * r10513;
        float r10515 = 7;
        float r10516 = -r10515;
        float r10517 = 0;
        float r10518 = 0.5;
        float r10519 = r10507 - r10518;
        float r10520 = r10517 - r10519;
        float r10521 = r10516 - r10520;
        float r10522 = exp(r10521);
        float r10523 = r10518 + r10515;
        float r10524 = r10517 - r10507;
        float r10525 = r10523 + r10524;
        float r10526 = pow(r10525, r10520);
        float r10527 = r10526 * r10526;
        float r10528 = r10522 * r10527;
        float r10529 = 1;
        float r10530 = r10526 * r10529;
        float r10531 = exp(r10525);
        float r10532 = r10531 * r10531;
        float r10533 = r10530 / r10532;
        float r10534 = r10528 * r10533;
        float r10535 = cbrt(r10534);
        float r10536 = r10514 * r10535;
        float r10537 = 0.9999999999998099;
        float r10538 = 676.5203681218851;
        float r10539 = r10529 - r10507;
        float r10540 = r10539 - r10517;
        float r10541 = r10538 / r10540;
        float r10542 = -1259.1392167224028;
        float r10543 = r10511 + r10529;
        float r10544 = r10507 + r10529;
        float r10545 = r10543 - r10544;
        float r10546 = r10542 / r10545;
        float r10547 = r10541 + r10546;
        float r10548 = r10537 + r10547;
        float r10549 = 771.3234287776531;
        float r10550 = 3;
        float r10551 = r10529 - r10550;
        float r10552 = r10539 - r10551;
        float r10553 = r10529 / r10552;
        float r10554 = -176.6150291621406;
        float r10555 = 4;
        float r10556 = r10529 - r10555;
        float r10557 = r10539 - r10556;
        float r10558 = r10554 / r10557;
        float r10559 = fma(r10549, r10553, r10558);
        float r10560 = -0.13857109526572012;
        float r10561 = 6;
        float r10562 = r10561 + r10529;
        float r10563 = r10562 - r10544;
        float r10564 = r10560 / r10563;
        float r10565 = 12.507343278686905;
        float r10566 = 5;
        float r10567 = r10529 - r10566;
        float r10568 = r10539 - r10567;
        float r10569 = r10565 / r10568;
        float r10570 = r10564 + r10569;
        float r10571 = r10559 + r10570;
        float r10572 = r10548 + r10571;
        float r10573 = 1.5056327351493116e-07;
        float r10574 = 8;
        float r10575 = r10574 + r10529;
        float r10576 = r10575 - r10544;
        float r10577 = r10573 / r10576;
        float r10578 = 9.984369578019572e-06;
        float r10579 = r10515 + r10529;
        float r10580 = r10579 - r10544;
        float r10581 = r10578 / r10580;
        float r10582 = r10577 + r10581;
        float r10583 = r10572 + r10582;
        float r10584 = r10536 * r10583;
        return r10584;
}

double f_od(double z) {
        double r10585 = atan2(1.0, 0.0);
        double r10586 = z;
        double r10587 = r10585 * r10586;
        double r10588 = sin(r10587);
        double r10589 = r10585 / r10588;
        double r10590 = 2;
        double r10591 = r10590 * r10585;
        double r10592 = sqrt(r10591);
        double r10593 = r10589 * r10592;
        double r10594 = 7;
        double r10595 = -r10594;
        double r10596 = 0;
        double r10597 = 0.5;
        double r10598 = r10586 - r10597;
        double r10599 = r10596 - r10598;
        double r10600 = r10595 - r10599;
        double r10601 = exp(r10600);
        double r10602 = r10597 + r10594;
        double r10603 = r10596 - r10586;
        double r10604 = r10602 + r10603;
        double r10605 = pow(r10604, r10599);
        double r10606 = r10605 * r10605;
        double r10607 = r10601 * r10606;
        double r10608 = 1;
        double r10609 = r10605 * r10608;
        double r10610 = exp(r10604);
        double r10611 = r10610 * r10610;
        double r10612 = r10609 / r10611;
        double r10613 = r10607 * r10612;
        double r10614 = cbrt(r10613);
        double r10615 = r10593 * r10614;
        double r10616 = 0.9999999999998099;
        double r10617 = 676.5203681218851;
        double r10618 = r10608 - r10586;
        double r10619 = r10618 - r10596;
        double r10620 = r10617 / r10619;
        double r10621 = -1259.1392167224028;
        double r10622 = r10590 + r10608;
        double r10623 = r10586 + r10608;
        double r10624 = r10622 - r10623;
        double r10625 = r10621 / r10624;
        double r10626 = r10620 + r10625;
        double r10627 = r10616 + r10626;
        double r10628 = 771.3234287776531;
        double r10629 = 3;
        double r10630 = r10608 - r10629;
        double r10631 = r10618 - r10630;
        double r10632 = r10608 / r10631;
        double r10633 = -176.6150291621406;
        double r10634 = 4;
        double r10635 = r10608 - r10634;
        double r10636 = r10618 - r10635;
        double r10637 = r10633 / r10636;
        double r10638 = fma(r10628, r10632, r10637);
        double r10639 = -0.13857109526572012;
        double r10640 = 6;
        double r10641 = r10640 + r10608;
        double r10642 = r10641 - r10623;
        double r10643 = r10639 / r10642;
        double r10644 = 12.507343278686905;
        double r10645 = 5;
        double r10646 = r10608 - r10645;
        double r10647 = r10618 - r10646;
        double r10648 = r10644 / r10647;
        double r10649 = r10643 + r10648;
        double r10650 = r10638 + r10649;
        double r10651 = r10627 + r10650;
        double r10652 = 1.5056327351493116e-07;
        double r10653 = 8;
        double r10654 = r10653 + r10608;
        double r10655 = r10654 - r10623;
        double r10656 = r10652 / r10655;
        double r10657 = 9.984369578019572e-06;
        double r10658 = r10594 + r10608;
        double r10659 = r10658 - r10623;
        double r10660 = r10657 / r10659;
        double r10661 = r10656 + r10660;
        double r10662 = r10651 + r10661;
        double r10663 = r10615 * r10662;
        return r10663;
}

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 r10664, r10665, r10666, r10667, r10668, r10669, r10670, r10671, r10672, r10673, r10674, r10675, r10676, r10677, r10678, r10679, r10680, r10681, r10682, r10683, r10684, r10685, r10686, r10687, r10688, r10689, r10690, r10691, r10692, r10693, r10694, r10695, r10696, r10697, r10698, r10699, r10700, r10701, r10702, r10703, r10704, r10705, r10706, r10707, r10708, r10709, r10710, r10711, r10712, r10713, r10714, r10715, r10716, r10717, r10718, r10719, r10720, r10721, r10722, r10723;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r10664);
        mpfr_init(r10665);
        mpfr_init(r10666);
        mpfr_init(r10667);
        mpfr_init(r10668);
        mpfr_init_set_str(r10669, "2", 10, MPFR_RNDN);
        mpfr_init(r10670);
        mpfr_init(r10671);
        mpfr_init_set_str(r10672, "1", 10, MPFR_RNDN);
        mpfr_init(r10673);
        mpfr_init(r10674);
        mpfr_init_set_str(r10675, "7", 10, MPFR_RNDN);
        mpfr_init(r10676);
        mpfr_init_set_str(r10677, "0.5", 10, MPFR_RNDN);
        mpfr_init(r10678);
        mpfr_init(r10679);
        mpfr_init(r10680);
        mpfr_init(r10681);
        mpfr_init(r10682);
        mpfr_init(r10683);
        mpfr_init(r10684);
        mpfr_init_set_str(r10685, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r10686, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r10687);
        mpfr_init(r10688);
        mpfr_init(r10689);
        mpfr_init_set_str(r10690, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r10691);
        mpfr_init(r10692);
        mpfr_init(r10693);
        mpfr_init_set_str(r10694, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r10695, "3", 10, MPFR_RNDN);
        mpfr_init(r10696);
        mpfr_init(r10697);
        mpfr_init(r10698);
        mpfr_init_set_str(r10699, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r10700, "4", 10, MPFR_RNDN);
        mpfr_init(r10701);
        mpfr_init(r10702);
        mpfr_init(r10703);
        mpfr_init_set_str(r10704, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r10705, "5", 10, MPFR_RNDN);
        mpfr_init(r10706);
        mpfr_init(r10707);
        mpfr_init(r10708);
        mpfr_init_set_str(r10709, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r10710, "6", 10, MPFR_RNDN);
        mpfr_init(r10711);
        mpfr_init(r10712);
        mpfr_init(r10713);
        mpfr_init_set_str(r10714, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r10715);
        mpfr_init(r10716);
        mpfr_init_set_str(r10717, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r10718, "8", 10, MPFR_RNDN);
        mpfr_init(r10719);
        mpfr_init(r10720);
        mpfr_init(r10721);
        mpfr_init(r10722);
        mpfr_init(r10723);
}

double f_im(double z) {
        mpfr_const_pi(r10664, MPFR_RNDN);
        mpfr_set_d(r10665, z, MPFR_RNDN);
        mpfr_mul(r10666, r10664, r10665, MPFR_RNDN);
        mpfr_sin(r10667, r10666, MPFR_RNDN);
        mpfr_div(r10668, r10664, r10667, MPFR_RNDN);
        ;
        mpfr_mul(r10670, r10664, r10669, MPFR_RNDN);
        mpfr_sqrt(r10671, r10670, MPFR_RNDN);
        ;
        mpfr_sub(r10673, r10672, r10665, MPFR_RNDN);
        mpfr_sub(r10674, r10673, r10672, MPFR_RNDN);
        ;
        mpfr_add(r10676, r10674, r10675, MPFR_RNDN);
        ;
        mpfr_add(r10678, r10676, r10677, MPFR_RNDN);
        mpfr_add(r10679, r10674, r10677, MPFR_RNDN);
        mpfr_pow(r10680, r10678, r10679, MPFR_RNDN);
        mpfr_mul(r10681, r10671, r10680, MPFR_RNDN);
        mpfr_neg(r10682, r10678, MPFR_RNDN);
        mpfr_exp(r10683, r10682, MPFR_RNDN);
        mpfr_mul(r10684, r10681, r10683, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10687, r10674, r10672, MPFR_RNDN);
        mpfr_div(r10688, r10686, r10687, MPFR_RNDN);
        mpfr_add(r10689, r10685, r10688, MPFR_RNDN);
        ;
        mpfr_add(r10691, r10674, r10669, MPFR_RNDN);
        mpfr_div(r10692, r10690, r10691, MPFR_RNDN);
        mpfr_add(r10693, r10689, r10692, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10696, r10674, r10695, MPFR_RNDN);
        mpfr_div(r10697, r10694, r10696, MPFR_RNDN);
        mpfr_add(r10698, r10693, r10697, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10701, r10674, r10700, MPFR_RNDN);
        mpfr_div(r10702, r10699, r10701, MPFR_RNDN);
        mpfr_add(r10703, r10698, r10702, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10706, r10674, r10705, MPFR_RNDN);
        mpfr_div(r10707, r10704, r10706, MPFR_RNDN);
        mpfr_add(r10708, r10703, r10707, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10711, r10674, r10710, MPFR_RNDN);
        mpfr_div(r10712, r10709, r10711, MPFR_RNDN);
        mpfr_add(r10713, r10708, r10712, MPFR_RNDN);
        ;
        mpfr_div(r10715, r10714, r10676, MPFR_RNDN);
        mpfr_add(r10716, r10713, r10715, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10719, r10674, r10718, MPFR_RNDN);
        mpfr_div(r10720, r10717, r10719, MPFR_RNDN);
        mpfr_add(r10721, r10716, r10720, MPFR_RNDN);
        mpfr_mul(r10722, r10684, r10721, MPFR_RNDN);
        mpfr_mul(r10723, r10668, r10722, MPFR_RNDN);
        return mpfr_get_d(r10723, MPFR_RNDN);
}

static mpfr_t r10724, r10725, r10726, r10727, r10728, r10729, r10730, r10731, r10732, r10733, r10734, r10735, r10736, r10737, r10738, r10739, r10740, r10741, r10742, r10743, r10744, r10745, r10746, r10747, r10748, r10749, r10750, r10751, r10752, r10753, r10754, r10755, r10756, r10757, r10758, r10759, r10760, r10761, r10762, r10763, r10764, r10765, r10766, r10767, r10768, r10769, r10770, r10771, r10772, r10773, r10774, r10775, r10776, r10777, r10778, r10779, r10780, r10781, r10782, r10783, r10784, r10785, r10786, r10787, r10788, r10789, r10790, r10791, r10792, r10793, r10794, r10795, r10796, r10797, r10798, r10799, r10800, r10801, r10802;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10724);
        mpfr_init(r10725);
        mpfr_init(r10726);
        mpfr_init(r10727);
        mpfr_init(r10728);
        mpfr_init_set_str(r10729, "2", 10, MPFR_RNDN);
        mpfr_init(r10730);
        mpfr_init(r10731);
        mpfr_init(r10732);
        mpfr_init_set_str(r10733, "7", 10, MPFR_RNDN);
        mpfr_init(r10734);
        mpfr_init_set_str(r10735, "0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10736, "0.5", 10, MPFR_RNDN);
        mpfr_init(r10737);
        mpfr_init(r10738);
        mpfr_init(r10739);
        mpfr_init(r10740);
        mpfr_init(r10741);
        mpfr_init(r10742);
        mpfr_init(r10743);
        mpfr_init(r10744);
        mpfr_init(r10745);
        mpfr_init(r10746);
        mpfr_init_set_str(r10747, "1", 10, MPFR_RNDN);
        mpfr_init(r10748);
        mpfr_init(r10749);
        mpfr_init(r10750);
        mpfr_init(r10751);
        mpfr_init(r10752);
        mpfr_init(r10753);
        mpfr_init(r10754);
        mpfr_init_set_str(r10755, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r10756, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r10757);
        mpfr_init(r10758);
        mpfr_init(r10759);
        mpfr_init_set_str(r10760, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r10761);
        mpfr_init(r10762);
        mpfr_init(r10763);
        mpfr_init(r10764);
        mpfr_init(r10765);
        mpfr_init(r10766);
        mpfr_init_set_str(r10767, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r10768, "3", 10, MPFR_RNDN);
        mpfr_init(r10769);
        mpfr_init(r10770);
        mpfr_init(r10771);
        mpfr_init_set_str(r10772, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r10773, "4", 10, MPFR_RNDN);
        mpfr_init(r10774);
        mpfr_init(r10775);
        mpfr_init(r10776);
        mpfr_init(r10777);
        mpfr_init_set_str(r10778, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r10779, "6", 10, MPFR_RNDN);
        mpfr_init(r10780);
        mpfr_init(r10781);
        mpfr_init(r10782);
        mpfr_init_set_str(r10783, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r10784, "5", 10, MPFR_RNDN);
        mpfr_init(r10785);
        mpfr_init(r10786);
        mpfr_init(r10787);
        mpfr_init(r10788);
        mpfr_init(r10789);
        mpfr_init(r10790);
        mpfr_init_set_str(r10791, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r10792, "8", 10, MPFR_RNDN);
        mpfr_init(r10793);
        mpfr_init(r10794);
        mpfr_init(r10795);
        mpfr_init_set_str(r10796, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r10797);
        mpfr_init(r10798);
        mpfr_init(r10799);
        mpfr_init(r10800);
        mpfr_init(r10801);
        mpfr_init(r10802);
}

double f_fm(double z) {
        mpfr_const_pi(r10724, MPFR_RNDN);
        mpfr_set_d(r10725, z, MPFR_RNDN);
        mpfr_mul(r10726, r10724, r10725, MPFR_RNDN);
        mpfr_sin(r10727, r10726, MPFR_RNDN);
        mpfr_div(r10728, r10724, r10727, MPFR_RNDN);
        ;
        mpfr_mul(r10730, r10729, r10724, MPFR_RNDN);
        mpfr_sqrt(r10731, r10730, MPFR_RNDN);
        mpfr_mul(r10732, r10728, r10731, MPFR_RNDN);
        ;
        mpfr_neg(r10734, r10733, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10737, r10725, r10736, MPFR_RNDN);
        mpfr_sub(r10738, r10735, r10737, MPFR_RNDN);
        mpfr_sub(r10739, r10734, r10738, MPFR_RNDN);
        mpfr_exp(r10740, r10739, MPFR_RNDN);
        mpfr_add(r10741, r10736, r10733, MPFR_RNDN);
        mpfr_sub(r10742, r10735, r10725, MPFR_RNDN);
        mpfr_add(r10743, r10741, r10742, MPFR_RNDN);
        mpfr_pow(r10744, r10743, r10738, MPFR_RNDN);
        mpfr_mul(r10745, r10744, r10744, MPFR_RNDN);
        mpfr_mul(r10746, r10740, r10745, MPFR_RNDN);
        ;
        mpfr_mul(r10748, r10744, r10747, MPFR_RNDN);
        mpfr_exp(r10749, r10743, MPFR_RNDN);
        mpfr_mul(r10750, r10749, r10749, MPFR_RNDN);
        mpfr_div(r10751, r10748, r10750, MPFR_RNDN);
        mpfr_mul(r10752, r10746, r10751, MPFR_RNDN);
        mpfr_cbrt(r10753, r10752, MPFR_RNDN);
        mpfr_mul(r10754, r10732, r10753, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10757, r10747, r10725, MPFR_RNDN);
        mpfr_sub(r10758, r10757, r10735, MPFR_RNDN);
        mpfr_div(r10759, r10756, r10758, MPFR_RNDN);
        ;
        mpfr_add(r10761, r10729, r10747, MPFR_RNDN);
        mpfr_add(r10762, r10725, r10747, MPFR_RNDN);
        mpfr_sub(r10763, r10761, r10762, MPFR_RNDN);
        mpfr_div(r10764, r10760, r10763, MPFR_RNDN);
        mpfr_add(r10765, r10759, r10764, MPFR_RNDN);
        mpfr_add(r10766, r10755, r10765, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10769, r10747, r10768, MPFR_RNDN);
        mpfr_sub(r10770, r10757, r10769, MPFR_RNDN);
        mpfr_div(r10771, r10747, r10770, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10774, r10747, r10773, MPFR_RNDN);
        mpfr_sub(r10775, r10757, r10774, MPFR_RNDN);
        mpfr_div(r10776, r10772, r10775, MPFR_RNDN);
        mpfr_fma(r10777, r10767, r10771, r10776, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10780, r10779, r10747, MPFR_RNDN);
        mpfr_sub(r10781, r10780, r10762, MPFR_RNDN);
        mpfr_div(r10782, r10778, r10781, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10785, r10747, r10784, MPFR_RNDN);
        mpfr_sub(r10786, r10757, r10785, MPFR_RNDN);
        mpfr_div(r10787, r10783, r10786, MPFR_RNDN);
        mpfr_add(r10788, r10782, r10787, MPFR_RNDN);
        mpfr_add(r10789, r10777, r10788, MPFR_RNDN);
        mpfr_add(r10790, r10766, r10789, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10793, r10792, r10747, MPFR_RNDN);
        mpfr_sub(r10794, r10793, r10762, MPFR_RNDN);
        mpfr_div(r10795, r10791, r10794, MPFR_RNDN);
        ;
        mpfr_add(r10797, r10733, r10747, MPFR_RNDN);
        mpfr_sub(r10798, r10797, r10762, MPFR_RNDN);
        mpfr_div(r10799, r10796, r10798, MPFR_RNDN);
        mpfr_add(r10800, r10795, r10799, MPFR_RNDN);
        mpfr_add(r10801, r10790, r10800, MPFR_RNDN);
        mpfr_mul(r10802, r10754, r10801, MPFR_RNDN);
        return mpfr_get_d(r10802, MPFR_RNDN);
}

static mpfr_t r10803, r10804, r10805, r10806, r10807, r10808, r10809, r10810, r10811, r10812, r10813, r10814, r10815, r10816, r10817, r10818, r10819, r10820, r10821, r10822, r10823, r10824, r10825, r10826, r10827, r10828, r10829, r10830, r10831, r10832, r10833, r10834, r10835, r10836, r10837, r10838, r10839, r10840, r10841, r10842, r10843, r10844, r10845, r10846, r10847, r10848, r10849, r10850, r10851, r10852, r10853, r10854, r10855, r10856, r10857, r10858, r10859, r10860, r10861, r10862, r10863, r10864, r10865, r10866, r10867, r10868, r10869, r10870, r10871, r10872, r10873, r10874, r10875, r10876, r10877, r10878, r10879, r10880, r10881;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10803);
        mpfr_init(r10804);
        mpfr_init(r10805);
        mpfr_init(r10806);
        mpfr_init(r10807);
        mpfr_init_set_str(r10808, "2", 10, MPFR_RNDN);
        mpfr_init(r10809);
        mpfr_init(r10810);
        mpfr_init(r10811);
        mpfr_init_set_str(r10812, "7", 10, MPFR_RNDN);
        mpfr_init(r10813);
        mpfr_init_set_str(r10814, "0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10815, "0.5", 10, MPFR_RNDN);
        mpfr_init(r10816);
        mpfr_init(r10817);
        mpfr_init(r10818);
        mpfr_init(r10819);
        mpfr_init(r10820);
        mpfr_init(r10821);
        mpfr_init(r10822);
        mpfr_init(r10823);
        mpfr_init(r10824);
        mpfr_init(r10825);
        mpfr_init_set_str(r10826, "1", 10, MPFR_RNDN);
        mpfr_init(r10827);
        mpfr_init(r10828);
        mpfr_init(r10829);
        mpfr_init(r10830);
        mpfr_init(r10831);
        mpfr_init(r10832);
        mpfr_init(r10833);
        mpfr_init_set_str(r10834, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r10835, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r10836);
        mpfr_init(r10837);
        mpfr_init(r10838);
        mpfr_init_set_str(r10839, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r10840);
        mpfr_init(r10841);
        mpfr_init(r10842);
        mpfr_init(r10843);
        mpfr_init(r10844);
        mpfr_init(r10845);
        mpfr_init_set_str(r10846, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r10847, "3", 10, MPFR_RNDN);
        mpfr_init(r10848);
        mpfr_init(r10849);
        mpfr_init(r10850);
        mpfr_init_set_str(r10851, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r10852, "4", 10, MPFR_RNDN);
        mpfr_init(r10853);
        mpfr_init(r10854);
        mpfr_init(r10855);
        mpfr_init(r10856);
        mpfr_init_set_str(r10857, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r10858, "6", 10, MPFR_RNDN);
        mpfr_init(r10859);
        mpfr_init(r10860);
        mpfr_init(r10861);
        mpfr_init_set_str(r10862, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r10863, "5", 10, MPFR_RNDN);
        mpfr_init(r10864);
        mpfr_init(r10865);
        mpfr_init(r10866);
        mpfr_init(r10867);
        mpfr_init(r10868);
        mpfr_init(r10869);
        mpfr_init_set_str(r10870, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r10871, "8", 10, MPFR_RNDN);
        mpfr_init(r10872);
        mpfr_init(r10873);
        mpfr_init(r10874);
        mpfr_init_set_str(r10875, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r10876);
        mpfr_init(r10877);
        mpfr_init(r10878);
        mpfr_init(r10879);
        mpfr_init(r10880);
        mpfr_init(r10881);
}

double f_dm(double z) {
        mpfr_const_pi(r10803, MPFR_RNDN);
        mpfr_set_d(r10804, z, MPFR_RNDN);
        mpfr_mul(r10805, r10803, r10804, MPFR_RNDN);
        mpfr_sin(r10806, r10805, MPFR_RNDN);
        mpfr_div(r10807, r10803, r10806, MPFR_RNDN);
        ;
        mpfr_mul(r10809, r10808, r10803, MPFR_RNDN);
        mpfr_sqrt(r10810, r10809, MPFR_RNDN);
        mpfr_mul(r10811, r10807, r10810, MPFR_RNDN);
        ;
        mpfr_neg(r10813, r10812, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10816, r10804, r10815, MPFR_RNDN);
        mpfr_sub(r10817, r10814, r10816, MPFR_RNDN);
        mpfr_sub(r10818, r10813, r10817, MPFR_RNDN);
        mpfr_exp(r10819, r10818, MPFR_RNDN);
        mpfr_add(r10820, r10815, r10812, MPFR_RNDN);
        mpfr_sub(r10821, r10814, r10804, MPFR_RNDN);
        mpfr_add(r10822, r10820, r10821, MPFR_RNDN);
        mpfr_pow(r10823, r10822, r10817, MPFR_RNDN);
        mpfr_mul(r10824, r10823, r10823, MPFR_RNDN);
        mpfr_mul(r10825, r10819, r10824, MPFR_RNDN);
        ;
        mpfr_mul(r10827, r10823, r10826, MPFR_RNDN);
        mpfr_exp(r10828, r10822, MPFR_RNDN);
        mpfr_mul(r10829, r10828, r10828, MPFR_RNDN);
        mpfr_div(r10830, r10827, r10829, MPFR_RNDN);
        mpfr_mul(r10831, r10825, r10830, MPFR_RNDN);
        mpfr_cbrt(r10832, r10831, MPFR_RNDN);
        mpfr_mul(r10833, r10811, r10832, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10836, r10826, r10804, MPFR_RNDN);
        mpfr_sub(r10837, r10836, r10814, MPFR_RNDN);
        mpfr_div(r10838, r10835, r10837, MPFR_RNDN);
        ;
        mpfr_add(r10840, r10808, r10826, MPFR_RNDN);
        mpfr_add(r10841, r10804, r10826, MPFR_RNDN);
        mpfr_sub(r10842, r10840, r10841, MPFR_RNDN);
        mpfr_div(r10843, r10839, r10842, MPFR_RNDN);
        mpfr_add(r10844, r10838, r10843, MPFR_RNDN);
        mpfr_add(r10845, r10834, r10844, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10848, r10826, r10847, MPFR_RNDN);
        mpfr_sub(r10849, r10836, r10848, MPFR_RNDN);
        mpfr_div(r10850, r10826, r10849, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10853, r10826, r10852, MPFR_RNDN);
        mpfr_sub(r10854, r10836, r10853, MPFR_RNDN);
        mpfr_div(r10855, r10851, r10854, MPFR_RNDN);
        mpfr_fma(r10856, r10846, r10850, r10855, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10859, r10858, r10826, MPFR_RNDN);
        mpfr_sub(r10860, r10859, r10841, MPFR_RNDN);
        mpfr_div(r10861, r10857, r10860, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10864, r10826, r10863, MPFR_RNDN);
        mpfr_sub(r10865, r10836, r10864, MPFR_RNDN);
        mpfr_div(r10866, r10862, r10865, MPFR_RNDN);
        mpfr_add(r10867, r10861, r10866, MPFR_RNDN);
        mpfr_add(r10868, r10856, r10867, MPFR_RNDN);
        mpfr_add(r10869, r10845, r10868, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10872, r10871, r10826, MPFR_RNDN);
        mpfr_sub(r10873, r10872, r10841, MPFR_RNDN);
        mpfr_div(r10874, r10870, r10873, MPFR_RNDN);
        ;
        mpfr_add(r10876, r10812, r10826, MPFR_RNDN);
        mpfr_sub(r10877, r10876, r10841, MPFR_RNDN);
        mpfr_div(r10878, r10875, r10877, MPFR_RNDN);
        mpfr_add(r10879, r10874, r10878, MPFR_RNDN);
        mpfr_add(r10880, r10869, r10879, MPFR_RNDN);
        mpfr_mul(r10881, r10833, r10880, MPFR_RNDN);
        return mpfr_get_d(r10881, MPFR_RNDN);
}

