#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 r27843 = 1;
        float r27844 = 0.1049934947;
        float r27845 = x;
        float r27846 = r27845 * r27845;
        float r27847 = r27844 * r27846;
        float r27848 = r27843 + r27847;
        float r27849 = 0.0424060604;
        float r27850 = r27846 * r27846;
        float r27851 = r27849 * r27850;
        float r27852 = r27848 + r27851;
        float r27853 = 0.0072644182;
        float r27854 = r27850 * r27846;
        float r27855 = r27853 * r27854;
        float r27856 = r27852 + r27855;
        float r27857 = 0.0005064034;
        float r27858 = r27854 * r27846;
        float r27859 = r27857 * r27858;
        float r27860 = r27856 + r27859;
        float r27861 = 0.0001789971;
        float r27862 = r27858 * r27846;
        float r27863 = r27861 * r27862;
        float r27864 = r27860 + r27863;
        float r27865 = 0.7715471019;
        float r27866 = r27865 * r27846;
        float r27867 = r27843 + r27866;
        float r27868 = 0.2909738639;
        float r27869 = r27868 * r27850;
        float r27870 = r27867 + r27869;
        float r27871 = 0.0694555761;
        float r27872 = r27871 * r27854;
        float r27873 = r27870 + r27872;
        float r27874 = 0.0140005442;
        float r27875 = r27874 * r27858;
        float r27876 = r27873 + r27875;
        float r27877 = 0.0008327945;
        float r27878 = r27877 * r27862;
        float r27879 = r27876 + r27878;
        float r27880 = 2;
        float r27881 = r27880 * r27861;
        float r27882 = r27862 * r27846;
        float r27883 = r27881 * r27882;
        float r27884 = r27879 + r27883;
        float r27885 = r27864 / r27884;
        float r27886 = r27885 * r27845;
        return r27886;
}

double f_id(double x) {
        double r27887 = 1;
        double r27888 = 0.1049934947;
        double r27889 = x;
        double r27890 = r27889 * r27889;
        double r27891 = r27888 * r27890;
        double r27892 = r27887 + r27891;
        double r27893 = 0.0424060604;
        double r27894 = r27890 * r27890;
        double r27895 = r27893 * r27894;
        double r27896 = r27892 + r27895;
        double r27897 = 0.0072644182;
        double r27898 = r27894 * r27890;
        double r27899 = r27897 * r27898;
        double r27900 = r27896 + r27899;
        double r27901 = 0.0005064034;
        double r27902 = r27898 * r27890;
        double r27903 = r27901 * r27902;
        double r27904 = r27900 + r27903;
        double r27905 = 0.0001789971;
        double r27906 = r27902 * r27890;
        double r27907 = r27905 * r27906;
        double r27908 = r27904 + r27907;
        double r27909 = 0.7715471019;
        double r27910 = r27909 * r27890;
        double r27911 = r27887 + r27910;
        double r27912 = 0.2909738639;
        double r27913 = r27912 * r27894;
        double r27914 = r27911 + r27913;
        double r27915 = 0.0694555761;
        double r27916 = r27915 * r27898;
        double r27917 = r27914 + r27916;
        double r27918 = 0.0140005442;
        double r27919 = r27918 * r27902;
        double r27920 = r27917 + r27919;
        double r27921 = 0.0008327945;
        double r27922 = r27921 * r27906;
        double r27923 = r27920 + r27922;
        double r27924 = 2;
        double r27925 = r27924 * r27905;
        double r27926 = r27906 * r27890;
        double r27927 = r27925 * r27926;
        double r27928 = r27923 + r27927;
        double r27929 = r27908 / r27928;
        double r27930 = r27929 * r27889;
        return r27930;
}


