#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Jmat.Real.erf";

double f_if(float x) {
        float r27834 = 1;
        float r27835 = 0.3275911;
        float r27836 = x;
        float r27837 = fabs(r27836);
        float r27838 = r27835 * r27837;
        float r27839 = r27834 + r27838;
        float r27840 = r27834 / r27839;
        float r27841 = 0.254829592;
        float r27842 = -0.284496736;
        float r27843 = 1.421413741;
        float r27844 = -1.453152027;
        float r27845 = 1.061405429;
        float r27846 = r27840 * r27845;
        float r27847 = r27844 + r27846;
        float r27848 = r27840 * r27847;
        float r27849 = r27843 + r27848;
        float r27850 = r27840 * r27849;
        float r27851 = r27842 + r27850;
        float r27852 = r27840 * r27851;
        float r27853 = r27841 + r27852;
        float r27854 = r27840 * r27853;
        float r27855 = r27837 * r27837;
        float r27856 = -r27855;
        float r27857 = exp(r27856);
        float r27858 = r27854 * r27857;
        float r27859 = r27834 - r27858;
        return r27859;
}

double f_id(double x) {
        double r27860 = 1;
        double r27861 = 0.3275911;
        double r27862 = x;
        double r27863 = fabs(r27862);
        double r27864 = r27861 * r27863;
        double r27865 = r27860 + r27864;
        double r27866 = r27860 / r27865;
        double r27867 = 0.254829592;
        double r27868 = -0.284496736;
        double r27869 = 1.421413741;
        double r27870 = -1.453152027;
        double r27871 = 1.061405429;
        double r27872 = r27866 * r27871;
        double r27873 = r27870 + r27872;
        double r27874 = r27866 * r27873;
        double r27875 = r27869 + r27874;
        double r27876 = r27866 * r27875;
        double r27877 = r27868 + r27876;
        double r27878 = r27866 * r27877;
        double r27879 = r27867 + r27878;
        double r27880 = r27866 * r27879;
        double r27881 = r27863 * r27863;
        double r27882 = -r27881;
        double r27883 = exp(r27882);
        double r27884 = r27880 * r27883;
        double r27885 = r27860 - r27884;
        return r27885;
}


