#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 r18555 = 1.0f;
        float r18556 = 0.1049934947f;
        float r18557 = x;
        float r18558 = r18557 * r18557;
        float r18559 = r18556 * r18558;
        float r18560 = r18555 + r18559;
        float r18561 = 0.0424060604f;
        float r18562 = r18558 * r18558;
        float r18563 = r18561 * r18562;
        float r18564 = r18560 + r18563;
        float r18565 = 0.0072644182f;
        float r18566 = r18562 * r18558;
        float r18567 = r18565 * r18566;
        float r18568 = r18564 + r18567;
        float r18569 = 0.0005064034f;
        float r18570 = r18566 * r18558;
        float r18571 = r18569 * r18570;
        float r18572 = r18568 + r18571;
        float r18573 = 0.0001789971f;
        float r18574 = r18570 * r18558;
        float r18575 = r18573 * r18574;
        float r18576 = r18572 + r18575;
        float r18577 = 0.7715471019f;
        float r18578 = r18577 * r18558;
        float r18579 = r18555 + r18578;
        float r18580 = 0.2909738639f;
        float r18581 = r18580 * r18562;
        float r18582 = r18579 + r18581;
        float r18583 = 0.0694555761f;
        float r18584 = r18583 * r18566;
        float r18585 = r18582 + r18584;
        float r18586 = 0.0140005442f;
        float r18587 = r18586 * r18570;
        float r18588 = r18585 + r18587;
        float r18589 = 0.0008327945f;
        float r18590 = r18589 * r18574;
        float r18591 = r18588 + r18590;
        float r18592 = 2.0f;
        float r18593 = r18592 * r18573;
        float r18594 = r18574 * r18558;
        float r18595 = r18593 * r18594;
        float r18596 = r18591 + r18595;
        float r18597 = r18576 / r18596;
        float r18598 = r18597 * r18557;
        return r18598;
}

double f_id(double x) {
        double r18599 = 1.0;
        double r18600 = 0.1049934947;
        double r18601 = x;
        double r18602 = r18601 * r18601;
        double r18603 = r18600 * r18602;
        double r18604 = r18599 + r18603;
        double r18605 = 0.0424060604;
        double r18606 = r18602 * r18602;
        double r18607 = r18605 * r18606;
        double r18608 = r18604 + r18607;
        double r18609 = 0.0072644182;
        double r18610 = r18606 * r18602;
        double r18611 = r18609 * r18610;
        double r18612 = r18608 + r18611;
        double r18613 = 0.0005064034;
        double r18614 = r18610 * r18602;
        double r18615 = r18613 * r18614;
        double r18616 = r18612 + r18615;
        double r18617 = 0.0001789971;
        double r18618 = r18614 * r18602;
        double r18619 = r18617 * r18618;
        double r18620 = r18616 + r18619;
        double r18621 = 0.7715471019;
        double r18622 = r18621 * r18602;
        double r18623 = r18599 + r18622;
        double r18624 = 0.2909738639;
        double r18625 = r18624 * r18606;
        double r18626 = r18623 + r18625;
        double r18627 = 0.0694555761;
        double r18628 = r18627 * r18610;
        double r18629 = r18626 + r18628;
        double r18630 = 0.0140005442;
        double r18631 = r18630 * r18614;
        double r18632 = r18629 + r18631;
        double r18633 = 0.0008327945;
        double r18634 = r18633 * r18618;
        double r18635 = r18632 + r18634;
        double r18636 = 2.0;
        double r18637 = r18636 * r18617;
        double r18638 = r18618 * r18602;
        double r18639 = r18637 * r18638;
        double r18640 = r18635 + r18639;
        double r18641 = r18620 / r18640;
        double r18642 = r18641 * r18601;
        return r18642;
}


