#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 r27084 = 1;
        float r27085 = 0.3275911;
        float r27086 = x;
        float r27087 = fabs(r27086);
        float r27088 = r27085 * r27087;
        float r27089 = r27084 + r27088;
        float r27090 = r27084 / r27089;
        float r27091 = 0.254829592;
        float r27092 = -0.284496736;
        float r27093 = 1.421413741;
        float r27094 = -1.453152027;
        float r27095 = 1.061405429;
        float r27096 = r27090 * r27095;
        float r27097 = r27094 + r27096;
        float r27098 = r27090 * r27097;
        float r27099 = r27093 + r27098;
        float r27100 = r27090 * r27099;
        float r27101 = r27092 + r27100;
        float r27102 = r27090 * r27101;
        float r27103 = r27091 + r27102;
        float r27104 = r27090 * r27103;
        float r27105 = r27087 * r27087;
        float r27106 = -r27105;
        float r27107 = exp(r27106);
        float r27108 = r27104 * r27107;
        float r27109 = r27084 - r27108;
        return r27109;
}

double f_id(double x) {
        double r27110 = 1;
        double r27111 = 0.3275911;
        double r27112 = x;
        double r27113 = fabs(r27112);
        double r27114 = r27111 * r27113;
        double r27115 = r27110 + r27114;
        double r27116 = r27110 / r27115;
        double r27117 = 0.254829592;
        double r27118 = -0.284496736;
        double r27119 = 1.421413741;
        double r27120 = -1.453152027;
        double r27121 = 1.061405429;
        double r27122 = r27116 * r27121;
        double r27123 = r27120 + r27122;
        double r27124 = r27116 * r27123;
        double r27125 = r27119 + r27124;
        double r27126 = r27116 * r27125;
        double r27127 = r27118 + r27126;
        double r27128 = r27116 * r27127;
        double r27129 = r27117 + r27128;
        double r27130 = r27116 * r27129;
        double r27131 = r27113 * r27113;
        double r27132 = -r27131;
        double r27133 = exp(r27132);
        double r27134 = r27130 * r27133;
        double r27135 = r27110 - r27134;
        return r27135;
}


double f_of(float x) {
        float r27136 = 1.453152027;
        float r27137 = 1;
        float r27138 = x;
        float r27139 = fabs(r27138);
        float r27140 = 2;
        float r27141 = pow(r27139, r27140);
        float r27142 = exp(r27141);
        float r27143 = 0.3275911;
        float r27144 = r27143 * r27139;
        float r27145 = r27144 + r27137;
        float r27146 = 4;
        float r27147 = pow(r27145, r27146);
        float r27148 = r27142 * r27147;
        float r27149 = r27137 / r27148;
        float r27150 = r27136 * r27149;
        float r27151 = 0.284496736;
        float r27152 = pow(r27145, r27140);
        float r27153 = r27142 * r27152;
        float r27154 = r27137 / r27153;
        float r27155 = r27151 * r27154;
        float r27156 = r27137 + r27155;
        float r27157 = r27150 + r27156;
        float r27158 = 1.061405429;
        float r27159 = 5;
        float r27160 = pow(r27145, r27159);
        float r27161 = r27142 * r27160;
        float r27162 = r27137 / r27161;
        float r27163 = r27158 * r27162;
        float r27164 = 1.421413741;
        float r27165 = 3;
        float r27166 = pow(r27145, r27165);
        float r27167 = r27142 * r27166;
        float r27168 = r27137 / r27167;
        float r27169 = r27164 * r27168;
        float r27170 = 0.254829592;
        float r27171 = r27142 * r27145;
        float r27172 = r27137 / r27171;
        float r27173 = r27170 * r27172;
        float r27174 = r27169 + r27173;
        float r27175 = r27163 + r27174;
        float r27176 = r27157 - r27175;
        float r27177 = log(r27176);
        float r27178 = exp(r27177);
        return r27178;
}

