#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Jmat.Real.erfi, branch x less than or equal to 0.5";

double f_if(float x) {
        float r11222 = 1;
        float r11223 = atan2(1.0, 0.0);
        float r11224 = sqrt(r11223);
        float r11225 = r11222 / r11224;
        float r11226 = 2;
        float r11227 = x;
        float r11228 = fabs(r11227);
        float r11229 = r11226 * r11228;
        float r11230 = 3;
        float r11231 = r11226 / r11230;
        float r11232 = r11228 * r11228;
        float r11233 = r11232 * r11228;
        float r11234 = r11231 * r11233;
        float r11235 = r11229 + r11234;
        float r11236 = 5;
        float r11237 = r11222 / r11236;
        float r11238 = r11233 * r11228;
        float r11239 = r11238 * r11228;
        float r11240 = r11237 * r11239;
        float r11241 = r11235 + r11240;
        float r11242 = 21;
        float r11243 = r11222 / r11242;
        float r11244 = r11239 * r11228;
        float r11245 = r11244 * r11228;
        float r11246 = r11243 * r11245;
        float r11247 = r11241 + r11246;
        float r11248 = r11225 * r11247;
        float r11249 = fabs(r11248);
        return r11249;
}

double f_id(double x) {
        double r11250 = 1;
        double r11251 = atan2(1.0, 0.0);
        double r11252 = sqrt(r11251);
        double r11253 = r11250 / r11252;
        double r11254 = 2;
        double r11255 = x;
        double r11256 = fabs(r11255);
        double r11257 = r11254 * r11256;
        double r11258 = 3;
        double r11259 = r11254 / r11258;
        double r11260 = r11256 * r11256;
        double r11261 = r11260 * r11256;
        double r11262 = r11259 * r11261;
        double r11263 = r11257 + r11262;
        double r11264 = 5;
        double r11265 = r11250 / r11264;
        double r11266 = r11261 * r11256;
        double r11267 = r11266 * r11256;
        double r11268 = r11265 * r11267;
        double r11269 = r11263 + r11268;
        double r11270 = 21;
        double r11271 = r11250 / r11270;
        double r11272 = r11267 * r11256;
        double r11273 = r11272 * r11256;
        double r11274 = r11271 * r11273;
        double r11275 = r11269 + r11274;
        double r11276 = r11253 * r11275;
        double r11277 = fabs(r11276);
        return r11277;
}


double f_of(float x) {
        float r11278 = 1;
        float r11279 = atan2(1.0, 0.0);
        float r11280 = sqrt(r11279);
        float r11281 = r11278 / r11280;
        float r11282 = 2;
        float r11283 = x;
        float r11284 = fabs(r11283);
        float r11285 = r11282 * r11284;
        float r11286 = 3;
        float r11287 = r11282 / r11286;
        float r11288 = r11284 * r11284;
        float r11289 = r11288 * r11284;
        float r11290 = r11287 * r11289;
        float r11291 = r11285 + r11290;
        float r11292 = 5;
        float r11293 = r11278 / r11292;
        float r11294 = r11289 * r11284;
        float r11295 = r11294 * r11284;
        float r11296 = r11293 * r11295;
        float r11297 = r11291 + r11296;
        float r11298 = 21;
        float r11299 = r11278 / r11298;
        float r11300 = sqrt(r11284);
        float r11301 = r11288 * r11300;
        float r11302 = r11301 * r11300;
        float r11303 = r11302 * r11284;
        float r11304 = r11303 * r11284;
        float r11305 = r11304 * r11284;
        float r11306 = r11305 * r11284;
        float r11307 = r11299 * r11306;
        float r11308 = r11297 + r11307;
        float r11309 = r11281 * r11308;
        float r11310 = fabs(r11309);
        return r11310;
}