double f_of(float x) {
        float r18643 = x;
        float r18644 = -1.8712086047983953e+24f;
        bool r18645 = r18643 <= r18644;
        float r18646 = 0.0005064034f;
        float r18647 = 1.0f;
        float r18648 = 8.0f;
        float r18649 = pow(r18643, r18648);
        float r18650 = r18647 / r18649;
        float r18651 = 0.0072644182f;
        float r18652 = r18643 * (r18643 * r18643);
        float r18653 = r18652 * r18652;
        float r18654 = r18651 / r18653;
        float r18655 = fma(r18646, r18650, r18654);
        float r18656 = 0.0001789971f;
        float r18657 = r18647 / r18652;
        float r18658 = r18657 / r18652;
        float r18659 = 4.0f;
        float r18660 = pow(r18643, r18659);
        float r18661 = r18658 / r18660;
        float r18662 = 0.0424060604f;
        float r18663 = r18647 / r18660;
        float r18664 = 0.1049934947f;
        float r18665 = r18664 / r18643;
        float r18666 = r18647 / r18643;
        float r18667 = fma(r18665, r18666, r18647);
        float r18668 = fma(r18662, r18663, r18667);
        float r18669 = fma(r18656, r18661, r18668);
        float r18670 = r18655 + r18669;
        float r18671 = r18670 / r18643;
        float r18672 = 0.0003579942f;
        float r18673 = pow(r18657, r18659);
        float r18674 = 0.0008327945f;
        float r18675 = 0.2909738639f;
        float r18676 = 0.7715471019f;
        float r18677 = r18676 / r18643;
        float r18678 = fma(r18677, r18666, r18647);
        float r18679 = fma(r18675, r18663, r18678);
        float r18680 = fma(r18674, r18661, r18679);
        float r18681 = 0.0140005442f;
        float r18682 = 0.0694555761f;
        float r18683 = 6.0f;
        float r18684 = pow(r18643, r18683);
        float r18685 = r18682 / r18684;
        float r18686 = fma(r18650, r18681, r18685);
        float r18687 = r18680 + r18686;
        float r18688 = fma(r18672, r18673, r18687);
        float r18689 = r18671 / r18688;
        float r18690 = 1.8449770898206623e+27f;
        bool r18691 = r18643 <= r18690;
        float r18692 = 2.0f;
        float r18693 = r18656 * r18692;
        float r18694 = r18652 * r18652;
        float r18695 = r18694 * r18694;
        float r18696 = r18652 * (r18652 * r18652);
        float r18697 = r18696 * r18643;
        float r18698 = r18643 * r18643;
        float r18699 = r18698 * r18698;
        float r18700 = r18643 * r18676;
        float r18701 = fma(r18700, r18643, r18647);
        float r18702 = fma(r18675, r18699, r18701);
        float r18703 = fma(r18674, r18697, r18702);
        float r18704 = r18699 * r18699;
        float r18705 = r18694 * r18682;
        float r18706 = fma(r18704, r18681, r18705);
        float r18707 = r18703 + r18706;
        float r18708 = fma(r18693, r18695, r18707);
        float r18709 = r18651 * r18652;
        float r18710 = r18652 * r18709;
        float r18711 = fma(r18646, r18704, r18710);
        float r18712 = r18643 * r18664;
        float r18713 = fma(r18712, r18643, r18647);
        float r18714 = fma(r18662, r18699, r18713);
        float r18715 = fma(r18656, r18697, r18714);
        float r18716 = r18711 + r18715;
        float r18717 = r18708 / r18716;
        float r18718 = r18643 / r18717;
        float r18719 = r18691 ? r18718 : r18689;
        float r18720 = r18645 ? r18689 : r18719;
        return r18720;
}