double f_od(double x) {
        double r27179 = 1.453152027;
        double r27180 = 1;
        double r27181 = x;
        double r27182 = fabs(r27181);
        double r27183 = 2;
        double r27184 = pow(r27182, r27183);
        double r27185 = exp(r27184);
        double r27186 = 0.3275911;
        double r27187 = r27186 * r27182;
        double r27188 = r27187 + r27180;
        double r27189 = 4;
        double r27190 = pow(r27188, r27189);
        double r27191 = r27185 * r27190;
        double r27192 = r27180 / r27191;
        double r27193 = r27179 * r27192;
        double r27194 = 0.284496736;
        double r27195 = pow(r27188, r27183);
        double r27196 = r27185 * r27195;
        double r27197 = r27180 / r27196;
        double r27198 = r27194 * r27197;
        double r27199 = r27180 + r27198;
        double r27200 = r27193 + r27199;
        double r27201 = 1.061405429;
        double r27202 = 5;
        double r27203 = pow(r27188, r27202);
        double r27204 = r27185 * r27203;
        double r27205 = r27180 / r27204;
        double r27206 = r27201 * r27205;
        double r27207 = 1.421413741;
        double r27208 = 3;
        double r27209 = pow(r27188, r27208);
        double r27210 = r27185 * r27209;
        double r27211 = r27180 / r27210;
        double r27212 = r27207 * r27211;
        double r27213 = 0.254829592;
        double r27214 = r27185 * r27188;
        double r27215 = r27180 / r27214;
        double r27216 = r27213 * r27215;
        double r27217 = r27212 + r27216;
        double r27218 = r27206 + r27217;
        double r27219 = r27200 - r27218;
        double r27220 = log(r27219);
        double r27221 = exp(r27220);
        return r27221;
}

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 r27222, r27223, r27224, r27225, r27226, r27227, r27228, r27229, r27230, r27231, r27232, r27233, r27234, r27235, r27236, r27237, r27238, r27239, r27240, r27241, r27242, r27243, r27244, r27245, r27246, r27247;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27222, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r27223, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r27224);
        mpfr_init(r27225);
        mpfr_init(r27226);
        mpfr_init(r27227);
        mpfr_init(r27228);
        mpfr_init_set_str(r27229, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r27230, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r27231, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r27232, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r27233, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r27234);
        mpfr_init(r27235);
        mpfr_init(r27236);
        mpfr_init(r27237);
        mpfr_init(r27238);
        mpfr_init(r27239);
        mpfr_init(r27240);
        mpfr_init(r27241);
        mpfr_init(r27242);
        mpfr_init(r27243);
        mpfr_init(r27244);
        mpfr_init(r27245);
        mpfr_init(r27246);
        mpfr_init(r27247);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r27224, x, MPFR_RNDN);
        mpfr_abs(r27225, r27224, MPFR_RNDN);
        mpfr_mul(r27226, r27223, r27225, MPFR_RNDN);
        mpfr_add(r27227, r27222, r27226, MPFR_RNDN);
        mpfr_div(r27228, r27222, r27227, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r27234, r27228, r27233, MPFR_RNDN);
        mpfr_add(r27235, r27232, r27234, MPFR_RNDN);
        mpfr_mul(r27236, r27228, r27235, MPFR_RNDN);
        mpfr_add(r27237, r27231, r27236, MPFR_RNDN);
        mpfr_mul(r27238, r27228, r27237, MPFR_RNDN);
        mpfr_add(r27239, r27230, r27238, MPFR_RNDN);
        mpfr_mul(r27240, r27228, r27239, MPFR_RNDN);
        mpfr_add(r27241, r27229, r27240, MPFR_RNDN);
        mpfr_mul(r27242, r27228, r27241, MPFR_RNDN);
        mpfr_mul(r27243, r27225, r27225, MPFR_RNDN);
        mpfr_neg(r27244, r27243, MPFR_RNDN);
        mpfr_exp(r27245, r27244, MPFR_RNDN);
        mpfr_mul(r27246, r27242, r27245, MPFR_RNDN);
        mpfr_sub(r27247, r27222, r27246, MPFR_RNDN);
        return mpfr_get_d(r27247, MPFR_RNDN);
}

