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

char *name = "Jmat.Real.dawson";

double f_if(float x) {
        float r19431 = 1.0f;
        float r19432 = 0.1049934947f;
        float r19433 = x;
        float r19434 = r19433 * r19433;
        float r19435 = r19432 * r19434;
        float r19436 = r19431 + r19435;
        float r19437 = 0.0424060604f;
        float r19438 = r19434 * r19434;
        float r19439 = r19437 * r19438;
        float r19440 = r19436 + r19439;
        float r19441 = 0.0072644182f;
        float r19442 = r19438 * r19434;
        float r19443 = r19441 * r19442;
        float r19444 = r19440 + r19443;
        float r19445 = 0.0005064034f;
        float r19446 = r19442 * r19434;
        float r19447 = r19445 * r19446;
        float r19448 = r19444 + r19447;
        float r19449 = 0.0001789971f;
        float r19450 = r19446 * r19434;
        float r19451 = r19449 * r19450;
        float r19452 = r19448 + r19451;
        float r19453 = 0.7715471019f;
        float r19454 = r19453 * r19434;
        float r19455 = r19431 + r19454;
        float r19456 = 0.2909738639f;
        float r19457 = r19456 * r19438;
        float r19458 = r19455 + r19457;
        float r19459 = 0.0694555761f;
        float r19460 = r19459 * r19442;
        float r19461 = r19458 + r19460;
        float r19462 = 0.0140005442f;
        float r19463 = r19462 * r19446;
        float r19464 = r19461 + r19463;
        float r19465 = 0.0008327945f;
        float r19466 = r19465 * r19450;
        float r19467 = r19464 + r19466;
        float r19468 = 2.0f;
        float r19469 = r19468 * r19449;
        float r19470 = r19450 * r19434;
        float r19471 = r19469 * r19470;
        float r19472 = r19467 + r19471;
        float r19473 = r19452 / r19472;
        float r19474 = r19473 * r19433;
        return r19474;
}

double f_id(double x) {
        double r19475 = 1.0;
        double r19476 = 0.1049934947;
        double r19477 = x;
        double r19478 = r19477 * r19477;
        double r19479 = r19476 * r19478;
        double r19480 = r19475 + r19479;
        double r19481 = 0.0424060604;
        double r19482 = r19478 * r19478;
        double r19483 = r19481 * r19482;
        double r19484 = r19480 + r19483;
        double r19485 = 0.0072644182;
        double r19486 = r19482 * r19478;
        double r19487 = r19485 * r19486;
        double r19488 = r19484 + r19487;
        double r19489 = 0.0005064034;
        double r19490 = r19486 * r19478;
        double r19491 = r19489 * r19490;
        double r19492 = r19488 + r19491;
        double r19493 = 0.0001789971;
        double r19494 = r19490 * r19478;
        double r19495 = r19493 * r19494;
        double r19496 = r19492 + r19495;
        double r19497 = 0.7715471019;
        double r19498 = r19497 * r19478;
        double r19499 = r19475 + r19498;
        double r19500 = 0.2909738639;
        double r19501 = r19500 * r19482;
        double r19502 = r19499 + r19501;
        double r19503 = 0.0694555761;
        double r19504 = r19503 * r19486;
        double r19505 = r19502 + r19504;
        double r19506 = 0.0140005442;
        double r19507 = r19506 * r19490;
        double r19508 = r19505 + r19507;
        double r19509 = 0.0008327945;
        double r19510 = r19509 * r19494;
        double r19511 = r19508 + r19510;
        double r19512 = 2.0;
        double r19513 = r19512 * r19493;
        double r19514 = r19494 * r19478;
        double r19515 = r19513 * r19514;
        double r19516 = r19511 + r19515;
        double r19517 = r19496 / r19516;
        double r19518 = r19517 * r19477;
        return r19518;
}