double f_od(double x) {
        double r18721 = x;
        double r18722 = -1.8712086047983953e+24;
        bool r18723 = r18721 <= r18722;
        double r18724 = 0.0005064034;
        double r18725 = 1.0;
        double r18726 = 8.0;
        double r18727 = pow(r18721, r18726);
        double r18728 = r18725 / r18727;
        double r18729 = 0.0072644182;
        double r18730 = r18721 * (r18721 * r18721);
        double r18731 = r18730 * r18730;
        double r18732 = r18729 / r18731;
        double r18733 = fma(r18724, r18728, r18732);
        double r18734 = 0.0001789971;
        double r18735 = r18725 / r18730;
        double r18736 = r18735 / r18730;
        double r18737 = 4.0;
        double r18738 = pow(r18721, r18737);
        double r18739 = r18736 / r18738;
        double r18740 = 0.0424060604;
        double r18741 = r18725 / r18738;
        double r18742 = 0.1049934947;
        double r18743 = r18742 / r18721;
        double r18744 = r18725 / r18721;
        double r18745 = fma(r18743, r18744, r18725);
        double r18746 = fma(r18740, r18741, r18745);
        double r18747 = fma(r18734, r18739, r18746);
        double r18748 = r18733 + r18747;
        double r18749 = r18748 / r18721;
        double r18750 = 0.0003579942;
        double r18751 = pow(r18735, r18737);
        double r18752 = 0.0008327945;
        double r18753 = 0.2909738639;
        double r18754 = 0.7715471019;
        double r18755 = r18754 / r18721;
        double r18756 = fma(r18755, r18744, r18725);
        double r18757 = fma(r18753, r18741, r18756);
        double r18758 = fma(r18752, r18739, r18757);
        double r18759 = 0.0140005442;
        double r18760 = 0.0694555761;
        double r18761 = 6.0;
        double r18762 = pow(r18721, r18761);
        double r18763 = r18760 / r18762;
        double r18764 = fma(r18728, r18759, r18763);
        double r18765 = r18758 + r18764;
        double r18766 = fma(r18750, r18751, r18765);
        double r18767 = r18749 / r18766;
        double r18768 = 1.8449770898206623e+27;
        bool r18769 = r18721 <= r18768;
        double r18770 = 2.0;
        double r18771 = r18734 * r18770;
        double r18772 = r18730 * r18730;
        double r18773 = r18772 * r18772;
        double r18774 = r18730 * (r18730 * r18730);
        double r18775 = r18774 * r18721;
        double r18776 = r18721 * r18721;
        double r18777 = r18776 * r18776;
        double r18778 = r18721 * r18754;
        double r18779 = fma(r18778, r18721, r18725);
        double r18780 = fma(r18753, r18777, r18779);
        double r18781 = fma(r18752, r18775, r18780);
        double r18782 = r18777 * r18777;
        double r18783 = r18772 * r18760;
        double r18784 = fma(r18782, r18759, r18783);
        double r18785 = r18781 + r18784;
        double r18786 = fma(r18771, r18773, r18785);
        double r18787 = r18729 * r18730;
        double r18788 = r18730 * r18787;
        double r18789 = fma(r18724, r18782, r18788);
        double r18790 = r18721 * r18742;
        double r18791 = fma(r18790, r18721, r18725);
        double r18792 = fma(r18740, r18777, r18791);
        double r18793 = fma(r18734, r18775, r18792);
        double r18794 = r18789 + r18793;
        double r18795 = r18786 / r18794;
        double r18796 = r18721 / r18795;
        double r18797 = r18769 ? r18796 : r18767;
        double r18798 = r18723 ? r18767 : r18797;
        return r18798;
}

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 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;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18799, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18800, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18801);
        mpfr_init(r18802);
        mpfr_init(r18803);
        mpfr_init(r18804);
        mpfr_init_set_str(r18805, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18806);
        mpfr_init(r18807);
        mpfr_init(r18808);
        mpfr_init_set_str(r18809, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18810);
        mpfr_init(r18811);
        mpfr_init(r18812);
        mpfr_init_set_str(r18813, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18814);
        mpfr_init(r18815);
        mpfr_init(r18816);
        mpfr_init_set_str(r18817, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18818);
        mpfr_init(r18819);
        mpfr_init(r18820);
        mpfr_init_set_str(r18821, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18822);
        mpfr_init(r18823);
        mpfr_init_set_str(r18824, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18825);
        mpfr_init(r18826);
        mpfr_init_set_str(r18827, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18828);
        mpfr_init(r18829);
        mpfr_init_set_str(r18830, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18831);
        mpfr_init(r18832);
        mpfr_init_set_str(r18833, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18834);
        mpfr_init(r18835);
        mpfr_init_set_str(r18836, "2", 10, MPFR_RNDN);
        mpfr_init(r18837);
        mpfr_init(r18838);
        mpfr_init(r18839);
        mpfr_init(r18840);
        mpfr_init(r18841);
        mpfr_init(r18842);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18801, x, MPFR_RNDN);
        mpfr_mul(r18802, r18801, r18801, MPFR_RNDN);
        mpfr_mul(r18803, r18800, r18802, MPFR_RNDN);
        mpfr_add(r18804, r18799, r18803, MPFR_RNDN);
        ;
        mpfr_mul(r18806, r18802, r18802, MPFR_RNDN);
        mpfr_mul(r18807, r18805, r18806, MPFR_RNDN);
        mpfr_add(r18808, r18804, r18807, MPFR_RNDN);
        ;
        mpfr_mul(r18810, r18806, r18802, MPFR_RNDN);
        mpfr_mul(r18811, r18809, r18810, MPFR_RNDN);
        mpfr_add(r18812, r18808, r18811, MPFR_RNDN);
        ;
        mpfr_mul(r18814, r18810, r18802, MPFR_RNDN);
        mpfr_mul(r18815, r18813, r18814, MPFR_RNDN);
        mpfr_add(r18816, r18812, r18815, MPFR_RNDN);
        ;
        mpfr_mul(r18818, r18814, r18802, MPFR_RNDN);
        mpfr_mul(r18819, r18817, r18818, MPFR_RNDN);
        mpfr_add(r18820, r18816, r18819, MPFR_RNDN);
        ;
        mpfr_mul(r18822, r18821, r18802, MPFR_RNDN);
        mpfr_add(r18823, r18799, r18822, MPFR_RNDN);
        ;
        mpfr_mul(r18825, r18824, r18806, MPFR_RNDN);
        mpfr_add(r18826, r18823, r18825, MPFR_RNDN);
        ;
        mpfr_mul(r18828, r18827, r18810, MPFR_RNDN);
        mpfr_add(r18829, r18826, r18828, MPFR_RNDN);
        ;
        mpfr_mul(r18831, r18830, r18814, MPFR_RNDN);
        mpfr_add(r18832, r18829, r18831, MPFR_RNDN);
        ;
        mpfr_mul(r18834, r18833, r18818, MPFR_RNDN);
        mpfr_add(r18835, r18832, r18834, MPFR_RNDN);
        ;
        mpfr_mul(r18837, r18836, r18817, MPFR_RNDN);
        mpfr_mul(r18838, r18818, r18802, MPFR_RNDN);
        mpfr_mul(r18839, r18837, r18838, MPFR_RNDN);
        mpfr_add(r18840, r18835, r18839, MPFR_RNDN);
        mpfr_div(r18841, r18820, r18840, MPFR_RNDN);
        mpfr_mul(r18842, r18841, r18801, MPFR_RNDN);
        return mpfr_get_d(r18842, MPFR_RNDN);
}

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

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18843);
        mpfr_init_set_str(r18844, "-1.8712086047983953e+24", 10, MPFR_RNDN);
        mpfr_init(r18845);
        mpfr_init_set_str(r18846, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18847, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18848, "8", 10, MPFR_RNDN);
        mpfr_init(r18849);
        mpfr_init(r18850);
        mpfr_init_set_str(r18851, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18852);
        mpfr_init(r18853);
        mpfr_init(r18854);
        mpfr_init(r18855);
        mpfr_init_set_str(r18856, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18857);
        mpfr_init(r18858);
        mpfr_init_set_str(r18859, "4", 10, MPFR_RNDN);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init_set_str(r18862, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18863);
        mpfr_init_set_str(r18864, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init(r18867);
        mpfr_init(r18868);
        mpfr_init(r18869);
        mpfr_init(r18870);
        mpfr_init(r18871);
        mpfr_init_set_str(r18872, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18873);
        mpfr_init_set_str(r18874, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18875, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18876, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18877);
        mpfr_init(r18878);
        mpfr_init(r18879);
        mpfr_init(r18880);
        mpfr_init_set_str(r18881, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18882, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init_set_str(r18883, "6", 10, MPFR_RNDN);
        mpfr_init(r18884);
        mpfr_init(r18885);
        mpfr_init(r18886);
        mpfr_init(r18887);
        mpfr_init(r18888);
        mpfr_init(r18889);
        mpfr_init_set_str(r18890, "1.8449770898206623e+27", 10, MPFR_RNDN);
        mpfr_init(r18891);
        mpfr_init_set_str(r18892, "2", 10, MPFR_RNDN);
        mpfr_init(r18893);
        mpfr_init(r18894);
        mpfr_init(r18895);
        mpfr_init(r18896);
        mpfr_init(r18897);
        mpfr_init(r18898);
        mpfr_init(r18899);
        mpfr_init(r18900);
        mpfr_init(r18901);
        mpfr_init(r18902);
        mpfr_init(r18903);
        mpfr_init(r18904);
        mpfr_init(r18905);
        mpfr_init(r18906);
        mpfr_init(r18907);
        mpfr_init(r18908);
        mpfr_init(r18909);
        mpfr_init(r18910);
        mpfr_init(r18911);
        mpfr_init(r18912);
        mpfr_init(r18913);
        mpfr_init(r18914);
        mpfr_init(r18915);
        mpfr_init(r18916);
        mpfr_init(r18917);
        mpfr_init(r18918);
        mpfr_init(r18919);
        mpfr_init(r18920);
}

double f_fm(double x) {
        mpfr_set_d(r18843, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18845, mpfr_cmp(r18843, r18844) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r18849, r18843, r18848, MPFR_RNDN);
        mpfr_div(r18850, r18847, r18849, MPFR_RNDN);
        ;
        mpfr_mul(r18852, r18843, r18843, MPFR_RNDN); mpfr_mul(r18852, r18852, r18843, MPFR_RNDN);
        mpfr_sqr(r18853, r18852, MPFR_RNDN);
        mpfr_div(r18854, r18851, r18853, MPFR_RNDN);
        mpfr_fma(r18855, r18846, r18850, r18854, MPFR_RNDN);
        ;
        mpfr_div(r18857, r18847, r18852, MPFR_RNDN);
        mpfr_div(r18858, r18857, r18852, MPFR_RNDN);
        ;
        mpfr_pow(r18860, r18843, r18859, MPFR_RNDN);
        mpfr_div(r18861, r18858, r18860, MPFR_RNDN);
        ;
        mpfr_div(r18863, r18847, r18860, MPFR_RNDN);
        ;
        mpfr_div(r18865, r18864, r18843, MPFR_RNDN);
        mpfr_div(r18866, r18847, r18843, MPFR_RNDN);
        mpfr_fma(r18867, r18865, r18866, r18847, MPFR_RNDN);
        mpfr_fma(r18868, r18862, r18863, r18867, MPFR_RNDN);
        mpfr_fma(r18869, r18856, r18861, r18868, MPFR_RNDN);
        mpfr_add(r18870, r18855, r18869, MPFR_RNDN);
        mpfr_div(r18871, r18870, r18843, MPFR_RNDN);
        ;
        mpfr_pow(r18873, r18857, r18859, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r18877, r18876, r18843, MPFR_RNDN);
        mpfr_fma(r18878, r18877, r18866, r18847, MPFR_RNDN);
        mpfr_fma(r18879, r18875, r18863, r18878, MPFR_RNDN);
        mpfr_fma(r18880, r18874, r18861, r18879, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r18884, r18843, r18883, MPFR_RNDN);
        mpfr_div(r18885, r18882, r18884, MPFR_RNDN);
        mpfr_fma(r18886, r18850, r18881, r18885, MPFR_RNDN);
        mpfr_add(r18887, r18880, r18886, MPFR_RNDN);
        mpfr_fma(r18888, r18872, r18873, r18887, MPFR_RNDN);
        mpfr_div(r18889, r18871, r18888, MPFR_RNDN);
        ;
        mpfr_set_si(r18891, mpfr_cmp(r18843, r18890) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r18893, r18856, r18892, MPFR_RNDN);
        mpfr_mul(r18894, r18852, r18852, MPFR_RNDN);
        mpfr_mul(r18895, r18894, r18894, MPFR_RNDN);
        mpfr_mul(r18896, r18852, r18852, MPFR_RNDN); mpfr_mul(r18896, r18896, r18852, MPFR_RNDN);
        mpfr_mul(r18897, r18896, r18843, MPFR_RNDN);
        mpfr_mul(r18898, r18843, r18843, MPFR_RNDN);
        mpfr_mul(r18899, r18898, r18898, MPFR_RNDN);
        mpfr_mul(r18900, r18843, r18876, MPFR_RNDN);
        mpfr_fma(r18901, r18900, r18843, r18847, MPFR_RNDN);
        mpfr_fma(r18902, r18875, r18899, r18901, MPFR_RNDN);
        mpfr_fma(r18903, r18874, r18897, r18902, MPFR_RNDN);
        mpfr_sqr(r18904, r18899, MPFR_RNDN);
        mpfr_mul(r18905, r18894, r18882, MPFR_RNDN);
        mpfr_fma(r18906, r18904, r18881, r18905, MPFR_RNDN);
        mpfr_add(r18907, r18903, r18906, MPFR_RNDN);
        mpfr_fma(r18908, r18893, r18895, r18907, MPFR_RNDN);
        mpfr_mul(r18909, r18851, r18852, MPFR_RNDN);
        mpfr_mul(r18910, r18852, r18909, MPFR_RNDN);
        mpfr_fma(r18911, r18846, r18904, r18910, MPFR_RNDN);
        mpfr_mul(r18912, r18843, r18864, MPFR_RNDN);
        mpfr_fma(r18913, r18912, r18843, r18847, MPFR_RNDN);
        mpfr_fma(r18914, r18862, r18899, r18913, MPFR_RNDN);
        mpfr_fma(r18915, r18856, r18897, r18914, MPFR_RNDN);
        mpfr_add(r18916, r18911, r18915, MPFR_RNDN);
        mpfr_div(r18917, r18908, r18916, MPFR_RNDN);
        mpfr_div(r18918, r18843, r18917, MPFR_RNDN);
        if (mpfr_get_si(r18891, MPFR_RNDN)) { mpfr_set(r18919, r18918, MPFR_RNDN); } else { mpfr_set(r18919, r18889, MPFR_RNDN); };
        if (mpfr_get_si(r18845, MPFR_RNDN)) { mpfr_set(r18920, r18889, MPFR_RNDN); } else { mpfr_set(r18920, r18919, MPFR_RNDN); };
        return mpfr_get_d(r18920, MPFR_RNDN);
}

static mpfr_t 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, r18963, r18964, r18965, r18966, r18967, r18968, r18969, r18970, r18971, r18972, r18973, r18974, r18975, r18976, r18977, r18978, r18979, r18980, r18981, r18982, r18983, r18984, r18985, r18986, r18987, r18988, r18989, r18990, r18991, r18992, r18993, r18994, r18995, r18996, r18997, r18998;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18921);
        mpfr_init_set_str(r18922, "-1.8712086047983953e+24", 10, MPFR_RNDN);
        mpfr_init(r18923);
        mpfr_init_set_str(r18924, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18925, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18926, "8", 10, MPFR_RNDN);
        mpfr_init(r18927);
        mpfr_init(r18928);
        mpfr_init_set_str(r18929, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18930);
        mpfr_init(r18931);
        mpfr_init(r18932);
        mpfr_init(r18933);
        mpfr_init_set_str(r18934, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18935);
        mpfr_init(r18936);
        mpfr_init_set_str(r18937, "4", 10, MPFR_RNDN);
        mpfr_init(r18938);
        mpfr_init(r18939);
        mpfr_init_set_str(r18940, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18941);
        mpfr_init_set_str(r18942, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18943);
        mpfr_init(r18944);
        mpfr_init(r18945);
        mpfr_init(r18946);
        mpfr_init(r18947);
        mpfr_init(r18948);
        mpfr_init(r18949);
        mpfr_init_set_str(r18950, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18951);
        mpfr_init_set_str(r18952, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18953, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18954, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18955);
        mpfr_init(r18956);
        mpfr_init(r18957);
        mpfr_init(r18958);
        mpfr_init_set_str(r18959, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18960, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init_set_str(r18961, "6", 10, MPFR_RNDN);
        mpfr_init(r18962);
        mpfr_init(r18963);
        mpfr_init(r18964);
        mpfr_init(r18965);
        mpfr_init(r18966);
        mpfr_init(r18967);
        mpfr_init_set_str(r18968, "1.8449770898206623e+27", 10, MPFR_RNDN);
        mpfr_init(r18969);
        mpfr_init_set_str(r18970, "2", 10, MPFR_RNDN);
        mpfr_init(r18971);
        mpfr_init(r18972);
        mpfr_init(r18973);
        mpfr_init(r18974);
        mpfr_init(r18975);
        mpfr_init(r18976);
        mpfr_init(r18977);
        mpfr_init(r18978);
        mpfr_init(r18979);
        mpfr_init(r18980);
        mpfr_init(r18981);
        mpfr_init(r18982);
        mpfr_init(r18983);
        mpfr_init(r18984);
        mpfr_init(r18985);
        mpfr_init(r18986);
        mpfr_init(r18987);
        mpfr_init(r18988);
        mpfr_init(r18989);
        mpfr_init(r18990);
        mpfr_init(r18991);
        mpfr_init(r18992);
        mpfr_init(r18993);
        mpfr_init(r18994);
        mpfr_init(r18995);
        mpfr_init(r18996);
        mpfr_init(r18997);
        mpfr_init(r18998);
}