double f_of(float x) {
        float r27886 = x;
        float r27887 = -6.337582211784264e-17;
        bool r27888 = r27886 <= r27887;
        float r27889 = 1;
        float r27890 = 0.284496736;
        float r27891 = fabs(r27886);
        float r27892 = 2;
        float r27893 = pow(r27891, r27892);
        float r27894 = -r27893;
        float r27895 = exp(r27894);
        float r27896 = 0.3275911;
        float r27897 = r27896 * r27891;
        float r27898 = r27889 + r27897;
        float r27899 = pow(r27898, r27892);
        float r27900 = r27895 / r27899;
        float r27901 = r27890 * r27900;
        float r27902 = r27889 + r27901;
        float r27903 = 4;
        float r27904 = pow(r27898, r27903);
        float r27905 = r27895 / r27904;
        float r27906 = 1.453152027;
        float r27907 = r27905 * r27906;
        float r27908 = r27902 + r27907;
        float r27909 = 3;
        float r27910 = pow(r27908, r27909);
        float r27911 = exp(r27910);
        float r27912 = pow(r27898, r27909);
        float r27913 = r27895 / r27912;
        float r27914 = 1.421413741;
        float r27915 = r27913 * r27914;
        float r27916 = 0.254829592;
        float r27917 = r27895 / r27898;
        float r27918 = r27916 * r27917;
        float r27919 = 1.061405429;
        float r27920 = 5;
        float r27921 = pow(r27898, r27920);
        float r27922 = r27895 / r27921;
        float r27923 = r27919 * r27922;
        float r27924 = r27918 + r27923;
        float r27925 = r27915 + r27924;
        float r27926 = pow(r27925, r27909);
        float r27927 = exp(r27926);
        float r27928 = r27911 / r27927;
        float r27929 = log(r27928);
        float r27930 = cbrt(r27929);
        float r27931 = r27930 * r27930;
        float r27932 = r27931 * r27930;
        float r27933 = r27908 * r27908;
        float r27934 = r27908 * r27925;
        float r27935 = r27925 * r27925;
        float r27936 = r27934 + r27935;
        float r27937 = r27933 + r27936;
        float r27938 = r27932 / r27937;
        float r27939 = 7.449606456263902e-11;
        bool r27940 = r27886 <= r27939;
        float r27941 = pow(r27901, r27909);
        float r27942 = pow(r27889, r27909);
        float r27943 = r27941 + r27942;
        float r27944 = r27904 * r27943;
        float r27945 = r27895 * r27906;
        float r27946 = r27901 * r27901;
        float r27947 = r27889 - r27901;
        float r27948 = r27946 + r27947;
        float r27949 = r27945 * r27948;
        float r27950 = r27944 + r27949;
        float r27951 = pow(r27950, r27909);
        float r27952 = r27918 - r27923;
        float r27953 = r27912 * r27952;
        float r27954 = pow(r27953, r27909);
        float r27955 = r27951 * r27954;
        float r27956 = r27918 * r27918;
        float r27957 = r27923 * r27923;
        float r27958 = r27956 - r27957;
        float r27959 = r27958 * r27912;
        float r27960 = r27914 * r27895;
        float r27961 = r27960 * r27952;
        float r27962 = r27959 + r27961;
        float r27963 = pow(r27962, r27909);
        float r27964 = r27948 * r27904;
        float r27965 = pow(r27964, r27909);
        float r27966 = r27963 * r27965;
        float r27967 = r27955 - r27966;
        float r27968 = r27954 * r27965;
        float r27969 = r27967 / r27968;
        float r27970 = r27969 / r27937;
        float r27971 = sqrt(r27908);
        float r27972 = pow(r27971, r27909);
        float r27973 = exp(r27972);
        float r27974 = pow(r27973, r27972);
        float r27975 = r27974 / r27927;
        float r27976 = log(r27975);
        float r27977 = r27976 / r27937;
        float r27978 = r27940 ? r27970 : r27977;
        float r27979 = r27888 ? r27938 : r27978;
        return r27979;
}

