#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 r18495 = 1.0f;
        float r18496 = 0.1049934947f;
        float r18497 = x;
        float r18498 = r18497 * r18497;
        float r18499 = r18496 * r18498;
        float r18500 = r18495 + r18499;
        float r18501 = 0.0424060604f;
        float r18502 = r18498 * r18498;
        float r18503 = r18501 * r18502;
        float r18504 = r18500 + r18503;
        float r18505 = 0.0072644182f;
        float r18506 = r18502 * r18498;
        float r18507 = r18505 * r18506;
        float r18508 = r18504 + r18507;
        float r18509 = 0.0005064034f;
        float r18510 = r18506 * r18498;
        float r18511 = r18509 * r18510;
        float r18512 = r18508 + r18511;
        float r18513 = 0.0001789971f;
        float r18514 = r18510 * r18498;
        float r18515 = r18513 * r18514;
        float r18516 = r18512 + r18515;
        float r18517 = 0.7715471019f;
        float r18518 = r18517 * r18498;
        float r18519 = r18495 + r18518;
        float r18520 = 0.2909738639f;
        float r18521 = r18520 * r18502;
        float r18522 = r18519 + r18521;
        float r18523 = 0.0694555761f;
        float r18524 = r18523 * r18506;
        float r18525 = r18522 + r18524;
        float r18526 = 0.0140005442f;
        float r18527 = r18526 * r18510;
        float r18528 = r18525 + r18527;
        float r18529 = 0.0008327945f;
        float r18530 = r18529 * r18514;
        float r18531 = r18528 + r18530;
        float r18532 = 2.0f;
        float r18533 = r18532 * r18513;
        float r18534 = r18514 * r18498;
        float r18535 = r18533 * r18534;
        float r18536 = r18531 + r18535;
        float r18537 = r18516 / r18536;
        float r18538 = r18537 * r18497;
        return r18538;
}

double f_id(double x) {
        double r18539 = 1.0;
        double r18540 = 0.1049934947;
        double r18541 = x;
        double r18542 = r18541 * r18541;
        double r18543 = r18540 * r18542;
        double r18544 = r18539 + r18543;
        double r18545 = 0.0424060604;
        double r18546 = r18542 * r18542;
        double r18547 = r18545 * r18546;
        double r18548 = r18544 + r18547;
        double r18549 = 0.0072644182;
        double r18550 = r18546 * r18542;
        double r18551 = r18549 * r18550;
        double r18552 = r18548 + r18551;
        double r18553 = 0.0005064034;
        double r18554 = r18550 * r18542;
        double r18555 = r18553 * r18554;
        double r18556 = r18552 + r18555;
        double r18557 = 0.0001789971;
        double r18558 = r18554 * r18542;
        double r18559 = r18557 * r18558;
        double r18560 = r18556 + r18559;
        double r18561 = 0.7715471019;
        double r18562 = r18561 * r18542;
        double r18563 = r18539 + r18562;
        double r18564 = 0.2909738639;
        double r18565 = r18564 * r18546;
        double r18566 = r18563 + r18565;
        double r18567 = 0.0694555761;
        double r18568 = r18567 * r18550;
        double r18569 = r18566 + r18568;
        double r18570 = 0.0140005442;
        double r18571 = r18570 * r18554;
        double r18572 = r18569 + r18571;
        double r18573 = 0.0008327945;
        double r18574 = r18573 * r18558;
        double r18575 = r18572 + r18574;
        double r18576 = 2.0;
        double r18577 = r18576 * r18557;
        double r18578 = r18558 * r18542;
        double r18579 = r18577 * r18578;
        double r18580 = r18575 + r18579;
        double r18581 = r18560 / r18580;
        double r18582 = r18581 * r18541;
        return r18582;
}


