#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 r19671 = 1.0f;
        float r19672 = 0.1049934947f;
        float r19673 = x;
        float r19674 = r19673 * r19673;
        float r19675 = r19672 * r19674;
        float r19676 = r19671 + r19675;
        float r19677 = 0.0424060604f;
        float r19678 = r19674 * r19674;
        float r19679 = r19677 * r19678;
        float r19680 = r19676 + r19679;
        float r19681 = 0.0072644182f;
        float r19682 = r19678 * r19674;
        float r19683 = r19681 * r19682;
        float r19684 = r19680 + r19683;
        float r19685 = 0.0005064034f;
        float r19686 = r19682 * r19674;
        float r19687 = r19685 * r19686;
        float r19688 = r19684 + r19687;
        float r19689 = 0.0001789971f;
        float r19690 = r19686 * r19674;
        float r19691 = r19689 * r19690;
        float r19692 = r19688 + r19691;
        float r19693 = 0.7715471019f;
        float r19694 = r19693 * r19674;
        float r19695 = r19671 + r19694;
        float r19696 = 0.2909738639f;
        float r19697 = r19696 * r19678;
        float r19698 = r19695 + r19697;
        float r19699 = 0.0694555761f;
        float r19700 = r19699 * r19682;
        float r19701 = r19698 + r19700;
        float r19702 = 0.0140005442f;
        float r19703 = r19702 * r19686;
        float r19704 = r19701 + r19703;
        float r19705 = 0.0008327945f;
        float r19706 = r19705 * r19690;
        float r19707 = r19704 + r19706;
        float r19708 = 2.0f;
        float r19709 = r19708 * r19689;
        float r19710 = r19690 * r19674;
        float r19711 = r19709 * r19710;
        float r19712 = r19707 + r19711;
        float r19713 = r19692 / r19712;
        float r19714 = r19713 * r19673;
        return r19714;
}

double f_id(double x) {
        double r19715 = 1.0;
        double r19716 = 0.1049934947;
        double r19717 = x;
        double r19718 = r19717 * r19717;
        double r19719 = r19716 * r19718;
        double r19720 = r19715 + r19719;
        double r19721 = 0.0424060604;
        double r19722 = r19718 * r19718;
        double r19723 = r19721 * r19722;
        double r19724 = r19720 + r19723;
        double r19725 = 0.0072644182;
        double r19726 = r19722 * r19718;
        double r19727 = r19725 * r19726;
        double r19728 = r19724 + r19727;
        double r19729 = 0.0005064034;
        double r19730 = r19726 * r19718;
        double r19731 = r19729 * r19730;
        double r19732 = r19728 + r19731;
        double r19733 = 0.0001789971;
        double r19734 = r19730 * r19718;
        double r19735 = r19733 * r19734;
        double r19736 = r19732 + r19735;
        double r19737 = 0.7715471019;
        double r19738 = r19737 * r19718;
        double r19739 = r19715 + r19738;
        double r19740 = 0.2909738639;
        double r19741 = r19740 * r19722;
        double r19742 = r19739 + r19741;
        double r19743 = 0.0694555761;
        double r19744 = r19743 * r19726;
        double r19745 = r19742 + r19744;
        double r19746 = 0.0140005442;
        double r19747 = r19746 * r19730;
        double r19748 = r19745 + r19747;
        double r19749 = 0.0008327945;
        double r19750 = r19749 * r19734;
        double r19751 = r19748 + r19750;
        double r19752 = 2.0;
        double r19753 = r19752 * r19733;
        double r19754 = r19734 * r19718;
        double r19755 = r19753 * r19754;
        double r19756 = r19751 + r19755;
        double r19757 = r19736 / r19756;
        double r19758 = r19757 * r19717;
        return r19758;
}