static mpfr_t r27248, r27249, r27250, r27251, r27252, r27253, r27254, r27255, r27256, r27257, r27258, r27259, r27260, r27261, r27262, r27263, r27264, r27265, r27266, r27267, r27268, r27269, r27270, r27271, r27272, r27273, r27274, r27275, r27276, r27277, r27278, r27279, r27280, r27281, r27282, r27283, r27284, r27285, r27286, r27287, r27288, r27289, r27290;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27248, "1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r27249, "1", 10, MPFR_RNDN);
        mpfr_init(r27250);
        mpfr_init(r27251);
        mpfr_init_set_str(r27252, "2", 10, MPFR_RNDN);
        mpfr_init(r27253);
        mpfr_init(r27254);
        mpfr_init_set_str(r27255, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r27256);
        mpfr_init(r27257);
        mpfr_init_set_str(r27258, "4", 10, MPFR_RNDN);
        mpfr_init(r27259);
        mpfr_init(r27260);
        mpfr_init(r27261);
        mpfr_init(r27262);
        mpfr_init_set_str(r27263, "0.284496736", 10, MPFR_RNDN);
        mpfr_init(r27264);
        mpfr_init(r27265);
        mpfr_init(r27266);
        mpfr_init(r27267);
        mpfr_init(r27268);
        mpfr_init(r27269);
        mpfr_init_set_str(r27270, "1.061405429", 10, MPFR_RNDN);
        mpfr_init_set_str(r27271, "5", 10, MPFR_RNDN);
        mpfr_init(r27272);
        mpfr_init(r27273);
        mpfr_init(r27274);
        mpfr_init(r27275);
        mpfr_init_set_str(r27276, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r27277, "3", 10, MPFR_RNDN);
        mpfr_init(r27278);
        mpfr_init(r27279);
        mpfr_init(r27280);
        mpfr_init(r27281);
        mpfr_init_set_str(r27282, "0.254829592", 10, MPFR_RNDN);
        mpfr_init(r27283);
        mpfr_init(r27284);
        mpfr_init(r27285);
        mpfr_init(r27286);
        mpfr_init(r27287);
        mpfr_init(r27288);
        mpfr_init(r27289);
        mpfr_init(r27290);
}

double f_fm(double x) {
        ;
        ;
        mpfr_set_d(r27250, x, MPFR_RNDN);
        mpfr_abs(r27251, r27250, MPFR_RNDN);
        ;
        mpfr_pow(r27253, r27251, r27252, MPFR_RNDN);
        mpfr_exp(r27254, r27253, MPFR_RNDN);
        ;
        mpfr_mul(r27256, r27255, r27251, MPFR_RNDN);
        mpfr_add(r27257, r27256, r27249, MPFR_RNDN);
        ;
        mpfr_pow(r27259, r27257, r27258, MPFR_RNDN);
        mpfr_mul(r27260, r27254, r27259, MPFR_RNDN);
        mpfr_div(r27261, r27249, r27260, MPFR_RNDN);
        mpfr_mul(r27262, r27248, r27261, MPFR_RNDN);
        ;
        mpfr_pow(r27264, r27257, r27252, MPFR_RNDN);
        mpfr_mul(r27265, r27254, r27264, MPFR_RNDN);
        mpfr_div(r27266, r27249, r27265, MPFR_RNDN);
        mpfr_mul(r27267, r27263, r27266, MPFR_RNDN);
        mpfr_add(r27268, r27249, r27267, MPFR_RNDN);
        mpfr_add(r27269, r27262, r27268, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r27272, r27257, r27271, MPFR_RNDN);
        mpfr_mul(r27273, r27254, r27272, MPFR_RNDN);
        mpfr_div(r27274, r27249, r27273, MPFR_RNDN);
        mpfr_mul(r27275, r27270, r27274, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r27278, r27257, r27277, MPFR_RNDN);
        mpfr_mul(r27279, r27254, r27278, MPFR_RNDN);
        mpfr_div(r27280, r27249, r27279, MPFR_RNDN);
        mpfr_mul(r27281, r27276, r27280, MPFR_RNDN);
        ;
        mpfr_mul(r27283, r27254, r27257, MPFR_RNDN);
        mpfr_div(r27284, r27249, r27283, MPFR_RNDN);
        mpfr_mul(r27285, r27282, r27284, MPFR_RNDN);
        mpfr_add(r27286, r27281, r27285, MPFR_RNDN);
        mpfr_add(r27287, r27275, r27286, MPFR_RNDN);
        mpfr_sub(r27288, r27269, r27287, MPFR_RNDN);
        mpfr_log(r27289, r27288, MPFR_RNDN);
        mpfr_exp(r27290, r27289, MPFR_RNDN);
        return mpfr_get_d(r27290, MPFR_RNDN);
}