double f_od(double x) {
        double r11311 = 1;
        double r11312 = atan2(1.0, 0.0);
        double r11313 = sqrt(r11312);
        double r11314 = r11311 / r11313;
        double r11315 = 2;
        double r11316 = x;
        double r11317 = fabs(r11316);
        double r11318 = r11315 * r11317;
        double r11319 = 3;
        double r11320 = r11315 / r11319;
        double r11321 = r11317 * r11317;
        double r11322 = r11321 * r11317;
        double r11323 = r11320 * r11322;
        double r11324 = r11318 + r11323;
        double r11325 = 5;
        double r11326 = r11311 / r11325;
        double r11327 = r11322 * r11317;
        double r11328 = r11327 * r11317;
        double r11329 = r11326 * r11328;
        double r11330 = r11324 + r11329;
        double r11331 = 21;
        double r11332 = r11311 / r11331;
        double r11333 = sqrt(r11317);
        double r11334 = r11321 * r11333;
        double r11335 = r11334 * r11333;
        double r11336 = r11335 * r11317;
        double r11337 = r11336 * r11317;
        double r11338 = r11337 * r11317;
        double r11339 = r11338 * r11317;
        double r11340 = r11332 * r11339;
        double r11341 = r11330 + r11340;
        double r11342 = r11314 * r11341;
        double r11343 = fabs(r11342);
        return r11343;
}

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 r11344, r11345, r11346, r11347, r11348, r11349, r11350, r11351, r11352, r11353, r11354, r11355, r11356, r11357, r11358, r11359, r11360, r11361, r11362, r11363, r11364, r11365, r11366, r11367, r11368, r11369, r11370, r11371;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11344, "1", 10, MPFR_RNDN);
        mpfr_init(r11345);
        mpfr_init(r11346);
        mpfr_init(r11347);
        mpfr_init_set_str(r11348, "2", 10, MPFR_RNDN);
        mpfr_init(r11349);
        mpfr_init(r11350);
        mpfr_init(r11351);
        mpfr_init_set_str(r11352, "3", 10, MPFR_RNDN);
        mpfr_init(r11353);
        mpfr_init(r11354);
        mpfr_init(r11355);
        mpfr_init(r11356);
        mpfr_init(r11357);
        mpfr_init_set_str(r11358, "5", 10, MPFR_RNDN);
        mpfr_init(r11359);
        mpfr_init(r11360);
        mpfr_init(r11361);
        mpfr_init(r11362);
        mpfr_init(r11363);
        mpfr_init_set_str(r11364, "21", 10, MPFR_RNDN);
        mpfr_init(r11365);
        mpfr_init(r11366);
        mpfr_init(r11367);
        mpfr_init(r11368);
        mpfr_init(r11369);
        mpfr_init(r11370);
        mpfr_init(r11371);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r11345, MPFR_RNDN);
        mpfr_sqrt(r11346, r11345, MPFR_RNDN);
        mpfr_div(r11347, r11344, r11346, MPFR_RNDN);
        ;
        mpfr_set_d(r11349, x, MPFR_RNDN);
        mpfr_abs(r11350, r11349, MPFR_RNDN);
        mpfr_mul(r11351, r11348, r11350, MPFR_RNDN);
        ;
        mpfr_div(r11353, r11348, r11352, MPFR_RNDN);
        mpfr_mul(r11354, r11350, r11350, MPFR_RNDN);
        mpfr_mul(r11355, r11354, r11350, MPFR_RNDN);
        mpfr_mul(r11356, r11353, r11355, MPFR_RNDN);
        mpfr_add(r11357, r11351, r11356, MPFR_RNDN);
        ;
        mpfr_div(r11359, r11344, r11358, MPFR_RNDN);
        mpfr_mul(r11360, r11355, r11350, MPFR_RNDN);
        mpfr_mul(r11361, r11360, r11350, MPFR_RNDN);
        mpfr_mul(r11362, r11359, r11361, MPFR_RNDN);
        mpfr_add(r11363, r11357, r11362, MPFR_RNDN);
        ;
        mpfr_div(r11365, r11344, r11364, MPFR_RNDN);
        mpfr_mul(r11366, r11361, r11350, MPFR_RNDN);
        mpfr_mul(r11367, r11366, r11350, MPFR_RNDN);
        mpfr_mul(r11368, r11365, r11367, MPFR_RNDN);
        mpfr_add(r11369, r11363, r11368, MPFR_RNDN);
        mpfr_mul(r11370, r11347, r11369, MPFR_RNDN);
        mpfr_abs(r11371, r11370, MPFR_RNDN);
        return mpfr_get_d(r11371, MPFR_RNDN);
}

