#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 r19137 = 1.0f;
        float r19138 = 0.3275911f;
        float r19139 = x;
        float r19140 = fabs(r19139);
        float r19141 = r19138 * r19140;
        float r19142 = r19137 + r19141;
        float r19143 = r19137 / r19142;
        float r19144 = 0.254829592f;
        float r19145 = -0.284496736f;
        float r19146 = 1.421413741f;
        float r19147 = -1.453152027f;
        float r19148 = 1.061405429f;
        float r19149 = r19143 * r19148;
        float r19150 = r19147 + r19149;
        float r19151 = r19143 * r19150;
        float r19152 = r19146 + r19151;
        float r19153 = r19143 * r19152;
        float r19154 = r19145 + r19153;
        float r19155 = r19143 * r19154;
        float r19156 = r19144 + r19155;
        float r19157 = r19143 * r19156;
        float r19158 = r19140 * r19140;
        float r19159 = -r19158;
        float r19160 = exp(r19159);
        float r19161 = r19157 * r19160;
        float r19162 = r19137 - r19161;
        return r19162;
}

double f_id(double x) {
        double r19163 = 1.0;
        double r19164 = 0.3275911;
        double r19165 = x;
        double r19166 = fabs(r19165);
        double r19167 = r19164 * r19166;
        double r19168 = r19163 + r19167;
        double r19169 = r19163 / r19168;
        double r19170 = 0.254829592;
        double r19171 = -0.284496736;
        double r19172 = 1.421413741;
        double r19173 = -1.453152027;
        double r19174 = 1.061405429;
        double r19175 = r19169 * r19174;
        double r19176 = r19173 + r19175;
        double r19177 = r19169 * r19176;
        double r19178 = r19172 + r19177;
        double r19179 = r19169 * r19178;
        double r19180 = r19171 + r19179;
        double r19181 = r19169 * r19180;
        double r19182 = r19170 + r19181;
        double r19183 = r19169 * r19182;
        double r19184 = r19166 * r19166;
        double r19185 = -r19184;
        double r19186 = exp(r19185);
        double r19187 = r19183 * r19186;
        double r19188 = r19163 - r19187;
        return r19188;
}


double f_of(float x) {
        float r19189 = 1.0f;
        float r19190 = 3.0f;
        float r19191 = pow(r19189, r19190);
        float r19192 = 0.3275911f;
        float r19193 = x;
        float r19194 = fabs(r19193);
        float r19195 = r19192 * r19194;
        float r19196 = r19189 + r19195;
        float r19197 = r19189 / r19196;
        float r19198 = 0.254829592f;
        float r19199 = -0.284496736f;
        float r19200 = 1.061405429f;
        float r19201 = r19194 * r19192;
        float r19202 = r19189 + r19201;
        float r19203 = r19200 / r19202;
        float r19204 = -1.453152027f;
        float r19205 = r19203 + r19204;
        float r19206 = r19202 * r19202;
        float r19207 = r19205 / r19206;
        float r19208 = 1.421413741f;
        float r19209 = r19208 / r19202;
        float r19210 = r19207 + r19209;
        float r19211 = r19199 + r19210;
        float r19212 = cbrt(r19211);
        float r19213 = r19212 * (r19212 * r19212);
        float r19214 = r19197 * r19213;
        float r19215 = r19198 + r19214;
        float r19216 = r19197 * r19215;
        float r19217 = r19194 * r19194;
        float r19218 = -r19217;
        float r19219 = exp(r19218);
        float r19220 = r19216 * r19219;
        float r19221 = pow(r19220, r19190);
        float r19222 = sqrt(r19221);
        float r19223 = r19222 * r19222;
        float r19224 = r19191 - r19223;
        float r19225 = r19189 * r19189;
        float r19226 = r19220 * r19220;
        float r19227 = r19189 * r19220;
        float r19228 = r19226 + r19227;
        float r19229 = r19225 + r19228;
        float r19230 = r19224 / r19229;
        return r19230;
}

