#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 r18929 = 1.0f;
        float r18930 = 0.3275911f;
        float r18931 = x;
        float r18932 = fabs(r18931);
        float r18933 = r18930 * r18932;
        float r18934 = r18929 + r18933;
        float r18935 = r18929 / r18934;
        float r18936 = 0.254829592f;
        float r18937 = -0.284496736f;
        float r18938 = 1.421413741f;
        float r18939 = -1.453152027f;
        float r18940 = 1.061405429f;
        float r18941 = r18935 * r18940;
        float r18942 = r18939 + r18941;
        float r18943 = r18935 * r18942;
        float r18944 = r18938 + r18943;
        float r18945 = r18935 * r18944;
        float r18946 = r18937 + r18945;
        float r18947 = r18935 * r18946;
        float r18948 = r18936 + r18947;
        float r18949 = r18935 * r18948;
        float r18950 = r18932 * r18932;
        float r18951 = -r18950;
        float r18952 = exp(r18951);
        float r18953 = r18949 * r18952;
        float r18954 = r18929 - r18953;
        return r18954;
}

double f_id(double x) {
        double r18955 = 1.0;
        double r18956 = 0.3275911;
        double r18957 = x;
        double r18958 = fabs(r18957);
        double r18959 = r18956 * r18958;
        double r18960 = r18955 + r18959;
        double r18961 = r18955 / r18960;
        double r18962 = 0.254829592;
        double r18963 = -0.284496736;
        double r18964 = 1.421413741;
        double r18965 = -1.453152027;
        double r18966 = 1.061405429;
        double r18967 = r18961 * r18966;
        double r18968 = r18965 + r18967;
        double r18969 = r18961 * r18968;
        double r18970 = r18964 + r18969;
        double r18971 = r18961 * r18970;
        double r18972 = r18963 + r18971;
        double r18973 = r18961 * r18972;
        double r18974 = r18962 + r18973;
        double r18975 = r18961 * r18974;
        double r18976 = r18958 * r18958;
        double r18977 = -r18976;
        double r18978 = exp(r18977);
        double r18979 = r18975 * r18978;
        double r18980 = r18955 - r18979;
        return r18980;
}


double f_of(float x) {
        float r18981 = 1.0f;
        float r18982 = 3.0f;
        float r18983 = pow(r18981, r18982);
        float r18984 = 0.3275911f;
        float r18985 = x;
        float r18986 = fabs(r18985);
        float r18987 = r18984 * r18986;
        float r18988 = r18981 + r18987;
        float r18989 = r18981 / r18988;
        float r18990 = 0.254829592f;
        float r18991 = 1.061405429f;
        float r18992 = r18986 * r18984;
        float r18993 = r18981 + r18992;
        float r18994 = r18991 / r18993;
        float r18995 = -1.453152027f;
        float r18996 = r18994 + r18995;
        float r18997 = r18993 * r18993;
        float r18998 = r18996 / r18997;
        float r18999 = exp(r18998);
        float r19000 = 1.421413741f;
        float r19001 = r19000 / r18993;
        float r19002 = -0.284496736f;
        float r19003 = r19001 + r19002;
        float r19004 = exp(r19003);
        float r19005 = r18999 * r19004;
        float r19006 = log(r19005);
        float r19007 = r18989 * r19006;
        float r19008 = r18990 + r19007;
        float r19009 = r18989 * r19008;
        float r19010 = r18986 * r18986;
        float r19011 = -r19010;
        float r19012 = exp(r19011);
        float r19013 = r19009 * r19012;
        float r19014 = pow(r19013, r18982);
        float r19015 = r18983 - r19014;
        float r19016 = r18992 + r18981;
        float r19017 = r18991 / r19016;
        float r19018 = r18995 + r19017;
        float r19019 = r19016 * r19016;
        float r19020 = r19018 / r19019;
        float r19021 = r19000 / r19016;
        float r19022 = r19021 + r19002;
        float r19023 = r19020 + r19022;
        float r19024 = r19023 / r19016;
        float r19025 = r18990 + r19024;
        float r19026 = exp(r19010);
        float r19027 = r19026 * r19016;
        float r19028 = r19025 / r19027;
        float r19029 = r19028 + r18981;
        float r19030 = r19028 * r19028;
        float r19031 = r19029 + r19030;
        float r19032 = r19015 / r19031;
        return r19032;
}