double f_of(float x) {
        float r19759 = x;
        float r19760 = -4.8392898094319444e+23f;
        bool r19761 = r19759 <= r19760;
        float r19762 = 1.0f;
        float r19763 = 0.1049934947f;
        float r19764 = r19759 * r19759;
        float r19765 = r19763 / r19764;
        float r19766 = r19762 + r19765;
        float r19767 = 0.0072644182f;
        float r19768 = r19767 * r19762;
        float r19769 = r19759 * (r19759 * r19759);
        float r19770 = r19769 * r19769;
        float r19771 = r19768 / r19770;
        float r19772 = r19766 + r19771;
        float r19773 = 0.0424060604f;
        float r19774 = r19773 * r19762;
        float r19775 = r19774 / r19769;
        float r19776 = r19775 / r19759;
        float r19777 = 0.0001789971f;
        float r19778 = 10.0f;
        float r19779 = pow(r19759, r19778);
        float r19780 = r19777 / r19779;
        float r19781 = r19776 + r19780;
        float r19782 = 0.0005064034f;
        float r19783 = r19762 * r19782;
        float r19784 = r19783 / r19770;
        float r19785 = r19784 / r19764;
        float r19786 = r19781 + r19785;
        float r19787 = r19772 + r19786;
        float r19788 = r19762 / r19759;
        float r19789 = r19788 / r19769;
        float r19790 = 0.2909738639f;
        float r19791 = r19789 * r19790;
        float r19792 = r19762 + r19791;
        float r19793 = 0.0694555761f;
        float r19794 = r19793 * r19762;
        float r19795 = r19794 / r19770;
        float r19796 = r19792 + r19795;
        float r19797 = 0.0140005442f;
        float r19798 = r19762 * r19797;
        float r19799 = r19798 / r19770;
        float r19800 = r19799 / r19764;
        float r19801 = r19762 / r19769;
        float r19802 = r19801 * r19801;
        float r19803 = 6.0f;
        float r19804 = pow(r19759, r19803);
        float r19805 = 0.0003579942f;
        float r19806 = r19804 / r19805;
        float r19807 = r19802 / r19806;
        float r19808 = r19800 + r19807;
        float r19809 = r19796 + r19808;
        float r19810 = 0.7715471019f;
        float r19811 = r19810 / r19764;
        float r19812 = 4.0f;
        float r19813 = pow(r19759, r19812);
        float r19814 = 0.0008327945f;
        float r19815 = r19813 / r19814;
        float r19816 = r19802 / r19815;
        float r19817 = r19811 + r19816;
        float r19818 = r19809 + r19817;
        float r19819 = r19818 * r19759;
        float r19820 = r19787 / r19819;
        float r19821 = 3.598220797602781e+27f;
        bool r19822 = r19759 <= r19821;
        float r19823 = r19764 * r19764;
        float r19824 = r19769 * r19769;
        float r19825 = r19823 * r19824;
        float r19826 = 2.0f;
        float r19827 = r19826 * r19777;
        float r19828 = r19827 * r19764;
        float r19829 = r19828 + r19814;
        float r19830 = r19825 * r19829;
        float r19831 = r19759 * r19790;
        float r19832 = r19831 * r19769;
        float r19833 = r19762 + r19832;
        float r19834 = r19810 * r19759;
        float r19835 = r19834 * r19759;
        float r19836 = r19833 + r19835;
        float r19837 = r19830 + r19836;
        float r19838 = r19797 * r19764;
        float r19839 = r19793 + r19838;
        float r19840 = r19823 * r19839;
        float r19841 = r19764 * r19840;
        float r19842 = r19837 + r19841;
        float r19843 = r19759 / r19842;
        float r19844 = r19759 * r19773;
        float r19845 = r19844 * r19769;
        float r19846 = r19764 * r19763;
        float r19847 = r19846 + r19762;
        float r19848 = r19845 + r19847;
        float r19849 = r19764 * r19777;
        float r19850 = r19769 * r19759;
        float r19851 = r19823 * r19850;
        float r19852 = r19849 * r19851;
        float r19853 = r19848 + r19852;
        float r19854 = r19782 * r19759;
        float r19855 = r19854 * r19759;
        float r19856 = r19767 + r19855;
        float r19857 = r19823 * r19856;
        float r19858 = r19764 * r19857;
        float r19859 = r19853 + r19858;
        float r19860 = r19843 * r19859;
        float r19861 = r19822 ? r19860 : r19820;
        float r19862 = r19761 ? r19820 : r19861;
        return r19862;
}