double f_od(double x) {
        double r19231 = 1.0;
        double r19232 = 3.0;
        double r19233 = pow(r19231, r19232);
        double r19234 = 0.3275911;
        double r19235 = x;
        double r19236 = fabs(r19235);
        double r19237 = r19234 * r19236;
        double r19238 = r19231 + r19237;
        double r19239 = r19231 / r19238;
        double r19240 = 0.254829592;
        double r19241 = -0.284496736;
        double r19242 = 1.061405429;
        double r19243 = r19236 * r19234;
        double r19244 = r19231 + r19243;
        double r19245 = r19242 / r19244;
        double r19246 = -1.453152027;
        double r19247 = r19245 + r19246;
        double r19248 = r19244 * r19244;
        double r19249 = r19247 / r19248;
        double r19250 = 1.421413741;
        double r19251 = r19250 / r19244;
        double r19252 = r19249 + r19251;
        double r19253 = r19241 + r19252;
        double r19254 = cbrt(r19253);
        double r19255 = r19254 * (r19254 * r19254);
        double r19256 = r19239 * r19255;
        double r19257 = r19240 + r19256;
        double r19258 = r19239 * r19257;
        double r19259 = r19236 * r19236;
        double r19260 = -r19259;
        double r19261 = exp(r19260);
        double r19262 = r19258 * r19261;
        double r19263 = pow(r19262, r19232);
        double r19264 = sqrt(r19263);
        double r19265 = r19264 * r19264;
        double r19266 = r19233 - r19265;
        double r19267 = r19231 * r19231;
        double r19268 = r19262 * r19262;
        double r19269 = r19231 * r19262;
        double r19270 = r19268 + r19269;
        double r19271 = r19267 + r19270;
        double r19272 = r19266 / r19271;
        return r19272;
}

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 r19273, r19274, r19275, r19276, r19277, r19278, r19279, r19280, r19281, r19282, r19283, r19284, r19285, r19286, r19287, r19288, r19289, r19290, r19291, r19292, r19293, r19294, r19295, r19296, r19297, r19298;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19273, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19274, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19275);
        mpfr_init(r19276);
        mpfr_init(r19277);
        mpfr_init(r19278);
        mpfr_init(r19279);
        mpfr_init_set_str(r19280, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19281, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r19282, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r19283, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r19284, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19285);
        mpfr_init(r19286);
        mpfr_init(r19287);
        mpfr_init(r19288);
        mpfr_init(r19289);
        mpfr_init(r19290);
        mpfr_init(r19291);
        mpfr_init(r19292);
        mpfr_init(r19293);
        mpfr_init(r19294);
        mpfr_init(r19295);
        mpfr_init(r19296);
        mpfr_init(r19297);
        mpfr_init(r19298);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19275, x, MPFR_RNDN);
        mpfr_abs(r19276, r19275, MPFR_RNDN);
        mpfr_mul(r19277, r19274, r19276, MPFR_RNDN);
        mpfr_add(r19278, r19273, r19277, MPFR_RNDN);
        mpfr_div(r19279, r19273, r19278, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r19285, r19279, r19284, MPFR_RNDN);
        mpfr_add(r19286, r19283, r19285, MPFR_RNDN);
        mpfr_mul(r19287, r19279, r19286, MPFR_RNDN);
        mpfr_add(r19288, r19282, r19287, MPFR_RNDN);
        mpfr_mul(r19289, r19279, r19288, MPFR_RNDN);
        mpfr_add(r19290, r19281, r19289, MPFR_RNDN);
        mpfr_mul(r19291, r19279, r19290, MPFR_RNDN);
        mpfr_add(r19292, r19280, r19291, MPFR_RNDN);
        mpfr_mul(r19293, r19279, r19292, MPFR_RNDN);
        mpfr_mul(r19294, r19276, r19276, MPFR_RNDN);
        mpfr_neg(r19295, r19294, MPFR_RNDN);
        mpfr_exp(r19296, r19295, MPFR_RNDN);
        mpfr_mul(r19297, r19293, r19296, MPFR_RNDN);
        mpfr_sub(r19298, r19273, r19297, MPFR_RNDN);
        return mpfr_get_d(r19298, MPFR_RNDN);
}

