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

double f_id(double x) {
        double r18643 = 1.0;
        double r18644 = 0.1049934947;
        double r18645 = x;
        double r18646 = r18645 * r18645;
        double r18647 = r18644 * r18646;
        double r18648 = r18643 + r18647;
        double r18649 = 0.0424060604;
        double r18650 = r18646 * r18646;
        double r18651 = r18649 * r18650;
        double r18652 = r18648 + r18651;
        double r18653 = 0.0072644182;
        double r18654 = r18650 * r18646;
        double r18655 = r18653 * r18654;
        double r18656 = r18652 + r18655;
        double r18657 = 0.0005064034;
        double r18658 = r18654 * r18646;
        double r18659 = r18657 * r18658;
        double r18660 = r18656 + r18659;
        double r18661 = 0.0001789971;
        double r18662 = r18658 * r18646;
        double r18663 = r18661 * r18662;
        double r18664 = r18660 + r18663;
        double r18665 = 0.7715471019;
        double r18666 = r18665 * r18646;
        double r18667 = r18643 + r18666;
        double r18668 = 0.2909738639;
        double r18669 = r18668 * r18650;
        double r18670 = r18667 + r18669;
        double r18671 = 0.0694555761;
        double r18672 = r18671 * r18654;
        double r18673 = r18670 + r18672;
        double r18674 = 0.0140005442;
        double r18675 = r18674 * r18658;
        double r18676 = r18673 + r18675;
        double r18677 = 0.0008327945;
        double r18678 = r18677 * r18662;
        double r18679 = r18676 + r18678;
        double r18680 = 2.0;
        double r18681 = r18680 * r18661;
        double r18682 = r18662 * r18646;
        double r18683 = r18681 * r18682;
        double r18684 = r18679 + r18683;
        double r18685 = r18664 / r18684;
        double r18686 = r18685 * r18645;
        return r18686;
}


double f_of(float x) {
        float r18687 = x;
        float r18688 = -1.7786510451592746e+25f;
        bool r18689 = r18687 <= r18688;
        float r18690 = 0.0001789971f;
        float r18691 = 1.0f;
        float r18692 = r18687 * (r18687 * r18687);
        float r18693 = r18692 * (r18692 * r18692);
        float r18694 = r18687 * r18693;
        float r18695 = r18691 / r18694;
        float r18696 = 0.0424060604f;
        float r18697 = 4.0f;
        float r18698 = pow(r18687, r18697);
        float r18699 = r18691 / r18698;
        float r18700 = 0.1049934947f;
        float r18701 = r18700 / r18687;
        float r18702 = r18691 / r18687;
        float r18703 = fma(r18701, r18702, r18691);
        float r18704 = fma(r18696, r18699, r18703);
        float r18705 = fma(r18690, r18695, r18704);
        float r18706 = 0.0005064034f;
        float r18707 = 8.0f;
        float r18708 = pow(r18687, r18707);
        float r18709 = r18691 / r18708;
        float r18710 = 0.0072644182f;
        float r18711 = r18691 / r18692;
        float r18712 = r18711 * r18711;
        float r18713 = r18710 * r18712;
        float r18714 = fma(r18706, r18709, r18713);
        float r18715 = r18705 + r18714;
        float r18716 = r18715 / r18687;
        float r18717 = 0.0003579942f;
        float r18718 = pow(r18711, r18697);
        float r18719 = 0.0140005442f;
        float r18720 = 0.0694555761f;
        float r18721 = r18712 * r18720;
        float r18722 = fma(r18709, r18719, r18721);
        float r18723 = 0.0008327945f;
        float r18724 = 0.2909738639f;
        float r18725 = 0.7715471019f;
        float r18726 = r18725 / r18687;
        float r18727 = fma(r18726, r18702, r18691);
        float r18728 = fma(r18724, r18699, r18727);
        float r18729 = fma(r18723, r18695, r18728);
        float r18730 = r18722 + r18729;
        float r18731 = fma(r18717, r18718, r18730);
        float r18732 = r18716 / r18731;
        float r18733 = 1.0887108629649695e+34f;
        bool r18734 = r18687 <= r18733;
        float r18735 = r18687 * r18687;
        float r18736 = r18692 * r18735;
        float r18737 = r18736 * r18736;
        float r18738 = r18735 * r18735;
        float r18739 = r18687 * r18700;
        float r18740 = fma(r18739, r18687, r18691);
        float r18741 = fma(r18696, r18738, r18740);
        float r18742 = fma(r18690, r18737, r18741);
        float r18743 = r18738 * r18738;
        float r18744 = r18692 * r18710;
        float r18745 = r18744 * r18692;
        float r18746 = fma(r18706, r18743, r18745);
        float r18747 = r18742 + r18746;
        float r18748 = r18687 * r18747;
        float r18749 = 2.0f;
        float r18750 = r18690 * r18749;
        float r18751 = r18692 * r18692;
        float r18752 = r18687 * r18687;
        float r18753 = r18752 * r18692;
        float r18754 = r18751 * r18753;
        float r18755 = r18687 * r18754;
        float r18756 = r18693 * r18687;
        float r18757 = r18752 * r18752;
        float r18758 = r18687 * r18725;
        float r18759 = fma(r18758, r18687, r18691);
        float r18760 = fma(r18724, r18757, r18759);
        float r18761 = fma(r18723, r18756, r18760);
        float r18762 = r18757 * r18757;
        float r18763 = r18751 * r18720;
        float r18764 = fma(r18762, r18719, r18763);
        float r18765 = r18761 + r18764;
        float r18766 = fma(r18750, r18755, r18765);
        float r18767 = r18748 / r18766;
        float r18768 = r18734 ? r18767 : r18732;
        float r18769 = r18689 ? r18732 : r18768;
        return r18769;
}