double f_of(float x) {
        float r18583 = x;
        float r18584 = -4.796633979640034e+24f;
        bool r18585 = r18583 <= r18584;
        float r18586 = 0.0005064034f;
        float r18587 = 1.0f;
        float r18588 = 8.0f;
        float r18589 = pow(r18583, r18588);
        float r18590 = r18587 / r18589;
        float r18591 = 0.0072644182f;
        float r18592 = r18583 * (r18583 * r18583);
        float r18593 = r18591 / r18592;
        float r18594 = r18593 / r18592;
        float r18595 = fma(r18586, r18590, r18594);
        float r18596 = 0.0001789971f;
        float r18597 = r18587 / r18592;
        float r18598 = 4.0f;
        float r18599 = pow(r18583, r18598);
        float r18600 = r18597 / r18599;
        float r18601 = r18597 * r18600;
        float r18602 = 0.0424060604f;
        float r18603 = r18587 / r18599;
        float r18604 = 0.1049934947f;
        float r18605 = r18604 / r18583;
        float r18606 = r18587 / r18583;
        float r18607 = fma(r18605, r18606, r18587);
        float r18608 = fma(r18602, r18603, r18607);
        float r18609 = fma(r18596, r18601, r18608);
        float r18610 = r18595 + r18609;
        float r18611 = r18610 / r18583;
        float r18612 = 0.0003579942f;
        float r18613 = pow(r18597, r18598);
        float r18614 = 0.0008327945f;
        float r18615 = 0.2909738639f;
        float r18616 = 0.7715471019f;
        float r18617 = r18616 / r18583;
        float r18618 = fma(r18617, r18606, r18587);
        float r18619 = fma(r18615, r18603, r18618);
        float r18620 = fma(r18614, r18601, r18619);
        float r18621 = 0.0140005442f;
        float r18622 = 0.0694555761f;
        float r18623 = r18592 * r18592;
        float r18624 = r18622 / r18623;
        float r18625 = fma(r18590, r18621, r18624);
        float r18626 = r18620 + r18625;
        float r18627 = fma(r18612, r18613, r18626);
        float r18628 = r18611 / r18627;
        float r18629 = 1.1749657164874787e+30f;
        bool r18630 = r18583 <= r18629;
        float r18631 = r18583 * r18583;
        float r18632 = r18592 * r18631;
        float r18633 = r18632 * r18632;
        float r18634 = r18631 * r18631;
        float r18635 = r18583 * r18604;
        float r18636 = fma(r18635, r18583, r18587);
        float r18637 = fma(r18602, r18634, r18636);
        float r18638 = fma(r18596, r18633, r18637);
        float r18639 = r18634 * r18634;
        float r18640 = r18592 * r18591;
        float r18641 = r18640 * r18592;
        float r18642 = fma(r18586, r18639, r18641);
        float r18643 = r18638 + r18642;
        float r18644 = r18583 * r18643;
        float r18645 = 2.0f;
        float r18646 = r18596 * r18645;
        float r18647 = r18592 * r18592;
        float r18648 = r18583 * r18583;
        float r18649 = r18648 * r18592;
        float r18650 = r18647 * r18649;
        float r18651 = r18583 * r18650;
        float r18652 = r18592 * (r18592 * r18592);
        float r18653 = r18652 * r18583;
        float r18654 = r18648 * r18648;
        float r18655 = r18583 * r18616;
        float r18656 = fma(r18655, r18583, r18587);
        float r18657 = fma(r18615, r18654, r18656);
        float r18658 = fma(r18614, r18653, r18657);
        float r18659 = r18654 * r18654;
        float r18660 = r18647 * r18622;
        float r18661 = fma(r18659, r18621, r18660);
        float r18662 = r18658 + r18661;
        float r18663 = fma(r18646, r18651, r18662);
        float r18664 = r18644 / r18663;
        float r18665 = r18630 ? r18664 : r18628;
        float r18666 = r18585 ? r18628 : r18665;
        return r18666;
}