static mpfr_t r19299, r19300, r19301, r19302, r19303, r19304, r19305, r19306, r19307, r19308, r19309, r19310, r19311, r19312, r19313, r19314, r19315, r19316, r19317, r19318, r19319, r19320, r19321, r19322, r19323, r19324, r19325, r19326, r19327, r19328, r19329, r19330, r19331, r19332, r19333, r19334, r19335, r19336, r19337, r19338, r19339, r19340;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19299, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19300, "3", 10, MPFR_RNDN);
        mpfr_init(r19301);
        mpfr_init_set_str(r19302, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19303);
        mpfr_init(r19304);
        mpfr_init(r19305);
        mpfr_init(r19306);
        mpfr_init(r19307);
        mpfr_init_set_str(r19308, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19309, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r19310, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19311);
        mpfr_init(r19312);
        mpfr_init(r19313);
        mpfr_init_set_str(r19314, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init(r19315);
        mpfr_init(r19316);
        mpfr_init(r19317);
        mpfr_init_set_str(r19318, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r19319);
        mpfr_init(r19320);
        mpfr_init(r19321);
        mpfr_init(r19322);
        mpfr_init(r19323);
        mpfr_init(r19324);
        mpfr_init(r19325);
        mpfr_init(r19326);
        mpfr_init(r19327);
        mpfr_init(r19328);
        mpfr_init(r19329);
        mpfr_init(r19330);
        mpfr_init(r19331);
        mpfr_init(r19332);
        mpfr_init(r19333);
        mpfr_init(r19334);
        mpfr_init(r19335);
        mpfr_init(r19336);
        mpfr_init(r19337);
        mpfr_init(r19338);
        mpfr_init(r19339);
        mpfr_init(r19340);
}

double f_fm(double x) {
        ;
        ;
        mpfr_pow(r19301, r19299, r19300, MPFR_RNDN);
        ;
        mpfr_set_d(r19303, x, MPFR_RNDN);
        mpfr_abs(r19304, r19303, MPFR_RNDN);
        mpfr_mul(r19305, r19302, r19304, MPFR_RNDN);
        mpfr_add(r19306, r19299, r19305, MPFR_RNDN);
        mpfr_div(r19307, r19299, r19306, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_mul(r19311, r19304, r19302, MPFR_RNDN);
        mpfr_add(r19312, r19299, r19311, MPFR_RNDN);
        mpfr_div(r19313, r19310, r19312, MPFR_RNDN);
        ;
        mpfr_add(r19315, r19313, r19314, MPFR_RNDN);
        mpfr_sqr(r19316, r19312, MPFR_RNDN);
        mpfr_div(r19317, r19315, r19316, MPFR_RNDN);
        ;
        mpfr_div(r19319, r19318, r19312, MPFR_RNDN);
        mpfr_add(r19320, r19317, r19319, MPFR_RNDN);
        mpfr_add(r19321, r19309, r19320, MPFR_RNDN);
        mpfr_cbrt(r19322, r19321, MPFR_RNDN);
        mpfr_mul(r19323, r19322, r19322, MPFR_RNDN); mpfr_mul(r19323, r19323, r19322, MPFR_RNDN);
        mpfr_mul(r19324, r19307, r19323, MPFR_RNDN);
        mpfr_add(r19325, r19308, r19324, MPFR_RNDN);
        mpfr_mul(r19326, r19307, r19325, MPFR_RNDN);
        mpfr_mul(r19327, r19304, r19304, MPFR_RNDN);
        mpfr_neg(r19328, r19327, MPFR_RNDN);
        mpfr_exp(r19329, r19328, MPFR_RNDN);
        mpfr_mul(r19330, r19326, r19329, MPFR_RNDN);
        mpfr_pow(r19331, r19330, r19300, MPFR_RNDN);
        mpfr_sqrt(r19332, r19331, MPFR_RNDN);
        mpfr_sqr(r19333, r19332, MPFR_RNDN);
        mpfr_sub(r19334, r19301, r19333, MPFR_RNDN);
        mpfr_sqr(r19335, r19299, MPFR_RNDN);
        mpfr_sqr(r19336, r19330, MPFR_RNDN);
        mpfr_mul(r19337, r19299, r19330, MPFR_RNDN);
        mpfr_add(r19338, r19336, r19337, MPFR_RNDN);
        mpfr_add(r19339, r19335, r19338, MPFR_RNDN);
        mpfr_div(r19340, r19334, r19339, MPFR_RNDN);
        return mpfr_get_d(r19340, MPFR_RNDN);
}

static mpfr_t r19341, r19342, r19343, r19344, r19345, r19346, r19347, r19348, r19349, r19350, r19351, r19352, r19353, r19354, r19355, r19356, r19357, r19358, r19359, r19360, r19361, r19362, r19363, r19364, r19365, r19366, r19367, r19368, r19369, r19370, r19371, r19372, r19373, r19374, r19375, r19376, r19377, r19378, r19379, r19380, r19381, r19382;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19341, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19342, "3", 10, MPFR_RNDN);
        mpfr_init(r19343);
        mpfr_init_set_str(r19344, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r19345);
        mpfr_init(r19346);
        mpfr_init(r19347);
        mpfr_init(r19348);
        mpfr_init(r19349);
        mpfr_init_set_str(r19350, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r19351, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r19352, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r19353);
        mpfr_init(r19354);
        mpfr_init(r19355);
        mpfr_init_set_str(r19356, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init(r19357);
        mpfr_init(r19358);
        mpfr_init(r19359);
        mpfr_init_set_str(r19360, "1.421413741", 10, MPFR_RNDN);
        mpfr_init(r19361);
        mpfr_init(r19362);
        mpfr_init(r19363);
        mpfr_init(r19364);
        mpfr_init(r19365);
        mpfr_init(r19366);
        mpfr_init(r19367);
        mpfr_init(r19368);
        mpfr_init(r19369);
        mpfr_init(r19370);
        mpfr_init(r19371);
        mpfr_init(r19372);
        mpfr_init(r19373);
        mpfr_init(r19374);
        mpfr_init(r19375);
        mpfr_init(r19376);
        mpfr_init(r19377);
        mpfr_init(r19378);
        mpfr_init(r19379);
        mpfr_init(r19380);
        mpfr_init(r19381);
        mpfr_init(r19382);
}