double f_od(double x) {
        double r27980 = x;
        double r27981 = -6.337582211784264e-17;
        bool r27982 = r27980 <= r27981;
        double r27983 = 1;
        double r27984 = 0.284496736;
        double r27985 = fabs(r27980);
        double r27986 = 2;
        double r27987 = pow(r27985, r27986);
        double r27988 = -r27987;
        double r27989 = exp(r27988);
        double r27990 = 0.3275911;
        double r27991 = r27990 * r27985;
        double r27992 = r27983 + r27991;
        double r27993 = pow(r27992, r27986);
        double r27994 = r27989 / r27993;
        double r27995 = r27984 * r27994;
        double r27996 = r27983 + r27995;
        double r27997 = 4;
        double r27998 = pow(r27992, r27997);
        double r27999 = r27989 / r27998;
        double r28000 = 1.453152027;
        double r28001 = r27999 * r28000;
        double r28002 = r27996 + r28001;
        double r28003 = 3;
        double r28004 = pow(r28002, r28003);
        double r28005 = exp(r28004);
        double r28006 = pow(r27992, r28003);
        double r28007 = r27989 / r28006;
        double r28008 = 1.421413741;
        double r28009 = r28007 * r28008;
        double r28010 = 0.254829592;
        double r28011 = r27989 / r27992;
        double r28012 = r28010 * r28011;
        double r28013 = 1.061405429;
        double r28014 = 5;
        double r28015 = pow(r27992, r28014);
        double r28016 = r27989 / r28015;
        double r28017 = r28013 * r28016;
        double r28018 = r28012 + r28017;
        double r28019 = r28009 + r28018;
        double r28020 = pow(r28019, r28003);
        double r28021 = exp(r28020);
        double r28022 = r28005 / r28021;
        double r28023 = log(r28022);
        double r28024 = cbrt(r28023);
        double r28025 = r28024 * r28024;
        double r28026 = r28025 * r28024;
        double r28027 = r28002 * r28002;
        double r28028 = r28002 * r28019;
        double r28029 = r28019 * r28019;
        double r28030 = r28028 + r28029;
        double r28031 = r28027 + r28030;
        double r28032 = r28026 / r28031;
        double r28033 = 7.449606456263902e-11;
        bool r28034 = r27980 <= r28033;
        double r28035 = pow(r27995, r28003);
        double r28036 = pow(r27983, r28003);
        double r28037 = r28035 + r28036;
        double r28038 = r27998 * r28037;
        double r28039 = r27989 * r28000;
        double r28040 = r27995 * r27995;
        double r28041 = r27983 - r27995;
        double r28042 = r28040 + r28041;
        double r28043 = r28039 * r28042;
        double r28044 = r28038 + r28043;
        double r28045 = pow(r28044, r28003);
        double r28046 = r28012 - r28017;
        double r28047 = r28006 * r28046;
        double r28048 = pow(r28047, r28003);
        double r28049 = r28045 * r28048;
        double r28050 = r28012 * r28012;
        double r28051 = r28017 * r28017;
        double r28052 = r28050 - r28051;
        double r28053 = r28052 * r28006;
        double r28054 = r28008 * r27989;
        double r28055 = r28054 * r28046;
        double r28056 = r28053 + r28055;
        double r28057 = pow(r28056, r28003);
        double r28058 = r28042 * r27998;
        double r28059 = pow(r28058, r28003);
        double r28060 = r28057 * r28059;
        double r28061 = r28049 - r28060;
        double r28062 = r28048 * r28059;
        double r28063 = r28061 / r28062;
        double r28064 = r28063 / r28031;
        double r28065 = sqrt(r28002);
        double r28066 = pow(r28065, r28003);
        double r28067 = exp(r28066);
        double r28068 = pow(r28067, r28066);
        double r28069 = r28068 / r28021;
        double r28070 = log(r28069);
        double r28071 = r28070 / r28031;
        double r28072 = r28034 ? r28064 : r28071;
        double r28073 = r27982 ? r28032 : r28072;
        return r28073;
}

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

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r28074, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r28075, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r28076);
        mpfr_init(r28077);
        mpfr_init(r28078);
        mpfr_init(r28079);
        mpfr_init(r28080);
        mpfr_init_set_str(r28081, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r28082, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r28083, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r28084, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r28085, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r28086);
        mpfr_init(r28087);
        mpfr_init(r28088);
        mpfr_init(r28089);
        mpfr_init(r28090);
        mpfr_init(r28091);
        mpfr_init(r28092);
        mpfr_init(r28093);
        mpfr_init(r28094);
        mpfr_init(r28095);
        mpfr_init(r28096);
        mpfr_init(r28097);
        mpfr_init(r28098);
        mpfr_init(r28099);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r28076, x, MPFR_RNDN);
        mpfr_abs(r28077, r28076, MPFR_RNDN);
        mpfr_mul(r28078, r28075, r28077, MPFR_RNDN);
        mpfr_add(r28079, r28074, r28078, MPFR_RNDN);
        mpfr_div(r28080, r28074, r28079, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r28086, r28080, r28085, MPFR_RNDN);
        mpfr_add(r28087, r28084, r28086, MPFR_RNDN);
        mpfr_mul(r28088, r28080, r28087, MPFR_RNDN);
        mpfr_add(r28089, r28083, r28088, MPFR_RNDN);
        mpfr_mul(r28090, r28080, r28089, MPFR_RNDN);
        mpfr_add(r28091, r28082, r28090, MPFR_RNDN);
        mpfr_mul(r28092, r28080, r28091, MPFR_RNDN);
        mpfr_add(r28093, r28081, r28092, MPFR_RNDN);
        mpfr_mul(r28094, r28080, r28093, MPFR_RNDN);
        mpfr_mul(r28095, r28077, r28077, MPFR_RNDN);
        mpfr_neg(r28096, r28095, MPFR_RNDN);
        mpfr_exp(r28097, r28096, MPFR_RNDN);
        mpfr_mul(r28098, r28094, r28097, MPFR_RNDN);
        mpfr_sub(r28099, r28074, r28098, MPFR_RNDN);
        return mpfr_get_d(r28099, MPFR_RNDN);
}