double f_od(double x) {
        double r19033 = 1.0;
        double r19034 = 3.0;
        double r19035 = pow(r19033, r19034);
        double r19036 = 0.3275911;
        double r19037 = x;
        double r19038 = fabs(r19037);
        double r19039 = r19036 * r19038;
        double r19040 = r19033 + r19039;
        double r19041 = r19033 / r19040;
        double r19042 = 0.254829592;
        double r19043 = 1.061405429;
        double r19044 = r19038 * r19036;
        double r19045 = r19033 + r19044;
        double r19046 = r19043 / r19045;
        double r19047 = -1.453152027;
        double r19048 = r19046 + r19047;
        double r19049 = r19045 * r19045;
        double r19050 = r19048 / r19049;
        double r19051 = exp(r19050);
        double r19052 = 1.421413741;
        double r19053 = r19052 / r19045;
        double r19054 = -0.284496736;
        double r19055 = r19053 + r19054;
        double r19056 = exp(r19055);
        double r19057 = r19051 * r19056;
        double r19058 = log(r19057);
        double r19059 = r19041 * r19058;
        double r19060 = r19042 + r19059;
        double r19061 = r19041 * r19060;
        double r19062 = r19038 * r19038;
        double r19063 = -r19062;
        double r19064 = exp(r19063);
        double r19065 = r19061 * r19064;
        double r19066 = pow(r19065, r19034);
        double r19067 = r19035 - r19066;
        double r19068 = r19044 + r19033;
        double r19069 = r19043 / r19068;
        double r19070 = r19047 + r19069;
        double r19071 = r19068 * r19068;
        double r19072 = r19070 / r19071;
        double r19073 = r19052 / r19068;
        double r19074 = r19073 + r19054;
        double r19075 = r19072 + r19074;
        double r19076 = r19075 / r19068;
        double r19077 = r19042 + r19076;
        double r19078 = exp(r19062);
        double r19079 = r19078 * r19068;
        double r19080 = r19077 / r19079;
        double r19081 = r19080 + r19033;
        double r19082 = r19080 * r19080;
        double r19083 = r19081 + r19082;
        double r19084 = r19067 / r19083;
        return r19084;
}

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 r19085, r19086, r19087, r19088, r19089, r19090, r19091, r19092, r19093, r19094, r19095, r19096, r19097, r19098, r19099, r19100, r19101, r19102, r19103, r19104, r19105, r19106, r19107, r19108, r19109, r19110;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19085, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19086, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19087);
        mpfr_init(r19088);
        mpfr_init(r19089);
        mpfr_init(r19090);
        mpfr_init(r19091);
        mpfr_init_set_str(r19092, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19093, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r19094, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r19095, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r19096, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19097);
        mpfr_init(r19098);
        mpfr_init(r19099);
        mpfr_init(r19100);
        mpfr_init(r19101);
        mpfr_init(r19102);
        mpfr_init(r19103);
        mpfr_init(r19104);
        mpfr_init(r19105);
        mpfr_init(r19106);
        mpfr_init(r19107);
        mpfr_init(r19108);
        mpfr_init(r19109);
        mpfr_init(r19110);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19087, x, MPFR_RNDN);
        mpfr_abs(r19088, r19087, MPFR_RNDN);
        mpfr_mul(r19089, r19086, r19088, MPFR_RNDN);
        mpfr_add(r19090, r19085, r19089, MPFR_RNDN);
        mpfr_div(r19091, r19085, r19090, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r19097, r19091, r19096, MPFR_RNDN);
        mpfr_add(r19098, r19095, r19097, MPFR_RNDN);
        mpfr_mul(r19099, r19091, r19098, MPFR_RNDN);
        mpfr_add(r19100, r19094, r19099, MPFR_RNDN);
        mpfr_mul(r19101, r19091, r19100, MPFR_RNDN);
        mpfr_add(r19102, r19093, r19101, MPFR_RNDN);
        mpfr_mul(r19103, r19091, r19102, MPFR_RNDN);
        mpfr_add(r19104, r19092, r19103, MPFR_RNDN);
        mpfr_mul(r19105, r19091, r19104, MPFR_RNDN);
        mpfr_mul(r19106, r19088, r19088, MPFR_RNDN);
        mpfr_neg(r19107, r19106, MPFR_RNDN);
        mpfr_exp(r19108, r19107, MPFR_RNDN);
        mpfr_mul(r19109, r19105, r19108, MPFR_RNDN);
        mpfr_sub(r19110, r19085, r19109, MPFR_RNDN);
        return mpfr_get_d(r19110, MPFR_RNDN);
}

