#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 r18862 = 1.0f;
        float r18863 = 0.3275911f;
        float r18864 = x;
        float r18865 = fabs(r18864);
        float r18866 = r18863 * r18865;
        float r18867 = r18862 + r18866;
        float r18868 = r18862 / r18867;
        float r18869 = 0.254829592f;
        float r18870 = -0.284496736f;
        float r18871 = 1.421413741f;
        float r18872 = -1.453152027f;
        float r18873 = 1.061405429f;
        float r18874 = r18868 * r18873;
        float r18875 = r18872 + r18874;
        float r18876 = r18868 * r18875;
        float r18877 = r18871 + r18876;
        float r18878 = r18868 * r18877;
        float r18879 = r18870 + r18878;
        float r18880 = r18868 * r18879;
        float r18881 = r18869 + r18880;
        float r18882 = r18868 * r18881;
        float r18883 = r18865 * r18865;
        float r18884 = -r18883;
        float r18885 = exp(r18884);
        float r18886 = r18882 * r18885;
        float r18887 = r18862 - r18886;
        return r18887;
}

double f_id(double x) {
        double r18888 = 1.0;
        double r18889 = 0.3275911;
        double r18890 = x;
        double r18891 = fabs(r18890);
        double r18892 = r18889 * r18891;
        double r18893 = r18888 + r18892;
        double r18894 = r18888 / r18893;
        double r18895 = 0.254829592;
        double r18896 = -0.284496736;
        double r18897 = 1.421413741;
        double r18898 = -1.453152027;
        double r18899 = 1.061405429;
        double r18900 = r18894 * r18899;
        double r18901 = r18898 + r18900;
        double r18902 = r18894 * r18901;
        double r18903 = r18897 + r18902;
        double r18904 = r18894 * r18903;
        double r18905 = r18896 + r18904;
        double r18906 = r18894 * r18905;
        double r18907 = r18895 + r18906;
        double r18908 = r18894 * r18907;
        double r18909 = r18891 * r18891;
        double r18910 = -r18909;
        double r18911 = exp(r18910);
        double r18912 = r18908 * r18911;
        double r18913 = r18888 - r18912;
        return r18913;
}


double f_of(float x) {
        float r18914 = 1.0f;
        float r18915 = 3.0f;
        float r18916 = pow(r18914, r18915);
        float r18917 = 0.3275911f;
        float r18918 = x;
        float r18919 = fabs(r18918);
        float r18920 = r18917 * r18919;
        float r18921 = r18914 + r18920;
        float r18922 = r18914 / r18921;
        float r18923 = 0.254829592f;
        float r18924 = 1.061405429f;
        float r18925 = r18919 * r18917;
        float r18926 = r18914 + r18925;
        float r18927 = r18924 / r18926;
        float r18928 = -1.453152027f;
        float r18929 = r18927 + r18928;
        float r18930 = r18926 * r18926;
        float r18931 = r18929 / r18930;
        float r18932 = exp(r18931);
        float r18933 = 1.421413741f;
        float r18934 = r18933 / r18926;
        float r18935 = -0.284496736f;
        float r18936 = r18934 + r18935;
        float r18937 = exp(r18936);
        float r18938 = r18932 * r18937;
        float r18939 = log(r18938);
        float r18940 = r18922 * r18939;
        float r18941 = r18923 + r18940;
        float r18942 = r18922 * r18941;
        float r18943 = r18919 * r18919;
        float r18944 = -r18943;
        float r18945 = exp(r18944);
        float r18946 = r18942 * r18945;
        float r18947 = pow(r18946, r18915);
        float r18948 = r18916 - r18947;
        float r18949 = r18925 + r18914;
        float r18950 = r18924 / r18949;
        float r18951 = r18928 + r18950;
        float r18952 = r18949 * r18949;
        float r18953 = r18951 / r18952;
        float r18954 = r18933 / r18949;
        float r18955 = r18954 + r18935;
        float r18956 = r18953 + r18955;
        float r18957 = r18956 / r18949;
        float r18958 = r18923 + r18957;
        float r18959 = exp(r18943);
        float r18960 = r18959 * r18949;
        float r18961 = r18958 / r18960;
        float r18962 = r18961 + r18914;
        float r18963 = r18961 * r18961;
        float r18964 = r18962 + r18963;
        float r18965 = r18948 / r18964;
        return r18965;
}