double f_of(float x) {
        float r19519 = x;
        float r19520 = -5.580420691870591e+22f;
        bool r19521 = r19519 <= r19520;
        float r19522 = 1.0f;
        float r19523 = 0.1049934947f;
        float r19524 = r19519 * r19519;
        float r19525 = r19523 / r19524;
        float r19526 = r19522 + r19525;
        float r19527 = 0.0072644182f;
        float r19528 = r19527 * r19522;
        float r19529 = r19519 * (r19519 * r19519);
        float r19530 = r19529 * r19529;
        float r19531 = r19528 / r19530;
        float r19532 = r19526 + r19531;
        float r19533 = 0.0424060604f;
        float r19534 = r19533 * r19522;
        float r19535 = r19534 / r19529;
        float r19536 = r19535 / r19519;
        float r19537 = 0.0001789971f;
        float r19538 = 10.0f;
        float r19539 = pow(r19519, r19538);
        float r19540 = r19537 / r19539;
        float r19541 = r19536 + r19540;
        float r19542 = 0.0005064034f;
        float r19543 = r19522 * r19542;
        float r19544 = r19543 / r19530;
        float r19545 = r19544 / r19524;
        float r19546 = r19541 + r19545;
        float r19547 = r19532 + r19546;
        float r19548 = r19522 / r19519;
        float r19549 = r19548 / r19529;
        float r19550 = 0.2909738639f;
        float r19551 = r19549 * r19550;
        float r19552 = r19522 + r19551;
        float r19553 = 0.0694555761f;
        float r19554 = r19553 * r19522;
        float r19555 = r19554 / r19530;
        float r19556 = r19552 + r19555;
        float r19557 = 0.0140005442f;
        float r19558 = r19522 * r19557;
        float r19559 = r19558 / r19530;
        float r19560 = r19559 / r19524;
        float r19561 = r19522 / r19529;
        float r19562 = r19561 * r19561;
        float r19563 = 6.0f;
        float r19564 = pow(r19519, r19563);
        float r19565 = 0.0003579942f;
        float r19566 = r19564 / r19565;
        float r19567 = r19562 / r19566;
        float r19568 = r19560 + r19567;
        float r19569 = r19556 + r19568;
        float r19570 = 0.7715471019f;
        float r19571 = r19570 / r19524;
        float r19572 = 4.0f;
        float r19573 = pow(r19519, r19572);
        float r19574 = 0.0008327945f;
        float r19575 = r19573 / r19574;
        float r19576 = r19562 / r19575;
        float r19577 = r19571 + r19576;
        float r19578 = r19569 + r19577;
        float r19579 = r19578 * r19519;
        float r19580 = r19547 / r19579;
        float r19581 = 1.3336442321324732e+29f;
        bool r19582 = r19519 <= r19581;
        float r19583 = r19519 * r19519;
        float r19584 = r19583 * (r19583 * r19583);
        float r19585 = r19557 * r19519;
        float r19586 = r19519 * r19585;
        float r19587 = r19586 + r19553;
        float r19588 = r19584 * r19587;
        float r19589 = r19583 * r19583;
        float r19590 = r19589 * r19584;
        float r19591 = 2.0f;
        float r19592 = r19591 * r19537;
        float r19593 = r19583 * r19592;
        float r19594 = r19593 + r19574;
        float r19595 = r19590 * r19594;
        float r19596 = r19588 + r19595;
        float r19597 = r19519 * r19550;
        float r19598 = r19597 * r19529;
        float r19599 = r19583 * r19570;
        float r19600 = r19598 + r19599;
        float r19601 = r19600 + r19522;
        float r19602 = r19596 + r19601;
        float r19603 = r19589 * r19589;
        float r19604 = r19583 * r19537;
        float r19605 = r19603 * r19604;
        float r19606 = r19519 * r19533;
        float r19607 = r19606 * r19529;
        float r19608 = r19523 * r19519;
        float r19609 = r19519 * r19608;
        float r19610 = r19522 + r19609;
        float r19611 = r19607 + r19610;
        float r19612 = r19605 + r19611;
        float r19613 = r19519 * r19542;
        float r19614 = r19613 * r19519;
        float r19615 = r19527 + r19614;
        float r19616 = r19615 * r19584;
        float r19617 = r19612 + r19616;
        float r19618 = r19602 / r19617;
        float r19619 = r19519 / r19618;
        float r19620 = pow(r19619, r19522);
        float r19621 = r19582 ? r19620 : r19580;
        float r19622 = r19521 ? r19580 : r19621;
        return r19622;
}