double f_dm(double x) {
        ;
        ;
        mpfr_pow(r19343, r19341, r19342, MPFR_RNDN);
        ;
        mpfr_set_d(r19345, x, MPFR_RNDN);
        mpfr_abs(r19346, r19345, MPFR_RNDN);
        mpfr_mul(r19347, r19344, r19346, MPFR_RNDN);
        mpfr_add(r19348, r19341, r19347, MPFR_RNDN);
        mpfr_div(r19349, r19341, r19348, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_mul(r19353, r19346, r19344, MPFR_RNDN);
        mpfr_add(r19354, r19341, r19353, MPFR_RNDN);
        mpfr_div(r19355, r19352, r19354, MPFR_RNDN);
        ;
        mpfr_add(r19357, r19355, r19356, MPFR_RNDN);
        mpfr_sqr(r19358, r19354, MPFR_RNDN);
        mpfr_div(r19359, r19357, r19358, MPFR_RNDN);
        ;
        mpfr_div(r19361, r19360, r19354, MPFR_RNDN);
        mpfr_add(r19362, r19359, r19361, MPFR_RNDN);
        mpfr_add(r19363, r19351, r19362, MPFR_RNDN);
        mpfr_cbrt(r19364, r19363, MPFR_RNDN);
        mpfr_mul(r19365, r19364, r19364, MPFR_RNDN); mpfr_mul(r19365, r19365, r19364, MPFR_RNDN);
        mpfr_mul(r19366, r19349, r19365, MPFR_RNDN);
        mpfr_add(r19367, r19350, r19366, MPFR_RNDN);
        mpfr_mul(r19368, r19349, r19367, MPFR_RNDN);
        mpfr_mul(r19369, r19346, r19346, MPFR_RNDN);
        mpfr_neg(r19370, r19369, MPFR_RNDN);
        mpfr_exp(r19371, r19370, MPFR_RNDN);
        mpfr_mul(r19372, r19368, r19371, MPFR_RNDN);
        mpfr_pow(r19373, r19372, r19342, MPFR_RNDN);
        mpfr_sqrt(r19374, r19373, MPFR_RNDN);
        mpfr_sqr(r19375, r19374, MPFR_RNDN);
        mpfr_sub(r19376, r19343, r19375, MPFR_RNDN);
        mpfr_sqr(r19377, r19341, MPFR_RNDN);
        mpfr_sqr(r19378, r19372, MPFR_RNDN);
        mpfr_mul(r19379, r19341, r19372, MPFR_RNDN);
        mpfr_add(r19380, r19378, r19379, MPFR_RNDN);
        mpfr_add(r19381, r19377, r19380, MPFR_RNDN);
        mpfr_div(r19382, r19376, r19381, MPFR_RNDN);
        return mpfr_get_d(r19382, MPFR_RNDN);
}