double f_of(float x) {
        float r27931 = 0.5;
        float r27932 = x;
        float r27933 = r27931 / r27932;
        float r27934 = 0.2514179000665375;
        float r27935 = r27934 * r27932;
        float r27936 = 4;
        float r27937 = pow(r27932, r27936);
        float r27938 = r27935 / r27937;
        float r27939 = 0.15298196345929327;
        float r27940 = r27939 * r27932;
        float r27941 = 6;
        float r27942 = pow(r27932, r27941);
        float r27943 = r27940 / r27942;
        float r27944 = r27938 + r27943;
        float r27945 = r27933 + r27944;
        float r27946 = -6.993374938855559e-11;
        bool r27947 = r27945 <= r27946;
        float r27948 = r27932 * r27932;
        float r27949 = 3;
        float r27950 = 1;
        float r27951 = r27949 + r27950;
        float r27952 = pow(r27948, r27951);
        float r27953 = 0.0005064034;
        float r27954 = 0.0001789971;
        float r27955 = r27948 * r27954;
        float r27956 = r27953 + r27955;
        float r27957 = r27952 * r27956;
        float r27958 = 0.1049934947;
        float r27959 = r27948 * r27958;
        float r27960 = r27959 + r27950;
        float r27961 = r27948 * r27948;
        float r27962 = 0.0424060604;
        float r27963 = 0.0072644182;
        float r27964 = r27932 * r27963;
        float r27965 = r27932 * r27964;
        float r27966 = r27962 + r27965;
        float r27967 = r27961 * r27966;
        float r27968 = r27960 + r27967;
        float r27969 = r27957 + r27968;
        float r27970 = log(r27969);
        float r27971 = pow(r27948, r27949);
        float r27972 = r27961 * r27971;
        float r27973 = 0.0008327945;
        float r27974 = 2;
        float r27975 = r27954 * r27974;
        float r27976 = r27948 * r27975;
        float r27977 = r27973 + r27976;
        float r27978 = r27972 * r27977;
        float r27979 = pow(r27932, r27949);
        float r27980 = 0.2909738639;
        float r27981 = r27980 * r27932;
        float r27982 = r27979 * r27981;
        float r27983 = 0.7715471019;
        float r27984 = r27948 * r27983;
        float r27985 = r27982 + r27984;
        float r27986 = r27985 + r27950;
        float r27987 = r27978 + r27986;
        float r27988 = 0.0140005442;
        float r27989 = r27932 * r27988;
        float r27990 = r27932 * r27989;
        float r27991 = 0.0694555761;
        float r27992 = r27990 + r27991;
        float r27993 = r27971 * r27992;
        float r27994 = r27987 + r27993;
        float r27995 = log(r27994);
        float r27996 = r27970 - r27995;
        float r27997 = exp(r27996);
        float r27998 = r27997 * r27932;
        float r27999 = 1.2858569279606471e-09;
        bool r28000 = r27945 <= r27999;
        float r28001 = r27958 * r27948;
        float r28002 = r27950 + r28001;
        float r28003 = r27962 * r27961;
        float r28004 = r28002 + r28003;
        float r28005 = r27961 * r27948;
        float r28006 = r27963 * r28005;
        float r28007 = r28004 + r28006;
        float r28008 = r28005 * r27948;
        float r28009 = r27953 * r28008;
        float r28010 = r28007 + r28009;
        float r28011 = r28008 * r27948;
        float r28012 = r27954 * r28011;
        float r28013 = r28010 + r28012;
        float r28014 = r27983 * r27948;
        float r28015 = r27950 + r28014;
        float r28016 = r27980 * r27961;
        float r28017 = r28015 + r28016;
        float r28018 = r27991 * r28005;
        float r28019 = r28017 + r28018;
        float r28020 = r27988 * r28008;
        float r28021 = r28019 + r28020;
        float r28022 = r27973 * r28011;
        float r28023 = r28021 + r28022;
        float r28024 = r27974 * r27954;
        float r28025 = r28011 * r27948;
        float r28026 = r28024 * r28025;
        float r28027 = r28023 + r28026;
        float r28028 = r28013 / r28027;
        float r28029 = r28028 * r27932;
        float r28030 = r28000 ? r27945 : r28029;
        float r28031 = r27947 ? r27998 : r28030;
        return r28031;
}