double f_od(double x) {
        double r19863 = x;
        double r19864 = -4.8392898094319444e+23;
        bool r19865 = r19863 <= r19864;
        double r19866 = 1.0;
        double r19867 = 0.1049934947;
        double r19868 = r19863 * r19863;
        double r19869 = r19867 / r19868;
        double r19870 = r19866 + r19869;
        double r19871 = 0.0072644182;
        double r19872 = r19871 * r19866;
        double r19873 = r19863 * (r19863 * r19863);
        double r19874 = r19873 * r19873;
        double r19875 = r19872 / r19874;
        double r19876 = r19870 + r19875;
        double r19877 = 0.0424060604;
        double r19878 = r19877 * r19866;
        double r19879 = r19878 / r19873;
        double r19880 = r19879 / r19863;
        double r19881 = 0.0001789971;
        double r19882 = 10.0;
        double r19883 = pow(r19863, r19882);
        double r19884 = r19881 / r19883;
        double r19885 = r19880 + r19884;
        double r19886 = 0.0005064034;
        double r19887 = r19866 * r19886;
        double r19888 = r19887 / r19874;
        double r19889 = r19888 / r19868;
        double r19890 = r19885 + r19889;
        double r19891 = r19876 + r19890;
        double r19892 = r19866 / r19863;
        double r19893 = r19892 / r19873;
        double r19894 = 0.2909738639;
        double r19895 = r19893 * r19894;
        double r19896 = r19866 + r19895;
        double r19897 = 0.0694555761;
        double r19898 = r19897 * r19866;
        double r19899 = r19898 / r19874;
        double r19900 = r19896 + r19899;
        double r19901 = 0.0140005442;
        double r19902 = r19866 * r19901;
        double r19903 = r19902 / r19874;
        double r19904 = r19903 / r19868;
        double r19905 = r19866 / r19873;
        double r19906 = r19905 * r19905;
        double r19907 = 6.0;
        double r19908 = pow(r19863, r19907);
        double r19909 = 0.0003579942;
        double r19910 = r19908 / r19909;
        double r19911 = r19906 / r19910;
        double r19912 = r19904 + r19911;
        double r19913 = r19900 + r19912;
        double r19914 = 0.7715471019;
        double r19915 = r19914 / r19868;
        double r19916 = 4.0;
        double r19917 = pow(r19863, r19916);
        double r19918 = 0.0008327945;
        double r19919 = r19917 / r19918;
        double r19920 = r19906 / r19919;
        double r19921 = r19915 + r19920;
        double r19922 = r19913 + r19921;
        double r19923 = r19922 * r19863;
        double r19924 = r19891 / r19923;
        double r19925 = 3.598220797602781e+27;
        bool r19926 = r19863 <= r19925;
        double r19927 = r19868 * r19868;
        double r19928 = r19873 * r19873;
        double r19929 = r19927 * r19928;
        double r19930 = 2.0;
        double r19931 = r19930 * r19881;
        double r19932 = r19931 * r19868;
        double r19933 = r19932 + r19918;
        double r19934 = r19929 * r19933;
        double r19935 = r19863 * r19894;
        double r19936 = r19935 * r19873;
        double r19937 = r19866 + r19936;
        double r19938 = r19914 * r19863;
        double r19939 = r19938 * r19863;
        double r19940 = r19937 + r19939;
        double r19941 = r19934 + r19940;
        double r19942 = r19901 * r19868;
        double r19943 = r19897 + r19942;
        double r19944 = r19927 * r19943;
        double r19945 = r19868 * r19944;
        double r19946 = r19941 + r19945;
        double r19947 = r19863 / r19946;
        double r19948 = r19863 * r19877;
        double r19949 = r19948 * r19873;
        double r19950 = r19868 * r19867;
        double r19951 = r19950 + r19866;
        double r19952 = r19949 + r19951;
        double r19953 = r19868 * r19881;
        double r19954 = r19873 * r19863;
        double r19955 = r19927 * r19954;
        double r19956 = r19953 * r19955;
        double r19957 = r19952 + r19956;
        double r19958 = r19886 * r19863;
        double r19959 = r19958 * r19863;
        double r19960 = r19871 + r19959;
        double r19961 = r19927 * r19960;
        double r19962 = r19868 * r19961;
        double r19963 = r19957 + r19962;
        double r19964 = r19947 * r19963;
        double r19965 = r19926 ? r19964 : r19924;
        double r19966 = r19865 ? r19924 : r19965;
        return r19966;
}

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 r19967, r19968, r19969, r19970, r19971, r19972, r19973, r19974, r19975, r19976, r19977, r19978, r19979, r19980, r19981, r19982, r19983, r19984, r19985, r19986, r19987, r19988, r19989, r19990, r19991, r19992, r19993, r19994, r19995, r19996, r19997, r19998, r19999, r20000, r20001, r20002, r20003, r20004, r20005, r20006, r20007, r20008, r20009, r20010;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19967, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19968, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19969);
        mpfr_init(r19970);
        mpfr_init(r19971);
        mpfr_init(r19972);
        mpfr_init_set_str(r19973, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19974);
        mpfr_init(r19975);
        mpfr_init(r19976);
        mpfr_init_set_str(r19977, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19978);
        mpfr_init(r19979);
        mpfr_init(r19980);
        mpfr_init_set_str(r19981, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19982);
        mpfr_init(r19983);
        mpfr_init(r19984);
        mpfr_init_set_str(r19985, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19986);
        mpfr_init(r19987);
        mpfr_init(r19988);
        mpfr_init_set_str(r19989, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19990);
        mpfr_init(r19991);
        mpfr_init_set_str(r19992, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19993);
        mpfr_init(r19994);
        mpfr_init_set_str(r19995, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19996);
        mpfr_init(r19997);
        mpfr_init_set_str(r19998, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19999);
        mpfr_init(r20000);
        mpfr_init_set_str(r20001, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r20002);
        mpfr_init(r20003);
        mpfr_init_set_str(r20004, "2", 10, MPFR_RNDN);
        mpfr_init(r20005);
        mpfr_init(r20006);
        mpfr_init(r20007);
        mpfr_init(r20008);
        mpfr_init(r20009);
        mpfr_init(r20010);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19969, x, MPFR_RNDN);
        mpfr_mul(r19970, r19969, r19969, MPFR_RNDN);
        mpfr_mul(r19971, r19968, r19970, MPFR_RNDN);
        mpfr_add(r19972, r19967, r19971, MPFR_RNDN);
        ;
        mpfr_mul(r19974, r19970, r19970, MPFR_RNDN);
        mpfr_mul(r19975, r19973, r19974, MPFR_RNDN);
        mpfr_add(r19976, r19972, r19975, MPFR_RNDN);
        ;
        mpfr_mul(r19978, r19974, r19970, MPFR_RNDN);
        mpfr_mul(r19979, r19977, r19978, MPFR_RNDN);
        mpfr_add(r19980, r19976, r19979, MPFR_RNDN);
        ;
        mpfr_mul(r19982, r19978, r19970, MPFR_RNDN);
        mpfr_mul(r19983, r19981, r19982, MPFR_RNDN);
        mpfr_add(r19984, r19980, r19983, MPFR_RNDN);
        ;
        mpfr_mul(r19986, r19982, r19970, MPFR_RNDN);
        mpfr_mul(r19987, r19985, r19986, MPFR_RNDN);
        mpfr_add(r19988, r19984, r19987, MPFR_RNDN);
        ;
        mpfr_mul(r19990, r19989, r19970, MPFR_RNDN);
        mpfr_add(r19991, r19967, r19990, MPFR_RNDN);
        ;
        mpfr_mul(r19993, r19992, r19974, MPFR_RNDN);
        mpfr_add(r19994, r19991, r19993, MPFR_RNDN);
        ;
        mpfr_mul(r19996, r19995, r19978, MPFR_RNDN);
        mpfr_add(r19997, r19994, r19996, MPFR_RNDN);
        ;
        mpfr_mul(r19999, r19998, r19982, MPFR_RNDN);
        mpfr_add(r20000, r19997, r19999, MPFR_RNDN);
        ;
        mpfr_mul(r20002, r20001, r19986, MPFR_RNDN);
        mpfr_add(r20003, r20000, r20002, MPFR_RNDN);
        ;
        mpfr_mul(r20005, r20004, r19985, MPFR_RNDN);
        mpfr_mul(r20006, r19986, r19970, MPFR_RNDN);
        mpfr_mul(r20007, r20005, r20006, MPFR_RNDN);
        mpfr_add(r20008, r20003, r20007, MPFR_RNDN);
        mpfr_div(r20009, r19988, r20008, MPFR_RNDN);
        mpfr_mul(r20010, r20009, r19969, MPFR_RNDN);
        return mpfr_get_d(r20010, MPFR_RNDN);
}

