#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 r27795 = 1;
        float r27796 = 0.1049934947;
        float r27797 = x;
        float r27798 = r27797 * r27797;
        float r27799 = r27796 * r27798;
        float r27800 = r27795 + r27799;
        float r27801 = 0.0424060604;
        float r27802 = r27798 * r27798;
        float r27803 = r27801 * r27802;
        float r27804 = r27800 + r27803;
        float r27805 = 0.0072644182;
        float r27806 = r27802 * r27798;
        float r27807 = r27805 * r27806;
        float r27808 = r27804 + r27807;
        float r27809 = 0.0005064034;
        float r27810 = r27806 * r27798;
        float r27811 = r27809 * r27810;
        float r27812 = r27808 + r27811;
        float r27813 = 0.0001789971;
        float r27814 = r27810 * r27798;
        float r27815 = r27813 * r27814;
        float r27816 = r27812 + r27815;
        float r27817 = 0.7715471019;
        float r27818 = r27817 * r27798;
        float r27819 = r27795 + r27818;
        float r27820 = 0.2909738639;
        float r27821 = r27820 * r27802;
        float r27822 = r27819 + r27821;
        float r27823 = 0.0694555761;
        float r27824 = r27823 * r27806;
        float r27825 = r27822 + r27824;
        float r27826 = 0.0140005442;
        float r27827 = r27826 * r27810;
        float r27828 = r27825 + r27827;
        float r27829 = 0.0008327945;
        float r27830 = r27829 * r27814;
        float r27831 = r27828 + r27830;
        float r27832 = 2;
        float r27833 = r27832 * r27813;
        float r27834 = r27814 * r27798;
        float r27835 = r27833 * r27834;
        float r27836 = r27831 + r27835;
        float r27837 = r27816 / r27836;
        float r27838 = r27837 * r27797;
        return r27838;
}

double f_id(double x) {
        double r27839 = 1;
        double r27840 = 0.1049934947;
        double r27841 = x;
        double r27842 = r27841 * r27841;
        double r27843 = r27840 * r27842;
        double r27844 = r27839 + r27843;
        double r27845 = 0.0424060604;
        double r27846 = r27842 * r27842;
        double r27847 = r27845 * r27846;
        double r27848 = r27844 + r27847;
        double r27849 = 0.0072644182;
        double r27850 = r27846 * r27842;
        double r27851 = r27849 * r27850;
        double r27852 = r27848 + r27851;
        double r27853 = 0.0005064034;
        double r27854 = r27850 * r27842;
        double r27855 = r27853 * r27854;
        double r27856 = r27852 + r27855;
        double r27857 = 0.0001789971;
        double r27858 = r27854 * r27842;
        double r27859 = r27857 * r27858;
        double r27860 = r27856 + r27859;
        double r27861 = 0.7715471019;
        double r27862 = r27861 * r27842;
        double r27863 = r27839 + r27862;
        double r27864 = 0.2909738639;
        double r27865 = r27864 * r27846;
        double r27866 = r27863 + r27865;
        double r27867 = 0.0694555761;
        double r27868 = r27867 * r27850;
        double r27869 = r27866 + r27868;
        double r27870 = 0.0140005442;
        double r27871 = r27870 * r27854;
        double r27872 = r27869 + r27871;
        double r27873 = 0.0008327945;
        double r27874 = r27873 * r27858;
        double r27875 = r27872 + r27874;
        double r27876 = 2;
        double r27877 = r27876 * r27857;
        double r27878 = r27858 * r27842;
        double r27879 = r27877 * r27878;
        double r27880 = r27875 + r27879;
        double r27881 = r27860 / r27880;
        double r27882 = r27881 * r27841;
        return r27882;
}