double f_od(double x) {
        double r18770 = x;
        double r18771 = -1.7786510451592746e+25;
        bool r18772 = r18770 <= r18771;
        double r18773 = 0.0001789971;
        double r18774 = 1.0;
        double r18775 = r18770 * (r18770 * r18770);
        double r18776 = r18775 * (r18775 * r18775);
        double r18777 = r18770 * r18776;
        double r18778 = r18774 / r18777;
        double r18779 = 0.0424060604;
        double r18780 = 4.0;
        double r18781 = pow(r18770, r18780);
        double r18782 = r18774 / r18781;
        double r18783 = 0.1049934947;
        double r18784 = r18783 / r18770;
        double r18785 = r18774 / r18770;
        double r18786 = fma(r18784, r18785, r18774);
        double r18787 = fma(r18779, r18782, r18786);
        double r18788 = fma(r18773, r18778, r18787);
        double r18789 = 0.0005064034;
        double r18790 = 8.0;
        double r18791 = pow(r18770, r18790);
        double r18792 = r18774 / r18791;
        double r18793 = 0.0072644182;
        double r18794 = r18774 / r18775;
        double r18795 = r18794 * r18794;
        double r18796 = r18793 * r18795;
        double r18797 = fma(r18789, r18792, r18796);
        double r18798 = r18788 + r18797;
        double r18799 = r18798 / r18770;
        double r18800 = 0.0003579942;
        double r18801 = pow(r18794, r18780);
        double r18802 = 0.0140005442;
        double r18803 = 0.0694555761;
        double r18804 = r18795 * r18803;
        double r18805 = fma(r18792, r18802, r18804);
        double r18806 = 0.0008327945;
        double r18807 = 0.2909738639;
        double r18808 = 0.7715471019;
        double r18809 = r18808 / r18770;
        double r18810 = fma(r18809, r18785, r18774);
        double r18811 = fma(r18807, r18782, r18810);
        double r18812 = fma(r18806, r18778, r18811);
        double r18813 = r18805 + r18812;
        double r18814 = fma(r18800, r18801, r18813);
        double r18815 = r18799 / r18814;
        double r18816 = 1.0887108629649695e+34;
        bool r18817 = r18770 <= r18816;
        double r18818 = r18770 * r18770;
        double r18819 = r18775 * r18818;
        double r18820 = r18819 * r18819;
        double r18821 = r18818 * r18818;
        double r18822 = r18770 * r18783;
        double r18823 = fma(r18822, r18770, r18774);
        double r18824 = fma(r18779, r18821, r18823);
        double r18825 = fma(r18773, r18820, r18824);
        double r18826 = r18821 * r18821;
        double r18827 = r18775 * r18793;
        double r18828 = r18827 * r18775;
        double r18829 = fma(r18789, r18826, r18828);
        double r18830 = r18825 + r18829;
        double r18831 = r18770 * r18830;
        double r18832 = 2.0;
        double r18833 = r18773 * r18832;
        double r18834 = r18775 * r18775;
        double r18835 = r18770 * r18770;
        double r18836 = r18835 * r18775;
        double r18837 = r18834 * r18836;
        double r18838 = r18770 * r18837;
        double r18839 = r18776 * r18770;
        double r18840 = r18835 * r18835;
        double r18841 = r18770 * r18808;
        double r18842 = fma(r18841, r18770, r18774);
        double r18843 = fma(r18807, r18840, r18842);
        double r18844 = fma(r18806, r18839, r18843);
        double r18845 = r18840 * r18840;
        double r18846 = r18834 * r18803;
        double r18847 = fma(r18845, r18802, r18846);
        double r18848 = r18844 + r18847;
        double r18849 = fma(r18833, r18838, r18848);
        double r18850 = r18831 / r18849;
        double r18851 = r18817 ? r18850 : r18815;
        double r18852 = r18772 ? r18815 : r18851;
        return r18852;
}

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

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18853, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18854, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18855);
        mpfr_init(r18856);
        mpfr_init(r18857);
        mpfr_init(r18858);
        mpfr_init_set_str(r18859, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init(r18862);
        mpfr_init_set_str(r18863, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18864);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init_set_str(r18867, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18868);
        mpfr_init(r18869);
        mpfr_init(r18870);
        mpfr_init_set_str(r18871, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18872);
        mpfr_init(r18873);
        mpfr_init(r18874);
        mpfr_init_set_str(r18875, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18876);
        mpfr_init(r18877);
        mpfr_init_set_str(r18878, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18879);
        mpfr_init(r18880);
        mpfr_init_set_str(r18881, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18882);
        mpfr_init(r18883);
        mpfr_init_set_str(r18884, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18885);
        mpfr_init(r18886);
        mpfr_init_set_str(r18887, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18888);
        mpfr_init(r18889);
        mpfr_init_set_str(r18890, "2", 10, MPFR_RNDN);
        mpfr_init(r18891);
        mpfr_init(r18892);
        mpfr_init(r18893);
        mpfr_init(r18894);
        mpfr_init(r18895);
        mpfr_init(r18896);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18855, x, MPFR_RNDN);
        mpfr_mul(r18856, r18855, r18855, MPFR_RNDN);
        mpfr_mul(r18857, r18854, r18856, MPFR_RNDN);
        mpfr_add(r18858, r18853, r18857, MPFR_RNDN);
        ;
        mpfr_mul(r18860, r18856, r18856, MPFR_RNDN);
        mpfr_mul(r18861, r18859, r18860, MPFR_RNDN);
        mpfr_add(r18862, r18858, r18861, MPFR_RNDN);
        ;
        mpfr_mul(r18864, r18860, r18856, MPFR_RNDN);
        mpfr_mul(r18865, r18863, r18864, MPFR_RNDN);
        mpfr_add(r18866, r18862, r18865, MPFR_RNDN);
        ;
        mpfr_mul(r18868, r18864, r18856, MPFR_RNDN);
        mpfr_mul(r18869, r18867, r18868, MPFR_RNDN);
        mpfr_add(r18870, r18866, r18869, MPFR_RNDN);
        ;
        mpfr_mul(r18872, r18868, r18856, MPFR_RNDN);
        mpfr_mul(r18873, r18871, r18872, MPFR_RNDN);
        mpfr_add(r18874, r18870, r18873, MPFR_RNDN);
        ;
        mpfr_mul(r18876, r18875, r18856, MPFR_RNDN);
        mpfr_add(r18877, r18853, r18876, MPFR_RNDN);
        ;
        mpfr_mul(r18879, r18878, r18860, MPFR_RNDN);
        mpfr_add(r18880, r18877, r18879, MPFR_RNDN);
        ;
        mpfr_mul(r18882, r18881, r18864, MPFR_RNDN);
        mpfr_add(r18883, r18880, r18882, MPFR_RNDN);
        ;
        mpfr_mul(r18885, r18884, r18868, MPFR_RNDN);
        mpfr_add(r18886, r18883, r18885, MPFR_RNDN);
        ;
        mpfr_mul(r18888, r18887, r18872, MPFR_RNDN);
        mpfr_add(r18889, r18886, r18888, MPFR_RNDN);
        ;
        mpfr_mul(r18891, r18890, r18871, MPFR_RNDN);
        mpfr_mul(r18892, r18872, r18856, MPFR_RNDN);
        mpfr_mul(r18893, r18891, r18892, MPFR_RNDN);
        mpfr_add(r18894, r18889, r18893, MPFR_RNDN);
        mpfr_div(r18895, r18874, r18894, MPFR_RNDN);
        mpfr_mul(r18896, r18895, r18855, MPFR_RNDN);
        return mpfr_get_d(r18896, MPFR_RNDN);
}