static mpfr_t r28100, r28101, r28102, r28103, r28104, r28105, r28106, r28107, r28108, r28109, 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, r28171, r28172, r28173, r28174, r28175, r28176, r28177, r28178, r28179, r28180, r28181, r28182, r28183, r28184, r28185, r28186, r28187, r28188, r28189, r28190, r28191, r28192, r28193;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r28100);
        mpfr_init_set_str(r28101, "-6.337582211784264e-17", 10, MPFR_RNDN);
        mpfr_init(r28102);
        mpfr_init_set_str(r28103, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r28104, "0.284496736", 10, MPFR_RNDN);
        mpfr_init(r28105);
        mpfr_init_set_str(r28106, "2", 10, MPFR_RNDN);
        mpfr_init(r28107);
        mpfr_init(r28108);
        mpfr_init(r28109);
        mpfr_init_set_str(r28110, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r28111);
        mpfr_init(r28112);
        mpfr_init(r28113);
        mpfr_init(r28114);
        mpfr_init(r28115);
        mpfr_init(r28116);
        mpfr_init_set_str(r28117, "4", 10, MPFR_RNDN);
        mpfr_init(r28118);
        mpfr_init(r28119);
        mpfr_init_set_str(r28120, "1.453152027", 10, MPFR_RNDN);
        mpfr_init(r28121);
        mpfr_init(r28122);
        mpfr_init_set_str(r28123, "3", 10, MPFR_RNDN);
        mpfr_init(r28124);
        mpfr_init(r28125);
        mpfr_init(r28126);
        mpfr_init(r28127);
        mpfr_init_set_str(r28128, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r28129);
        mpfr_init_set_str(r28130, "0.254829592", 10, MPFR_RNDN);
        mpfr_init(r28131);
        mpfr_init(r28132);
        mpfr_init_set_str(r28133, "1.061405429", 10, MPFR_RNDN);
        mpfr_init_set_str(r28134, "5", 10, MPFR_RNDN);
        mpfr_init(r28135);
        mpfr_init(r28136);
        mpfr_init(r28137);
        mpfr_init(r28138);
        mpfr_init(r28139);
        mpfr_init(r28140);
        mpfr_init(r28141);
        mpfr_init(r28142);
        mpfr_init(r28143);
        mpfr_init(r28144);
        mpfr_init(r28145);
        mpfr_init(r28146);
        mpfr_init(r28147);
        mpfr_init(r28148);
        mpfr_init(r28149);
        mpfr_init(r28150);
        mpfr_init(r28151);
        mpfr_init(r28152);
        mpfr_init_set_str(r28153, "7.449606456263902e-11", 10, MPFR_RNDN);
        mpfr_init(r28154);
        mpfr_init(r28155);
        mpfr_init(r28156);
        mpfr_init(r28157);
        mpfr_init(r28158);
        mpfr_init(r28159);
        mpfr_init(r28160);
        mpfr_init(r28161);
        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);
        mpfr_init(r28171);
        mpfr_init(r28172);
        mpfr_init(r28173);
        mpfr_init(r28174);
        mpfr_init(r28175);
        mpfr_init(r28176);
        mpfr_init(r28177);
        mpfr_init(r28178);
        mpfr_init(r28179);
        mpfr_init(r28180);
        mpfr_init(r28181);
        mpfr_init(r28182);
        mpfr_init(r28183);
        mpfr_init(r28184);
        mpfr_init(r28185);
        mpfr_init(r28186);
        mpfr_init(r28187);
        mpfr_init(r28188);
        mpfr_init(r28189);
        mpfr_init(r28190);
        mpfr_init(r28191);
        mpfr_init(r28192);
        mpfr_init(r28193);
}