double f_od(double x) {
        double r19623 = x;
        double r19624 = -5.580420691870591e+22;
        bool r19625 = r19623 <= r19624;
        double r19626 = 1.0;
        double r19627 = 0.1049934947;
        double r19628 = r19623 * r19623;
        double r19629 = r19627 / r19628;
        double r19630 = r19626 + r19629;
        double r19631 = 0.0072644182;
        double r19632 = r19631 * r19626;
        double r19633 = r19623 * (r19623 * r19623);
        double r19634 = r19633 * r19633;
        double r19635 = r19632 / r19634;
        double r19636 = r19630 + r19635;
        double r19637 = 0.0424060604;
        double r19638 = r19637 * r19626;
        double r19639 = r19638 / r19633;
        double r19640 = r19639 / r19623;
        double r19641 = 0.0001789971;
        double r19642 = 10.0;
        double r19643 = pow(r19623, r19642);
        double r19644 = r19641 / r19643;
        double r19645 = r19640 + r19644;
        double r19646 = 0.0005064034;
        double r19647 = r19626 * r19646;
        double r19648 = r19647 / r19634;
        double r19649 = r19648 / r19628;
        double r19650 = r19645 + r19649;
        double r19651 = r19636 + r19650;
        double r19652 = r19626 / r19623;
        double r19653 = r19652 / r19633;
        double r19654 = 0.2909738639;
        double r19655 = r19653 * r19654;
        double r19656 = r19626 + r19655;
        double r19657 = 0.0694555761;
        double r19658 = r19657 * r19626;
        double r19659 = r19658 / r19634;
        double r19660 = r19656 + r19659;
        double r19661 = 0.0140005442;
        double r19662 = r19626 * r19661;
        double r19663 = r19662 / r19634;
        double r19664 = r19663 / r19628;
        double r19665 = r19626 / r19633;
        double r19666 = r19665 * r19665;
        double r19667 = 6.0;
        double r19668 = pow(r19623, r19667);
        double r19669 = 0.0003579942;
        double r19670 = r19668 / r19669;
        double r19671 = r19666 / r19670;
        double r19672 = r19664 + r19671;
        double r19673 = r19660 + r19672;
        double r19674 = 0.7715471019;
        double r19675 = r19674 / r19628;
        double r19676 = 4.0;
        double r19677 = pow(r19623, r19676);
        double r19678 = 0.0008327945;
        double r19679 = r19677 / r19678;
        double r19680 = r19666 / r19679;
        double r19681 = r19675 + r19680;
        double r19682 = r19673 + r19681;
        double r19683 = r19682 * r19623;
        double r19684 = r19651 / r19683;
        double r19685 = 1.3336442321324732e+29;
        bool r19686 = r19623 <= r19685;
        double r19687 = r19623 * r19623;
        double r19688 = r19687 * (r19687 * r19687);
        double r19689 = r19661 * r19623;
        double r19690 = r19623 * r19689;
        double r19691 = r19690 + r19657;
        double r19692 = r19688 * r19691;
        double r19693 = r19687 * r19687;
        double r19694 = r19693 * r19688;
        double r19695 = 2.0;
        double r19696 = r19695 * r19641;
        double r19697 = r19687 * r19696;
        double r19698 = r19697 + r19678;
        double r19699 = r19694 * r19698;
        double r19700 = r19692 + r19699;
        double r19701 = r19623 * r19654;
        double r19702 = r19701 * r19633;
        double r19703 = r19687 * r19674;
        double r19704 = r19702 + r19703;
        double r19705 = r19704 + r19626;
        double r19706 = r19700 + r19705;
        double r19707 = r19693 * r19693;
        double r19708 = r19687 * r19641;
        double r19709 = r19707 * r19708;
        double r19710 = r19623 * r19637;
        double r19711 = r19710 * r19633;
        double r19712 = r19627 * r19623;
        double r19713 = r19623 * r19712;
        double r19714 = r19626 + r19713;
        double r19715 = r19711 + r19714;
        double r19716 = r19709 + r19715;
        double r19717 = r19623 * r19646;
        double r19718 = r19717 * r19623;
        double r19719 = r19631 + r19718;
        double r19720 = r19719 * r19688;
        double r19721 = r19716 + r19720;
        double r19722 = r19706 / r19721;
        double r19723 = r19623 / r19722;
        double r19724 = pow(r19723, r19626);
        double r19725 = r19686 ? r19724 : r19684;
        double r19726 = r19625 ? r19684 : r19725;
        return r19726;
}

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 r19727, r19728, r19729, r19730, r19731, r19732, r19733, r19734, r19735, r19736, r19737, r19738, r19739, r19740, r19741, r19742, r19743, r19744, r19745, r19746, r19747, r19748, r19749, r19750, r19751, r19752, r19753, r19754, r19755, r19756, r19757, r19758, r19759, r19760, r19761, r19762, r19763, r19764, r19765, r19766, r19767, r19768, r19769, r19770;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19727, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19728, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19729);
        mpfr_init(r19730);
        mpfr_init(r19731);
        mpfr_init(r19732);
        mpfr_init_set_str(r19733, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19734);
        mpfr_init(r19735);
        mpfr_init(r19736);
        mpfr_init_set_str(r19737, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19738);
        mpfr_init(r19739);
        mpfr_init(r19740);
        mpfr_init_set_str(r19741, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19742);
        mpfr_init(r19743);
        mpfr_init(r19744);
        mpfr_init_set_str(r19745, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19746);
        mpfr_init(r19747);
        mpfr_init(r19748);
        mpfr_init_set_str(r19749, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19750);
        mpfr_init(r19751);
        mpfr_init_set_str(r19752, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19753);
        mpfr_init(r19754);
        mpfr_init_set_str(r19755, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19756);
        mpfr_init(r19757);
        mpfr_init_set_str(r19758, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19759);
        mpfr_init(r19760);
        mpfr_init_set_str(r19761, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19762);
        mpfr_init(r19763);
        mpfr_init_set_str(r19764, "2", 10, MPFR_RNDN);
        mpfr_init(r19765);
        mpfr_init(r19766);
        mpfr_init(r19767);
        mpfr_init(r19768);
        mpfr_init(r19769);
        mpfr_init(r19770);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19729, x, MPFR_RNDN);
        mpfr_mul(r19730, r19729, r19729, MPFR_RNDN);
        mpfr_mul(r19731, r19728, r19730, MPFR_RNDN);
        mpfr_add(r19732, r19727, r19731, MPFR_RNDN);
        ;
        mpfr_mul(r19734, r19730, r19730, MPFR_RNDN);
        mpfr_mul(r19735, r19733, r19734, MPFR_RNDN);
        mpfr_add(r19736, r19732, r19735, MPFR_RNDN);
        ;
        mpfr_mul(r19738, r19734, r19730, MPFR_RNDN);
        mpfr_mul(r19739, r19737, r19738, MPFR_RNDN);
        mpfr_add(r19740, r19736, r19739, MPFR_RNDN);
        ;
        mpfr_mul(r19742, r19738, r19730, MPFR_RNDN);
        mpfr_mul(r19743, r19741, r19742, MPFR_RNDN);
        mpfr_add(r19744, r19740, r19743, MPFR_RNDN);
        ;
        mpfr_mul(r19746, r19742, r19730, MPFR_RNDN);
        mpfr_mul(r19747, r19745, r19746, MPFR_RNDN);
        mpfr_add(r19748, r19744, r19747, MPFR_RNDN);
        ;
        mpfr_mul(r19750, r19749, r19730, MPFR_RNDN);
        mpfr_add(r19751, r19727, r19750, MPFR_RNDN);
        ;
        mpfr_mul(r19753, r19752, r19734, MPFR_RNDN);
        mpfr_add(r19754, r19751, r19753, MPFR_RNDN);
        ;
        mpfr_mul(r19756, r19755, r19738, MPFR_RNDN);
        mpfr_add(r19757, r19754, r19756, MPFR_RNDN);
        ;
        mpfr_mul(r19759, r19758, r19742, MPFR_RNDN);
        mpfr_add(r19760, r19757, r19759, MPFR_RNDN);
        ;
        mpfr_mul(r19762, r19761, r19746, MPFR_RNDN);
        mpfr_add(r19763, r19760, r19762, MPFR_RNDN);
        ;
        mpfr_mul(r19765, r19764, r19745, MPFR_RNDN);
        mpfr_mul(r19766, r19746, r19730, MPFR_RNDN);
        mpfr_mul(r19767, r19765, r19766, MPFR_RNDN);
        mpfr_add(r19768, r19763, r19767, MPFR_RNDN);
        mpfr_div(r19769, r19748, r19768, MPFR_RNDN);
        mpfr_mul(r19770, r19769, r19729, MPFR_RNDN);
        return mpfr_get_d(r19770, MPFR_RNDN);
}