double f_od(double x) {
        double r18667 = x;
        double r18668 = -4.796633979640034e+24;
        bool r18669 = r18667 <= r18668;
        double r18670 = 0.0005064034;
        double r18671 = 1.0;
        double r18672 = 8.0;
        double r18673 = pow(r18667, r18672);
        double r18674 = r18671 / r18673;
        double r18675 = 0.0072644182;
        double r18676 = r18667 * (r18667 * r18667);
        double r18677 = r18675 / r18676;
        double r18678 = r18677 / r18676;
        double r18679 = fma(r18670, r18674, r18678);
        double r18680 = 0.0001789971;
        double r18681 = r18671 / r18676;
        double r18682 = 4.0;
        double r18683 = pow(r18667, r18682);
        double r18684 = r18681 / r18683;
        double r18685 = r18681 * r18684;
        double r18686 = 0.0424060604;
        double r18687 = r18671 / r18683;
        double r18688 = 0.1049934947;
        double r18689 = r18688 / r18667;
        double r18690 = r18671 / r18667;
        double r18691 = fma(r18689, r18690, r18671);
        double r18692 = fma(r18686, r18687, r18691);
        double r18693 = fma(r18680, r18685, r18692);
        double r18694 = r18679 + r18693;
        double r18695 = r18694 / r18667;
        double r18696 = 0.0003579942;
        double r18697 = pow(r18681, r18682);
        double r18698 = 0.0008327945;
        double r18699 = 0.2909738639;
        double r18700 = 0.7715471019;
        double r18701 = r18700 / r18667;
        double r18702 = fma(r18701, r18690, r18671);
        double r18703 = fma(r18699, r18687, r18702);
        double r18704 = fma(r18698, r18685, r18703);
        double r18705 = 0.0140005442;
        double r18706 = 0.0694555761;
        double r18707 = r18676 * r18676;
        double r18708 = r18706 / r18707;
        double r18709 = fma(r18674, r18705, r18708);
        double r18710 = r18704 + r18709;
        double r18711 = fma(r18696, r18697, r18710);
        double r18712 = r18695 / r18711;
        double r18713 = 1.1749657164874787e+30;
        bool r18714 = r18667 <= r18713;
        double r18715 = r18667 * r18667;
        double r18716 = r18676 * r18715;
        double r18717 = r18716 * r18716;
        double r18718 = r18715 * r18715;
        double r18719 = r18667 * r18688;
        double r18720 = fma(r18719, r18667, r18671);
        double r18721 = fma(r18686, r18718, r18720);
        double r18722 = fma(r18680, r18717, r18721);
        double r18723 = r18718 * r18718;
        double r18724 = r18676 * r18675;
        double r18725 = r18724 * r18676;
        double r18726 = fma(r18670, r18723, r18725);
        double r18727 = r18722 + r18726;
        double r18728 = r18667 * r18727;
        double r18729 = 2.0;
        double r18730 = r18680 * r18729;
        double r18731 = r18676 * r18676;
        double r18732 = r18667 * r18667;
        double r18733 = r18732 * r18676;
        double r18734 = r18731 * r18733;
        double r18735 = r18667 * r18734;
        double r18736 = r18676 * (r18676 * r18676);
        double r18737 = r18736 * r18667;
        double r18738 = r18732 * r18732;
        double r18739 = r18667 * r18700;
        double r18740 = fma(r18739, r18667, r18671);
        double r18741 = fma(r18699, r18738, r18740);
        double r18742 = fma(r18698, r18737, r18741);
        double r18743 = r18738 * r18738;
        double r18744 = r18731 * r18706;
        double r18745 = fma(r18743, r18705, r18744);
        double r18746 = r18742 + r18745;
        double r18747 = fma(r18730, r18735, r18746);
        double r18748 = r18728 / r18747;
        double r18749 = r18714 ? r18748 : r18712;
        double r18750 = r18669 ? r18712 : r18749;
        return r18750;
}

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 r18751, r18752, r18753, r18754, r18755, r18756, r18757, r18758, r18759, r18760, r18761, r18762, r18763, r18764, r18765, r18766, r18767, r18768, r18769, r18770, r18771, r18772, r18773, r18774, r18775, r18776, r18777, r18778, r18779, r18780, r18781, r18782, r18783, r18784, r18785, r18786, r18787, r18788, r18789, r18790, r18791, r18792, r18793, r18794;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18751, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18752, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18753);
        mpfr_init(r18754);
        mpfr_init(r18755);
        mpfr_init(r18756);
        mpfr_init_set_str(r18757, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18758);
        mpfr_init(r18759);
        mpfr_init(r18760);
        mpfr_init_set_str(r18761, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18762);
        mpfr_init(r18763);
        mpfr_init(r18764);
        mpfr_init_set_str(r18765, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18766);
        mpfr_init(r18767);
        mpfr_init(r18768);
        mpfr_init_set_str(r18769, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18770);
        mpfr_init(r18771);
        mpfr_init(r18772);
        mpfr_init_set_str(r18773, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18774);
        mpfr_init(r18775);
        mpfr_init_set_str(r18776, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18777);
        mpfr_init(r18778);
        mpfr_init_set_str(r18779, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18780);
        mpfr_init(r18781);
        mpfr_init_set_str(r18782, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18783);
        mpfr_init(r18784);
        mpfr_init_set_str(r18785, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18786);
        mpfr_init(r18787);
        mpfr_init_set_str(r18788, "2", 10, MPFR_RNDN);
        mpfr_init(r18789);
        mpfr_init(r18790);
        mpfr_init(r18791);
        mpfr_init(r18792);
        mpfr_init(r18793);
        mpfr_init(r18794);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18753, x, MPFR_RNDN);
        mpfr_mul(r18754, r18753, r18753, MPFR_RNDN);
        mpfr_mul(r18755, r18752, r18754, MPFR_RNDN);
        mpfr_add(r18756, r18751, r18755, MPFR_RNDN);
        ;
        mpfr_mul(r18758, r18754, r18754, MPFR_RNDN);
        mpfr_mul(r18759, r18757, r18758, MPFR_RNDN);
        mpfr_add(r18760, r18756, r18759, MPFR_RNDN);
        ;
        mpfr_mul(r18762, r18758, r18754, MPFR_RNDN);
        mpfr_mul(r18763, r18761, r18762, MPFR_RNDN);
        mpfr_add(r18764, r18760, r18763, MPFR_RNDN);
        ;
        mpfr_mul(r18766, r18762, r18754, MPFR_RNDN);
        mpfr_mul(r18767, r18765, r18766, MPFR_RNDN);
        mpfr_add(r18768, r18764, r18767, MPFR_RNDN);
        ;
        mpfr_mul(r18770, r18766, r18754, MPFR_RNDN);
        mpfr_mul(r18771, r18769, r18770, MPFR_RNDN);
        mpfr_add(r18772, r18768, r18771, MPFR_RNDN);
        ;
        mpfr_mul(r18774, r18773, r18754, MPFR_RNDN);
        mpfr_add(r18775, r18751, r18774, MPFR_RNDN);
        ;
        mpfr_mul(r18777, r18776, r18758, MPFR_RNDN);
        mpfr_add(r18778, r18775, r18777, MPFR_RNDN);
        ;
        mpfr_mul(r18780, r18779, r18762, MPFR_RNDN);
        mpfr_add(r18781, r18778, r18780, MPFR_RNDN);
        ;
        mpfr_mul(r18783, r18782, r18766, MPFR_RNDN);
        mpfr_add(r18784, r18781, r18783, MPFR_RNDN);
        ;
        mpfr_mul(r18786, r18785, r18770, MPFR_RNDN);
        mpfr_add(r18787, r18784, r18786, MPFR_RNDN);
        ;
        mpfr_mul(r18789, r18788, r18769, MPFR_RNDN);
        mpfr_mul(r18790, r18770, r18754, MPFR_RNDN);
        mpfr_mul(r18791, r18789, r18790, MPFR_RNDN);
        mpfr_add(r18792, r18787, r18791, MPFR_RNDN);
        mpfr_div(r18793, r18772, r18792, MPFR_RNDN);
        mpfr_mul(r18794, r18793, r18753, MPFR_RNDN);
        return mpfr_get_d(r18794, MPFR_RNDN);
}