static mpfr_t 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, r19148, r19149, r19150, r19151, r19152, r19153, r19154, r19155, r19156, r19157, r19158, r19159, r19160, r19161, r19162;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19111, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19112, "3", 10, MPFR_RNDN);
        mpfr_init(r19113);
        mpfr_init_set_str(r19114, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19115);
        mpfr_init(r19116);
        mpfr_init(r19117);
        mpfr_init(r19118);
        mpfr_init(r19119);
        mpfr_init_set_str(r19120, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19121, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19122);
        mpfr_init(r19123);
        mpfr_init(r19124);
        mpfr_init_set_str(r19125, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init(r19126);
        mpfr_init(r19127);
        mpfr_init(r19128);
        mpfr_init(r19129);
        mpfr_init_set_str(r19130, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r19131);
        mpfr_init_set_str(r19132, "-0.284496736", 10, MPFR_RNDN);
        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);
        mpfr_init(r19148);
        mpfr_init(r19149);
        mpfr_init(r19150);
        mpfr_init(r19151);
        mpfr_init(r19152);
        mpfr_init(r19153);
        mpfr_init(r19154);
        mpfr_init(r19155);
        mpfr_init(r19156);
        mpfr_init(r19157);
        mpfr_init(r19158);
        mpfr_init(r19159);
        mpfr_init(r19160);
        mpfr_init(r19161);
        mpfr_init(r19162);
}