double f_od(double x) {
        double r18966 = 1.0;
        double r18967 = 3.0;
        double r18968 = pow(r18966, r18967);
        double r18969 = 0.3275911;
        double r18970 = x;
        double r18971 = fabs(r18970);
        double r18972 = r18969 * r18971;
        double r18973 = r18966 + r18972;
        double r18974 = r18966 / r18973;
        double r18975 = 0.254829592;
        double r18976 = 1.061405429;
        double r18977 = r18971 * r18969;
        double r18978 = r18966 + r18977;
        double r18979 = r18976 / r18978;
        double r18980 = -1.453152027;
        double r18981 = r18979 + r18980;
        double r18982 = r18978 * r18978;
        double r18983 = r18981 / r18982;
        double r18984 = exp(r18983);
        double r18985 = 1.421413741;
        double r18986 = r18985 / r18978;
        double r18987 = -0.284496736;
        double r18988 = r18986 + r18987;
        double r18989 = exp(r18988);
        double r18990 = r18984 * r18989;
        double r18991 = log(r18990);
        double r18992 = r18974 * r18991;
        double r18993 = r18975 + r18992;
        double r18994 = r18974 * r18993;
        double r18995 = r18971 * r18971;
        double r18996 = -r18995;
        double r18997 = exp(r18996);
        double r18998 = r18994 * r18997;
        double r18999 = pow(r18998, r18967);
        double r19000 = r18968 - r18999;
        double r19001 = r18977 + r18966;
        double r19002 = r18976 / r19001;
        double r19003 = r18980 + r19002;
        double r19004 = r19001 * r19001;
        double r19005 = r19003 / r19004;
        double r19006 = r18985 / r19001;
        double r19007 = r19006 + r18987;
        double r19008 = r19005 + r19007;
        double r19009 = r19008 / r19001;
        double r19010 = r18975 + r19009;
        double r19011 = exp(r18995);
        double r19012 = r19011 * r19001;
        double r19013 = r19010 / r19012;
        double r19014 = r19013 + r18966;
        double r19015 = r19013 * r19013;
        double r19016 = r19014 + r19015;
        double r19017 = r19000 / r19016;
        return r19017;
}

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 r19018, r19019, r19020, r19021, r19022, r19023, r19024, r19025, r19026, r19027, r19028, r19029, r19030, r19031, r19032, r19033, r19034, r19035, r19036, r19037, r19038, r19039, r19040, r19041, r19042, r19043;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19018, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19019, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19020);
        mpfr_init(r19021);
        mpfr_init(r19022);
        mpfr_init(r19023);
        mpfr_init(r19024);
        mpfr_init_set_str(r19025, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19026, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r19027, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r19028, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r19029, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19030);
        mpfr_init(r19031);
        mpfr_init(r19032);
        mpfr_init(r19033);
        mpfr_init(r19034);
        mpfr_init(r19035);
        mpfr_init(r19036);
        mpfr_init(r19037);
        mpfr_init(r19038);
        mpfr_init(r19039);
        mpfr_init(r19040);
        mpfr_init(r19041);
        mpfr_init(r19042);
        mpfr_init(r19043);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19020, x, MPFR_RNDN);
        mpfr_abs(r19021, r19020, MPFR_RNDN);
        mpfr_mul(r19022, r19019, r19021, MPFR_RNDN);
        mpfr_add(r19023, r19018, r19022, MPFR_RNDN);
        mpfr_div(r19024, r19018, r19023, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r19030, r19024, r19029, MPFR_RNDN);
        mpfr_add(r19031, r19028, r19030, MPFR_RNDN);
        mpfr_mul(r19032, r19024, r19031, MPFR_RNDN);
        mpfr_add(r19033, r19027, r19032, MPFR_RNDN);
        mpfr_mul(r19034, r19024, r19033, MPFR_RNDN);
        mpfr_add(r19035, r19026, r19034, MPFR_RNDN);
        mpfr_mul(r19036, r19024, r19035, MPFR_RNDN);
        mpfr_add(r19037, r19025, r19036, MPFR_RNDN);
        mpfr_mul(r19038, r19024, r19037, MPFR_RNDN);
        mpfr_mul(r19039, r19021, r19021, MPFR_RNDN);
        mpfr_neg(r19040, r19039, MPFR_RNDN);
        mpfr_exp(r19041, r19040, MPFR_RNDN);
        mpfr_mul(r19042, r19038, r19041, MPFR_RNDN);
        mpfr_sub(r19043, r19018, r19042, MPFR_RNDN);
        return mpfr_get_d(r19043, MPFR_RNDN);
}