static mpfr_t r19771, r19772, r19773, r19774, r19775, r19776, r19777, r19778, r19779, r19780, r19781, r19782, r19783, r19784, r19785, r19786, r19787, r19788, r19789, r19790, r19791, r19792, r19793, r19794, r19795, r19796, r19797, r19798, r19799, r19800, r19801, r19802, r19803, r19804, r19805, r19806, r19807, r19808, r19809, r19810, r19811, r19812, r19813, r19814, r19815, r19816, r19817, r19818, r19819, r19820, r19821, r19822, r19823, r19824, r19825, r19826, r19827, r19828, r19829, r19830, r19831, r19832, r19833, r19834, r19835, r19836, r19837, r19838, r19839, r19840, r19841, r19842, r19843, r19844, r19845, r19846, r19847, r19848, r19849, r19850, r19851, r19852, r19853, r19854, r19855, r19856, r19857, r19858, r19859, r19860, r19861, r19862, r19863, r19864, r19865, r19866, r19867, r19868, r19869, r19870, r19871, r19872, r19873, r19874;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19771);
        mpfr_init_set_str(r19772, "-5.580420691870591e+22", 10, MPFR_RNDN);
        mpfr_init(r19773);
        mpfr_init_set_str(r19774, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19775, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19776);
        mpfr_init(r19777);
        mpfr_init(r19778);
        mpfr_init_set_str(r19779, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19780);
        mpfr_init(r19781);
        mpfr_init(r19782);
        mpfr_init(r19783);
        mpfr_init(r19784);
        mpfr_init_set_str(r19785, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19786);
        mpfr_init(r19787);
        mpfr_init(r19788);
        mpfr_init_set_str(r19789, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r19790, "10", 10, MPFR_RNDN);
        mpfr_init(r19791);
        mpfr_init(r19792);
        mpfr_init(r19793);
        mpfr_init_set_str(r19794, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19795);
        mpfr_init(r19796);
        mpfr_init(r19797);
        mpfr_init(r19798);
        mpfr_init(r19799);
        mpfr_init(r19800);
        mpfr_init(r19801);
        mpfr_init_set_str(r19802, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19803);
        mpfr_init(r19804);
        mpfr_init_set_str(r19805, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19806);
        mpfr_init(r19807);
        mpfr_init(r19808);
        mpfr_init_set_str(r19809, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19810);
        mpfr_init(r19811);
        mpfr_init(r19812);
        mpfr_init(r19813);
        mpfr_init(r19814);
        mpfr_init_set_str(r19815, "6", 10, MPFR_RNDN);
        mpfr_init(r19816);
        mpfr_init_set_str(r19817, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r19818);
        mpfr_init(r19819);
        mpfr_init(r19820);
        mpfr_init(r19821);
        mpfr_init_set_str(r19822, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19823);
        mpfr_init_set_str(r19824, "4", 10, MPFR_RNDN);
        mpfr_init(r19825);
        mpfr_init_set_str(r19826, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19827);
        mpfr_init(r19828);
        mpfr_init(r19829);
        mpfr_init(r19830);
        mpfr_init(r19831);
        mpfr_init(r19832);
        mpfr_init_set_str(r19833, "1.3336442321324732e+29", 10, MPFR_RNDN);
        mpfr_init(r19834);
        mpfr_init(r19835);
        mpfr_init(r19836);
        mpfr_init(r19837);
        mpfr_init(r19838);
        mpfr_init(r19839);
        mpfr_init(r19840);
        mpfr_init(r19841);
        mpfr_init(r19842);
        mpfr_init_set_str(r19843, "2", 10, MPFR_RNDN);
        mpfr_init(r19844);
        mpfr_init(r19845);
        mpfr_init(r19846);
        mpfr_init(r19847);
        mpfr_init(r19848);
        mpfr_init(r19849);
        mpfr_init(r19850);
        mpfr_init(r19851);
        mpfr_init(r19852);
        mpfr_init(r19853);
        mpfr_init(r19854);
        mpfr_init(r19855);
        mpfr_init(r19856);
        mpfr_init(r19857);
        mpfr_init(r19858);
        mpfr_init(r19859);
        mpfr_init(r19860);
        mpfr_init(r19861);
        mpfr_init(r19862);
        mpfr_init(r19863);
        mpfr_init(r19864);
        mpfr_init(r19865);
        mpfr_init(r19866);
        mpfr_init(r19867);
        mpfr_init(r19868);
        mpfr_init(r19869);
        mpfr_init(r19870);
        mpfr_init(r19871);
        mpfr_init(r19872);
        mpfr_init(r19873);
        mpfr_init(r19874);
}