double f_fm(double x) {
        ;
        ;
        mpfr_pow(r19113, r19111, r19112, MPFR_RNDN);
        ;
        mpfr_set_d(r19115, x, MPFR_RNDN);
        mpfr_abs(r19116, r19115, MPFR_RNDN);
        mpfr_mul(r19117, r19114, r19116, MPFR_RNDN);
        mpfr_add(r19118, r19111, r19117, MPFR_RNDN);
        mpfr_div(r19119, r19111, r19118, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19122, r19116, r19114, MPFR_RNDN);
        mpfr_add(r19123, r19111, r19122, MPFR_RNDN);
        mpfr_div(r19124, r19121, r19123, MPFR_RNDN);
        ;
        mpfr_add(r19126, r19124, r19125, MPFR_RNDN);
        mpfr_sqr(r19127, r19123, MPFR_RNDN);
        mpfr_div(r19128, r19126, r19127, MPFR_RNDN);
        mpfr_exp(r19129, r19128, MPFR_RNDN);
        ;
        mpfr_div(r19131, r19130, r19123, MPFR_RNDN);
        ;
        mpfr_add(r19133, r19131, r19132, MPFR_RNDN);
        mpfr_exp(r19134, r19133, MPFR_RNDN);
        mpfr_mul(r19135, r19129, r19134, MPFR_RNDN);
        mpfr_log(r19136, r19135, MPFR_RNDN);
        mpfr_mul(r19137, r19119, r19136, MPFR_RNDN);
        mpfr_add(r19138, r19120, r19137, MPFR_RNDN);
        mpfr_mul(r19139, r19119, r19138, MPFR_RNDN);
        mpfr_mul(r19140, r19116, r19116, MPFR_RNDN);
        mpfr_neg(r19141, r19140, MPFR_RNDN);
        mpfr_exp(r19142, r19141, MPFR_RNDN);
        mpfr_mul(r19143, r19139, r19142, MPFR_RNDN);
        mpfr_pow(r19144, r19143, r19112, MPFR_RNDN);
        mpfr_sub(r19145, r19113, r19144, MPFR_RNDN);
        mpfr_add(r19146, r19122, r19111, MPFR_RNDN);
        mpfr_div(r19147, r19121, r19146, MPFR_RNDN);
        mpfr_add(r19148, r19125, r19147, MPFR_RNDN);
        mpfr_sqr(r19149, r19146, MPFR_RNDN);
        mpfr_div(r19150, r19148, r19149, MPFR_RNDN);
        mpfr_div(r19151, r19130, r19146, MPFR_RNDN);
        mpfr_add(r19152, r19151, r19132, MPFR_RNDN);
        mpfr_add(r19153, r19150, r19152, MPFR_RNDN);
        mpfr_div(r19154, r19153, r19146, MPFR_RNDN);
        mpfr_add(r19155, r19120, r19154, MPFR_RNDN);
        mpfr_exp(r19156, r19140, MPFR_RNDN);
        mpfr_mul(r19157, r19156, r19146, MPFR_RNDN);
        mpfr_div(r19158, r19155, r19157, MPFR_RNDN);
        mpfr_add(r19159, r19158, r19111, MPFR_RNDN);
        mpfr_sqr(r19160, r19158, MPFR_RNDN);
        mpfr_add(r19161, r19159, r19160, MPFR_RNDN);
        mpfr_div(r19162, r19145, r19161, MPFR_RNDN);
        return mpfr_get_d(r19162, MPFR_RNDN);
}