static mpfr_t r27291, r27292, r27293, r27294, r27295, r27296, r27297, r27298, r27299, r27300, r27301, r27302, r27303, r27304, r27305, r27306, r27307, r27308, r27309, r27310, r27311, r27312, r27313, r27314, r27315, r27316, r27317, r27318, r27319, r27320, r27321, r27322, r27323, r27324, r27325, r27326, r27327, r27328, r27329, r27330, r27331, r27332, r27333;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27291, "1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r27292, "1", 10, MPFR_RNDN);
        mpfr_init(r27293);
        mpfr_init(r27294);
        mpfr_init_set_str(r27295, "2", 10, MPFR_RNDN);
        mpfr_init(r27296);
        mpfr_init(r27297);
        mpfr_init_set_str(r27298, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r27299);
        mpfr_init(r27300);
        mpfr_init_set_str(r27301, "4", 10, MPFR_RNDN);
        mpfr_init(r27302);
        mpfr_init(r27303);
        mpfr_init(r27304);
        mpfr_init(r27305);
        mpfr_init_set_str(r27306, "0.284496736", 10, MPFR_RNDN);
        mpfr_init(r27307);
        mpfr_init(r27308);
        mpfr_init(r27309);
        mpfr_init(r27310);
        mpfr_init(r27311);
        mpfr_init(r27312);
        mpfr_init_set_str(r27313, "1.061405429", 10, MPFR_RNDN);
        mpfr_init_set_str(r27314, "5", 10, MPFR_RNDN);
        mpfr_init(r27315);
        mpfr_init(r27316);
        mpfr_init(r27317);
        mpfr_init(r27318);
        mpfr_init_set_str(r27319, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r27320, "3", 10, MPFR_RNDN);
        mpfr_init(r27321);
        mpfr_init(r27322);
        mpfr_init(r27323);
        mpfr_init(r27324);
        mpfr_init_set_str(r27325, "0.254829592", 10, MPFR_RNDN);
        mpfr_init(r27326);
        mpfr_init(r27327);
        mpfr_init(r27328);
        mpfr_init(r27329);
        mpfr_init(r27330);
        mpfr_init(r27331);
        mpfr_init(r27332);
        mpfr_init(r27333);
}

double f_dm(double x) {
        ;
        ;
        mpfr_set_d(r27293, x, MPFR_RNDN);
        mpfr_abs(r27294, r27293, MPFR_RNDN);
        ;
        mpfr_pow(r27296, r27294, r27295, MPFR_RNDN);
        mpfr_exp(r27297, r27296, MPFR_RNDN);
        ;
        mpfr_mul(r27299, r27298, r27294, MPFR_RNDN);
        mpfr_add(r27300, r27299, r27292, MPFR_RNDN);
        ;
        mpfr_pow(r27302, r27300, r27301, MPFR_RNDN);
        mpfr_mul(r27303, r27297, r27302, MPFR_RNDN);
        mpfr_div(r27304, r27292, r27303, MPFR_RNDN);
        mpfr_mul(r27305, r27291, r27304, MPFR_RNDN);
        ;
        mpfr_pow(r27307, r27300, r27295, MPFR_RNDN);
        mpfr_mul(r27308, r27297, r27307, MPFR_RNDN);
        mpfr_div(r27309, r27292, r27308, MPFR_RNDN);
        mpfr_mul(r27310, r27306, r27309, MPFR_RNDN);
        mpfr_add(r27311, r27292, r27310, MPFR_RNDN);
        mpfr_add(r27312, r27305, r27311, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r27315, r27300, r27314, MPFR_RNDN);
        mpfr_mul(r27316, r27297, r27315, MPFR_RNDN);
        mpfr_div(r27317, r27292, r27316, MPFR_RNDN);
        mpfr_mul(r27318, r27313, r27317, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r27321, r27300, r27320, MPFR_RNDN);
        mpfr_mul(r27322, r27297, r27321, MPFR_RNDN);
        mpfr_div(r27323, r27292, r27322, MPFR_RNDN);
        mpfr_mul(r27324, r27319, r27323, MPFR_RNDN);
        ;
        mpfr_mul(r27326, r27297, r27300, MPFR_RNDN);
        mpfr_div(r27327, r27292, r27326, MPFR_RNDN);
        mpfr_mul(r27328, r27325, r27327, MPFR_RNDN);
        mpfr_add(r27329, r27324, r27328, MPFR_RNDN);
        mpfr_add(r27330, r27318, r27329, MPFR_RNDN);
        mpfr_sub(r27331, r27312, r27330, MPFR_RNDN);
        mpfr_log(r27332, r27331, MPFR_RNDN);
        mpfr_exp(r27333, r27332, MPFR_RNDN);
        return mpfr_get_d(r27333, MPFR_RNDN);
}