double f_fm(double x) {
        mpfr_set_d(r28100, x, MPFR_RNDN);
        ;
        mpfr_set_si(r28102, mpfr_cmp(r28100, r28101) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_abs(r28105, r28100, MPFR_RNDN);
        ;
        mpfr_pow(r28107, r28105, r28106, MPFR_RNDN);
        mpfr_neg(r28108, r28107, MPFR_RNDN);
        mpfr_exp(r28109, r28108, MPFR_RNDN);
        ;
        mpfr_mul(r28111, r28110, r28105, MPFR_RNDN);
        mpfr_add(r28112, r28103, r28111, MPFR_RNDN);
        mpfr_pow(r28113, r28112, r28106, MPFR_RNDN);
        mpfr_div(r28114, r28109, r28113, MPFR_RNDN);
        mpfr_mul(r28115, r28104, r28114, MPFR_RNDN);
        mpfr_add(r28116, r28103, r28115, MPFR_RNDN);
        ;
        mpfr_pow(r28118, r28112, r28117, MPFR_RNDN);
        mpfr_div(r28119, r28109, r28118, MPFR_RNDN);
        ;
        mpfr_mul(r28121, r28119, r28120, MPFR_RNDN);
        mpfr_add(r28122, r28116, r28121, MPFR_RNDN);
        ;
        mpfr_pow(r28124, r28122, r28123, MPFR_RNDN);
        mpfr_exp(r28125, r28124, MPFR_RNDN);
        mpfr_pow(r28126, r28112, r28123, MPFR_RNDN);
        mpfr_div(r28127, r28109, r28126, MPFR_RNDN);
        ;
        mpfr_mul(r28129, r28127, r28128, MPFR_RNDN);
        ;
        mpfr_div(r28131, r28109, r28112, MPFR_RNDN);
        mpfr_mul(r28132, r28130, r28131, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r28135, r28112, r28134, MPFR_RNDN);
        mpfr_div(r28136, r28109, r28135, MPFR_RNDN);
        mpfr_mul(r28137, r28133, r28136, MPFR_RNDN);
        mpfr_add(r28138, r28132, r28137, MPFR_RNDN);
        mpfr_add(r28139, r28129, r28138, MPFR_RNDN);
        mpfr_pow(r28140, r28139, r28123, MPFR_RNDN);
        mpfr_exp(r28141, r28140, MPFR_RNDN);
        mpfr_div(r28142, r28125, r28141, MPFR_RNDN);
        mpfr_log(r28143, r28142, MPFR_RNDN);
        mpfr_cbrt(r28144, r28143, MPFR_RNDN);
        mpfr_mul(r28145, r28144, r28144, MPFR_RNDN);
        mpfr_mul(r28146, r28145, r28144, MPFR_RNDN);
        mpfr_mul(r28147, r28122, r28122, MPFR_RNDN);
        mpfr_mul(r28148, r28122, r28139, MPFR_RNDN);
        mpfr_mul(r28149, r28139, r28139, MPFR_RNDN);
        mpfr_add(r28150, r28148, r28149, MPFR_RNDN);
        mpfr_add(r28151, r28147, r28150, MPFR_RNDN);
        mpfr_div(r28152, r28146, r28151, MPFR_RNDN);
        ;
        mpfr_set_si(r28154, mpfr_cmp(r28100, r28153) <= 0, MPFR_RNDN);
        mpfr_pow(r28155, r28115, r28123, MPFR_RNDN);
        mpfr_pow(r28156, r28103, r28123, MPFR_RNDN);
        mpfr_add(r28157, r28155, r28156, MPFR_RNDN);
        mpfr_mul(r28158, r28118, r28157, MPFR_RNDN);
        mpfr_mul(r28159, r28109, r28120, MPFR_RNDN);
        mpfr_mul(r28160, r28115, r28115, MPFR_RNDN);
        mpfr_sub(r28161, r28103, r28115, MPFR_RNDN);
        mpfr_add(r28162, r28160, r28161, MPFR_RNDN);
        mpfr_mul(r28163, r28159, r28162, MPFR_RNDN);
        mpfr_add(r28164, r28158, r28163, MPFR_RNDN);
        mpfr_pow(r28165, r28164, r28123, MPFR_RNDN);
        mpfr_sub(r28166, r28132, r28137, MPFR_RNDN);
        mpfr_mul(r28167, r28126, r28166, MPFR_RNDN);
        mpfr_pow(r28168, r28167, r28123, MPFR_RNDN);
        mpfr_mul(r28169, r28165, r28168, MPFR_RNDN);
        mpfr_mul(r28170, r28132, r28132, MPFR_RNDN);
        mpfr_mul(r28171, r28137, r28137, MPFR_RNDN);
        mpfr_sub(r28172, r28170, r28171, MPFR_RNDN);
        mpfr_mul(r28173, r28172, r28126, MPFR_RNDN);
        mpfr_mul(r28174, r28128, r28109, MPFR_RNDN);
        mpfr_mul(r28175, r28174, r28166, MPFR_RNDN);
        mpfr_add(r28176, r28173, r28175, MPFR_RNDN);
        mpfr_pow(r28177, r28176, r28123, MPFR_RNDN);
        mpfr_mul(r28178, r28162, r28118, MPFR_RNDN);
        mpfr_pow(r28179, r28178, r28123, MPFR_RNDN);
        mpfr_mul(r28180, r28177, r28179, MPFR_RNDN);
        mpfr_sub(r28181, r28169, r28180, MPFR_RNDN);
        mpfr_mul(r28182, r28168, r28179, MPFR_RNDN);
        mpfr_div(r28183, r28181, r28182, MPFR_RNDN);
        mpfr_div(r28184, r28183, r28151, MPFR_RNDN);
        mpfr_sqrt(r28185, r28122, MPFR_RNDN);
        mpfr_pow(r28186, r28185, r28123, MPFR_RNDN);
        mpfr_exp(r28187, r28186, MPFR_RNDN);
        mpfr_pow(r28188, r28187, r28186, MPFR_RNDN);
        mpfr_div(r28189, r28188, r28141, MPFR_RNDN);
        mpfr_log(r28190, r28189, MPFR_RNDN);
        mpfr_div(r28191, r28190, r28151, MPFR_RNDN);
        if (mpfr_get_si(r28154, MPFR_RNDN)) { mpfr_set(r28192, r28184, MPFR_RNDN); } else { mpfr_set(r28192, r28191, MPFR_RNDN); };
        if (mpfr_get_si(r28102, MPFR_RNDN)) { mpfr_set(r28193, r28152, MPFR_RNDN); } else { mpfr_set(r28193, r28192, MPFR_RNDN); };
        return mpfr_get_d(r28193, MPFR_RNDN);
}

static mpfr_t 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, r28278, r28279, r28280, r28281, r28282, r28283, r28284, r28285, r28286, r28287;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r28194);
        mpfr_init_set_str(r28195, "-6.337582211784264e-17", 10, MPFR_RNDN);
        mpfr_init(r28196);
        mpfr_init_set_str(r28197, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r28198, "0.284496736", 10, MPFR_RNDN);
        mpfr_init(r28199);
        mpfr_init_set_str(r28200, "2", 10, MPFR_RNDN);
        mpfr_init(r28201);
        mpfr_init(r28202);
        mpfr_init(r28203);
        mpfr_init_set_str(r28204, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r28205);
        mpfr_init(r28206);
        mpfr_init(r28207);
        mpfr_init(r28208);
        mpfr_init(r28209);
        mpfr_init(r28210);
        mpfr_init_set_str(r28211, "4", 10, MPFR_RNDN);
        mpfr_init(r28212);
        mpfr_init(r28213);
        mpfr_init_set_str(r28214, "1.453152027", 10, MPFR_RNDN);
        mpfr_init(r28215);
        mpfr_init(r28216);
        mpfr_init_set_str(r28217, "3", 10, MPFR_RNDN);
        mpfr_init(r28218);
        mpfr_init(r28219);
        mpfr_init(r28220);
        mpfr_init(r28221);
        mpfr_init_set_str(r28222, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r28223);
        mpfr_init_set_str(r28224, "0.254829592", 10, MPFR_RNDN);
        mpfr_init(r28225);
        mpfr_init(r28226);
        mpfr_init_set_str(r28227, "1.061405429", 10, MPFR_RNDN);
        mpfr_init_set_str(r28228, "5", 10, MPFR_RNDN);
        mpfr_init(r28229);
        mpfr_init(r28230);
        mpfr_init(r28231);
        mpfr_init(r28232);
        mpfr_init(r28233);
        mpfr_init(r28234);
        mpfr_init(r28235);
        mpfr_init(r28236);
        mpfr_init(r28237);
        mpfr_init(r28238);
        mpfr_init(r28239);
        mpfr_init(r28240);
        mpfr_init(r28241);
        mpfr_init(r28242);
        mpfr_init(r28243);
        mpfr_init(r28244);
        mpfr_init(r28245);
        mpfr_init(r28246);
        mpfr_init_set_str(r28247, "7.449606456263902e-11", 10, MPFR_RNDN);
        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);
        mpfr_init(r28278);
        mpfr_init(r28279);
        mpfr_init(r28280);
        mpfr_init(r28281);
        mpfr_init(r28282);
        mpfr_init(r28283);
        mpfr_init(r28284);
        mpfr_init(r28285);
        mpfr_init(r28286);
        mpfr_init(r28287);
}