double f_od(double x) {
        double r28032 = 0.5;
        double r28033 = x;
        double r28034 = r28032 / r28033;
        double r28035 = 0.2514179000665375;
        double r28036 = r28035 * r28033;
        double r28037 = 4;
        double r28038 = pow(r28033, r28037);
        double r28039 = r28036 / r28038;
        double r28040 = 0.15298196345929327;
        double r28041 = r28040 * r28033;
        double r28042 = 6;
        double r28043 = pow(r28033, r28042);
        double r28044 = r28041 / r28043;
        double r28045 = r28039 + r28044;
        double r28046 = r28034 + r28045;
        double r28047 = -6.993374938855559e-11;
        bool r28048 = r28046 <= r28047;
        double r28049 = r28033 * r28033;
        double r28050 = 3;
        double r28051 = 1;
        double r28052 = r28050 + r28051;
        double r28053 = pow(r28049, r28052);
        double r28054 = 0.0005064034;
        double r28055 = 0.0001789971;
        double r28056 = r28049 * r28055;
        double r28057 = r28054 + r28056;
        double r28058 = r28053 * r28057;
        double r28059 = 0.1049934947;
        double r28060 = r28049 * r28059;
        double r28061 = r28060 + r28051;
        double r28062 = r28049 * r28049;
        double r28063 = 0.0424060604;
        double r28064 = 0.0072644182;
        double r28065 = r28033 * r28064;
        double r28066 = r28033 * r28065;
        double r28067 = r28063 + r28066;
        double r28068 = r28062 * r28067;
        double r28069 = r28061 + r28068;
        double r28070 = r28058 + r28069;
        double r28071 = log(r28070);
        double r28072 = pow(r28049, r28050);
        double r28073 = r28062 * r28072;
        double r28074 = 0.0008327945;
        double r28075 = 2;
        double r28076 = r28055 * r28075;
        double r28077 = r28049 * r28076;
        double r28078 = r28074 + r28077;
        double r28079 = r28073 * r28078;
        double r28080 = pow(r28033, r28050);
        double r28081 = 0.2909738639;
        double r28082 = r28081 * r28033;
        double r28083 = r28080 * r28082;
        double r28084 = 0.7715471019;
        double r28085 = r28049 * r28084;
        double r28086 = r28083 + r28085;
        double r28087 = r28086 + r28051;
        double r28088 = r28079 + r28087;
        double r28089 = 0.0140005442;
        double r28090 = r28033 * r28089;
        double r28091 = r28033 * r28090;
        double r28092 = 0.0694555761;
        double r28093 = r28091 + r28092;
        double r28094 = r28072 * r28093;
        double r28095 = r28088 + r28094;
        double r28096 = log(r28095);
        double r28097 = r28071 - r28096;
        double r28098 = exp(r28097);
        double r28099 = r28098 * r28033;
        double r28100 = 1.2858569279606471e-09;
        bool r28101 = r28046 <= r28100;
        double r28102 = r28059 * r28049;
        double r28103 = r28051 + r28102;
        double r28104 = r28063 * r28062;
        double r28105 = r28103 + r28104;
        double r28106 = r28062 * r28049;
        double r28107 = r28064 * r28106;
        double r28108 = r28105 + r28107;
        double r28109 = r28106 * r28049;
        double r28110 = r28054 * r28109;
        double r28111 = r28108 + r28110;
        double r28112 = r28109 * r28049;
        double r28113 = r28055 * r28112;
        double r28114 = r28111 + r28113;
        double r28115 = r28084 * r28049;
        double r28116 = r28051 + r28115;
        double r28117 = r28081 * r28062;
        double r28118 = r28116 + r28117;
        double r28119 = r28092 * r28106;
        double r28120 = r28118 + r28119;
        double r28121 = r28089 * r28109;
        double r28122 = r28120 + r28121;
        double r28123 = r28074 * r28112;
        double r28124 = r28122 + r28123;
        double r28125 = r28075 * r28055;
        double r28126 = r28112 * r28049;
        double r28127 = r28125 * r28126;
        double r28128 = r28124 + r28127;
        double r28129 = r28114 / r28128;
        double r28130 = r28129 * r28033;
        double r28131 = r28101 ? r28046 : r28130;
        double r28132 = r28048 ? r28099 : r28131;
        return r28132;
}

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 r28133, r28134, r28135, r28136, r28137, r28138, r28139, r28140, r28141, r28142, r28143, r28144, r28145, r28146, r28147, r28148, r28149, r28150, r28151, r28152, r28153, r28154, r28155, r28156, r28157, r28158, r28159, r28160, r28161, r28162, r28163, r28164, r28165, r28166, r28167, r28168, r28169, r28170, r28171, r28172, r28173, r28174, r28175, r28176;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r28133, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r28134, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r28135);
        mpfr_init(r28136);
        mpfr_init(r28137);
        mpfr_init(r28138);
        mpfr_init_set_str(r28139, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r28140);
        mpfr_init(r28141);
        mpfr_init(r28142);
        mpfr_init_set_str(r28143, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28144);
        mpfr_init(r28145);
        mpfr_init(r28146);
        mpfr_init_set_str(r28147, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r28148);
        mpfr_init(r28149);
        mpfr_init(r28150);
        mpfr_init_set_str(r28151, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28152);
        mpfr_init(r28153);
        mpfr_init(r28154);
        mpfr_init_set_str(r28155, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28156);
        mpfr_init(r28157);
        mpfr_init_set_str(r28158, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r28159);
        mpfr_init(r28160);
        mpfr_init_set_str(r28161, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28162);
        mpfr_init(r28163);
        mpfr_init_set_str(r28164, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28165);
        mpfr_init(r28166);
        mpfr_init_set_str(r28167, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r28168);
        mpfr_init(r28169);
        mpfr_init_set_str(r28170, "2", 10, MPFR_RNDN);
        mpfr_init(r28171);
        mpfr_init(r28172);
        mpfr_init(r28173);
        mpfr_init(r28174);
        mpfr_init(r28175);
        mpfr_init(r28176);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r28135, x, MPFR_RNDN);
        mpfr_mul(r28136, r28135, r28135, MPFR_RNDN);
        mpfr_mul(r28137, r28134, r28136, MPFR_RNDN);
        mpfr_add(r28138, r28133, r28137, MPFR_RNDN);
        ;
        mpfr_mul(r28140, r28136, r28136, MPFR_RNDN);
        mpfr_mul(r28141, r28139, r28140, MPFR_RNDN);
        mpfr_add(r28142, r28138, r28141, MPFR_RNDN);
        ;
        mpfr_mul(r28144, r28140, r28136, MPFR_RNDN);
        mpfr_mul(r28145, r28143, r28144, MPFR_RNDN);
        mpfr_add(r28146, r28142, r28145, MPFR_RNDN);
        ;
        mpfr_mul(r28148, r28144, r28136, MPFR_RNDN);
        mpfr_mul(r28149, r28147, r28148, MPFR_RNDN);
        mpfr_add(r28150, r28146, r28149, MPFR_RNDN);
        ;
        mpfr_mul(r28152, r28148, r28136, MPFR_RNDN);
        mpfr_mul(r28153, r28151, r28152, MPFR_RNDN);
        mpfr_add(r28154, r28150, r28153, MPFR_RNDN);
        ;
        mpfr_mul(r28156, r28155, r28136, MPFR_RNDN);
        mpfr_add(r28157, r28133, r28156, MPFR_RNDN);
        ;
        mpfr_mul(r28159, r28158, r28140, MPFR_RNDN);
        mpfr_add(r28160, r28157, r28159, MPFR_RNDN);
        ;
        mpfr_mul(r28162, r28161, r28144, MPFR_RNDN);
        mpfr_add(r28163, r28160, r28162, MPFR_RNDN);
        ;
        mpfr_mul(r28165, r28164, r28148, MPFR_RNDN);
        mpfr_add(r28166, r28163, r28165, MPFR_RNDN);
        ;
        mpfr_mul(r28168, r28167, r28152, MPFR_RNDN);
        mpfr_add(r28169, r28166, r28168, MPFR_RNDN);
        ;
        mpfr_mul(r28171, r28170, r28151, MPFR_RNDN);
        mpfr_mul(r28172, r28152, r28136, MPFR_RNDN);
        mpfr_mul(r28173, r28171, r28172, MPFR_RNDN);
        mpfr_add(r28174, r28169, r28173, MPFR_RNDN);
        mpfr_div(r28175, r28154, r28174, MPFR_RNDN);
        mpfr_mul(r28176, r28175, r28135, MPFR_RNDN);
        return mpfr_get_d(r28176, MPFR_RNDN);
}

