#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 r31125 = 1;
        float r31126 = 0.3275911;
        float r31127 = x;
        float r31128 = fabs(r31127);
        float r31129 = r31126 * r31128;
        float r31130 = r31125 + r31129;
        float r31131 = r31125 / r31130;
        float r31132 = 0.254829592;
        float r31133 = -0.284496736;
        float r31134 = 1.421413741;
        float r31135 = -1.453152027;
        float r31136 = 1.061405429;
        float r31137 = r31131 * r31136;
        float r31138 = r31135 + r31137;
        float r31139 = r31131 * r31138;
        float r31140 = r31134 + r31139;
        float r31141 = r31131 * r31140;
        float r31142 = r31133 + r31141;
        float r31143 = r31131 * r31142;
        float r31144 = r31132 + r31143;
        float r31145 = r31131 * r31144;
        float r31146 = r31128 * r31128;
        float r31147 = -r31146;
        float r31148 = exp(r31147);
        float r31149 = r31145 * r31148;
        float r31150 = r31125 - r31149;
        return r31150;
}

double f_id(double x) {
        double r31151 = 1;
        double r31152 = 0.3275911;
        double r31153 = x;
        double r31154 = fabs(r31153);
        double r31155 = r31152 * r31154;
        double r31156 = r31151 + r31155;
        double r31157 = r31151 / r31156;
        double r31158 = 0.254829592;
        double r31159 = -0.284496736;
        double r31160 = 1.421413741;
        double r31161 = -1.453152027;
        double r31162 = 1.061405429;
        double r31163 = r31157 * r31162;
        double r31164 = r31161 + r31163;
        double r31165 = r31157 * r31164;
        double r31166 = r31160 + r31165;
        double r31167 = r31157 * r31166;
        double r31168 = r31159 + r31167;
        double r31169 = r31157 * r31168;
        double r31170 = r31158 + r31169;
        double r31171 = r31157 * r31170;
        double r31172 = r31154 * r31154;
        double r31173 = -r31172;
        double r31174 = exp(r31173);
        double r31175 = r31171 * r31174;
        double r31176 = r31151 - r31175;
        return r31176;
}


double f_of(float x) {
        float r31177 = 1;
        float r31178 = 0.3275911;
        float r31179 = x;
        float r31180 = fabs(r31179);
        float r31181 = r31178 * r31180;
        float r31182 = r31177 + r31181;
        float r31183 = r31177 / r31182;
        float r31184 = 0.254829592;
        float r31185 = -0.284496736;
        float r31186 = 1.421413741;
        float r31187 = -1.453152027;
        float r31188 = 1.061405429;
        float r31189 = r31183 * r31188;
        float r31190 = r31187 + r31189;
        float r31191 = r31183 * r31190;
        float r31192 = r31186 + r31191;
        float r31193 = r31183 * r31192;
        float r31194 = r31185 + r31193;
        float r31195 = r31183 * r31194;
        float r31196 = r31184 + r31195;
        float r31197 = r31183 * r31196;
        float r31198 = r31180 * r31180;
        float r31199 = -r31198;
        float r31200 = exp(r31199);
        float r31201 = r31197 * r31200;
        float r31202 = r31177 - r31201;
        float r31203 = exp(r31202);
        float r31204 = log(r31203);
        float r31205 = log(r31204);
        float r31206 = cbrt(r31205);
        float r31207 = r31206 * r31206;
        float r31208 = exp(r31207);
        float r31209 = pow(r31208, r31206);
        return r31209;
}