static mpfr_t 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, r18963, r18964, r18965, r18966, r18967, r18968, r18969, r18970, r18971, r18972, r18973, r18974, r18975, r18976, r18977, r18978, r18979;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18897);
        mpfr_init_set_str(r18898, "-1.7786510451592746e+25", 10, MPFR_RNDN);
        mpfr_init(r18899);
        mpfr_init_set_str(r18900, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r18901, "1", 10, MPFR_RNDN);
        mpfr_init(r18902);
        mpfr_init(r18903);
        mpfr_init(r18904);
        mpfr_init(r18905);
        mpfr_init_set_str(r18906, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r18907, "4", 10, MPFR_RNDN);
        mpfr_init(r18908);
        mpfr_init(r18909);
        mpfr_init_set_str(r18910, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18911);
        mpfr_init(r18912);
        mpfr_init(r18913);
        mpfr_init(r18914);
        mpfr_init(r18915);
        mpfr_init_set_str(r18916, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18917, "8", 10, MPFR_RNDN);
        mpfr_init(r18918);
        mpfr_init(r18919);
        mpfr_init_set_str(r18920, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18921);
        mpfr_init(r18922);
        mpfr_init(r18923);
        mpfr_init(r18924);
        mpfr_init(r18925);
        mpfr_init(r18926);
        mpfr_init_set_str(r18927, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18928);
        mpfr_init_set_str(r18929, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18930, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18931);
        mpfr_init(r18932);
        mpfr_init_set_str(r18933, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18934, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18935, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18936);
        mpfr_init(r18937);
        mpfr_init(r18938);
        mpfr_init(r18939);
        mpfr_init(r18940);
        mpfr_init(r18941);
        mpfr_init(r18942);
        mpfr_init_set_str(r18943, "1.0887108629649695e+34", 10, MPFR_RNDN);
        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_set_str(r18959, "2", 10, MPFR_RNDN);
        mpfr_init(r18960);
        mpfr_init(r18961);
        mpfr_init(r18962);
        mpfr_init(r18963);
        mpfr_init(r18964);
        mpfr_init(r18965);
        mpfr_init(r18966);
        mpfr_init(r18967);
        mpfr_init(r18968);
        mpfr_init(r18969);
        mpfr_init(r18970);
        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);
}