static mpfr_t r19044, r19045, r19046, r19047, r19048, r19049, r19050, r19051, r19052, r19053, r19054, r19055, r19056, r19057, r19058, r19059, r19060, r19061, r19062, r19063, r19064, r19065, r19066, r19067, r19068, r19069, r19070, r19071, r19072, r19073, r19074, r19075, r19076, r19077, r19078, r19079, r19080, r19081, r19082, r19083, r19084, r19085, r19086, r19087, r19088, r19089, r19090, r19091, r19092, r19093, r19094, r19095;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19044, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19045, "3", 10, MPFR_RNDN);
        mpfr_init(r19046);
        mpfr_init_set_str(r19047, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19048);
        mpfr_init(r19049);
        mpfr_init(r19050);
        mpfr_init(r19051);
        mpfr_init(r19052);
        mpfr_init_set_str(r19053, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19054, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19055);
        mpfr_init(r19056);
        mpfr_init(r19057);
        mpfr_init_set_str(r19058, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init(r19059);
        mpfr_init(r19060);
        mpfr_init(r19061);
        mpfr_init(r19062);
        mpfr_init_set_str(r19063, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r19064);
        mpfr_init_set_str(r19065, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init(r19066);
        mpfr_init(r19067);
        mpfr_init(r19068);
        mpfr_init(r19069);
        mpfr_init(r19070);
        mpfr_init(r19071);
        mpfr_init(r19072);
        mpfr_init(r19073);
        mpfr_init(r19074);
        mpfr_init(r19075);
        mpfr_init(r19076);
        mpfr_init(r19077);
        mpfr_init(r19078);
        mpfr_init(r19079);
        mpfr_init(r19080);
        mpfr_init(r19081);
        mpfr_init(r19082);
        mpfr_init(r19083);
        mpfr_init(r19084);
        mpfr_init(r19085);
        mpfr_init(r19086);
        mpfr_init(r19087);
        mpfr_init(r19088);
        mpfr_init(r19089);
        mpfr_init(r19090);
        mpfr_init(r19091);
        mpfr_init(r19092);
        mpfr_init(r19093);
        mpfr_init(r19094);
        mpfr_init(r19095);
}

double f_fm(double x) {
        ;
        ;
        mpfr_pow(r19046, r19044, r19045, MPFR_RNDN);
        ;
        mpfr_set_d(r19048, x, MPFR_RNDN);
        mpfr_abs(r19049, r19048, MPFR_RNDN);
        mpfr_mul(r19050, r19047, r19049, MPFR_RNDN);
        mpfr_add(r19051, r19044, r19050, MPFR_RNDN);
        mpfr_div(r19052, r19044, r19051, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19055, r19049, r19047, MPFR_RNDN);
        mpfr_add(r19056, r19044, r19055, MPFR_RNDN);
        mpfr_div(r19057, r19054, r19056, MPFR_RNDN);
        ;
        mpfr_add(r19059, r19057, r19058, MPFR_RNDN);
        mpfr_sqr(r19060, r19056, MPFR_RNDN);
        mpfr_div(r19061, r19059, r19060, MPFR_RNDN);
        mpfr_exp(r19062, r19061, MPFR_RNDN);
        ;
        mpfr_div(r19064, r19063, r19056, MPFR_RNDN);
        ;
        mpfr_add(r19066, r19064, r19065, MPFR_RNDN);
        mpfr_exp(r19067, r19066, MPFR_RNDN);
        mpfr_mul(r19068, r19062, r19067, MPFR_RNDN);
        mpfr_log(r19069, r19068, MPFR_RNDN);
        mpfr_mul(r19070, r19052, r19069, MPFR_RNDN);
        mpfr_add(r19071, r19053, r19070, MPFR_RNDN);
        mpfr_mul(r19072, r19052, r19071, MPFR_RNDN);
        mpfr_mul(r19073, r19049, r19049, MPFR_RNDN);
        mpfr_neg(r19074, r19073, MPFR_RNDN);
        mpfr_exp(r19075, r19074, MPFR_RNDN);
        mpfr_mul(r19076, r19072, r19075, MPFR_RNDN);
        mpfr_pow(r19077, r19076, r19045, MPFR_RNDN);
        mpfr_sub(r19078, r19046, r19077, MPFR_RNDN);
        mpfr_add(r19079, r19055, r19044, MPFR_RNDN);
        mpfr_div(r19080, r19054, r19079, MPFR_RNDN);
        mpfr_add(r19081, r19058, r19080, MPFR_RNDN);
        mpfr_sqr(r19082, r19079, MPFR_RNDN);
        mpfr_div(r19083, r19081, r19082, MPFR_RNDN);
        mpfr_div(r19084, r19063, r19079, MPFR_RNDN);
        mpfr_add(r19085, r19084, r19065, MPFR_RNDN);
        mpfr_add(r19086, r19083, r19085, MPFR_RNDN);
        mpfr_div(r19087, r19086, r19079, MPFR_RNDN);
        mpfr_add(r19088, r19053, r19087, MPFR_RNDN);
        mpfr_exp(r19089, r19073, MPFR_RNDN);
        mpfr_mul(r19090, r19089, r19079, MPFR_RNDN);
        mpfr_div(r19091, r19088, r19090, MPFR_RNDN);
        mpfr_add(r19092, r19091, r19044, MPFR_RNDN);
        mpfr_sqr(r19093, r19091, MPFR_RNDN);
        mpfr_add(r19094, r19092, r19093, MPFR_RNDN);
        mpfr_div(r19095, r19078, r19094, MPFR_RNDN);
        return mpfr_get_d(r19095, MPFR_RNDN);
}

static mpfr_t r19096, r19097, r19098, r19099, r19100, r19101, r19102, r19103, r19104, r19105, r19106, r19107, r19108, r19109, r19110, r19111, r19112, r19113, r19114, r19115, r19116, r19117, r19118, r19119, r19120, r19121, r19122, r19123, r19124, r19125, r19126, r19127, r19128, r19129, r19130, r19131, r19132, r19133, r19134, r19135, r19136, r19137, r19138, r19139, r19140, r19141, r19142, r19143, r19144, r19145, r19146, r19147;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19096, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19097, "3", 10, MPFR_RNDN);
        mpfr_init(r19098);
        mpfr_init_set_str(r19099, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19100);
        mpfr_init(r19101);
        mpfr_init(r19102);
        mpfr_init(r19103);
        mpfr_init(r19104);
        mpfr_init_set_str(r19105, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19106, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19107);
        mpfr_init(r19108);
        mpfr_init(r19109);
        mpfr_init_set_str(r19110, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init(r19111);
        mpfr_init(r19112);
        mpfr_init(r19113);
        mpfr_init(r19114);
        mpfr_init_set_str(r19115, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r19116);
        mpfr_init_set_str(r19117, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init(r19118);
        mpfr_init(r19119);
        mpfr_init(r19120);
        mpfr_init(r19121);
        mpfr_init(r19122);
        mpfr_init(r19123);
        mpfr_init(r19124);
        mpfr_init(r19125);
        mpfr_init(r19126);
        mpfr_init(r19127);
        mpfr_init(r19128);
        mpfr_init(r19129);
        mpfr_init(r19130);
        mpfr_init(r19131);
        mpfr_init(r19132);
        mpfr_init(r19133);
        mpfr_init(r19134);
        mpfr_init(r19135);
        mpfr_init(r19136);
        mpfr_init(r19137);
        mpfr_init(r19138);
        mpfr_init(r19139);
        mpfr_init(r19140);
        mpfr_init(r19141);
        mpfr_init(r19142);
        mpfr_init(r19143);
        mpfr_init(r19144);
        mpfr_init(r19145);
        mpfr_init(r19146);
        mpfr_init(r19147);
}

double f_dm(double x) {
        ;
        ;
        mpfr_pow(r19098, r19096, r19097, MPFR_RNDN);
        ;
        mpfr_set_d(r19100, x, MPFR_RNDN);
        mpfr_abs(r19101, r19100, MPFR_RNDN);
        mpfr_mul(r19102, r19099, r19101, MPFR_RNDN);
        mpfr_add(r19103, r19096, r19102, MPFR_RNDN);
        mpfr_div(r19104, r19096, r19103, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19107, r19101, r19099, MPFR_RNDN);
        mpfr_add(r19108, r19096, r19107, MPFR_RNDN);
        mpfr_div(r19109, r19106, r19108, MPFR_RNDN);
        ;
        mpfr_add(r19111, r19109, r19110, MPFR_RNDN);
        mpfr_sqr(r19112, r19108, MPFR_RNDN);
        mpfr_div(r19113, r19111, r19112, MPFR_RNDN);
        mpfr_exp(r19114, r19113, MPFR_RNDN);
        ;
        mpfr_div(r19116, r19115, r19108, MPFR_RNDN);
        ;
        mpfr_add(r19118, r19116, r19117, MPFR_RNDN);
        mpfr_exp(r19119, r19118, MPFR_RNDN);
        mpfr_mul(r19120, r19114, r19119, MPFR_RNDN);
        mpfr_log(r19121, r19120, MPFR_RNDN);
        mpfr_mul(r19122, r19104, r19121, MPFR_RNDN);
        mpfr_add(r19123, r19105, r19122, MPFR_RNDN);
        mpfr_mul(r19124, r19104, r19123, MPFR_RNDN);
        mpfr_mul(r19125, r19101, r19101, MPFR_RNDN);
        mpfr_neg(r19126, r19125, MPFR_RNDN);
        mpfr_exp(r19127, r19126, MPFR_RNDN);
        mpfr_mul(r19128, r19124, r19127, MPFR_RNDN);
        mpfr_pow(r19129, r19128, r19097, MPFR_RNDN);
        mpfr_sub(r19130, r19098, r19129, MPFR_RNDN);
        mpfr_add(r19131, r19107, r19096, MPFR_RNDN);
        mpfr_div(r19132, r19106, r19131, MPFR_RNDN);
        mpfr_add(r19133, r19110, r19132, MPFR_RNDN);
        mpfr_sqr(r19134, r19131, MPFR_RNDN);
        mpfr_div(r19135, r19133, r19134, MPFR_RNDN);
        mpfr_div(r19136, r19115, r19131, MPFR_RNDN);
        mpfr_add(r19137, r19136, r19117, MPFR_RNDN);
        mpfr_add(r19138, r19135, r19137, MPFR_RNDN);
        mpfr_div(r19139, r19138, r19131, MPFR_RNDN);
        mpfr_add(r19140, r19105, r19139, MPFR_RNDN);
        mpfr_exp(r19141, r19125, MPFR_RNDN);
        mpfr_mul(r19142, r19141, r19131, MPFR_RNDN);
        mpfr_div(r19143, r19140, r19142, MPFR_RNDN);
        mpfr_add(r19144, r19143, r19096, MPFR_RNDN);
        mpfr_sqr(r19145, r19143, MPFR_RNDN);
        mpfr_add(r19146, r19144, r19145, MPFR_RNDN);
        mpfr_div(r19147, r19130, r19146, MPFR_RNDN);
        return mpfr_get_d(r19147, MPFR_RNDN);
}