double f_dm(double x) {
        mpfr_set_d(r28194, x, MPFR_RNDN);
        ;
        mpfr_set_si(r28196, mpfr_cmp(r28194, r28195) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_abs(r28199, r28194, MPFR_RNDN);
        ;
        mpfr_pow(r28201, r28199, r28200, MPFR_RNDN);
        mpfr_neg(r28202, r28201, MPFR_RNDN);
        mpfr_exp(r28203, r28202, MPFR_RNDN);
        ;
        mpfr_mul(r28205, r28204, r28199, MPFR_RNDN);
        mpfr_add(r28206, r28197, r28205, MPFR_RNDN);
        mpfr_pow(r28207, r28206, r28200, MPFR_RNDN);
        mpfr_div(r28208, r28203, r28207, MPFR_RNDN);
        mpfr_mul(r28209, r28198, r28208, MPFR_RNDN);
        mpfr_add(r28210, r28197, r28209, MPFR_RNDN);
        ;
        mpfr_pow(r28212, r28206, r28211, MPFR_RNDN);
        mpfr_div(r28213, r28203, r28212, MPFR_RNDN);
        ;
        mpfr_mul(r28215, r28213, r28214, MPFR_RNDN);
        mpfr_add(r28216, r28210, r28215, MPFR_RNDN);
        ;
        mpfr_pow(r28218, r28216, r28217, MPFR_RNDN);
        mpfr_exp(r28219, r28218, MPFR_RNDN);
        mpfr_pow(r28220, r28206, r28217, MPFR_RNDN);
        mpfr_div(r28221, r28203, r28220, MPFR_RNDN);
        ;
        mpfr_mul(r28223, r28221, r28222, MPFR_RNDN);
        ;
        mpfr_div(r28225, r28203, r28206, MPFR_RNDN);
        mpfr_mul(r28226, r28224, r28225, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r28229, r28206, r28228, MPFR_RNDN);
        mpfr_div(r28230, r28203, r28229, MPFR_RNDN);
        mpfr_mul(r28231, r28227, r28230, MPFR_RNDN);
        mpfr_add(r28232, r28226, r28231, MPFR_RNDN);
        mpfr_add(r28233, r28223, r28232, MPFR_RNDN);
        mpfr_pow(r28234, r28233, r28217, MPFR_RNDN);
        mpfr_exp(r28235, r28234, MPFR_RNDN);
        mpfr_div(r28236, r28219, r28235, MPFR_RNDN);
        mpfr_log(r28237, r28236, MPFR_RNDN);
        mpfr_cbrt(r28238, r28237, MPFR_RNDN);
        mpfr_mul(r28239, r28238, r28238, MPFR_RNDN);
        mpfr_mul(r28240, r28239, r28238, MPFR_RNDN);
        mpfr_mul(r28241, r28216, r28216, MPFR_RNDN);
        mpfr_mul(r28242, r28216, r28233, MPFR_RNDN);
        mpfr_mul(r28243, r28233, r28233, MPFR_RNDN);
        mpfr_add(r28244, r28242, r28243, MPFR_RNDN);
        mpfr_add(r28245, r28241, r28244, MPFR_RNDN);
        mpfr_div(r28246, r28240, r28245, MPFR_RNDN);
        ;
        mpfr_set_si(r28248, mpfr_cmp(r28194, r28247) <= 0, MPFR_RNDN);
        mpfr_pow(r28249, r28209, r28217, MPFR_RNDN);
        mpfr_pow(r28250, r28197, r28217, MPFR_RNDN);
        mpfr_add(r28251, r28249, r28250, MPFR_RNDN);
        mpfr_mul(r28252, r28212, r28251, MPFR_RNDN);
        mpfr_mul(r28253, r28203, r28214, MPFR_RNDN);
        mpfr_mul(r28254, r28209, r28209, MPFR_RNDN);
        mpfr_sub(r28255, r28197, r28209, MPFR_RNDN);
        mpfr_add(r28256, r28254, r28255, MPFR_RNDN);
        mpfr_mul(r28257, r28253, r28256, MPFR_RNDN);
        mpfr_add(r28258, r28252, r28257, MPFR_RNDN);
        mpfr_pow(r28259, r28258, r28217, MPFR_RNDN);
        mpfr_sub(r28260, r28226, r28231, MPFR_RNDN);
        mpfr_mul(r28261, r28220, r28260, MPFR_RNDN);
        mpfr_pow(r28262, r28261, r28217, MPFR_RNDN);
        mpfr_mul(r28263, r28259, r28262, MPFR_RNDN);
        mpfr_mul(r28264, r28226, r28226, MPFR_RNDN);
        mpfr_mul(r28265, r28231, r28231, MPFR_RNDN);
        mpfr_sub(r28266, r28264, r28265, MPFR_RNDN);
        mpfr_mul(r28267, r28266, r28220, MPFR_RNDN);
        mpfr_mul(r28268, r28222, r28203, MPFR_RNDN);
        mpfr_mul(r28269, r28268, r28260, MPFR_RNDN);
        mpfr_add(r28270, r28267, r28269, MPFR_RNDN);
        mpfr_pow(r28271, r28270, r28217, MPFR_RNDN);
        mpfr_mul(r28272, r28256, r28212, MPFR_RNDN);
        mpfr_pow(r28273, r28272, r28217, MPFR_RNDN);
        mpfr_mul(r28274, r28271, r28273, MPFR_RNDN);
        mpfr_sub(r28275, r28263, r28274, MPFR_RNDN);
        mpfr_mul(r28276, r28262, r28273, MPFR_RNDN);
        mpfr_div(r28277, r28275, r28276, MPFR_RNDN);
        mpfr_div(r28278, r28277, r28245, MPFR_RNDN);
        mpfr_sqrt(r28279, r28216, MPFR_RNDN);
        mpfr_pow(r28280, r28279, r28217, MPFR_RNDN);
        mpfr_exp(r28281, r28280, MPFR_RNDN);
        mpfr_pow(r28282, r28281, r28280, MPFR_RNDN);
        mpfr_div(r28283, r28282, r28235, MPFR_RNDN);
        mpfr_log(r28284, r28283, MPFR_RNDN);
        mpfr_div(r28285, r28284, r28245, MPFR_RNDN);
        if (mpfr_get_si(r28248, MPFR_RNDN)) { mpfr_set(r28286, r28278, MPFR_RNDN); } else { mpfr_set(r28286, r28285, MPFR_RNDN); };
        if (mpfr_get_si(r28196, MPFR_RNDN)) { mpfr_set(r28287, r28246, MPFR_RNDN); } else { mpfr_set(r28287, r28286, MPFR_RNDN); };
        return mpfr_get_d(r28287, MPFR_RNDN);
}