static mpfr_t r19163, r19164, r19165, r19166, r19167, r19168, r19169, r19170, r19171, r19172, r19173, r19174, r19175, r19176, r19177, r19178, r19179, r19180, r19181, r19182, r19183, r19184, r19185, r19186, r19187, r19188, r19189, r19190, r19191, r19192, r19193, r19194, r19195, r19196, r19197, r19198, r19199, r19200, r19201, r19202, r19203, r19204, r19205, r19206, r19207, r19208, r19209, r19210, r19211, r19212, r19213, r19214;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19163, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19164, "3", 10, MPFR_RNDN);
        mpfr_init(r19165);
        mpfr_init_set_str(r19166, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19167);
        mpfr_init(r19168);
        mpfr_init(r19169);
        mpfr_init(r19170);
        mpfr_init(r19171);
        mpfr_init_set_str(r19172, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19173, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19174);
        mpfr_init(r19175);
        mpfr_init(r19176);
        mpfr_init_set_str(r19177, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init(r19178);
        mpfr_init(r19179);
        mpfr_init(r19180);
        mpfr_init(r19181);
        mpfr_init_set_str(r19182, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r19183);
        mpfr_init_set_str(r19184, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init(r19185);
        mpfr_init(r19186);
        mpfr_init(r19187);
        mpfr_init(r19188);
        mpfr_init(r19189);
        mpfr_init(r19190);
        mpfr_init(r19191);
        mpfr_init(r19192);
        mpfr_init(r19193);
        mpfr_init(r19194);
        mpfr_init(r19195);
        mpfr_init(r19196);
        mpfr_init(r19197);
        mpfr_init(r19198);
        mpfr_init(r19199);
        mpfr_init(r19200);
        mpfr_init(r19201);
        mpfr_init(r19202);
        mpfr_init(r19203);
        mpfr_init(r19204);
        mpfr_init(r19205);
        mpfr_init(r19206);
        mpfr_init(r19207);
        mpfr_init(r19208);
        mpfr_init(r19209);
        mpfr_init(r19210);
        mpfr_init(r19211);
        mpfr_init(r19212);
        mpfr_init(r19213);
        mpfr_init(r19214);
}

double f_dm(double x) {
        ;
        ;
        mpfr_pow(r19165, r19163, r19164, MPFR_RNDN);
        ;
        mpfr_set_d(r19167, x, MPFR_RNDN);
        mpfr_abs(r19168, r19167, MPFR_RNDN);
        mpfr_mul(r19169, r19166, r19168, MPFR_RNDN);
        mpfr_add(r19170, r19163, r19169, MPFR_RNDN);
        mpfr_div(r19171, r19163, r19170, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19174, r19168, r19166, MPFR_RNDN);
        mpfr_add(r19175, r19163, r19174, MPFR_RNDN);
        mpfr_div(r19176, r19173, r19175, MPFR_RNDN);
        ;
        mpfr_add(r19178, r19176, r19177, MPFR_RNDN);
        mpfr_sqr(r19179, r19175, MPFR_RNDN);
        mpfr_div(r19180, r19178, r19179, MPFR_RNDN);
        mpfr_exp(r19181, r19180, MPFR_RNDN);
        ;
        mpfr_div(r19183, r19182, r19175, MPFR_RNDN);
        ;
        mpfr_add(r19185, r19183, r19184, MPFR_RNDN);
        mpfr_exp(r19186, r19185, MPFR_RNDN);
        mpfr_mul(r19187, r19181, r19186, MPFR_RNDN);
        mpfr_log(r19188, r19187, MPFR_RNDN);
        mpfr_mul(r19189, r19171, r19188, MPFR_RNDN);
        mpfr_add(r19190, r19172, r19189, MPFR_RNDN);
        mpfr_mul(r19191, r19171, r19190, MPFR_RNDN);
        mpfr_mul(r19192, r19168, r19168, MPFR_RNDN);
        mpfr_neg(r19193, r19192, MPFR_RNDN);
        mpfr_exp(r19194, r19193, MPFR_RNDN);
        mpfr_mul(r19195, r19191, r19194, MPFR_RNDN);
        mpfr_pow(r19196, r19195, r19164, MPFR_RNDN);
        mpfr_sub(r19197, r19165, r19196, MPFR_RNDN);
        mpfr_add(r19198, r19174, r19163, MPFR_RNDN);
        mpfr_div(r19199, r19173, r19198, MPFR_RNDN);
        mpfr_add(r19200, r19177, r19199, MPFR_RNDN);
        mpfr_sqr(r19201, r19198, MPFR_RNDN);
        mpfr_div(r19202, r19200, r19201, MPFR_RNDN);
        mpfr_div(r19203, r19182, r19198, MPFR_RNDN);
        mpfr_add(r19204, r19203, r19184, MPFR_RNDN);
        mpfr_add(r19205, r19202, r19204, MPFR_RNDN);
        mpfr_div(r19206, r19205, r19198, MPFR_RNDN);
        mpfr_add(r19207, r19172, r19206, MPFR_RNDN);
        mpfr_exp(r19208, r19192, MPFR_RNDN);
        mpfr_mul(r19209, r19208, r19198, MPFR_RNDN);
        mpfr_div(r19210, r19207, r19209, MPFR_RNDN);
        mpfr_add(r19211, r19210, r19163, MPFR_RNDN);
        mpfr_sqr(r19212, r19210, MPFR_RNDN);
        mpfr_add(r19213, r19211, r19212, MPFR_RNDN);
        mpfr_div(r19214, r19197, r19213, MPFR_RNDN);
        return mpfr_get_d(r19214, MPFR_RNDN);
}