double f_dm(double x) {
        mpfr_set_d(r18921, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18923, mpfr_cmp(r18921, r18922) <= 0, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r18927, r18921, r18926, MPFR_RNDN);
        mpfr_div(r18928, r18925, r18927, MPFR_RNDN);
        ;
        mpfr_mul(r18930, r18921, r18921, MPFR_RNDN); mpfr_mul(r18930, r18930, r18921, MPFR_RNDN);
        mpfr_sqr(r18931, r18930, MPFR_RNDN);
        mpfr_div(r18932, r18929, r18931, MPFR_RNDN);
        mpfr_fma(r18933, r18924, r18928, r18932, MPFR_RNDN);
        ;
        mpfr_div(r18935, r18925, r18930, MPFR_RNDN);
        mpfr_div(r18936, r18935, r18930, MPFR_RNDN);
        ;
        mpfr_pow(r18938, r18921, r18937, MPFR_RNDN);
        mpfr_div(r18939, r18936, r18938, MPFR_RNDN);
        ;
        mpfr_div(r18941, r18925, r18938, MPFR_RNDN);
        ;
        mpfr_div(r18943, r18942, r18921, MPFR_RNDN);
        mpfr_div(r18944, r18925, r18921, MPFR_RNDN);
        mpfr_fma(r18945, r18943, r18944, r18925, MPFR_RNDN);
        mpfr_fma(r18946, r18940, r18941, r18945, MPFR_RNDN);
        mpfr_fma(r18947, r18934, r18939, r18946, MPFR_RNDN);
        mpfr_add(r18948, r18933, r18947, MPFR_RNDN);
        mpfr_div(r18949, r18948, r18921, MPFR_RNDN);
        ;
        mpfr_pow(r18951, r18935, r18937, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r18955, r18954, r18921, MPFR_RNDN);
        mpfr_fma(r18956, r18955, r18944, r18925, MPFR_RNDN);
        mpfr_fma(r18957, r18953, r18941, r18956, MPFR_RNDN);
        mpfr_fma(r18958, r18952, r18939, r18957, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r18962, r18921, r18961, MPFR_RNDN);
        mpfr_div(r18963, r18960, r18962, MPFR_RNDN);
        mpfr_fma(r18964, r18928, r18959, r18963, MPFR_RNDN);
        mpfr_add(r18965, r18958, r18964, MPFR_RNDN);
        mpfr_fma(r18966, r18950, r18951, r18965, MPFR_RNDN);
        mpfr_div(r18967, r18949, r18966, MPFR_RNDN);
        ;
        mpfr_set_si(r18969, mpfr_cmp(r18921, r18968) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r18971, r18934, r18970, MPFR_RNDN);
        mpfr_mul(r18972, r18930, r18930, MPFR_RNDN);
        mpfr_mul(r18973, r18972, r18972, MPFR_RNDN);
        mpfr_mul(r18974, r18930, r18930, MPFR_RNDN); mpfr_mul(r18974, r18974, r18930, MPFR_RNDN);
        mpfr_mul(r18975, r18974, r18921, MPFR_RNDN);
        mpfr_mul(r18976, r18921, r18921, MPFR_RNDN);
        mpfr_mul(r18977, r18976, r18976, MPFR_RNDN);
        mpfr_mul(r18978, r18921, r18954, MPFR_RNDN);
        mpfr_fma(r18979, r18978, r18921, r18925, MPFR_RNDN);
        mpfr_fma(r18980, r18953, r18977, r18979, MPFR_RNDN);
        mpfr_fma(r18981, r18952, r18975, r18980, MPFR_RNDN);
        mpfr_sqr(r18982, r18977, MPFR_RNDN);
        mpfr_mul(r18983, r18972, r18960, MPFR_RNDN);
        mpfr_fma(r18984, r18982, r18959, r18983, MPFR_RNDN);
        mpfr_add(r18985, r18981, r18984, MPFR_RNDN);
        mpfr_fma(r18986, r18971, r18973, r18985, MPFR_RNDN);
        mpfr_mul(r18987, r18929, r18930, MPFR_RNDN);
        mpfr_mul(r18988, r18930, r18987, MPFR_RNDN);
        mpfr_fma(r18989, r18924, r18982, r18988, MPFR_RNDN);
        mpfr_mul(r18990, r18921, r18942, MPFR_RNDN);
        mpfr_fma(r18991, r18990, r18921, r18925, MPFR_RNDN);
        mpfr_fma(r18992, r18940, r18977, r18991, MPFR_RNDN);
        mpfr_fma(r18993, r18934, r18975, r18992, MPFR_RNDN);
        mpfr_add(r18994, r18989, r18993, MPFR_RNDN);
        mpfr_div(r18995, r18986, r18994, MPFR_RNDN);
        mpfr_div(r18996, r18921, r18995, MPFR_RNDN);
        if (mpfr_get_si(r18969, MPFR_RNDN)) { mpfr_set(r18997, r18996, MPFR_RNDN); } else { mpfr_set(r18997, r18967, MPFR_RNDN); };
        if (mpfr_get_si(r18923, MPFR_RNDN)) { mpfr_set(r18998, r18967, MPFR_RNDN); } else { mpfr_set(r18998, r18997, MPFR_RNDN); };
        return mpfr_get_d(r18998, MPFR_RNDN);
}