static mpfr_t r20011, r20012, r20013, r20014, r20015, r20016, r20017, r20018, r20019, r20020, r20021, r20022, r20023, r20024, r20025, r20026, r20027, r20028, r20029, r20030, r20031, r20032, r20033, r20034, r20035, r20036, r20037, r20038, r20039, r20040, r20041, r20042, r20043, r20044, r20045, r20046, r20047, r20048, r20049, r20050, r20051, r20052, r20053, r20054, r20055, r20056, r20057, r20058, r20059, r20060, r20061, r20062, r20063, r20064, r20065, r20066, r20067, r20068, r20069, r20070, r20071, r20072, r20073, r20074, r20075, r20076, r20077, r20078, r20079, r20080, r20081, r20082, r20083, r20084, r20085, r20086, r20087, r20088, r20089, r20090, r20091, r20092, r20093, r20094, r20095, r20096, r20097, r20098, r20099, r20100, r20101, r20102, r20103, r20104, r20105, r20106, r20107, r20108, r20109, r20110, r20111, r20112, r20113, r20114;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r20011);
        mpfr_init_set_str(r20012, "-4.8392898094319444e+23", 10, MPFR_RNDN);
        mpfr_init(r20013);
        mpfr_init_set_str(r20014, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r20015, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r20016);
        mpfr_init(r20017);
        mpfr_init(r20018);
        mpfr_init_set_str(r20019, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r20020);
        mpfr_init(r20021);
        mpfr_init(r20022);
        mpfr_init(r20023);
        mpfr_init(r20024);
        mpfr_init_set_str(r20025, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r20026);
        mpfr_init(r20027);
        mpfr_init(r20028);
        mpfr_init_set_str(r20029, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r20030, "10", 10, MPFR_RNDN);
        mpfr_init(r20031);
        mpfr_init(r20032);
        mpfr_init(r20033);
        mpfr_init_set_str(r20034, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r20035);
        mpfr_init(r20036);
        mpfr_init(r20037);
        mpfr_init(r20038);
        mpfr_init(r20039);
        mpfr_init(r20040);
        mpfr_init(r20041);
        mpfr_init_set_str(r20042, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r20043);
        mpfr_init(r20044);
        mpfr_init_set_str(r20045, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r20046);
        mpfr_init(r20047);
        mpfr_init(r20048);
        mpfr_init_set_str(r20049, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r20050);
        mpfr_init(r20051);
        mpfr_init(r20052);
        mpfr_init(r20053);
        mpfr_init(r20054);
        mpfr_init_set_str(r20055, "6", 10, MPFR_RNDN);
        mpfr_init(r20056);
        mpfr_init_set_str(r20057, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r20058);
        mpfr_init(r20059);
        mpfr_init(r20060);
        mpfr_init(r20061);
        mpfr_init_set_str(r20062, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r20063);
        mpfr_init_set_str(r20064, "4", 10, MPFR_RNDN);
        mpfr_init(r20065);
        mpfr_init_set_str(r20066, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r20067);
        mpfr_init(r20068);
        mpfr_init(r20069);
        mpfr_init(r20070);
        mpfr_init(r20071);
        mpfr_init(r20072);
        mpfr_init_set_str(r20073, "3.598220797602781e+27", 10, MPFR_RNDN);
        mpfr_init(r20074);
        mpfr_init(r20075);
        mpfr_init(r20076);
        mpfr_init(r20077);
        mpfr_init_set_str(r20078, "2", 10, MPFR_RNDN);
        mpfr_init(r20079);
        mpfr_init(r20080);
        mpfr_init(r20081);
        mpfr_init(r20082);
        mpfr_init(r20083);
        mpfr_init(r20084);
        mpfr_init(r20085);
        mpfr_init(r20086);
        mpfr_init(r20087);
        mpfr_init(r20088);
        mpfr_init(r20089);
        mpfr_init(r20090);
        mpfr_init(r20091);
        mpfr_init(r20092);
        mpfr_init(r20093);
        mpfr_init(r20094);
        mpfr_init(r20095);
        mpfr_init(r20096);
        mpfr_init(r20097);
        mpfr_init(r20098);
        mpfr_init(r20099);
        mpfr_init(r20100);
        mpfr_init(r20101);
        mpfr_init(r20102);
        mpfr_init(r20103);
        mpfr_init(r20104);
        mpfr_init(r20105);
        mpfr_init(r20106);
        mpfr_init(r20107);
        mpfr_init(r20108);
        mpfr_init(r20109);
        mpfr_init(r20110);
        mpfr_init(r20111);
        mpfr_init(r20112);
        mpfr_init(r20113);
        mpfr_init(r20114);
}