double f_of(float x) {
        float r27883 = x;
        float r27884 = -2.2169703877081766e+20;
        bool r27885 = r27883 <= r27884;
        float r27886 = 715.5582663878339;
        bool r27887 = r27883 <= r27886;
        float r27888 = !r27887;
        bool r27889 = r27885 || r27888;
        float r27890 = 0.2514179000665375;
        float r27891 = 4;
        float r27892 = pow(r27883, r27891);
        float r27893 = r27890 / r27892;
        float r27894 = 0.15298196345929327;
        float r27895 = 6;
        float r27896 = pow(r27883, r27895);
        float r27897 = r27894 / r27896;
        float r27898 = r27893 + r27897;
        float r27899 = 0.5;
        float r27900 = r27899 / r27883;
        float r27901 = fma(r27898, r27883, r27900);
        float r27902 = r27883 * r27883;
        float r27903 = r27902 * r27902;
        float r27904 = 0.0072644182;
        float r27905 = r27904 * r27883;
        float r27906 = r27905 * r27883;
        float r27907 = 0.0424060604;
        float r27908 = 0.1049934947;
        float r27909 = 1;
        float r27910 = fma(r27902, r27908, r27909);
        float r27911 = fma(r27907, r27903, r27910);
        float r27912 = fma(r27903, r27906, r27911);
        float r27913 = 3;
        float r27914 = r27913 + r27909;
        float r27915 = pow(r27902, r27914);
        float r27916 = 0.0001789971;
        float r27917 = r27915 * r27916;
        float r27918 = 0.0005064034;
        float r27919 = r27918 * r27915;
        float r27920 = fma(r27917, r27902, r27919);
        float r27921 = r27912 + r27920;
        float r27922 = 2;
        float r27923 = r27916 * r27922;
        float r27924 = 0.0008327945;
        float r27925 = r27902 * r27924;
        float r27926 = fma(r27923, r27903, r27925);
        float r27927 = 0.0140005442;
        float r27928 = r27927 * r27915;
        float r27929 = fma(r27915, r27926, r27928);
        float r27930 = 0.0694555761;
        float r27931 = r27930 * r27883;
        float r27932 = r27931 * r27883;
        float r27933 = 0.2909738639;
        float r27934 = 0.7715471019;
        float r27935 = fma(r27934, r27902, r27909);
        float r27936 = fma(r27903, r27933, r27935);
        float r27937 = fma(r27932, r27903, r27936);
        float r27938 = r27929 + r27937;
        float r27939 = r27921 / r27938;
        float r27940 = log1p(r27939);
        float r27941 = expm1(r27940);
        float r27942 = r27883 * r27941;
        float r27943 = r27889 ? r27901 : r27942;
        return r27943;
}