double f_fm(double x) {
        mpfr_set_d(r19771, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19773, mpfr_cmp(r19771, r19772) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19776, r19771, r19771, MPFR_RNDN);
        mpfr_div(r19777, r19775, r19776, MPFR_RNDN);
        mpfr_add(r19778, r19774, r19777, MPFR_RNDN);
        ;
        mpfr_mul(r19780, r19779, r19774, MPFR_RNDN);
        mpfr_mul(r19781, r19771, r19771, MPFR_RNDN); mpfr_mul(r19781, r19781, r19771, MPFR_RNDN);
        mpfr_sqr(r19782, r19781, MPFR_RNDN);
        mpfr_div(r19783, r19780, r19782, MPFR_RNDN);
        mpfr_add(r19784, r19778, r19783, MPFR_RNDN);
        ;
        mpfr_mul(r19786, r19785, r19774, MPFR_RNDN);
        mpfr_div(r19787, r19786, r19781, MPFR_RNDN);
        mpfr_div(r19788, r19787, r19771, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19791, r19771, r19790, MPFR_RNDN);
        mpfr_div(r19792, r19789, r19791, MPFR_RNDN);
        mpfr_add(r19793, r19788, r19792, MPFR_RNDN);
        ;
        mpfr_mul(r19795, r19774, r19794, MPFR_RNDN);
        mpfr_div(r19796, r19795, r19782, MPFR_RNDN);
        mpfr_div(r19797, r19796, r19776, MPFR_RNDN);
        mpfr_add(r19798, r19793, r19797, MPFR_RNDN);
        mpfr_add(r19799, r19784, r19798, MPFR_RNDN);
        mpfr_div(r19800, r19774, r19771, MPFR_RNDN);
        mpfr_div(r19801, r19800, r19781, MPFR_RNDN);
        ;
        mpfr_mul(r19803, r19801, r19802, MPFR_RNDN);
        mpfr_add(r19804, r19774, r19803, MPFR_RNDN);
        ;
        mpfr_mul(r19806, r19805, r19774, MPFR_RNDN);
        mpfr_div(r19807, r19806, r19782, MPFR_RNDN);
        mpfr_add(r19808, r19804, r19807, MPFR_RNDN);
        ;
        mpfr_mul(r19810, r19774, r19809, MPFR_RNDN);
        mpfr_div(r19811, r19810, r19782, MPFR_RNDN);
        mpfr_div(r19812, r19811, r19776, MPFR_RNDN);
        mpfr_div(r19813, r19774, r19781, MPFR_RNDN);
        mpfr_mul(r19814, r19813, r19813, MPFR_RNDN);
        ;
        mpfr_pow(r19816, r19771, r19815, MPFR_RNDN);
        ;
        mpfr_div(r19818, r19816, r19817, MPFR_RNDN);
        mpfr_div(r19819, r19814, r19818, MPFR_RNDN);
        mpfr_add(r19820, r19812, r19819, MPFR_RNDN);
        mpfr_add(r19821, r19808, r19820, MPFR_RNDN);
        ;
        mpfr_div(r19823, r19822, r19776, MPFR_RNDN);
        ;
        mpfr_pow(r19825, r19771, r19824, MPFR_RNDN);
        ;
        mpfr_div(r19827, r19825, r19826, MPFR_RNDN);
        mpfr_div(r19828, r19814, r19827, MPFR_RNDN);
        mpfr_add(r19829, r19823, r19828, MPFR_RNDN);
        mpfr_add(r19830, r19821, r19829, MPFR_RNDN);
        mpfr_mul(r19831, r19830, r19771, MPFR_RNDN);
        mpfr_div(r19832, r19799, r19831, MPFR_RNDN);
        ;
        mpfr_set_si(r19834, mpfr_cmp(r19771, r19833) <= 0, MPFR_RNDN);
        mpfr_sqr(r19835, r19771, MPFR_RNDN);
        mpfr_mul(r19836, r19835, r19835, MPFR_RNDN); mpfr_mul(r19836, r19836, r19835, MPFR_RNDN);
        mpfr_mul(r19837, r19809, r19771, MPFR_RNDN);
        mpfr_mul(r19838, r19771, r19837, MPFR_RNDN);
        mpfr_add(r19839, r19838, r19805, MPFR_RNDN);
        mpfr_mul(r19840, r19836, r19839, MPFR_RNDN);
        mpfr_mul(r19841, r19835, r19835, MPFR_RNDN);
        mpfr_mul(r19842, r19841, r19836, MPFR_RNDN);
        ;
        mpfr_mul(r19844, r19843, r19789, MPFR_RNDN);
        mpfr_mul(r19845, r19835, r19844, MPFR_RNDN);
        mpfr_add(r19846, r19845, r19826, MPFR_RNDN);
        mpfr_mul(r19847, r19842, r19846, MPFR_RNDN);
        mpfr_add(r19848, r19840, r19847, MPFR_RNDN);
        mpfr_mul(r19849, r19771, r19802, MPFR_RNDN);
        mpfr_mul(r19850, r19849, r19781, MPFR_RNDN);
        mpfr_mul(r19851, r19835, r19822, MPFR_RNDN);
        mpfr_add(r19852, r19850, r19851, MPFR_RNDN);
        mpfr_add(r19853, r19852, r19774, MPFR_RNDN);
        mpfr_add(r19854, r19848, r19853, MPFR_RNDN);
        mpfr_mul(r19855, r19841, r19841, MPFR_RNDN);
        mpfr_mul(r19856, r19835, r19789, MPFR_RNDN);
        mpfr_mul(r19857, r19855, r19856, MPFR_RNDN);
        mpfr_mul(r19858, r19771, r19785, MPFR_RNDN);
        mpfr_mul(r19859, r19858, r19781, MPFR_RNDN);
        mpfr_mul(r19860, r19775, r19771, MPFR_RNDN);
        mpfr_mul(r19861, r19771, r19860, MPFR_RNDN);
        mpfr_add(r19862, r19774, r19861, MPFR_RNDN);
        mpfr_add(r19863, r19859, r19862, MPFR_RNDN);
        mpfr_add(r19864, r19857, r19863, MPFR_RNDN);
        mpfr_mul(r19865, r19771, r19794, MPFR_RNDN);
        mpfr_mul(r19866, r19865, r19771, MPFR_RNDN);
        mpfr_add(r19867, r19779, r19866, MPFR_RNDN);
        mpfr_mul(r19868, r19867, r19836, MPFR_RNDN);
        mpfr_add(r19869, r19864, r19868, MPFR_RNDN);
        mpfr_div(r19870, r19854, r19869, MPFR_RNDN);
        mpfr_div(r19871, r19771, r19870, MPFR_RNDN);
        mpfr_pow(r19872, r19871, r19774, MPFR_RNDN);
        if (mpfr_get_si(r19834, MPFR_RNDN)) { mpfr_set(r19873, r19872, MPFR_RNDN); } else { mpfr_set(r19873, r19832, MPFR_RNDN); };
        if (mpfr_get_si(r19773, MPFR_RNDN)) { mpfr_set(r19874, r19832, MPFR_RNDN); } else { mpfr_set(r19874, r19873, MPFR_RNDN); };
        return mpfr_get_d(r19874, MPFR_RNDN);
}