static mpfr_t r28177, r28178, r28179, r28180, r28181, r28182, r28183, r28184, r28185, r28186, r28187, r28188, r28189, r28190, r28191, r28192, r28193, r28194, r28195, r28196, r28197, r28198, r28199, r28200, r28201, r28202, r28203, r28204, r28205, r28206, r28207, r28208, r28209, r28210, r28211, r28212, r28213, r28214, r28215, r28216, r28217, r28218, r28219, r28220, r28221, r28222, r28223, r28224, r28225, r28226, r28227, r28228, r28229, r28230, r28231, r28232, r28233, r28234, r28235, r28236, r28237, r28238, r28239, r28240, r28241, r28242, r28243, r28244, r28245, r28246, r28247, r28248, r28249, r28250, r28251, r28252, r28253, r28254, r28255, r28256, r28257, r28258, r28259, r28260, r28261, r28262, r28263, r28264, r28265, r28266, r28267, r28268, r28269, r28270, r28271, r28272, r28273, r28274, r28275, r28276, r28277;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r28177, "0.5", 10, MPFR_RNDN);
        mpfr_init(r28178);
        mpfr_init(r28179);
        mpfr_init_set_str(r28180, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r28181);
        mpfr_init_set_str(r28182, "4", 10, MPFR_RNDN);
        mpfr_init(r28183);
        mpfr_init(r28184);
        mpfr_init_set_str(r28185, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init(r28186);
        mpfr_init_set_str(r28187, "6", 10, MPFR_RNDN);
        mpfr_init(r28188);
        mpfr_init(r28189);
        mpfr_init(r28190);
        mpfr_init(r28191);
        mpfr_init_set_str(r28192, "-6.993374938855559e-11", 10, MPFR_RNDN);
        mpfr_init(r28193);
        mpfr_init(r28194);
        mpfr_init_set_str(r28195, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r28196, "1", 10, MPFR_RNDN);
        mpfr_init(r28197);
        mpfr_init(r28198);
        mpfr_init_set_str(r28199, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r28200, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28201);
        mpfr_init(r28202);
        mpfr_init(r28203);
        mpfr_init_set_str(r28204, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r28205);
        mpfr_init(r28206);
        mpfr_init(r28207);
        mpfr_init_set_str(r28208, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r28209, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28210);
        mpfr_init(r28211);
        mpfr_init(r28212);
        mpfr_init(r28213);
        mpfr_init(r28214);
        mpfr_init(r28215);
        mpfr_init(r28216);
        mpfr_init(r28217);
        mpfr_init(r28218);
        mpfr_init_set_str(r28219, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r28220, "2", 10, MPFR_RNDN);
        mpfr_init(r28221);
        mpfr_init(r28222);
        mpfr_init(r28223);
        mpfr_init(r28224);
        mpfr_init(r28225);
        mpfr_init_set_str(r28226, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r28227);
        mpfr_init(r28228);
        mpfr_init_set_str(r28229, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28230);
        mpfr_init(r28231);
        mpfr_init(r28232);
        mpfr_init(r28233);
        mpfr_init_set_str(r28234, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28235);
        mpfr_init(r28236);
        mpfr_init_set_str(r28237, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28238);
        mpfr_init(r28239);
        mpfr_init(r28240);
        mpfr_init(r28241);
        mpfr_init(r28242);
        mpfr_init(r28243);
        mpfr_init(r28244);
        mpfr_init_set_str(r28245, "1.2858569279606471e-09", 10, MPFR_RNDN);
        mpfr_init(r28246);
        mpfr_init(r28247);
        mpfr_init(r28248);
        mpfr_init(r28249);
        mpfr_init(r28250);
        mpfr_init(r28251);
        mpfr_init(r28252);
        mpfr_init(r28253);
        mpfr_init(r28254);
        mpfr_init(r28255);
        mpfr_init(r28256);
        mpfr_init(r28257);
        mpfr_init(r28258);
        mpfr_init(r28259);
        mpfr_init(r28260);
        mpfr_init(r28261);
        mpfr_init(r28262);
        mpfr_init(r28263);
        mpfr_init(r28264);
        mpfr_init(r28265);
        mpfr_init(r28266);
        mpfr_init(r28267);
        mpfr_init(r28268);
        mpfr_init(r28269);
        mpfr_init(r28270);
        mpfr_init(r28271);
        mpfr_init(r28272);
        mpfr_init(r28273);
        mpfr_init(r28274);
        mpfr_init(r28275);
        mpfr_init(r28276);
        mpfr_init(r28277);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r28178, x, MPFR_RNDN);
        mpfr_div(r28179, r28177, r28178, MPFR_RNDN);
        ;
        mpfr_mul(r28181, r28180, r28178, MPFR_RNDN);
        ;
        mpfr_pow(r28183, r28178, r28182, MPFR_RNDN);
        mpfr_div(r28184, r28181, r28183, MPFR_RNDN);
        ;
        mpfr_mul(r28186, r28185, r28178, MPFR_RNDN);
        ;
        mpfr_pow(r28188, r28178, r28187, MPFR_RNDN);
        mpfr_div(r28189, r28186, r28188, MPFR_RNDN);
        mpfr_add(r28190, r28184, r28189, MPFR_RNDN);
        mpfr_add(r28191, r28179, r28190, MPFR_RNDN);
        ;
        mpfr_set_si(r28193, mpfr_cmp(r28191, r28192) <= 0, MPFR_RNDN);
        mpfr_mul(r28194, r28178, r28178, MPFR_RNDN);
        ;
        ;
        mpfr_add(r28197, r28195, r28196, MPFR_RNDN);
        mpfr_pow(r28198, r28194, r28197, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28201, r28194, r28200, MPFR_RNDN);
        mpfr_add(r28202, r28199, r28201, MPFR_RNDN);
        mpfr_mul(r28203, r28198, r28202, MPFR_RNDN);
        ;
        mpfr_mul(r28205, r28194, r28204, MPFR_RNDN);
        mpfr_add(r28206, r28205, r28196, MPFR_RNDN);
        mpfr_mul(r28207, r28194, r28194, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28210, r28178, r28209, MPFR_RNDN);
        mpfr_mul(r28211, r28178, r28210, MPFR_RNDN);
        mpfr_add(r28212, r28208, r28211, MPFR_RNDN);
        mpfr_mul(r28213, r28207, r28212, MPFR_RNDN);
        mpfr_add(r28214, r28206, r28213, MPFR_RNDN);
        mpfr_add(r28215, r28203, r28214, MPFR_RNDN);
        mpfr_log(r28216, r28215, MPFR_RNDN);
        mpfr_pow(r28217, r28194, r28195, MPFR_RNDN);
        mpfr_mul(r28218, r28207, r28217, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28221, r28200, r28220, MPFR_RNDN);
        mpfr_mul(r28222, r28194, r28221, MPFR_RNDN);
        mpfr_add(r28223, r28219, r28222, MPFR_RNDN);
        mpfr_mul(r28224, r28218, r28223, MPFR_RNDN);
        mpfr_pow(r28225, r28178, r28195, MPFR_RNDN);
        ;
        mpfr_mul(r28227, r28226, r28178, MPFR_RNDN);
        mpfr_mul(r28228, r28225, r28227, MPFR_RNDN);
        ;
        mpfr_mul(r28230, r28194, r28229, MPFR_RNDN);
        mpfr_add(r28231, r28228, r28230, MPFR_RNDN);
        mpfr_add(r28232, r28231, r28196, MPFR_RNDN);
        mpfr_add(r28233, r28224, r28232, MPFR_RNDN);
        ;
        mpfr_mul(r28235, r28178, r28234, MPFR_RNDN);
        mpfr_mul(r28236, r28178, r28235, MPFR_RNDN);
        ;
        mpfr_add(r28238, r28236, r28237, MPFR_RNDN);
        mpfr_mul(r28239, r28217, r28238, MPFR_RNDN);
        mpfr_add(r28240, r28233, r28239, MPFR_RNDN);
        mpfr_log(r28241, r28240, MPFR_RNDN);
        mpfr_sub(r28242, r28216, r28241, MPFR_RNDN);
        mpfr_exp(r28243, r28242, MPFR_RNDN);
        mpfr_mul(r28244, r28243, r28178, MPFR_RNDN);
        ;
        mpfr_set_si(r28246, mpfr_cmp(r28191, r28245) <= 0, MPFR_RNDN);
        mpfr_mul(r28247, r28204, r28194, MPFR_RNDN);
        mpfr_add(r28248, r28196, r28247, MPFR_RNDN);
        mpfr_mul(r28249, r28208, r28207, MPFR_RNDN);
        mpfr_add(r28250, r28248, r28249, MPFR_RNDN);
        mpfr_mul(r28251, r28207, r28194, MPFR_RNDN);
        mpfr_mul(r28252, r28209, r28251, MPFR_RNDN);
        mpfr_add(r28253, r28250, r28252, MPFR_RNDN);
        mpfr_mul(r28254, r28251, r28194, MPFR_RNDN);
        mpfr_mul(r28255, r28199, r28254, MPFR_RNDN);
        mpfr_add(r28256, r28253, r28255, MPFR_RNDN);
        mpfr_mul(r28257, r28254, r28194, MPFR_RNDN);
        mpfr_mul(r28258, r28200, r28257, MPFR_RNDN);
        mpfr_add(r28259, r28256, r28258, MPFR_RNDN);
        mpfr_mul(r28260, r28229, r28194, MPFR_RNDN);
        mpfr_add(r28261, r28196, r28260, MPFR_RNDN);
        mpfr_mul(r28262, r28226, r28207, MPFR_RNDN);
        mpfr_add(r28263, r28261, r28262, MPFR_RNDN);
        mpfr_mul(r28264, r28237, r28251, MPFR_RNDN);
        mpfr_add(r28265, r28263, r28264, MPFR_RNDN);
        mpfr_mul(r28266, r28234, r28254, MPFR_RNDN);
        mpfr_add(r28267, r28265, r28266, MPFR_RNDN);
        mpfr_mul(r28268, r28219, r28257, MPFR_RNDN);
        mpfr_add(r28269, r28267, r28268, MPFR_RNDN);
        mpfr_mul(r28270, r28220, r28200, MPFR_RNDN);
        mpfr_mul(r28271, r28257, r28194, MPFR_RNDN);
        mpfr_mul(r28272, r28270, r28271, MPFR_RNDN);
        mpfr_add(r28273, r28269, r28272, MPFR_RNDN);
        mpfr_div(r28274, r28259, r28273, MPFR_RNDN);
        mpfr_mul(r28275, r28274, r28178, MPFR_RNDN);
        if (mpfr_get_si(r28246, MPFR_RNDN)) { mpfr_set(r28276, r28191, MPFR_RNDN); } else { mpfr_set(r28276, r28275, MPFR_RNDN); };
        if (mpfr_get_si(r28193, MPFR_RNDN)) { mpfr_set(r28277, r28244, MPFR_RNDN); } else { mpfr_set(r28277, r28276, MPFR_RNDN); };
        return mpfr_get_d(r28277, MPFR_RNDN);
}