double f_od(double x) {
        double r27944 = x;
        double r27945 = -2.2169703877081766e+20;
        bool r27946 = r27944 <= r27945;
        double r27947 = 715.5582663878339;
        bool r27948 = r27944 <= r27947;
        double r27949 = !r27948;
        bool r27950 = r27946 || r27949;
        double r27951 = 0.2514179000665375;
        double r27952 = 4;
        double r27953 = pow(r27944, r27952);
        double r27954 = r27951 / r27953;
        double r27955 = 0.15298196345929327;
        double r27956 = 6;
        double r27957 = pow(r27944, r27956);
        double r27958 = r27955 / r27957;
        double r27959 = r27954 + r27958;
        double r27960 = 0.5;
        double r27961 = r27960 / r27944;
        double r27962 = fma(r27959, r27944, r27961);
        double r27963 = r27944 * r27944;
        double r27964 = r27963 * r27963;
        double r27965 = 0.0072644182;
        double r27966 = r27965 * r27944;
        double r27967 = r27966 * r27944;
        double r27968 = 0.0424060604;
        double r27969 = 0.1049934947;
        double r27970 = 1;
        double r27971 = fma(r27963, r27969, r27970);
        double r27972 = fma(r27968, r27964, r27971);
        double r27973 = fma(r27964, r27967, r27972);
        double r27974 = 3;
        double r27975 = r27974 + r27970;
        double r27976 = pow(r27963, r27975);
        double r27977 = 0.0001789971;
        double r27978 = r27976 * r27977;
        double r27979 = 0.0005064034;
        double r27980 = r27979 * r27976;
        double r27981 = fma(r27978, r27963, r27980);
        double r27982 = r27973 + r27981;
        double r27983 = 2;
        double r27984 = r27977 * r27983;
        double r27985 = 0.0008327945;
        double r27986 = r27963 * r27985;
        double r27987 = fma(r27984, r27964, r27986);
        double r27988 = 0.0140005442;
        double r27989 = r27988 * r27976;
        double r27990 = fma(r27976, r27987, r27989);
        double r27991 = 0.0694555761;
        double r27992 = r27991 * r27944;
        double r27993 = r27992 * r27944;
        double r27994 = 0.2909738639;
        double r27995 = 0.7715471019;
        double r27996 = fma(r27995, r27963, r27970);
        double r27997 = fma(r27964, r27994, r27996);
        double r27998 = fma(r27993, r27964, r27997);
        double r27999 = r27990 + r27998;
        double r28000 = r27982 / r27999;
        double r28001 = log1p(r28000);
        double r28002 = expm1(r28001);
        double r28003 = r27944 * r28002;
        double r28004 = r27950 ? r27962 : r28003;
        return r28004;
}

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 r28005, r28006, r28007, r28008, r28009, r28010, r28011, r28012, r28013, r28014, r28015, r28016, r28017, r28018, r28019, r28020, r28021, r28022, r28023, r28024, r28025, r28026, r28027, r28028, r28029, r28030, r28031, r28032, r28033, r28034, r28035, r28036, r28037, r28038, r28039, r28040, r28041, r28042, r28043, r28044, r28045, r28046, r28047, r28048;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r28005, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r28006, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r28007);
        mpfr_init(r28008);
        mpfr_init(r28009);
        mpfr_init(r28010);
        mpfr_init_set_str(r28011, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r28012);
        mpfr_init(r28013);
        mpfr_init(r28014);
        mpfr_init_set_str(r28015, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28016);
        mpfr_init(r28017);
        mpfr_init(r28018);
        mpfr_init_set_str(r28019, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r28020);
        mpfr_init(r28021);
        mpfr_init(r28022);
        mpfr_init_set_str(r28023, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28024);
        mpfr_init(r28025);
        mpfr_init(r28026);
        mpfr_init_set_str(r28027, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28028);
        mpfr_init(r28029);
        mpfr_init_set_str(r28030, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r28031);
        mpfr_init(r28032);
        mpfr_init_set_str(r28033, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28034);
        mpfr_init(r28035);
        mpfr_init_set_str(r28036, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28037);
        mpfr_init(r28038);
        mpfr_init_set_str(r28039, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r28040);
        mpfr_init(r28041);
        mpfr_init_set_str(r28042, "2", 10, MPFR_RNDN);
        mpfr_init(r28043);
        mpfr_init(r28044);
        mpfr_init(r28045);
        mpfr_init(r28046);
        mpfr_init(r28047);
        mpfr_init(r28048);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r28007, x, MPFR_RNDN);
        mpfr_mul(r28008, r28007, r28007, MPFR_RNDN);
        mpfr_mul(r28009, r28006, r28008, MPFR_RNDN);
        mpfr_add(r28010, r28005, r28009, MPFR_RNDN);
        ;
        mpfr_mul(r28012, r28008, r28008, MPFR_RNDN);
        mpfr_mul(r28013, r28011, r28012, MPFR_RNDN);
        mpfr_add(r28014, r28010, r28013, MPFR_RNDN);
        ;
        mpfr_mul(r28016, r28012, r28008, MPFR_RNDN);
        mpfr_mul(r28017, r28015, r28016, MPFR_RNDN);
        mpfr_add(r28018, r28014, r28017, MPFR_RNDN);
        ;
        mpfr_mul(r28020, r28016, r28008, MPFR_RNDN);
        mpfr_mul(r28021, r28019, r28020, MPFR_RNDN);
        mpfr_add(r28022, r28018, r28021, MPFR_RNDN);
        ;
        mpfr_mul(r28024, r28020, r28008, MPFR_RNDN);
        mpfr_mul(r28025, r28023, r28024, MPFR_RNDN);
        mpfr_add(r28026, r28022, r28025, MPFR_RNDN);
        ;
        mpfr_mul(r28028, r28027, r28008, MPFR_RNDN);
        mpfr_add(r28029, r28005, r28028, MPFR_RNDN);
        ;
        mpfr_mul(r28031, r28030, r28012, MPFR_RNDN);
        mpfr_add(r28032, r28029, r28031, MPFR_RNDN);
        ;
        mpfr_mul(r28034, r28033, r28016, MPFR_RNDN);
        mpfr_add(r28035, r28032, r28034, MPFR_RNDN);
        ;
        mpfr_mul(r28037, r28036, r28020, MPFR_RNDN);
        mpfr_add(r28038, r28035, r28037, MPFR_RNDN);
        ;
        mpfr_mul(r28040, r28039, r28024, MPFR_RNDN);
        mpfr_add(r28041, r28038, r28040, MPFR_RNDN);
        ;
        mpfr_mul(r28043, r28042, r28023, MPFR_RNDN);
        mpfr_mul(r28044, r28024, r28008, MPFR_RNDN);
        mpfr_mul(r28045, r28043, r28044, MPFR_RNDN);
        mpfr_add(r28046, r28041, r28045, MPFR_RNDN);
        mpfr_div(r28047, r28026, r28046, MPFR_RNDN);
        mpfr_mul(r28048, r28047, r28007, MPFR_RNDN);
        return mpfr_get_d(r28048, MPFR_RNDN);
}