static mpfr_t r18795, r18796, r18797, r18798, r18799, r18800, r18801, r18802, r18803, r18804, r18805, r18806, r18807, r18808, r18809, r18810, r18811, r18812, r18813, r18814, r18815, r18816, r18817, r18818, r18819, r18820, r18821, r18822, r18823, r18824, r18825, r18826, r18827, r18828, r18829, r18830, r18831, r18832, r18833, r18834, r18835, r18836, r18837, r18838, r18839, r18840, r18841, r18842, r18843, r18844, r18845, r18846, r18847, r18848, r18849, r18850, r18851, r18852, r18853, r18854, r18855, r18856, r18857, r18858, r18859, r18860, r18861, r18862, r18863, r18864, r18865, r18866, r18867, r18868, r18869, r18870, r18871, r18872, r18873, r18874, r18875, r18876, r18877, r18878;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18795);
        mpfr_init_set_str(r18796, "-4.796633979640034e+24", 10, MPFR_RNDN);
        mpfr_init(r18797);
        mpfr_init_set_str(r18798, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18799, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18800, "8", 10, MPFR_RNDN);
        mpfr_init(r18801);
        mpfr_init(r18802);
        mpfr_init_set_str(r18803, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18804);
        mpfr_init(r18805);
        mpfr_init(r18806);
        mpfr_init(r18807);
        mpfr_init_set_str(r18808, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18809);
        mpfr_init_set_str(r18810, "4", 10, MPFR_RNDN);
        mpfr_init(r18811);
        mpfr_init(r18812);
        mpfr_init(r18813);
        mpfr_init_set_str(r18814, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18815);
        mpfr_init_set_str(r18816, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18817);
        mpfr_init(r18818);
        mpfr_init(r18819);
        mpfr_init(r18820);
        mpfr_init(r18821);
        mpfr_init(r18822);
        mpfr_init(r18823);
        mpfr_init_set_str(r18824, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18825);
        mpfr_init_set_str(r18826, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18827, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18828, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18829);
        mpfr_init(r18830);
        mpfr_init(r18831);
        mpfr_init(r18832);
        mpfr_init_set_str(r18833, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18834, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18835);
        mpfr_init(r18836);
        mpfr_init(r18837);
        mpfr_init(r18838);
        mpfr_init(r18839);
        mpfr_init(r18840);
        mpfr_init_set_str(r18841, "1.1749657164874787e+30", 10, MPFR_RNDN);
        mpfr_init(r18842);
        mpfr_init(r18843);
        mpfr_init(r18844);
        mpfr_init(r18845);
        mpfr_init(r18846);
        mpfr_init(r18847);
        mpfr_init(r18848);
        mpfr_init(r18849);
        mpfr_init(r18850);
        mpfr_init(r18851);
        mpfr_init(r18852);
        mpfr_init(r18853);
        mpfr_init(r18854);
        mpfr_init(r18855);
        mpfr_init(r18856);
        mpfr_init_set_str(r18857, "2", 10, MPFR_RNDN);
        mpfr_init(r18858);
        mpfr_init(r18859);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init(r18862);
        mpfr_init(r18863);
        mpfr_init(r18864);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init(r18867);
        mpfr_init(r18868);
        mpfr_init(r18869);
        mpfr_init(r18870);
        mpfr_init(r18871);
        mpfr_init(r18872);
        mpfr_init(r18873);
        mpfr_init(r18874);
        mpfr_init(r18875);
        mpfr_init(r18876);
        mpfr_init(r18877);
        mpfr_init(r18878);
}