double f_fm(double x) {
        mpfr_set_d(r18897, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18899, mpfr_cmp(r18897, r18898) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18902, r18897, r18897, MPFR_RNDN); mpfr_mul(r18902, r18902, r18897, MPFR_RNDN);
        mpfr_mul(r18903, r18902, r18902, MPFR_RNDN); mpfr_mul(r18903, r18903, r18902, MPFR_RNDN);
        mpfr_mul(r18904, r18897, r18903, MPFR_RNDN);
        mpfr_div(r18905, r18901, r18904, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18908, r18897, r18907, MPFR_RNDN);
        mpfr_div(r18909, r18901, r18908, MPFR_RNDN);
        ;
        mpfr_div(r18911, r18910, r18897, MPFR_RNDN);
        mpfr_div(r18912, r18901, r18897, MPFR_RNDN);
        mpfr_fma(r18913, r18911, r18912, r18901, MPFR_RNDN);
        mpfr_fma(r18914, r18906, r18909, r18913, MPFR_RNDN);
        mpfr_fma(r18915, r18900, r18905, r18914, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18918, r18897, r18917, MPFR_RNDN);
        mpfr_div(r18919, r18901, r18918, MPFR_RNDN);
        ;
        mpfr_div(r18921, r18901, r18902, MPFR_RNDN);
        mpfr_mul(r18922, r18921, r18921, MPFR_RNDN);
        mpfr_mul(r18923, r18920, r18922, MPFR_RNDN);
        mpfr_fma(r18924, r18916, r18919, r18923, MPFR_RNDN);
        mpfr_add(r18925, r18915, r18924, MPFR_RNDN);
        mpfr_div(r18926, r18925, r18897, MPFR_RNDN);
        ;
        mpfr_pow(r18928, r18921, r18907, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18931, r18922, r18930, MPFR_RNDN);
        mpfr_fma(r18932, r18919, r18929, r18931, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r18936, r18935, r18897, MPFR_RNDN);
        mpfr_fma(r18937, r18936, r18912, r18901, MPFR_RNDN);
        mpfr_fma(r18938, r18934, r18909, r18937, MPFR_RNDN);
        mpfr_fma(r18939, r18933, r18905, r18938, MPFR_RNDN);
        mpfr_add(r18940, r18932, r18939, MPFR_RNDN);
        mpfr_fma(r18941, r18927, r18928, r18940, MPFR_RNDN);
        mpfr_div(r18942, r18926, r18941, MPFR_RNDN);
        ;
        mpfr_set_si(r18944, mpfr_cmp(r18897, r18943) <= 0, MPFR_RNDN);
        mpfr_sqr(r18945, r18897, MPFR_RNDN);
        mpfr_mul(r18946, r18902, r18945, MPFR_RNDN);
        mpfr_mul(r18947, r18946, r18946, MPFR_RNDN);
        mpfr_mul(r18948, r18945, r18945, MPFR_RNDN);
        mpfr_mul(r18949, r18897, r18910, MPFR_RNDN);
        mpfr_fma(r18950, r18949, r18897, r18901, MPFR_RNDN);
        mpfr_fma(r18951, r18906, r18948, r18950, MPFR_RNDN);
        mpfr_fma(r18952, r18900, r18947, r18951, MPFR_RNDN);
        mpfr_mul(r18953, r18948, r18948, MPFR_RNDN);
        mpfr_mul(r18954, r18902, r18920, MPFR_RNDN);
        mpfr_mul(r18955, r18954, r18902, MPFR_RNDN);
        mpfr_fma(r18956, r18916, r18953, r18955, MPFR_RNDN);
        mpfr_add(r18957, r18952, r18956, MPFR_RNDN);
        mpfr_mul(r18958, r18897, r18957, MPFR_RNDN);
        ;
        mpfr_mul(r18960, r18900, r18959, MPFR_RNDN);
        mpfr_mul(r18961, r18902, r18902, MPFR_RNDN);
        mpfr_mul(r18962, r18897, r18897, MPFR_RNDN);
        mpfr_mul(r18963, r18962, r18902, MPFR_RNDN);
        mpfr_mul(r18964, r18961, r18963, MPFR_RNDN);
        mpfr_mul(r18965, r18897, r18964, MPFR_RNDN);
        mpfr_mul(r18966, r18903, r18897, MPFR_RNDN);
        mpfr_mul(r18967, r18962, r18962, MPFR_RNDN);
        mpfr_mul(r18968, r18897, r18935, MPFR_RNDN);
        mpfr_fma(r18969, r18968, r18897, r18901, MPFR_RNDN);
        mpfr_fma(r18970, r18934, r18967, r18969, MPFR_RNDN);
        mpfr_fma(r18971, r18933, r18966, r18970, MPFR_RNDN);
        mpfr_sqr(r18972, r18967, MPFR_RNDN);
        mpfr_mul(r18973, r18961, r18930, MPFR_RNDN);
        mpfr_fma(r18974, r18972, r18929, r18973, MPFR_RNDN);
        mpfr_add(r18975, r18971, r18974, MPFR_RNDN);
        mpfr_fma(r18976, r18960, r18965, r18975, MPFR_RNDN);
        mpfr_div(r18977, r18958, r18976, MPFR_RNDN);
        if (mpfr_get_si(r18944, MPFR_RNDN)) { mpfr_set(r18978, r18977, MPFR_RNDN); } else { mpfr_set(r18978, r18942, MPFR_RNDN); };
        if (mpfr_get_si(r18899, MPFR_RNDN)) { mpfr_set(r18979, r18942, MPFR_RNDN); } else { mpfr_set(r18979, r18978, MPFR_RNDN); };
        return mpfr_get_d(r18979, MPFR_RNDN);
}