static mpfr_t r28049, r28050, r28051, r28052, r28053, r28054, r28055, r28056, r28057, r28058, r28059, r28060, r28061, r28062, r28063, r28064, r28065, r28066, r28067, r28068, r28069, r28070, r28071, r28072, r28073, r28074, r28075, r28076, r28077, r28078, r28079, r28080, r28081, r28082, r28083, r28084, r28085, r28086, r28087, r28088, r28089, r28090, r28091, r28092, r28093, r28094, r28095, r28096, r28097, r28098, r28099, r28100, r28101, r28102, r28103, r28104, r28105, r28106, r28107, r28108, r28109;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r28049);
        mpfr_init_set_str(r28050, "-2.2169703877081766e+20", 10, MPFR_RNDN);
        mpfr_init(r28051);
        mpfr_init_set_str(r28052, "715.5582663878339", 10, MPFR_RNDN);
        mpfr_init(r28053);
        mpfr_init(r28054);
        mpfr_init(r28055);
        mpfr_init_set_str(r28056, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init_set_str(r28057, "4", 10, MPFR_RNDN);
        mpfr_init(r28058);
        mpfr_init(r28059);
        mpfr_init_set_str(r28060, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init_set_str(r28061, "6", 10, MPFR_RNDN);
        mpfr_init(r28062);
        mpfr_init(r28063);
        mpfr_init(r28064);
        mpfr_init_set_str(r28065, "0.5", 10, MPFR_RNDN);
        mpfr_init(r28066);
        mpfr_init(r28067);
        mpfr_init(r28068);
        mpfr_init(r28069);
        mpfr_init_set_str(r28070, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28071);
        mpfr_init(r28072);
        mpfr_init_set_str(r28073, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r28074, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init_set_str(r28075, "1", 10, MPFR_RNDN);
        mpfr_init(r28076);
        mpfr_init(r28077);
        mpfr_init(r28078);
        mpfr_init_set_str(r28079, "3", 10, MPFR_RNDN);
        mpfr_init(r28080);
        mpfr_init(r28081);
        mpfr_init_set_str(r28082, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28083);
        mpfr_init_set_str(r28084, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r28085);
        mpfr_init(r28086);
        mpfr_init(r28087);
        mpfr_init_set_str(r28088, "2", 10, MPFR_RNDN);
        mpfr_init(r28089);
        mpfr_init_set_str(r28090, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r28091);
        mpfr_init(r28092);
        mpfr_init_set_str(r28093, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28094);
        mpfr_init(r28095);
        mpfr_init_set_str(r28096, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28097);
        mpfr_init(r28098);
        mpfr_init_set_str(r28099, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r28100, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28101);
        mpfr_init(r28102);
        mpfr_init(r28103);
        mpfr_init(r28104);
        mpfr_init(r28105);
        mpfr_init(r28106);
        mpfr_init(r28107);
        mpfr_init(r28108);
        mpfr_init(r28109);
}

double f_fm(double x) {
        mpfr_set_d(r28049, x, MPFR_RNDN);
        ;
        mpfr_set_si(r28051, mpfr_cmp(r28049, r28050) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r28053, mpfr_cmp(r28049, r28052) <= 0, MPFR_RNDN);
        mpfr_set_si(r28054, !mpfr_get_si(r28053, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r28055, mpfr_get_si(r28051, MPFR_RNDN) || mpfr_get_si(r28054, MPFR_RNDN), MPFR_RNDN);
        ;
        ;
        mpfr_pow(r28058, r28049, r28057, MPFR_RNDN);
        mpfr_div(r28059, r28056, r28058, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r28062, r28049, r28061, MPFR_RNDN);
        mpfr_div(r28063, r28060, r28062, MPFR_RNDN);
        mpfr_add(r28064, r28059, r28063, MPFR_RNDN);
        ;
        mpfr_div(r28066, r28065, r28049, MPFR_RNDN);
        mpfr_fma(r28067, r28064, r28049, r28066, MPFR_RNDN);
        mpfr_mul(r28068, r28049, r28049, MPFR_RNDN);
        mpfr_mul(r28069, r28068, r28068, MPFR_RNDN);
        ;
        mpfr_mul(r28071, r28070, r28049, MPFR_RNDN);
        mpfr_mul(r28072, r28071, r28049, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_fma(r28076, r28068, r28074, r28075, MPFR_RNDN);
        mpfr_fma(r28077, r28073, r28069, r28076, MPFR_RNDN);
        mpfr_fma(r28078, r28069, r28072, r28077, MPFR_RNDN);
        ;
        mpfr_add(r28080, r28079, r28075, MPFR_RNDN);
        mpfr_pow(r28081, r28068, r28080, MPFR_RNDN);
        ;
        mpfr_mul(r28083, r28081, r28082, MPFR_RNDN);
        ;
        mpfr_mul(r28085, r28084, r28081, MPFR_RNDN);
        mpfr_fma(r28086, r28083, r28068, r28085, MPFR_RNDN);
        mpfr_add(r28087, r28078, r28086, MPFR_RNDN);
        ;
        mpfr_mul(r28089, r28082, r28088, MPFR_RNDN);
        ;
        mpfr_mul(r28091, r28068, r28090, MPFR_RNDN);
        mpfr_fma(r28092, r28089, r28069, r28091, MPFR_RNDN);
        ;
        mpfr_mul(r28094, r28093, r28081, MPFR_RNDN);
        mpfr_fma(r28095, r28081, r28092, r28094, MPFR_RNDN);
        ;
        mpfr_mul(r28097, r28096, r28049, MPFR_RNDN);
        mpfr_mul(r28098, r28097, r28049, MPFR_RNDN);
        ;
        ;
        mpfr_fma(r28101, r28100, r28068, r28075, MPFR_RNDN);
        mpfr_fma(r28102, r28069, r28099, r28101, MPFR_RNDN);
        mpfr_fma(r28103, r28098, r28069, r28102, MPFR_RNDN);
        mpfr_add(r28104, r28095, r28103, MPFR_RNDN);
        mpfr_div(r28105, r28087, r28104, MPFR_RNDN);
        mpfr_log1p(r28106, r28105, MPFR_RNDN);
        mpfr_expm1(r28107, r28106, MPFR_RNDN);
        mpfr_mul(r28108, r28049, r28107, MPFR_RNDN);
        if (mpfr_get_si(r28055, MPFR_RNDN)) { mpfr_set(r28109, r28067, MPFR_RNDN); } else { mpfr_set(r28109, r28108, MPFR_RNDN); };
        return mpfr_get_d(r28109, MPFR_RNDN);
}

static mpfr_t r28110, r28111, r28112, r28113, r28114, r28115, r28116, r28117, r28118, r28119, r28120, r28121, r28122, r28123, r28124, r28125, r28126, r28127, r28128, r28129, r28130, r28131, r28132, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r28110);
        mpfr_init_set_str(r28111, "-2.2169703877081766e+20", 10, MPFR_RNDN);
        mpfr_init(r28112);
        mpfr_init_set_str(r28113, "715.5582663878339", 10, MPFR_RNDN);
        mpfr_init(r28114);
        mpfr_init(r28115);
        mpfr_init(r28116);
        mpfr_init_set_str(r28117, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init_set_str(r28118, "4", 10, MPFR_RNDN);
        mpfr_init(r28119);
        mpfr_init(r28120);
        mpfr_init_set_str(r28121, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init_set_str(r28122, "6", 10, MPFR_RNDN);
        mpfr_init(r28123);
        mpfr_init(r28124);
        mpfr_init(r28125);
        mpfr_init_set_str(r28126, "0.5", 10, MPFR_RNDN);
        mpfr_init(r28127);
        mpfr_init(r28128);
        mpfr_init(r28129);
        mpfr_init(r28130);
        mpfr_init_set_str(r28131, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28132);
        mpfr_init(r28133);
        mpfr_init_set_str(r28134, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r28135, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init_set_str(r28136, "1", 10, MPFR_RNDN);
        mpfr_init(r28137);
        mpfr_init(r28138);
        mpfr_init(r28139);
        mpfr_init_set_str(r28140, "3", 10, MPFR_RNDN);
        mpfr_init(r28141);
        mpfr_init(r28142);
        mpfr_init_set_str(r28143, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28144);
        mpfr_init_set_str(r28145, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r28146);
        mpfr_init(r28147);
        mpfr_init(r28148);
        mpfr_init_set_str(r28149, "2", 10, MPFR_RNDN);
        mpfr_init(r28150);
        mpfr_init_set_str(r28151, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r28152);
        mpfr_init(r28153);
        mpfr_init_set_str(r28154, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28155);
        mpfr_init(r28156);
        mpfr_init_set_str(r28157, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28158);
        mpfr_init(r28159);
        mpfr_init_set_str(r28160, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r28161, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28162);
        mpfr_init(r28163);
        mpfr_init(r28164);
        mpfr_init(r28165);
        mpfr_init(r28166);
        mpfr_init(r28167);
        mpfr_init(r28168);
        mpfr_init(r28169);
        mpfr_init(r28170);
}

double f_dm(double x) {
        mpfr_set_d(r28110, x, MPFR_RNDN);
        ;
        mpfr_set_si(r28112, mpfr_cmp(r28110, r28111) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r28114, mpfr_cmp(r28110, r28113) <= 0, MPFR_RNDN);
        mpfr_set_si(r28115, !mpfr_get_si(r28114, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r28116, mpfr_get_si(r28112, MPFR_RNDN) || mpfr_get_si(r28115, MPFR_RNDN), MPFR_RNDN);
        ;
        ;
        mpfr_pow(r28119, r28110, r28118, MPFR_RNDN);
        mpfr_div(r28120, r28117, r28119, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r28123, r28110, r28122, MPFR_RNDN);
        mpfr_div(r28124, r28121, r28123, MPFR_RNDN);
        mpfr_add(r28125, r28120, r28124, MPFR_RNDN);
        ;
        mpfr_div(r28127, r28126, r28110, MPFR_RNDN);
        mpfr_fma(r28128, r28125, r28110, r28127, MPFR_RNDN);
        mpfr_mul(r28129, r28110, r28110, MPFR_RNDN);
        mpfr_mul(r28130, r28129, r28129, MPFR_RNDN);
        ;
        mpfr_mul(r28132, r28131, r28110, MPFR_RNDN);
        mpfr_mul(r28133, r28132, r28110, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_fma(r28137, r28129, r28135, r28136, MPFR_RNDN);
        mpfr_fma(r28138, r28134, r28130, r28137, MPFR_RNDN);
        mpfr_fma(r28139, r28130, r28133, r28138, MPFR_RNDN);
        ;
        mpfr_add(r28141, r28140, r28136, MPFR_RNDN);
        mpfr_pow(r28142, r28129, r28141, MPFR_RNDN);
        ;
        mpfr_mul(r28144, r28142, r28143, MPFR_RNDN);
        ;
        mpfr_mul(r28146, r28145, r28142, MPFR_RNDN);
        mpfr_fma(r28147, r28144, r28129, r28146, MPFR_RNDN);
        mpfr_add(r28148, r28139, r28147, MPFR_RNDN);
        ;
        mpfr_mul(r28150, r28143, r28149, MPFR_RNDN);
        ;
        mpfr_mul(r28152, r28129, r28151, MPFR_RNDN);
        mpfr_fma(r28153, r28150, r28130, r28152, MPFR_RNDN);
        ;
        mpfr_mul(r28155, r28154, r28142, MPFR_RNDN);
        mpfr_fma(r28156, r28142, r28153, r28155, MPFR_RNDN);
        ;
        mpfr_mul(r28158, r28157, r28110, MPFR_RNDN);
        mpfr_mul(r28159, r28158, r28110, MPFR_RNDN);
        ;
        ;
        mpfr_fma(r28162, r28161, r28129, r28136, MPFR_RNDN);
        mpfr_fma(r28163, r28130, r28160, r28162, MPFR_RNDN);
        mpfr_fma(r28164, r28159, r28130, r28163, MPFR_RNDN);
        mpfr_add(r28165, r28156, r28164, MPFR_RNDN);
        mpfr_div(r28166, r28148, r28165, MPFR_RNDN);
        mpfr_log1p(r28167, r28166, MPFR_RNDN);
        mpfr_expm1(r28168, r28167, MPFR_RNDN);
        mpfr_mul(r28169, r28110, r28168, MPFR_RNDN);
        if (mpfr_get_si(r28116, MPFR_RNDN)) { mpfr_set(r28170, r28128, MPFR_RNDN); } else { mpfr_set(r28170, r28169, MPFR_RNDN); };
        return mpfr_get_d(r28170, MPFR_RNDN);
}