double f_od(double x) {
        double r31210 = 1;
        double r31211 = 0.3275911;
        double r31212 = x;
        double r31213 = fabs(r31212);
        double r31214 = r31211 * r31213;
        double r31215 = r31210 + r31214;
        double r31216 = r31210 / r31215;
        double r31217 = 0.254829592;
        double r31218 = -0.284496736;
        double r31219 = 1.421413741;
        double r31220 = -1.453152027;
        double r31221 = 1.061405429;
        double r31222 = r31216 * r31221;
        double r31223 = r31220 + r31222;
        double r31224 = r31216 * r31223;
        double r31225 = r31219 + r31224;
        double r31226 = r31216 * r31225;
        double r31227 = r31218 + r31226;
        double r31228 = r31216 * r31227;
        double r31229 = r31217 + r31228;
        double r31230 = r31216 * r31229;
        double r31231 = r31213 * r31213;
        double r31232 = -r31231;
        double r31233 = exp(r31232);
        double r31234 = r31230 * r31233;
        double r31235 = r31210 - r31234;
        double r31236 = exp(r31235);
        double r31237 = log(r31236);
        double r31238 = log(r31237);
        double r31239 = cbrt(r31238);
        double r31240 = r31239 * r31239;
        double r31241 = exp(r31240);
        double r31242 = pow(r31241, r31239);
        return r31242;
}

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 r31243, r31244, r31245, r31246, r31247, r31248, r31249, r31250, r31251, r31252, r31253, r31254, r31255, r31256, r31257, r31258, r31259, r31260, r31261, r31262, r31263, r31264, r31265, r31266, r31267, r31268;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r31243, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r31244, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r31245);
        mpfr_init(r31246);
        mpfr_init(r31247);
        mpfr_init(r31248);
        mpfr_init(r31249);
        mpfr_init_set_str(r31250, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r31251, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r31252, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r31253, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r31254, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r31255);
        mpfr_init(r31256);
        mpfr_init(r31257);
        mpfr_init(r31258);
        mpfr_init(r31259);
        mpfr_init(r31260);
        mpfr_init(r31261);
        mpfr_init(r31262);
        mpfr_init(r31263);
        mpfr_init(r31264);
        mpfr_init(r31265);
        mpfr_init(r31266);
        mpfr_init(r31267);
        mpfr_init(r31268);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r31245, x, MPFR_RNDN);
        mpfr_abs(r31246, r31245, MPFR_RNDN);
        mpfr_mul(r31247, r31244, r31246, MPFR_RNDN);
        mpfr_add(r31248, r31243, r31247, MPFR_RNDN);
        mpfr_div(r31249, r31243, r31248, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r31255, r31249, r31254, MPFR_RNDN);
        mpfr_add(r31256, r31253, r31255, MPFR_RNDN);
        mpfr_mul(r31257, r31249, r31256, MPFR_RNDN);
        mpfr_add(r31258, r31252, r31257, MPFR_RNDN);
        mpfr_mul(r31259, r31249, r31258, MPFR_RNDN);
        mpfr_add(r31260, r31251, r31259, MPFR_RNDN);
        mpfr_mul(r31261, r31249, r31260, MPFR_RNDN);
        mpfr_add(r31262, r31250, r31261, MPFR_RNDN);
        mpfr_mul(r31263, r31249, r31262, MPFR_RNDN);
        mpfr_mul(r31264, r31246, r31246, MPFR_RNDN);
        mpfr_neg(r31265, r31264, MPFR_RNDN);
        mpfr_exp(r31266, r31265, MPFR_RNDN);
        mpfr_mul(r31267, r31263, r31266, MPFR_RNDN);
        mpfr_sub(r31268, r31243, r31267, MPFR_RNDN);
        return mpfr_get_d(r31268, MPFR_RNDN);
}

static mpfr_t r31269, r31270, r31271, r31272, r31273, r31274, r31275, r31276, r31277, r31278, r31279, r31280, r31281, r31282, r31283, r31284, r31285, r31286, r31287, r31288, r31289, r31290, r31291, r31292, r31293, r31294, r31295, r31296, r31297, r31298, r31299, r31300, r31301;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r31269, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r31270, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r31271);
        mpfr_init(r31272);
        mpfr_init(r31273);
        mpfr_init(r31274);
        mpfr_init(r31275);
        mpfr_init_set_str(r31276, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r31277, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r31278, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r31279, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r31280, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r31281);
        mpfr_init(r31282);
        mpfr_init(r31283);
        mpfr_init(r31284);
        mpfr_init(r31285);
        mpfr_init(r31286);
        mpfr_init(r31287);
        mpfr_init(r31288);
        mpfr_init(r31289);
        mpfr_init(r31290);
        mpfr_init(r31291);
        mpfr_init(r31292);
        mpfr_init(r31293);
        mpfr_init(r31294);
        mpfr_init(r31295);
        mpfr_init(r31296);
        mpfr_init(r31297);
        mpfr_init(r31298);
        mpfr_init(r31299);
        mpfr_init(r31300);
        mpfr_init(r31301);
}