static mpfr_t r19875, r19876, r19877, r19878, r19879, r19880, r19881, r19882, r19883, r19884, r19885, r19886, r19887, r19888, r19889, r19890, r19891, r19892, r19893, r19894, r19895, r19896, r19897, r19898, r19899, r19900, r19901, r19902, r19903, r19904, r19905, r19906, r19907, r19908, r19909, r19910, r19911, r19912, r19913, r19914, r19915, r19916, r19917, r19918, r19919, r19920, r19921, r19922, r19923, r19924, r19925, r19926, r19927, r19928, r19929, r19930, r19931, r19932, r19933, r19934, r19935, r19936, r19937, r19938, r19939, r19940, r19941, r19942, r19943, r19944, r19945, r19946, r19947, r19948, r19949, r19950, r19951, r19952, r19953, r19954, r19955, r19956, r19957, r19958, r19959, r19960, r19961, r19962, r19963, r19964, r19965, r19966, r19967, r19968, r19969, r19970, r19971, r19972, r19973, r19974, r19975, r19976, r19977, r19978;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19875);
        mpfr_init_set_str(r19876, "-5.580420691870591e+22", 10, MPFR_RNDN);
        mpfr_init(r19877);
        mpfr_init_set_str(r19878, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19879, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19880);
        mpfr_init(r19881);
        mpfr_init(r19882);
        mpfr_init_set_str(r19883, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19884);
        mpfr_init(r19885);
        mpfr_init(r19886);
        mpfr_init(r19887);
        mpfr_init(r19888);
        mpfr_init_set_str(r19889, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19890);
        mpfr_init(r19891);
        mpfr_init(r19892);
        mpfr_init_set_str(r19893, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r19894, "10", 10, MPFR_RNDN);
        mpfr_init(r19895);
        mpfr_init(r19896);
        mpfr_init(r19897);
        mpfr_init_set_str(r19898, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19899);
        mpfr_init(r19900);
        mpfr_init(r19901);
        mpfr_init(r19902);
        mpfr_init(r19903);
        mpfr_init(r19904);
        mpfr_init(r19905);
        mpfr_init_set_str(r19906, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19907);
        mpfr_init(r19908);
        mpfr_init_set_str(r19909, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19910);
        mpfr_init(r19911);
        mpfr_init(r19912);
        mpfr_init_set_str(r19913, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19914);
        mpfr_init(r19915);
        mpfr_init(r19916);
        mpfr_init(r19917);
        mpfr_init(r19918);
        mpfr_init_set_str(r19919, "6", 10, MPFR_RNDN);
        mpfr_init(r19920);
        mpfr_init_set_str(r19921, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r19922);
        mpfr_init(r19923);
        mpfr_init(r19924);
        mpfr_init(r19925);
        mpfr_init_set_str(r19926, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19927);
        mpfr_init_set_str(r19928, "4", 10, MPFR_RNDN);
        mpfr_init(r19929);
        mpfr_init_set_str(r19930, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19931);
        mpfr_init(r19932);
        mpfr_init(r19933);
        mpfr_init(r19934);
        mpfr_init(r19935);
        mpfr_init(r19936);
        mpfr_init_set_str(r19937, "1.3336442321324732e+29", 10, MPFR_RNDN);
        mpfr_init(r19938);
        mpfr_init(r19939);
        mpfr_init(r19940);
        mpfr_init(r19941);
        mpfr_init(r19942);
        mpfr_init(r19943);
        mpfr_init(r19944);
        mpfr_init(r19945);
        mpfr_init(r19946);
        mpfr_init_set_str(r19947, "2", 10, MPFR_RNDN);
        mpfr_init(r19948);
        mpfr_init(r19949);
        mpfr_init(r19950);
        mpfr_init(r19951);
        mpfr_init(r19952);
        mpfr_init(r19953);
        mpfr_init(r19954);
        mpfr_init(r19955);
        mpfr_init(r19956);
        mpfr_init(r19957);
        mpfr_init(r19958);
        mpfr_init(r19959);
        mpfr_init(r19960);
        mpfr_init(r19961);
        mpfr_init(r19962);
        mpfr_init(r19963);
        mpfr_init(r19964);
        mpfr_init(r19965);
        mpfr_init(r19966);
        mpfr_init(r19967);
        mpfr_init(r19968);
        mpfr_init(r19969);
        mpfr_init(r19970);
        mpfr_init(r19971);
        mpfr_init(r19972);
        mpfr_init(r19973);
        mpfr_init(r19974);
        mpfr_init(r19975);
        mpfr_init(r19976);
        mpfr_init(r19977);
        mpfr_init(r19978);
}