double f_fm(double x) {
        mpfr_set_d(r18795, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18797, mpfr_cmp(r18795, r18796) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r18801, r18795, r18800, MPFR_RNDN);
        mpfr_div(r18802, r18799, r18801, MPFR_RNDN);
        ;
        mpfr_mul(r18804, r18795, r18795, MPFR_RNDN); mpfr_mul(r18804, r18804, r18795, MPFR_RNDN);
        mpfr_div(r18805, r18803, r18804, MPFR_RNDN);
        mpfr_div(r18806, r18805, r18804, MPFR_RNDN);
        mpfr_fma(r18807, r18798, r18802, r18806, MPFR_RNDN);
        ;
        mpfr_div(r18809, r18799, r18804, MPFR_RNDN);
        ;
        mpfr_pow(r18811, r18795, r18810, MPFR_RNDN);
        mpfr_div(r18812, r18809, r18811, MPFR_RNDN);
        mpfr_mul(r18813, r18809, r18812, MPFR_RNDN);
        ;
        mpfr_div(r18815, r18799, r18811, MPFR_RNDN);
        ;
        mpfr_div(r18817, r18816, r18795, MPFR_RNDN);
        mpfr_div(r18818, r18799, r18795, MPFR_RNDN);
        mpfr_fma(r18819, r18817, r18818, r18799, MPFR_RNDN);
        mpfr_fma(r18820, r18814, r18815, r18819, MPFR_RNDN);
        mpfr_fma(r18821, r18808, r18813, r18820, MPFR_RNDN);
        mpfr_add(r18822, r18807, r18821, MPFR_RNDN);
        mpfr_div(r18823, r18822, r18795, MPFR_RNDN);
        ;
        mpfr_pow(r18825, r18809, r18810, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r18829, r18828, r18795, MPFR_RNDN);
        mpfr_fma(r18830, r18829, r18818, r18799, MPFR_RNDN);
        mpfr_fma(r18831, r18827, r18815, r18830, MPFR_RNDN);
        mpfr_fma(r18832, r18826, r18813, r18831, MPFR_RNDN);
        ;
        ;
        mpfr_sqr(r18835, r18804, MPFR_RNDN);
        mpfr_div(r18836, r18834, r18835, MPFR_RNDN);
        mpfr_fma(r18837, r18802, r18833, r18836, MPFR_RNDN);
        mpfr_add(r18838, r18832, r18837, MPFR_RNDN);
        mpfr_fma(r18839, r18824, r18825, r18838, MPFR_RNDN);
        mpfr_div(r18840, r18823, r18839, MPFR_RNDN);
        ;
        mpfr_set_si(r18842, mpfr_cmp(r18795, r18841) <= 0, MPFR_RNDN);
        mpfr_sqr(r18843, r18795, MPFR_RNDN);
        mpfr_mul(r18844, r18804, r18843, MPFR_RNDN);
        mpfr_mul(r18845, r18844, r18844, MPFR_RNDN);
        mpfr_mul(r18846, r18843, r18843, MPFR_RNDN);
        mpfr_mul(r18847, r18795, r18816, MPFR_RNDN);
        mpfr_fma(r18848, r18847, r18795, r18799, MPFR_RNDN);
        mpfr_fma(r18849, r18814, r18846, r18848, MPFR_RNDN);
        mpfr_fma(r18850, r18808, r18845, r18849, MPFR_RNDN);
        mpfr_mul(r18851, r18846, r18846, MPFR_RNDN);
        mpfr_mul(r18852, r18804, r18803, MPFR_RNDN);
        mpfr_mul(r18853, r18852, r18804, MPFR_RNDN);
        mpfr_fma(r18854, r18798, r18851, r18853, MPFR_RNDN);
        mpfr_add(r18855, r18850, r18854, MPFR_RNDN);
        mpfr_mul(r18856, r18795, r18855, MPFR_RNDN);
        ;
        mpfr_mul(r18858, r18808, r18857, MPFR_RNDN);
        mpfr_mul(r18859, r18804, r18804, MPFR_RNDN);
        mpfr_mul(r18860, r18795, r18795, MPFR_RNDN);
        mpfr_mul(r18861, r18860, r18804, MPFR_RNDN);
        mpfr_mul(r18862, r18859, r18861, MPFR_RNDN);
        mpfr_mul(r18863, r18795, r18862, MPFR_RNDN);
        mpfr_mul(r18864, r18804, r18804, MPFR_RNDN); mpfr_mul(r18864, r18864, r18804, MPFR_RNDN);
        mpfr_mul(r18865, r18864, r18795, MPFR_RNDN);
        mpfr_mul(r18866, r18860, r18860, MPFR_RNDN);
        mpfr_mul(r18867, r18795, r18828, MPFR_RNDN);
        mpfr_fma(r18868, r18867, r18795, r18799, MPFR_RNDN);
        mpfr_fma(r18869, r18827, r18866, r18868, MPFR_RNDN);
        mpfr_fma(r18870, r18826, r18865, r18869, MPFR_RNDN);
        mpfr_sqr(r18871, r18866, MPFR_RNDN);
        mpfr_mul(r18872, r18859, r18834, MPFR_RNDN);
        mpfr_fma(r18873, r18871, r18833, r18872, MPFR_RNDN);
        mpfr_add(r18874, r18870, r18873, MPFR_RNDN);
        mpfr_fma(r18875, r18858, r18863, r18874, MPFR_RNDN);
        mpfr_div(r18876, r18856, r18875, MPFR_RNDN);
        if (mpfr_get_si(r18842, MPFR_RNDN)) { mpfr_set(r18877, r18876, MPFR_RNDN); } else { mpfr_set(r18877, r18840, MPFR_RNDN); };
        if (mpfr_get_si(r18797, MPFR_RNDN)) { mpfr_set(r18878, r18840, MPFR_RNDN); } else { mpfr_set(r18878, r18877, MPFR_RNDN); };
        return mpfr_get_d(r18878, MPFR_RNDN);
}