double f_fm(double x) {
        ;
        ;
        mpfr_set_d(r31271, x, MPFR_RNDN);
        mpfr_abs(r31272, r31271, MPFR_RNDN);
        mpfr_mul(r31273, r31270, r31272, MPFR_RNDN);
        mpfr_add(r31274, r31269, r31273, MPFR_RNDN);
        mpfr_div(r31275, r31269, r31274, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r31281, r31275, r31280, MPFR_RNDN);
        mpfr_add(r31282, r31279, r31281, MPFR_RNDN);
        mpfr_mul(r31283, r31275, r31282, MPFR_RNDN);
        mpfr_add(r31284, r31278, r31283, MPFR_RNDN);
        mpfr_mul(r31285, r31275, r31284, MPFR_RNDN);
        mpfr_add(r31286, r31277, r31285, MPFR_RNDN);
        mpfr_mul(r31287, r31275, r31286, MPFR_RNDN);
        mpfr_add(r31288, r31276, r31287, MPFR_RNDN);
        mpfr_mul(r31289, r31275, r31288, MPFR_RNDN);
        mpfr_mul(r31290, r31272, r31272, MPFR_RNDN);
        mpfr_neg(r31291, r31290, MPFR_RNDN);
        mpfr_exp(r31292, r31291, MPFR_RNDN);
        mpfr_mul(r31293, r31289, r31292, MPFR_RNDN);
        mpfr_sub(r31294, r31269, r31293, MPFR_RNDN);
        mpfr_exp(r31295, r31294, MPFR_RNDN);
        mpfr_log(r31296, r31295, MPFR_RNDN);
        mpfr_log(r31297, r31296, MPFR_RNDN);
        mpfr_cbrt(r31298, r31297, MPFR_RNDN);
        mpfr_mul(r31299, r31298, r31298, MPFR_RNDN);
        mpfr_exp(r31300, r31299, MPFR_RNDN);
        mpfr_pow(r31301, r31300, r31298, MPFR_RNDN);
        return mpfr_get_d(r31301, MPFR_RNDN);
}

static mpfr_t r31302, r31303, r31304, r31305, r31306, r31307, r31308, r31309, r31310, r31311, r31312, r31313, r31314, r31315, r31316, r31317, r31318, r31319, r31320, r31321, r31322, r31323, r31324, r31325, r31326, r31327, r31328, r31329, r31330, r31331, r31332, r31333, r31334;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r31302, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r31303, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r31304);
        mpfr_init(r31305);
        mpfr_init(r31306);
        mpfr_init(r31307);
        mpfr_init(r31308);
        mpfr_init_set_str(r31309, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r31310, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r31311, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r31312, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r31313, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r31314);
        mpfr_init(r31315);
        mpfr_init(r31316);
        mpfr_init(r31317);
        mpfr_init(r31318);
        mpfr_init(r31319);
        mpfr_init(r31320);
        mpfr_init(r31321);
        mpfr_init(r31322);
        mpfr_init(r31323);
        mpfr_init(r31324);
        mpfr_init(r31325);
        mpfr_init(r31326);
        mpfr_init(r31327);
        mpfr_init(r31328);
        mpfr_init(r31329);
        mpfr_init(r31330);
        mpfr_init(r31331);
        mpfr_init(r31332);
        mpfr_init(r31333);
        mpfr_init(r31334);
}

double f_dm(double x) {
        ;
        ;
        mpfr_set_d(r31304, x, MPFR_RNDN);
        mpfr_abs(r31305, r31304, MPFR_RNDN);
        mpfr_mul(r31306, r31303, r31305, MPFR_RNDN);
        mpfr_add(r31307, r31302, r31306, MPFR_RNDN);
        mpfr_div(r31308, r31302, r31307, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r31314, r31308, r31313, MPFR_RNDN);
        mpfr_add(r31315, r31312, r31314, MPFR_RNDN);
        mpfr_mul(r31316, r31308, r31315, MPFR_RNDN);
        mpfr_add(r31317, r31311, r31316, MPFR_RNDN);
        mpfr_mul(r31318, r31308, r31317, MPFR_RNDN);
        mpfr_add(r31319, r31310, r31318, MPFR_RNDN);
        mpfr_mul(r31320, r31308, r31319, MPFR_RNDN);
        mpfr_add(r31321, r31309, r31320, MPFR_RNDN);
        mpfr_mul(r31322, r31308, r31321, MPFR_RNDN);
        mpfr_mul(r31323, r31305, r31305, MPFR_RNDN);
        mpfr_neg(r31324, r31323, MPFR_RNDN);
        mpfr_exp(r31325, r31324, MPFR_RNDN);
        mpfr_mul(r31326, r31322, r31325, MPFR_RNDN);
        mpfr_sub(r31327, r31302, r31326, MPFR_RNDN);
        mpfr_exp(r31328, r31327, MPFR_RNDN);
        mpfr_log(r31329, r31328, MPFR_RNDN);
        mpfr_log(r31330, r31329, MPFR_RNDN);
        mpfr_cbrt(r31331, r31330, MPFR_RNDN);
        mpfr_mul(r31332, r31331, r31331, MPFR_RNDN);
        mpfr_exp(r31333, r31332, MPFR_RNDN);
        mpfr_pow(r31334, r31333, r31331, MPFR_RNDN);
        return mpfr_get_d(r31334, MPFR_RNDN);
}