static mpfr_t r11372, r11373, r11374, r11375, r11376, r11377, r11378, r11379, r11380, r11381, r11382, r11383, r11384, r11385, r11386, r11387, r11388, r11389, r11390, r11391, r11392, r11393, r11394, r11395, r11396, r11397, r11398, r11399, r11400, r11401, r11402, r11403, r11404;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11372, "1", 10, MPFR_RNDN);
        mpfr_init(r11373);
        mpfr_init(r11374);
        mpfr_init(r11375);
        mpfr_init_set_str(r11376, "2", 10, MPFR_RNDN);
        mpfr_init(r11377);
        mpfr_init(r11378);
        mpfr_init(r11379);
        mpfr_init_set_str(r11380, "3", 10, MPFR_RNDN);
        mpfr_init(r11381);
        mpfr_init(r11382);
        mpfr_init(r11383);
        mpfr_init(r11384);
        mpfr_init(r11385);
        mpfr_init_set_str(r11386, "5", 10, MPFR_RNDN);
        mpfr_init(r11387);
        mpfr_init(r11388);
        mpfr_init(r11389);
        mpfr_init(r11390);
        mpfr_init(r11391);
        mpfr_init_set_str(r11392, "21", 10, MPFR_RNDN);
        mpfr_init(r11393);
        mpfr_init(r11394);
        mpfr_init(r11395);
        mpfr_init(r11396);
        mpfr_init(r11397);
        mpfr_init(r11398);
        mpfr_init(r11399);
        mpfr_init(r11400);
        mpfr_init(r11401);
        mpfr_init(r11402);
        mpfr_init(r11403);
        mpfr_init(r11404);
}

double f_fm(double x) {
        ;
        mpfr_const_pi(r11373, MPFR_RNDN);
        mpfr_sqrt(r11374, r11373, MPFR_RNDN);
        mpfr_div(r11375, r11372, r11374, MPFR_RNDN);
        ;
        mpfr_set_d(r11377, x, MPFR_RNDN);
        mpfr_abs(r11378, r11377, MPFR_RNDN);
        mpfr_mul(r11379, r11376, r11378, MPFR_RNDN);
        ;
        mpfr_div(r11381, r11376, r11380, MPFR_RNDN);
        mpfr_mul(r11382, r11378, r11378, MPFR_RNDN);
        mpfr_mul(r11383, r11382, r11378, MPFR_RNDN);
        mpfr_mul(r11384, r11381, r11383, MPFR_RNDN);
        mpfr_add(r11385, r11379, r11384, MPFR_RNDN);
        ;
        mpfr_div(r11387, r11372, r11386, MPFR_RNDN);
        mpfr_mul(r11388, r11383, r11378, MPFR_RNDN);
        mpfr_mul(r11389, r11388, r11378, MPFR_RNDN);
        mpfr_mul(r11390, r11387, r11389, MPFR_RNDN);
        mpfr_add(r11391, r11385, r11390, MPFR_RNDN);
        ;
        mpfr_div(r11393, r11372, r11392, MPFR_RNDN);
        mpfr_sqrt(r11394, r11378, MPFR_RNDN);
        mpfr_mul(r11395, r11382, r11394, MPFR_RNDN);
        mpfr_mul(r11396, r11395, r11394, MPFR_RNDN);
        mpfr_mul(r11397, r11396, r11378, MPFR_RNDN);
        mpfr_mul(r11398, r11397, r11378, MPFR_RNDN);
        mpfr_mul(r11399, r11398, r11378, MPFR_RNDN);
        mpfr_mul(r11400, r11399, r11378, MPFR_RNDN);
        mpfr_mul(r11401, r11393, r11400, MPFR_RNDN);
        mpfr_add(r11402, r11391, r11401, MPFR_RNDN);
        mpfr_mul(r11403, r11375, r11402, MPFR_RNDN);
        mpfr_abs(r11404, r11403, MPFR_RNDN);
        return mpfr_get_d(r11404, MPFR_RNDN);
}