static mpfr_t r18980, r18981, r18982, r18983, r18984, r18985, r18986, r18987, r18988, r18989, r18990, r18991, r18992, r18993, r18994, r18995, r18996, r18997, r18998, r18999, r19000, r19001, r19002, r19003, r19004, r19005, r19006, r19007, r19008, r19009, r19010, r19011, r19012, r19013, r19014, r19015, r19016, r19017, r19018, r19019, r19020, r19021, r19022, r19023, r19024, r19025, r19026, r19027, r19028, r19029, r19030, r19031, r19032, r19033, r19034, r19035, r19036, r19037, r19038, r19039, r19040, r19041, r19042, r19043, r19044, r19045, r19046, r19047, r19048, r19049, r19050, r19051, r19052, r19053, r19054, r19055, r19056, r19057, r19058, r19059, r19060, r19061, r19062;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18980);
        mpfr_init_set_str(r18981, "-1.7786510451592746e+25", 10, MPFR_RNDN);
        mpfr_init(r18982);
        mpfr_init_set_str(r18983, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r18984, "1", 10, MPFR_RNDN);
        mpfr_init(r18985);
        mpfr_init(r18986);
        mpfr_init(r18987);
        mpfr_init(r18988);
        mpfr_init_set_str(r18989, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r18990, "4", 10, MPFR_RNDN);
        mpfr_init(r18991);
        mpfr_init(r18992);
        mpfr_init_set_str(r18993, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18994);
        mpfr_init(r18995);
        mpfr_init(r18996);
        mpfr_init(r18997);
        mpfr_init(r18998);
        mpfr_init_set_str(r18999, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r19000, "8", 10, MPFR_RNDN);
        mpfr_init(r19001);
        mpfr_init(r19002);
        mpfr_init_set_str(r19003, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19004);
        mpfr_init(r19005);
        mpfr_init(r19006);
        mpfr_init(r19007);
        mpfr_init(r19008);
        mpfr_init(r19009);
        mpfr_init_set_str(r19010, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r19011);
        mpfr_init_set_str(r19012, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r19013, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19014);
        mpfr_init(r19015);
        mpfr_init_set_str(r19016, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r19017, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r19018, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19019);
        mpfr_init(r19020);
        mpfr_init(r19021);
        mpfr_init(r19022);
        mpfr_init(r19023);
        mpfr_init(r19024);
        mpfr_init(r19025);
        mpfr_init_set_str(r19026, "1.0887108629649695e+34", 10, MPFR_RNDN);
        mpfr_init(r19027);
        mpfr_init(r19028);
        mpfr_init(r19029);
        mpfr_init(r19030);
        mpfr_init(r19031);
        mpfr_init(r19032);
        mpfr_init(r19033);
        mpfr_init(r19034);
        mpfr_init(r19035);
        mpfr_init(r19036);
        mpfr_init(r19037);
        mpfr_init(r19038);
        mpfr_init(r19039);
        mpfr_init(r19040);
        mpfr_init(r19041);
        mpfr_init_set_str(r19042, "2", 10, MPFR_RNDN);
        mpfr_init(r19043);
        mpfr_init(r19044);
        mpfr_init(r19045);
        mpfr_init(r19046);
        mpfr_init(r19047);
        mpfr_init(r19048);
        mpfr_init(r19049);
        mpfr_init(r19050);
        mpfr_init(r19051);
        mpfr_init(r19052);
        mpfr_init(r19053);
        mpfr_init(r19054);
        mpfr_init(r19055);
        mpfr_init(r19056);
        mpfr_init(r19057);
        mpfr_init(r19058);
        mpfr_init(r19059);
        mpfr_init(r19060);
        mpfr_init(r19061);
        mpfr_init(r19062);
}