static mpfr_t r18879, r18880, r18881, r18882, r18883, r18884, r18885, r18886, r18887, r18888, r18889, r18890, r18891, r18892, r18893, r18894, r18895, r18896, r18897, r18898, r18899, r18900, r18901, r18902, r18903, r18904, r18905, r18906, r18907, r18908, r18909, r18910, r18911, r18912, r18913, r18914, r18915, r18916, r18917, r18918, r18919, r18920, r18921, r18922, r18923, r18924, r18925, r18926, r18927, r18928, r18929, r18930, r18931, r18932, r18933, r18934, r18935, r18936, r18937, r18938, r18939, r18940, r18941, r18942, r18943, r18944, r18945, r18946, r18947, r18948, r18949, r18950, r18951, r18952, r18953, r18954, r18955, r18956, r18957, r18958, r18959, r18960, r18961, r18962;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18879);
        mpfr_init_set_str(r18880, "-4.796633979640034e+24", 10, MPFR_RNDN);
        mpfr_init(r18881);
        mpfr_init_set_str(r18882, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18883, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18884, "8", 10, MPFR_RNDN);
        mpfr_init(r18885);
        mpfr_init(r18886);
        mpfr_init_set_str(r18887, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18888);
        mpfr_init(r18889);
        mpfr_init(r18890);
        mpfr_init(r18891);
        mpfr_init_set_str(r18892, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18893);
        mpfr_init_set_str(r18894, "4", 10, MPFR_RNDN);
        mpfr_init(r18895);
        mpfr_init(r18896);
        mpfr_init(r18897);
        mpfr_init_set_str(r18898, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18899);
        mpfr_init_set_str(r18900, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18901);
        mpfr_init(r18902);
        mpfr_init(r18903);
        mpfr_init(r18904);
        mpfr_init(r18905);
        mpfr_init(r18906);
        mpfr_init(r18907);
        mpfr_init_set_str(r18908, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18909);
        mpfr_init_set_str(r18910, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18911, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18912, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18913);
        mpfr_init(r18914);
        mpfr_init(r18915);
        mpfr_init(r18916);
        mpfr_init_set_str(r18917, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18918, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18919);
        mpfr_init(r18920);
        mpfr_init(r18921);
        mpfr_init(r18922);
        mpfr_init(r18923);
        mpfr_init(r18924);
        mpfr_init_set_str(r18925, "1.1749657164874787e+30", 10, MPFR_RNDN);
        mpfr_init(r18926);
        mpfr_init(r18927);
        mpfr_init(r18928);
        mpfr_init(r18929);
        mpfr_init(r18930);
        mpfr_init(r18931);
        mpfr_init(r18932);
        mpfr_init(r18933);
        mpfr_init(r18934);
        mpfr_init(r18935);
        mpfr_init(r18936);
        mpfr_init(r18937);
        mpfr_init(r18938);
        mpfr_init(r18939);
        mpfr_init(r18940);
        mpfr_init_set_str(r18941, "2", 10, MPFR_RNDN);
        mpfr_init(r18942);
        mpfr_init(r18943);
        mpfr_init(r18944);
        mpfr_init(r18945);
        mpfr_init(r18946);
        mpfr_init(r18947);
        mpfr_init(r18948);
        mpfr_init(r18949);
        mpfr_init(r18950);
        mpfr_init(r18951);
        mpfr_init(r18952);
        mpfr_init(r18953);
        mpfr_init(r18954);
        mpfr_init(r18955);
        mpfr_init(r18956);
        mpfr_init(r18957);
        mpfr_init(r18958);
        mpfr_init(r18959);
        mpfr_init(r18960);
        mpfr_init(r18961);
        mpfr_init(r18962);
}