static mpfr_t r11405, r11406, r11407, r11408, r11409, r11410, r11411, r11412, r11413, r11414, r11415, r11416, r11417, r11418, r11419, r11420, r11421, r11422, r11423, r11424, r11425, r11426, r11427, r11428, r11429, r11430, r11431, r11432, r11433, r11434, r11435, r11436, r11437;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11405, "1", 10, MPFR_RNDN);
        mpfr_init(r11406);
        mpfr_init(r11407);
        mpfr_init(r11408);
        mpfr_init_set_str(r11409, "2", 10, MPFR_RNDN);
        mpfr_init(r11410);
        mpfr_init(r11411);
        mpfr_init(r11412);
        mpfr_init_set_str(r11413, "3", 10, MPFR_RNDN);
        mpfr_init(r11414);
        mpfr_init(r11415);
        mpfr_init(r11416);
        mpfr_init(r11417);
        mpfr_init(r11418);
        mpfr_init_set_str(r11419, "5", 10, MPFR_RNDN);
        mpfr_init(r11420);
        mpfr_init(r11421);
        mpfr_init(r11422);
        mpfr_init(r11423);
        mpfr_init(r11424);
        mpfr_init_set_str(r11425, "21", 10, MPFR_RNDN);
        mpfr_init(r11426);
        mpfr_init(r11427);
        mpfr_init(r11428);
        mpfr_init(r11429);
        mpfr_init(r11430);
        mpfr_init(r11431);
        mpfr_init(r11432);
        mpfr_init(r11433);
        mpfr_init(r11434);
        mpfr_init(r11435);
        mpfr_init(r11436);
        mpfr_init(r11437);
}

double f_dm(double x) {
        ;
        mpfr_const_pi(r11406, MPFR_RNDN);
        mpfr_sqrt(r11407, r11406, MPFR_RNDN);
        mpfr_div(r11408, r11405, r11407, MPFR_RNDN);
        ;
        mpfr_set_d(r11410, x, MPFR_RNDN);
        mpfr_abs(r11411, r11410, MPFR_RNDN);
        mpfr_mul(r11412, r11409, r11411, MPFR_RNDN);
        ;
        mpfr_div(r11414, r11409, r11413, MPFR_RNDN);
        mpfr_mul(r11415, r11411, r11411, MPFR_RNDN);
        mpfr_mul(r11416, r11415, r11411, MPFR_RNDN);
        mpfr_mul(r11417, r11414, r11416, MPFR_RNDN);
        mpfr_add(r11418, r11412, r11417, MPFR_RNDN);
        ;
        mpfr_div(r11420, r11405, r11419, MPFR_RNDN);
        mpfr_mul(r11421, r11416, r11411, MPFR_RNDN);
        mpfr_mul(r11422, r11421, r11411, MPFR_RNDN);
        mpfr_mul(r11423, r11420, r11422, MPFR_RNDN);
        mpfr_add(r11424, r11418, r11423, MPFR_RNDN);
        ;
        mpfr_div(r11426, r11405, r11425, MPFR_RNDN);
        mpfr_sqrt(r11427, r11411, MPFR_RNDN);
        mpfr_mul(r11428, r11415, r11427, MPFR_RNDN);
        mpfr_mul(r11429, r11428, r11427, MPFR_RNDN);
        mpfr_mul(r11430, r11429, r11411, MPFR_RNDN);
        mpfr_mul(r11431, r11430, r11411, MPFR_RNDN);
        mpfr_mul(r11432, r11431, r11411, MPFR_RNDN);
        mpfr_mul(r11433, r11432, r11411, MPFR_RNDN);
        mpfr_mul(r11434, r11426, r11433, MPFR_RNDN);
        mpfr_add(r11435, r11424, r11434, MPFR_RNDN);
        mpfr_mul(r11436, r11408, r11435, MPFR_RNDN);
        mpfr_abs(r11437, r11436, MPFR_RNDN);
        return mpfr_get_d(r11437, MPFR_RNDN);
}