double f_dm(double x) {
        mpfr_set_d(r18980, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18982, mpfr_cmp(r18980, r18981) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18985, r18980, r18980, MPFR_RNDN); mpfr_mul(r18985, r18985, r18980, MPFR_RNDN);
        mpfr_mul(r18986, r18985, r18985, MPFR_RNDN); mpfr_mul(r18986, r18986, r18985, MPFR_RNDN);
        mpfr_mul(r18987, r18980, r18986, MPFR_RNDN);
        mpfr_div(r18988, r18984, r18987, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18991, r18980, r18990, MPFR_RNDN);
        mpfr_div(r18992, r18984, r18991, MPFR_RNDN);
        ;
        mpfr_div(r18994, r18993, r18980, MPFR_RNDN);
        mpfr_div(r18995, r18984, r18980, MPFR_RNDN);
        mpfr_fma(r18996, r18994, r18995, r18984, MPFR_RNDN);
        mpfr_fma(r18997, r18989, r18992, r18996, MPFR_RNDN);
        mpfr_fma(r18998, r18983, r18988, r18997, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19001, r18980, r19000, MPFR_RNDN);
        mpfr_div(r19002, r18984, r19001, MPFR_RNDN);
        ;
        mpfr_div(r19004, r18984, r18985, MPFR_RNDN);
        mpfr_mul(r19005, r19004, r19004, MPFR_RNDN);
        mpfr_mul(r19006, r19003, r19005, MPFR_RNDN);
        mpfr_fma(r19007, r18999, r19002, r19006, MPFR_RNDN);
        mpfr_add(r19008, r18998, r19007, MPFR_RNDN);
        mpfr_div(r19009, r19008, r18980, MPFR_RNDN);
        ;
        mpfr_pow(r19011, r19004, r18990, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19014, r19005, r19013, MPFR_RNDN);
        mpfr_fma(r19015, r19002, r19012, r19014, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r19019, r19018, r18980, MPFR_RNDN);
        mpfr_fma(r19020, r19019, r18995, r18984, MPFR_RNDN);
        mpfr_fma(r19021, r19017, r18992, r19020, MPFR_RNDN);
        mpfr_fma(r19022, r19016, r18988, r19021, MPFR_RNDN);
        mpfr_add(r19023, r19015, r19022, MPFR_RNDN);
        mpfr_fma(r19024, r19010, r19011, r19023, MPFR_RNDN);
        mpfr_div(r19025, r19009, r19024, MPFR_RNDN);
        ;
        mpfr_set_si(r19027, mpfr_cmp(r18980, r19026) <= 0, MPFR_RNDN);
        mpfr_sqr(r19028, r18980, MPFR_RNDN);
        mpfr_mul(r19029, r18985, r19028, MPFR_RNDN);
        mpfr_mul(r19030, r19029, r19029, MPFR_RNDN);
        mpfr_mul(r19031, r19028, r19028, MPFR_RNDN);
        mpfr_mul(r19032, r18980, r18993, MPFR_RNDN);
        mpfr_fma(r19033, r19032, r18980, r18984, MPFR_RNDN);
        mpfr_fma(r19034, r18989, r19031, r19033, MPFR_RNDN);
        mpfr_fma(r19035, r18983, r19030, r19034, MPFR_RNDN);
        mpfr_mul(r19036, r19031, r19031, MPFR_RNDN);
        mpfr_mul(r19037, r18985, r19003, MPFR_RNDN);
        mpfr_mul(r19038, r19037, r18985, MPFR_RNDN);
        mpfr_fma(r19039, r18999, r19036, r19038, MPFR_RNDN);
        mpfr_add(r19040, r19035, r19039, MPFR_RNDN);
        mpfr_mul(r19041, r18980, r19040, MPFR_RNDN);
        ;
        mpfr_mul(r19043, r18983, r19042, MPFR_RNDN);
        mpfr_mul(r19044, r18985, r18985, MPFR_RNDN);
        mpfr_mul(r19045, r18980, r18980, MPFR_RNDN);
        mpfr_mul(r19046, r19045, r18985, MPFR_RNDN);
        mpfr_mul(r19047, r19044, r19046, MPFR_RNDN);
        mpfr_mul(r19048, r18980, r19047, MPFR_RNDN);
        mpfr_mul(r19049, r18986, r18980, MPFR_RNDN);
        mpfr_mul(r19050, r19045, r19045, MPFR_RNDN);
        mpfr_mul(r19051, r18980, r19018, MPFR_RNDN);
        mpfr_fma(r19052, r19051, r18980, r18984, MPFR_RNDN);
        mpfr_fma(r19053, r19017, r19050, r19052, MPFR_RNDN);
        mpfr_fma(r19054, r19016, r19049, r19053, MPFR_RNDN);
        mpfr_sqr(r19055, r19050, MPFR_RNDN);
        mpfr_mul(r19056, r19044, r19013, MPFR_RNDN);
        mpfr_fma(r19057, r19055, r19012, r19056, MPFR_RNDN);
        mpfr_add(r19058, r19054, r19057, MPFR_RNDN);
        mpfr_fma(r19059, r19043, r19048, r19058, MPFR_RNDN);
        mpfr_div(r19060, r19041, r19059, MPFR_RNDN);
        if (mpfr_get_si(r19027, MPFR_RNDN)) { mpfr_set(r19061, r19060, MPFR_RNDN); } else { mpfr_set(r19061, r19025, MPFR_RNDN); };
        if (mpfr_get_si(r18982, MPFR_RNDN)) { mpfr_set(r19062, r19025, MPFR_RNDN); } else { mpfr_set(r19062, r19061, MPFR_RNDN); };
        return mpfr_get_d(r19062, MPFR_RNDN);
}