double f_fm(double x) {
        mpfr_set_d(r20011, x, MPFR_RNDN);
        ;
        mpfr_set_si(r20013, mpfr_cmp(r20011, r20012) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r20016, r20011, r20011, MPFR_RNDN);
        mpfr_div(r20017, r20015, r20016, MPFR_RNDN);
        mpfr_add(r20018, r20014, r20017, MPFR_RNDN);
        ;
        mpfr_mul(r20020, r20019, r20014, MPFR_RNDN);
        mpfr_mul(r20021, r20011, r20011, MPFR_RNDN); mpfr_mul(r20021, r20021, r20011, MPFR_RNDN);
        mpfr_sqr(r20022, r20021, MPFR_RNDN);
        mpfr_div(r20023, r20020, r20022, MPFR_RNDN);
        mpfr_add(r20024, r20018, r20023, MPFR_RNDN);
        ;
        mpfr_mul(r20026, r20025, r20014, MPFR_RNDN);
        mpfr_div(r20027, r20026, r20021, MPFR_RNDN);
        mpfr_div(r20028, r20027, r20011, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20031, r20011, r20030, MPFR_RNDN);
        mpfr_div(r20032, r20029, r20031, MPFR_RNDN);
        mpfr_add(r20033, r20028, r20032, MPFR_RNDN);
        ;
        mpfr_mul(r20035, r20014, r20034, MPFR_RNDN);
        mpfr_div(r20036, r20035, r20022, MPFR_RNDN);
        mpfr_div(r20037, r20036, r20016, MPFR_RNDN);
        mpfr_add(r20038, r20033, r20037, MPFR_RNDN);
        mpfr_add(r20039, r20024, r20038, MPFR_RNDN);
        mpfr_div(r20040, r20014, r20011, MPFR_RNDN);
        mpfr_div(r20041, r20040, r20021, MPFR_RNDN);
        ;
        mpfr_mul(r20043, r20041, r20042, MPFR_RNDN);
        mpfr_add(r20044, r20014, r20043, MPFR_RNDN);
        ;
        mpfr_mul(r20046, r20045, r20014, MPFR_RNDN);
        mpfr_div(r20047, r20046, r20022, MPFR_RNDN);
        mpfr_add(r20048, r20044, r20047, MPFR_RNDN);
        ;
        mpfr_mul(r20050, r20014, r20049, MPFR_RNDN);
        mpfr_div(r20051, r20050, r20022, MPFR_RNDN);
        mpfr_div(r20052, r20051, r20016, MPFR_RNDN);
        mpfr_div(r20053, r20014, r20021, MPFR_RNDN);
        mpfr_mul(r20054, r20053, r20053, MPFR_RNDN);
        ;
        mpfr_pow(r20056, r20011, r20055, MPFR_RNDN);
        ;
        mpfr_div(r20058, r20056, r20057, MPFR_RNDN);
        mpfr_div(r20059, r20054, r20058, MPFR_RNDN);
        mpfr_add(r20060, r20052, r20059, MPFR_RNDN);
        mpfr_add(r20061, r20048, r20060, MPFR_RNDN);
        ;
        mpfr_div(r20063, r20062, r20016, MPFR_RNDN);
        ;
        mpfr_pow(r20065, r20011, r20064, MPFR_RNDN);
        ;
        mpfr_div(r20067, r20065, r20066, MPFR_RNDN);
        mpfr_div(r20068, r20054, r20067, MPFR_RNDN);
        mpfr_add(r20069, r20063, r20068, MPFR_RNDN);
        mpfr_add(r20070, r20061, r20069, MPFR_RNDN);
        mpfr_mul(r20071, r20070, r20011, MPFR_RNDN);
        mpfr_div(r20072, r20039, r20071, MPFR_RNDN);
        ;
        mpfr_set_si(r20074, mpfr_cmp(r20011, r20073) <= 0, MPFR_RNDN);
        mpfr_mul(r20075, r20016, r20016, MPFR_RNDN);
        mpfr_mul(r20076, r20021, r20021, MPFR_RNDN);
        mpfr_mul(r20077, r20075, r20076, MPFR_RNDN);
        ;
        mpfr_mul(r20079, r20078, r20029, MPFR_RNDN);
        mpfr_mul(r20080, r20079, r20016, MPFR_RNDN);
        mpfr_add(r20081, r20080, r20066, MPFR_RNDN);
        mpfr_mul(r20082, r20077, r20081, MPFR_RNDN);
        mpfr_mul(r20083, r20011, r20042, MPFR_RNDN);
        mpfr_mul(r20084, r20083, r20021, MPFR_RNDN);
        mpfr_add(r20085, r20014, r20084, MPFR_RNDN);
        mpfr_mul(r20086, r20062, r20011, MPFR_RNDN);
        mpfr_mul(r20087, r20086, r20011, MPFR_RNDN);
        mpfr_add(r20088, r20085, r20087, MPFR_RNDN);
        mpfr_add(r20089, r20082, r20088, MPFR_RNDN);
        mpfr_mul(r20090, r20049, r20016, MPFR_RNDN);
        mpfr_add(r20091, r20045, r20090, MPFR_RNDN);
        mpfr_mul(r20092, r20075, r20091, MPFR_RNDN);
        mpfr_mul(r20093, r20016, r20092, MPFR_RNDN);
        mpfr_add(r20094, r20089, r20093, MPFR_RNDN);
        mpfr_div(r20095, r20011, r20094, MPFR_RNDN);
        mpfr_mul(r20096, r20011, r20025, MPFR_RNDN);
        mpfr_mul(r20097, r20096, r20021, MPFR_RNDN);
        mpfr_mul(r20098, r20016, r20015, MPFR_RNDN);
        mpfr_add(r20099, r20098, r20014, MPFR_RNDN);
        mpfr_add(r20100, r20097, r20099, MPFR_RNDN);
        mpfr_mul(r20101, r20016, r20029, MPFR_RNDN);
        mpfr_mul(r20102, r20021, r20011, MPFR_RNDN);
        mpfr_mul(r20103, r20075, r20102, MPFR_RNDN);
        mpfr_mul(r20104, r20101, r20103, MPFR_RNDN);
        mpfr_add(r20105, r20100, r20104, MPFR_RNDN);
        mpfr_mul(r20106, r20034, r20011, MPFR_RNDN);
        mpfr_mul(r20107, r20106, r20011, MPFR_RNDN);
        mpfr_add(r20108, r20019, r20107, MPFR_RNDN);
        mpfr_mul(r20109, r20075, r20108, MPFR_RNDN);
        mpfr_mul(r20110, r20016, r20109, MPFR_RNDN);
        mpfr_add(r20111, r20105, r20110, MPFR_RNDN);
        mpfr_mul(r20112, r20095, r20111, MPFR_RNDN);
        if (mpfr_get_si(r20074, MPFR_RNDN)) { mpfr_set(r20113, r20112, MPFR_RNDN); } else { mpfr_set(r20113, r20072, MPFR_RNDN); };
        if (mpfr_get_si(r20013, MPFR_RNDN)) { mpfr_set(r20114, r20072, MPFR_RNDN); } else { mpfr_set(r20114, r20113, MPFR_RNDN); };
        return mpfr_get_d(r20114, MPFR_RNDN);
}