static mpfr_t r28278, r28279, r28280, r28281, r28282, r28283, r28284, r28285, r28286, r28287, r28288, r28289, r28290, r28291, r28292, r28293, r28294, r28295, r28296, r28297, r28298, r28299, r28300, r28301, r28302, r28303, r28304, r28305, r28306, r28307, r28308, r28309, r28310, r28311, r28312, r28313, r28314, r28315, r28316, r28317, r28318, r28319, r28320, r28321, r28322, r28323, r28324, r28325, r28326, r28327, r28328, r28329, r28330, r28331, r28332, r28333, r28334, r28335, r28336, r28337, r28338, r28339, r28340, r28341, r28342, r28343, r28344, r28345, r28346, r28347, r28348, r28349, r28350, r28351, r28352, r28353, r28354, r28355, r28356, r28357, r28358, r28359, r28360, r28361, r28362, r28363, r28364, r28365, r28366, r28367, r28368, r28369, r28370, r28371, r28372, r28373, r28374, r28375, r28376, r28377, r28378;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r28278, "0.5", 10, MPFR_RNDN);
        mpfr_init(r28279);
        mpfr_init(r28280);
        mpfr_init_set_str(r28281, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r28282);
        mpfr_init_set_str(r28283, "4", 10, MPFR_RNDN);
        mpfr_init(r28284);
        mpfr_init(r28285);
        mpfr_init_set_str(r28286, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init(r28287);
        mpfr_init_set_str(r28288, "6", 10, MPFR_RNDN);
        mpfr_init(r28289);
        mpfr_init(r28290);
        mpfr_init(r28291);
        mpfr_init(r28292);
        mpfr_init_set_str(r28293, "-6.993374938855559e-11", 10, MPFR_RNDN);
        mpfr_init(r28294);
        mpfr_init(r28295);
        mpfr_init_set_str(r28296, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r28297, "1", 10, MPFR_RNDN);
        mpfr_init(r28298);
        mpfr_init(r28299);
        mpfr_init_set_str(r28300, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r28301, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28302);
        mpfr_init(r28303);
        mpfr_init(r28304);
        mpfr_init_set_str(r28305, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r28306);
        mpfr_init(r28307);
        mpfr_init(r28308);
        mpfr_init_set_str(r28309, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r28310, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28311);
        mpfr_init(r28312);
        mpfr_init(r28313);
        mpfr_init(r28314);
        mpfr_init(r28315);
        mpfr_init(r28316);
        mpfr_init(r28317);
        mpfr_init(r28318);
        mpfr_init(r28319);
        mpfr_init_set_str(r28320, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r28321, "2", 10, MPFR_RNDN);
        mpfr_init(r28322);
        mpfr_init(r28323);
        mpfr_init(r28324);
        mpfr_init(r28325);
        mpfr_init(r28326);
        mpfr_init_set_str(r28327, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r28328);
        mpfr_init(r28329);
        mpfr_init_set_str(r28330, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28331);
        mpfr_init(r28332);
        mpfr_init(r28333);
        mpfr_init(r28334);
        mpfr_init_set_str(r28335, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28336);
        mpfr_init(r28337);
        mpfr_init_set_str(r28338, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28339);
        mpfr_init(r28340);
        mpfr_init(r28341);
        mpfr_init(r28342);
        mpfr_init(r28343);
        mpfr_init(r28344);
        mpfr_init(r28345);
        mpfr_init_set_str(r28346, "1.2858569279606471e-09", 10, MPFR_RNDN);
        mpfr_init(r28347);
        mpfr_init(r28348);
        mpfr_init(r28349);
        mpfr_init(r28350);
        mpfr_init(r28351);
        mpfr_init(r28352);
        mpfr_init(r28353);
        mpfr_init(r28354);
        mpfr_init(r28355);
        mpfr_init(r28356);
        mpfr_init(r28357);
        mpfr_init(r28358);
        mpfr_init(r28359);
        mpfr_init(r28360);
        mpfr_init(r28361);
        mpfr_init(r28362);
        mpfr_init(r28363);
        mpfr_init(r28364);
        mpfr_init(r28365);
        mpfr_init(r28366);
        mpfr_init(r28367);
        mpfr_init(r28368);
        mpfr_init(r28369);
        mpfr_init(r28370);
        mpfr_init(r28371);
        mpfr_init(r28372);
        mpfr_init(r28373);
        mpfr_init(r28374);
        mpfr_init(r28375);
        mpfr_init(r28376);
        mpfr_init(r28377);
        mpfr_init(r28378);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r28279, x, MPFR_RNDN);
        mpfr_div(r28280, r28278, r28279, MPFR_RNDN);
        ;
        mpfr_mul(r28282, r28281, r28279, MPFR_RNDN);
        ;
        mpfr_pow(r28284, r28279, r28283, MPFR_RNDN);
        mpfr_div(r28285, r28282, r28284, MPFR_RNDN);
        ;
        mpfr_mul(r28287, r28286, r28279, MPFR_RNDN);
        ;
        mpfr_pow(r28289, r28279, r28288, MPFR_RNDN);
        mpfr_div(r28290, r28287, r28289, MPFR_RNDN);
        mpfr_add(r28291, r28285, r28290, MPFR_RNDN);
        mpfr_add(r28292, r28280, r28291, MPFR_RNDN);
        ;
        mpfr_set_si(r28294, mpfr_cmp(r28292, r28293) <= 0, MPFR_RNDN);
        mpfr_mul(r28295, r28279, r28279, MPFR_RNDN);
        ;
        ;
        mpfr_add(r28298, r28296, r28297, MPFR_RNDN);
        mpfr_pow(r28299, r28295, r28298, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28302, r28295, r28301, MPFR_RNDN);
        mpfr_add(r28303, r28300, r28302, MPFR_RNDN);
        mpfr_mul(r28304, r28299, r28303, MPFR_RNDN);
        ;
        mpfr_mul(r28306, r28295, r28305, MPFR_RNDN);
        mpfr_add(r28307, r28306, r28297, MPFR_RNDN);
        mpfr_mul(r28308, r28295, r28295, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28311, r28279, r28310, MPFR_RNDN);
        mpfr_mul(r28312, r28279, r28311, MPFR_RNDN);
        mpfr_add(r28313, r28309, r28312, MPFR_RNDN);
        mpfr_mul(r28314, r28308, r28313, MPFR_RNDN);
        mpfr_add(r28315, r28307, r28314, MPFR_RNDN);
        mpfr_add(r28316, r28304, r28315, MPFR_RNDN);
        mpfr_log(r28317, r28316, MPFR_RNDN);
        mpfr_pow(r28318, r28295, r28296, MPFR_RNDN);
        mpfr_mul(r28319, r28308, r28318, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28322, r28301, r28321, MPFR_RNDN);
        mpfr_mul(r28323, r28295, r28322, MPFR_RNDN);
        mpfr_add(r28324, r28320, r28323, MPFR_RNDN);
        mpfr_mul(r28325, r28319, r28324, MPFR_RNDN);
        mpfr_pow(r28326, r28279, r28296, MPFR_RNDN);
        ;
        mpfr_mul(r28328, r28327, r28279, MPFR_RNDN);
        mpfr_mul(r28329, r28326, r28328, MPFR_RNDN);
        ;
        mpfr_mul(r28331, r28295, r28330, MPFR_RNDN);
        mpfr_add(r28332, r28329, r28331, MPFR_RNDN);
        mpfr_add(r28333, r28332, r28297, MPFR_RNDN);
        mpfr_add(r28334, r28325, r28333, MPFR_RNDN);
        ;
        mpfr_mul(r28336, r28279, r28335, MPFR_RNDN);
        mpfr_mul(r28337, r28279, r28336, MPFR_RNDN);
        ;
        mpfr_add(r28339, r28337, r28338, MPFR_RNDN);
        mpfr_mul(r28340, r28318, r28339, MPFR_RNDN);
        mpfr_add(r28341, r28334, r28340, MPFR_RNDN);
        mpfr_log(r28342, r28341, MPFR_RNDN);
        mpfr_sub(r28343, r28317, r28342, MPFR_RNDN);
        mpfr_exp(r28344, r28343, MPFR_RNDN);
        mpfr_mul(r28345, r28344, r28279, MPFR_RNDN);
        ;
        mpfr_set_si(r28347, mpfr_cmp(r28292, r28346) <= 0, MPFR_RNDN);
        mpfr_mul(r28348, r28305, r28295, MPFR_RNDN);
        mpfr_add(r28349, r28297, r28348, MPFR_RNDN);
        mpfr_mul(r28350, r28309, r28308, MPFR_RNDN);
        mpfr_add(r28351, r28349, r28350, MPFR_RNDN);
        mpfr_mul(r28352, r28308, r28295, MPFR_RNDN);
        mpfr_mul(r28353, r28310, r28352, MPFR_RNDN);
        mpfr_add(r28354, r28351, r28353, MPFR_RNDN);
        mpfr_mul(r28355, r28352, r28295, MPFR_RNDN);
        mpfr_mul(r28356, r28300, r28355, MPFR_RNDN);
        mpfr_add(r28357, r28354, r28356, MPFR_RNDN);
        mpfr_mul(r28358, r28355, r28295, MPFR_RNDN);
        mpfr_mul(r28359, r28301, r28358, MPFR_RNDN);
        mpfr_add(r28360, r28357, r28359, MPFR_RNDN);
        mpfr_mul(r28361, r28330, r28295, MPFR_RNDN);
        mpfr_add(r28362, r28297, r28361, MPFR_RNDN);
        mpfr_mul(r28363, r28327, r28308, MPFR_RNDN);
        mpfr_add(r28364, r28362, r28363, MPFR_RNDN);
        mpfr_mul(r28365, r28338, r28352, MPFR_RNDN);
        mpfr_add(r28366, r28364, r28365, MPFR_RNDN);
        mpfr_mul(r28367, r28335, r28355, MPFR_RNDN);
        mpfr_add(r28368, r28366, r28367, MPFR_RNDN);
        mpfr_mul(r28369, r28320, r28358, MPFR_RNDN);
        mpfr_add(r28370, r28368, r28369, MPFR_RNDN);
        mpfr_mul(r28371, r28321, r28301, MPFR_RNDN);
        mpfr_mul(r28372, r28358, r28295, MPFR_RNDN);
        mpfr_mul(r28373, r28371, r28372, MPFR_RNDN);
        mpfr_add(r28374, r28370, r28373, MPFR_RNDN);
        mpfr_div(r28375, r28360, r28374, MPFR_RNDN);
        mpfr_mul(r28376, r28375, r28279, MPFR_RNDN);
        if (mpfr_get_si(r28347, MPFR_RNDN)) { mpfr_set(r28377, r28292, MPFR_RNDN); } else { mpfr_set(r28377, r28376, MPFR_RNDN); };
        if (mpfr_get_si(r28294, MPFR_RNDN)) { mpfr_set(r28378, r28345, MPFR_RNDN); } else { mpfr_set(r28378, r28377, MPFR_RNDN); };
        return mpfr_get_d(r28378, MPFR_RNDN);
}