double f_dm(double x) {
        mpfr_set_d(r18879, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18881, mpfr_cmp(r18879, r18880) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r18885, r18879, r18884, MPFR_RNDN);
        mpfr_div(r18886, r18883, r18885, MPFR_RNDN);
        ;
        mpfr_mul(r18888, r18879, r18879, MPFR_RNDN); mpfr_mul(r18888, r18888, r18879, MPFR_RNDN);
        mpfr_div(r18889, r18887, r18888, MPFR_RNDN);
        mpfr_div(r18890, r18889, r18888, MPFR_RNDN);
        mpfr_fma(r18891, r18882, r18886, r18890, MPFR_RNDN);
        ;
        mpfr_div(r18893, r18883, r18888, MPFR_RNDN);
        ;
        mpfr_pow(r18895, r18879, r18894, MPFR_RNDN);
        mpfr_div(r18896, r18893, r18895, MPFR_RNDN);
        mpfr_mul(r18897, r18893, r18896, MPFR_RNDN);
        ;
        mpfr_div(r18899, r18883, r18895, MPFR_RNDN);
        ;
        mpfr_div(r18901, r18900, r18879, MPFR_RNDN);
        mpfr_div(r18902, r18883, r18879, MPFR_RNDN);
        mpfr_fma(r18903, r18901, r18902, r18883, MPFR_RNDN);
        mpfr_fma(r18904, r18898, r18899, r18903, MPFR_RNDN);
        mpfr_fma(r18905, r18892, r18897, r18904, MPFR_RNDN);
        mpfr_add(r18906, r18891, r18905, MPFR_RNDN);
        mpfr_div(r18907, r18906, r18879, MPFR_RNDN);
        ;
        mpfr_pow(r18909, r18893, r18894, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r18913, r18912, r18879, MPFR_RNDN);
        mpfr_fma(r18914, r18913, r18902, r18883, MPFR_RNDN);
        mpfr_fma(r18915, r18911, r18899, r18914, MPFR_RNDN);
        mpfr_fma(r18916, r18910, r18897, r18915, MPFR_RNDN);
        ;
        ;
        mpfr_sqr(r18919, r18888, MPFR_RNDN);
        mpfr_div(r18920, r18918, r18919, MPFR_RNDN);
        mpfr_fma(r18921, r18886, r18917, r18920, MPFR_RNDN);
        mpfr_add(r18922, r18916, r18921, MPFR_RNDN);
        mpfr_fma(r18923, r18908, r18909, r18922, MPFR_RNDN);
        mpfr_div(r18924, r18907, r18923, MPFR_RNDN);
        ;
        mpfr_set_si(r18926, mpfr_cmp(r18879, r18925) <= 0, MPFR_RNDN);
        mpfr_sqr(r18927, r18879, MPFR_RNDN);
        mpfr_mul(r18928, r18888, r18927, MPFR_RNDN);
        mpfr_mul(r18929, r18928, r18928, MPFR_RNDN);
        mpfr_mul(r18930, r18927, r18927, MPFR_RNDN);
        mpfr_mul(r18931, r18879, r18900, MPFR_RNDN);
        mpfr_fma(r18932, r18931, r18879, r18883, MPFR_RNDN);
        mpfr_fma(r18933, r18898, r18930, r18932, MPFR_RNDN);
        mpfr_fma(r18934, r18892, r18929, r18933, MPFR_RNDN);
        mpfr_mul(r18935, r18930, r18930, MPFR_RNDN);
        mpfr_mul(r18936, r18888, r18887, MPFR_RNDN);
        mpfr_mul(r18937, r18936, r18888, MPFR_RNDN);
        mpfr_fma(r18938, r18882, r18935, r18937, MPFR_RNDN);
        mpfr_add(r18939, r18934, r18938, MPFR_RNDN);
        mpfr_mul(r18940, r18879, r18939, MPFR_RNDN);
        ;
        mpfr_mul(r18942, r18892, r18941, MPFR_RNDN);
        mpfr_mul(r18943, r18888, r18888, MPFR_RNDN);
        mpfr_mul(r18944, r18879, r18879, MPFR_RNDN);
        mpfr_mul(r18945, r18944, r18888, MPFR_RNDN);
        mpfr_mul(r18946, r18943, r18945, MPFR_RNDN);
        mpfr_mul(r18947, r18879, r18946, MPFR_RNDN);
        mpfr_mul(r18948, r18888, r18888, MPFR_RNDN); mpfr_mul(r18948, r18948, r18888, MPFR_RNDN);
        mpfr_mul(r18949, r18948, r18879, MPFR_RNDN);
        mpfr_mul(r18950, r18944, r18944, MPFR_RNDN);
        mpfr_mul(r18951, r18879, r18912, MPFR_RNDN);
        mpfr_fma(r18952, r18951, r18879, r18883, MPFR_RNDN);
        mpfr_fma(r18953, r18911, r18950, r18952, MPFR_RNDN);
        mpfr_fma(r18954, r18910, r18949, r18953, MPFR_RNDN);
        mpfr_sqr(r18955, r18950, MPFR_RNDN);
        mpfr_mul(r18956, r18943, r18918, MPFR_RNDN);
        mpfr_fma(r18957, r18955, r18917, r18956, MPFR_RNDN);
        mpfr_add(r18958, r18954, r18957, MPFR_RNDN);
        mpfr_fma(r18959, r18942, r18947, r18958, MPFR_RNDN);
        mpfr_div(r18960, r18940, r18959, MPFR_RNDN);
        if (mpfr_get_si(r18926, MPFR_RNDN)) { mpfr_set(r18961, r18960, MPFR_RNDN); } else { mpfr_set(r18961, r18924, MPFR_RNDN); };
        if (mpfr_get_si(r18881, MPFR_RNDN)) { mpfr_set(r18962, r18924, MPFR_RNDN); } else { mpfr_set(r18962, r18961, MPFR_RNDN); };
        return mpfr_get_d(r18962, MPFR_RNDN);
}