double f_dm(double x) {
        mpfr_set_d(r19875, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19877, mpfr_cmp(r19875, r19876) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19880, r19875, r19875, MPFR_RNDN);
        mpfr_div(r19881, r19879, r19880, MPFR_RNDN);
        mpfr_add(r19882, r19878, r19881, MPFR_RNDN);
        ;
        mpfr_mul(r19884, r19883, r19878, MPFR_RNDN);
        mpfr_mul(r19885, r19875, r19875, MPFR_RNDN); mpfr_mul(r19885, r19885, r19875, MPFR_RNDN);
        mpfr_sqr(r19886, r19885, MPFR_RNDN);
        mpfr_div(r19887, r19884, r19886, MPFR_RNDN);
        mpfr_add(r19888, r19882, r19887, MPFR_RNDN);
        ;
        mpfr_mul(r19890, r19889, r19878, MPFR_RNDN);
        mpfr_div(r19891, r19890, r19885, MPFR_RNDN);
        mpfr_div(r19892, r19891, r19875, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19895, r19875, r19894, MPFR_RNDN);
        mpfr_div(r19896, r19893, r19895, MPFR_RNDN);
        mpfr_add(r19897, r19892, r19896, MPFR_RNDN);
        ;
        mpfr_mul(r19899, r19878, r19898, MPFR_RNDN);
        mpfr_div(r19900, r19899, r19886, MPFR_RNDN);
        mpfr_div(r19901, r19900, r19880, MPFR_RNDN);
        mpfr_add(r19902, r19897, r19901, MPFR_RNDN);
        mpfr_add(r19903, r19888, r19902, MPFR_RNDN);
        mpfr_div(r19904, r19878, r19875, MPFR_RNDN);
        mpfr_div(r19905, r19904, r19885, MPFR_RNDN);
        ;
        mpfr_mul(r19907, r19905, r19906, MPFR_RNDN);
        mpfr_add(r19908, r19878, r19907, MPFR_RNDN);
        ;
        mpfr_mul(r19910, r19909, r19878, MPFR_RNDN);
        mpfr_div(r19911, r19910, r19886, MPFR_RNDN);
        mpfr_add(r19912, r19908, r19911, MPFR_RNDN);
        ;
        mpfr_mul(r19914, r19878, r19913, MPFR_RNDN);
        mpfr_div(r19915, r19914, r19886, MPFR_RNDN);
        mpfr_div(r19916, r19915, r19880, MPFR_RNDN);
        mpfr_div(r19917, r19878, r19885, MPFR_RNDN);
        mpfr_mul(r19918, r19917, r19917, MPFR_RNDN);
        ;
        mpfr_pow(r19920, r19875, r19919, MPFR_RNDN);
        ;
        mpfr_div(r19922, r19920, r19921, MPFR_RNDN);
        mpfr_div(r19923, r19918, r19922, MPFR_RNDN);
        mpfr_add(r19924, r19916, r19923, MPFR_RNDN);
        mpfr_add(r19925, r19912, r19924, MPFR_RNDN);
        ;
        mpfr_div(r19927, r19926, r19880, MPFR_RNDN);
        ;
        mpfr_pow(r19929, r19875, r19928, MPFR_RNDN);
        ;
        mpfr_div(r19931, r19929, r19930, MPFR_RNDN);
        mpfr_div(r19932, r19918, r19931, MPFR_RNDN);
        mpfr_add(r19933, r19927, r19932, MPFR_RNDN);
        mpfr_add(r19934, r19925, r19933, MPFR_RNDN);
        mpfr_mul(r19935, r19934, r19875, MPFR_RNDN);
        mpfr_div(r19936, r19903, r19935, MPFR_RNDN);
        ;
        mpfr_set_si(r19938, mpfr_cmp(r19875, r19937) <= 0, MPFR_RNDN);
        mpfr_sqr(r19939, r19875, MPFR_RNDN);
        mpfr_mul(r19940, r19939, r19939, MPFR_RNDN); mpfr_mul(r19940, r19940, r19939, MPFR_RNDN);
        mpfr_mul(r19941, r19913, r19875, MPFR_RNDN);
        mpfr_mul(r19942, r19875, r19941, MPFR_RNDN);
        mpfr_add(r19943, r19942, r19909, MPFR_RNDN);
        mpfr_mul(r19944, r19940, r19943, MPFR_RNDN);
        mpfr_mul(r19945, r19939, r19939, MPFR_RNDN);
        mpfr_mul(r19946, r19945, r19940, MPFR_RNDN);
        ;
        mpfr_mul(r19948, r19947, r19893, MPFR_RNDN);
        mpfr_mul(r19949, r19939, r19948, MPFR_RNDN);
        mpfr_add(r19950, r19949, r19930, MPFR_RNDN);
        mpfr_mul(r19951, r19946, r19950, MPFR_RNDN);
        mpfr_add(r19952, r19944, r19951, MPFR_RNDN);
        mpfr_mul(r19953, r19875, r19906, MPFR_RNDN);
        mpfr_mul(r19954, r19953, r19885, MPFR_RNDN);
        mpfr_mul(r19955, r19939, r19926, MPFR_RNDN);
        mpfr_add(r19956, r19954, r19955, MPFR_RNDN);
        mpfr_add(r19957, r19956, r19878, MPFR_RNDN);
        mpfr_add(r19958, r19952, r19957, MPFR_RNDN);
        mpfr_mul(r19959, r19945, r19945, MPFR_RNDN);
        mpfr_mul(r19960, r19939, r19893, MPFR_RNDN);
        mpfr_mul(r19961, r19959, r19960, MPFR_RNDN);
        mpfr_mul(r19962, r19875, r19889, MPFR_RNDN);
        mpfr_mul(r19963, r19962, r19885, MPFR_RNDN);
        mpfr_mul(r19964, r19879, r19875, MPFR_RNDN);
        mpfr_mul(r19965, r19875, r19964, MPFR_RNDN);
        mpfr_add(r19966, r19878, r19965, MPFR_RNDN);
        mpfr_add(r19967, r19963, r19966, MPFR_RNDN);
        mpfr_add(r19968, r19961, r19967, MPFR_RNDN);
        mpfr_mul(r19969, r19875, r19898, MPFR_RNDN);
        mpfr_mul(r19970, r19969, r19875, MPFR_RNDN);
        mpfr_add(r19971, r19883, r19970, MPFR_RNDN);
        mpfr_mul(r19972, r19971, r19940, MPFR_RNDN);
        mpfr_add(r19973, r19968, r19972, MPFR_RNDN);
        mpfr_div(r19974, r19958, r19973, MPFR_RNDN);
        mpfr_div(r19975, r19875, r19974, MPFR_RNDN);
        mpfr_pow(r19976, r19975, r19878, MPFR_RNDN);
        if (mpfr_get_si(r19938, MPFR_RNDN)) { mpfr_set(r19977, r19976, MPFR_RNDN); } else { mpfr_set(r19977, r19936, MPFR_RNDN); };
        if (mpfr_get_si(r19877, MPFR_RNDN)) { mpfr_set(r19978, r19936, MPFR_RNDN); } else { mpfr_set(r19978, r19977, MPFR_RNDN); };
        return mpfr_get_d(r19978, MPFR_RNDN);
}