static mpfr_t r20115, r20116, r20117, r20118, r20119, r20120, r20121, r20122, r20123, r20124, r20125, r20126, r20127, r20128, r20129, r20130, r20131, r20132, r20133, r20134, r20135, r20136, r20137, r20138, r20139, r20140, r20141, r20142, r20143, r20144, r20145, r20146, r20147, r20148, r20149, r20150, r20151, r20152, r20153, r20154, r20155, r20156, r20157, r20158, r20159, r20160, r20161, r20162, r20163, r20164, r20165, r20166, r20167, r20168, r20169, r20170, r20171, r20172, r20173, r20174, r20175, r20176, r20177, r20178, r20179, r20180, r20181, r20182, r20183, r20184, r20185, r20186, r20187, r20188, r20189, r20190, r20191, r20192, r20193, r20194, r20195, r20196, r20197, r20198, r20199, r20200, r20201, r20202, r20203, r20204, r20205, r20206, r20207, r20208, r20209, r20210, r20211, r20212, r20213, r20214, r20215, r20216, r20217, r20218;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r20115);
        mpfr_init_set_str(r20116, "-4.8392898094319444e+23", 10, MPFR_RNDN);
        mpfr_init(r20117);
        mpfr_init_set_str(r20118, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r20119, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r20120);
        mpfr_init(r20121);
        mpfr_init(r20122);
        mpfr_init_set_str(r20123, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r20124);
        mpfr_init(r20125);
        mpfr_init(r20126);
        mpfr_init(r20127);
        mpfr_init(r20128);
        mpfr_init_set_str(r20129, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r20130);
        mpfr_init(r20131);
        mpfr_init(r20132);
        mpfr_init_set_str(r20133, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r20134, "10", 10, MPFR_RNDN);
        mpfr_init(r20135);
        mpfr_init(r20136);
        mpfr_init(r20137);
        mpfr_init_set_str(r20138, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r20139);
        mpfr_init(r20140);
        mpfr_init(r20141);
        mpfr_init(r20142);
        mpfr_init(r20143);
        mpfr_init(r20144);
        mpfr_init(r20145);
        mpfr_init_set_str(r20146, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r20147);
        mpfr_init(r20148);
        mpfr_init_set_str(r20149, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r20150);
        mpfr_init(r20151);
        mpfr_init(r20152);
        mpfr_init_set_str(r20153, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r20154);
        mpfr_init(r20155);
        mpfr_init(r20156);
        mpfr_init(r20157);
        mpfr_init(r20158);
        mpfr_init_set_str(r20159, "6", 10, MPFR_RNDN);
        mpfr_init(r20160);
        mpfr_init_set_str(r20161, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r20162);
        mpfr_init(r20163);
        mpfr_init(r20164);
        mpfr_init(r20165);
        mpfr_init_set_str(r20166, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r20167);
        mpfr_init_set_str(r20168, "4", 10, MPFR_RNDN);
        mpfr_init(r20169);
        mpfr_init_set_str(r20170, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r20171);
        mpfr_init(r20172);
        mpfr_init(r20173);
        mpfr_init(r20174);
        mpfr_init(r20175);
        mpfr_init(r20176);
        mpfr_init_set_str(r20177, "3.598220797602781e+27", 10, MPFR_RNDN);
        mpfr_init(r20178);
        mpfr_init(r20179);
        mpfr_init(r20180);
        mpfr_init(r20181);
        mpfr_init_set_str(r20182, "2", 10, MPFR_RNDN);
        mpfr_init(r20183);
        mpfr_init(r20184);
        mpfr_init(r20185);
        mpfr_init(r20186);
        mpfr_init(r20187);
        mpfr_init(r20188);
        mpfr_init(r20189);
        mpfr_init(r20190);
        mpfr_init(r20191);
        mpfr_init(r20192);
        mpfr_init(r20193);
        mpfr_init(r20194);
        mpfr_init(r20195);
        mpfr_init(r20196);
        mpfr_init(r20197);
        mpfr_init(r20198);
        mpfr_init(r20199);
        mpfr_init(r20200);
        mpfr_init(r20201);
        mpfr_init(r20202);
        mpfr_init(r20203);
        mpfr_init(r20204);
        mpfr_init(r20205);
        mpfr_init(r20206);
        mpfr_init(r20207);
        mpfr_init(r20208);
        mpfr_init(r20209);
        mpfr_init(r20210);
        mpfr_init(r20211);
        mpfr_init(r20212);
        mpfr_init(r20213);
        mpfr_init(r20214);
        mpfr_init(r20215);
        mpfr_init(r20216);
        mpfr_init(r20217);
        mpfr_init(r20218);
}

double f_dm(double x) {
        mpfr_set_d(r20115, x, MPFR_RNDN);
        ;
        mpfr_set_si(r20117, mpfr_cmp(r20115, r20116) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r20120, r20115, r20115, MPFR_RNDN);
        mpfr_div(r20121, r20119, r20120, MPFR_RNDN);
        mpfr_add(r20122, r20118, r20121, MPFR_RNDN);
        ;
        mpfr_mul(r20124, r20123, r20118, MPFR_RNDN);
        mpfr_mul(r20125, r20115, r20115, MPFR_RNDN); mpfr_mul(r20125, r20125, r20115, MPFR_RNDN);
        mpfr_sqr(r20126, r20125, MPFR_RNDN);
        mpfr_div(r20127, r20124, r20126, MPFR_RNDN);
        mpfr_add(r20128, r20122, r20127, MPFR_RNDN);
        ;
        mpfr_mul(r20130, r20129, r20118, MPFR_RNDN);
        mpfr_div(r20131, r20130, r20125, MPFR_RNDN);
        mpfr_div(r20132, r20131, r20115, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20135, r20115, r20134, MPFR_RNDN);
        mpfr_div(r20136, r20133, r20135, MPFR_RNDN);
        mpfr_add(r20137, r20132, r20136, MPFR_RNDN);
        ;
        mpfr_mul(r20139, r20118, r20138, MPFR_RNDN);
        mpfr_div(r20140, r20139, r20126, MPFR_RNDN);
        mpfr_div(r20141, r20140, r20120, MPFR_RNDN);
        mpfr_add(r20142, r20137, r20141, MPFR_RNDN);
        mpfr_add(r20143, r20128, r20142, MPFR_RNDN);
        mpfr_div(r20144, r20118, r20115, MPFR_RNDN);
        mpfr_div(r20145, r20144, r20125, MPFR_RNDN);
        ;
        mpfr_mul(r20147, r20145, r20146, MPFR_RNDN);
        mpfr_add(r20148, r20118, r20147, MPFR_RNDN);
        ;
        mpfr_mul(r20150, r20149, r20118, MPFR_RNDN);
        mpfr_div(r20151, r20150, r20126, MPFR_RNDN);
        mpfr_add(r20152, r20148, r20151, MPFR_RNDN);
        ;
        mpfr_mul(r20154, r20118, r20153, MPFR_RNDN);
        mpfr_div(r20155, r20154, r20126, MPFR_RNDN);
        mpfr_div(r20156, r20155, r20120, MPFR_RNDN);
        mpfr_div(r20157, r20118, r20125, MPFR_RNDN);
        mpfr_mul(r20158, r20157, r20157, MPFR_RNDN);
        ;
        mpfr_pow(r20160, r20115, r20159, MPFR_RNDN);
        ;
        mpfr_div(r20162, r20160, r20161, MPFR_RNDN);
        mpfr_div(r20163, r20158, r20162, MPFR_RNDN);
        mpfr_add(r20164, r20156, r20163, MPFR_RNDN);
        mpfr_add(r20165, r20152, r20164, MPFR_RNDN);
        ;
        mpfr_div(r20167, r20166, r20120, MPFR_RNDN);
        ;
        mpfr_pow(r20169, r20115, r20168, MPFR_RNDN);
        ;
        mpfr_div(r20171, r20169, r20170, MPFR_RNDN);
        mpfr_div(r20172, r20158, r20171, MPFR_RNDN);
        mpfr_add(r20173, r20167, r20172, MPFR_RNDN);
        mpfr_add(r20174, r20165, r20173, MPFR_RNDN);
        mpfr_mul(r20175, r20174, r20115, MPFR_RNDN);
        mpfr_div(r20176, r20143, r20175, MPFR_RNDN);
        ;
        mpfr_set_si(r20178, mpfr_cmp(r20115, r20177) <= 0, MPFR_RNDN);
        mpfr_mul(r20179, r20120, r20120, MPFR_RNDN);
        mpfr_mul(r20180, r20125, r20125, MPFR_RNDN);
        mpfr_mul(r20181, r20179, r20180, MPFR_RNDN);
        ;
        mpfr_mul(r20183, r20182, r20133, MPFR_RNDN);
        mpfr_mul(r20184, r20183, r20120, MPFR_RNDN);
        mpfr_add(r20185, r20184, r20170, MPFR_RNDN);
        mpfr_mul(r20186, r20181, r20185, MPFR_RNDN);
        mpfr_mul(r20187, r20115, r20146, MPFR_RNDN);
        mpfr_mul(r20188, r20187, r20125, MPFR_RNDN);
        mpfr_add(r20189, r20118, r20188, MPFR_RNDN);
        mpfr_mul(r20190, r20166, r20115, MPFR_RNDN);
        mpfr_mul(r20191, r20190, r20115, MPFR_RNDN);
        mpfr_add(r20192, r20189, r20191, MPFR_RNDN);
        mpfr_add(r20193, r20186, r20192, MPFR_RNDN);
        mpfr_mul(r20194, r20153, r20120, MPFR_RNDN);
        mpfr_add(r20195, r20149, r20194, MPFR_RNDN);
        mpfr_mul(r20196, r20179, r20195, MPFR_RNDN);
        mpfr_mul(r20197, r20120, r20196, MPFR_RNDN);
        mpfr_add(r20198, r20193, r20197, MPFR_RNDN);
        mpfr_div(r20199, r20115, r20198, MPFR_RNDN);
        mpfr_mul(r20200, r20115, r20129, MPFR_RNDN);
        mpfr_mul(r20201, r20200, r20125, MPFR_RNDN);
        mpfr_mul(r20202, r20120, r20119, MPFR_RNDN);
        mpfr_add(r20203, r20202, r20118, MPFR_RNDN);
        mpfr_add(r20204, r20201, r20203, MPFR_RNDN);
        mpfr_mul(r20205, r20120, r20133, MPFR_RNDN);
        mpfr_mul(r20206, r20125, r20115, MPFR_RNDN);
        mpfr_mul(r20207, r20179, r20206, MPFR_RNDN);
        mpfr_mul(r20208, r20205, r20207, MPFR_RNDN);
        mpfr_add(r20209, r20204, r20208, MPFR_RNDN);
        mpfr_mul(r20210, r20138, r20115, MPFR_RNDN);
        mpfr_mul(r20211, r20210, r20115, MPFR_RNDN);
        mpfr_add(r20212, r20123, r20211, MPFR_RNDN);
        mpfr_mul(r20213, r20179, r20212, MPFR_RNDN);
        mpfr_mul(r20214, r20120, r20213, MPFR_RNDN);
        mpfr_add(r20215, r20209, r20214, MPFR_RNDN);
        mpfr_mul(r20216, r20199, r20215, MPFR_RNDN);
        if (mpfr_get_si(r20178, MPFR_RNDN)) { mpfr_set(r20217, r20216, MPFR_RNDN); } else { mpfr_set(r20217, r20176, MPFR_RNDN); };
        if (mpfr_get_si(r20117, MPFR_RNDN)) { mpfr_set(r20218, r20176, MPFR_RNDN); } else { mpfr_set(r20218, r20217, MPFR_RNDN); };
        return mpfr_get_d(r20218, MPFR_RNDN);
}

