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

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

double f_if(float x) {
        float r11438 = 1;
        float r11439 = atan2(1.0, 0.0);
        float r11440 = sqrt(r11439);
        float r11441 = r11438 / r11440;
        float r11442 = x;
        float r11443 = fabs(r11442);
        float r11444 = r11443 * r11443;
        float r11445 = exp(r11444);
        float r11446 = r11441 * r11445;
        float r11447 = r11438 / r11443;
        float r11448 = 2;
        float r11449 = r11438 / r11448;
        float r11450 = r11447 * r11447;
        float r11451 = r11450 * r11447;
        float r11452 = r11449 * r11451;
        float r11453 = r11447 + r11452;
        float r11454 = 3;
        float r11455 = 4;
        float r11456 = r11454 / r11455;
        float r11457 = r11451 * r11447;
        float r11458 = r11457 * r11447;
        float r11459 = r11456 * r11458;
        float r11460 = r11453 + r11459;
        float r11461 = 15;
        float r11462 = 8;
        float r11463 = r11461 / r11462;
        float r11464 = r11458 * r11447;
        float r11465 = r11464 * r11447;
        float r11466 = r11463 * r11465;
        float r11467 = r11460 + r11466;
        float r11468 = r11446 * r11467;
        return r11468;
}

double f_id(double x) {
        double r11469 = 1;
        double r11470 = atan2(1.0, 0.0);
        double r11471 = sqrt(r11470);
        double r11472 = r11469 / r11471;
        double r11473 = x;
        double r11474 = fabs(r11473);
        double r11475 = r11474 * r11474;
        double r11476 = exp(r11475);
        double r11477 = r11472 * r11476;
        double r11478 = r11469 / r11474;
        double r11479 = 2;
        double r11480 = r11469 / r11479;
        double r11481 = r11478 * r11478;
        double r11482 = r11481 * r11478;
        double r11483 = r11480 * r11482;
        double r11484 = r11478 + r11483;
        double r11485 = 3;
        double r11486 = 4;
        double r11487 = r11485 / r11486;
        double r11488 = r11482 * r11478;
        double r11489 = r11488 * r11478;
        double r11490 = r11487 * r11489;
        double r11491 = r11484 + r11490;
        double r11492 = 15;
        double r11493 = 8;
        double r11494 = r11492 / r11493;
        double r11495 = r11489 * r11478;
        double r11496 = r11495 * r11478;
        double r11497 = r11494 * r11496;
        double r11498 = r11491 + r11497;
        double r11499 = r11477 * r11498;
        return r11499;
}


double f_of(float x) {
        float r11500 = 1;
        float r11501 = atan2(1.0, 0.0);
        float r11502 = r11500 / r11501;
        float r11503 = sqrt(r11502);
        float r11504 = x;
        float r11505 = fabs(r11504);
        float r11506 = r11503 / r11505;
        float r11507 = r11505 * r11505;
        float r11508 = exp(r11507);
        float r11509 = r11506 * r11508;
        float r11510 = r11500 / r11505;
        float r11511 = r11510 / r11507;
        float r11512 = r11508 * r11511;
        float r11513 = -1;
        float r11514 = 3;
        float r11515 = r11513 - r11514;
        float r11516 = pow(r11505, r11515);
        float r11517 = 15;
        float r11518 = 8;
        float r11519 = r11517 / r11518;
        float r11520 = sqrt(r11501);
        float r11521 = sqrt(r11520);
        float r11522 = r11521 * r11521;
        float r11523 = r11519 / r11522;
        float r11524 = r11516 * r11523;
        float r11525 = r11512 * r11524;
        float r11526 = r11509 + r11525;
        float r11527 = 2;
        float r11528 = r11527 * r11505;
        float r11529 = r11510 / r11528;
        float r11530 = 4;
        float r11531 = r11514 / r11530;
        float r11532 = r11514 + r11500;
        float r11533 = pow(r11510, r11532);
        float r11534 = r11531 * r11533;
        float r11535 = r11529 + r11534;
        float r11536 = r11520 * r11505;
        float r11537 = r11508 / r11536;
        float r11538 = r11535 * r11537;
        float r11539 = r11526 + r11538;
        return r11539;
}

double f_od(double x) {
        double r11540 = 1;
        double r11541 = atan2(1.0, 0.0);
        double r11542 = r11540 / r11541;
        double r11543 = sqrt(r11542);
        double r11544 = x;
        double r11545 = fabs(r11544);
        double r11546 = r11543 / r11545;
        double r11547 = r11545 * r11545;
        double r11548 = exp(r11547);
        double r11549 = r11546 * r11548;
        double r11550 = r11540 / r11545;
        double r11551 = r11550 / r11547;
        double r11552 = r11548 * r11551;
        double r11553 = -1;
        double r11554 = 3;
        double r11555 = r11553 - r11554;
        double r11556 = pow(r11545, r11555);
        double r11557 = 15;
        double r11558 = 8;
        double r11559 = r11557 / r11558;
        double r11560 = sqrt(r11541);
        double r11561 = sqrt(r11560);
        double r11562 = r11561 * r11561;
        double r11563 = r11559 / r11562;
        double r11564 = r11556 * r11563;
        double r11565 = r11552 * r11564;
        double r11566 = r11549 + r11565;
        double r11567 = 2;
        double r11568 = r11567 * r11545;
        double r11569 = r11550 / r11568;
        double r11570 = 4;
        double r11571 = r11554 / r11570;
        double r11572 = r11554 + r11540;
        double r11573 = pow(r11550, r11572);
        double r11574 = r11571 * r11573;
        double r11575 = r11569 + r11574;
        double r11576 = r11560 * r11545;
        double r11577 = r11548 / r11576;
        double r11578 = r11575 * r11577;
        double r11579 = r11566 + r11578;
        return r11579;
}

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 r11580, r11581, r11582, r11583, r11584, r11585, r11586, r11587, r11588, r11589, r11590, r11591, r11592, r11593, r11594, r11595, r11596, r11597, r11598, r11599, r11600, r11601, r11602, r11603, r11604, r11605, r11606, r11607, r11608, r11609, r11610;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11580, "1", 10, MPFR_RNDN);
        mpfr_init(r11581);
        mpfr_init(r11582);
        mpfr_init(r11583);
        mpfr_init(r11584);
        mpfr_init(r11585);
        mpfr_init(r11586);
        mpfr_init(r11587);
        mpfr_init(r11588);
        mpfr_init(r11589);
        mpfr_init_set_str(r11590, "2", 10, MPFR_RNDN);
        mpfr_init(r11591);
        mpfr_init(r11592);
        mpfr_init(r11593);
        mpfr_init(r11594);
        mpfr_init(r11595);
        mpfr_init_set_str(r11596, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r11597, "4", 10, MPFR_RNDN);
        mpfr_init(r11598);
        mpfr_init(r11599);
        mpfr_init(r11600);
        mpfr_init(r11601);
        mpfr_init(r11602);
        mpfr_init_set_str(r11603, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r11604, "8", 10, MPFR_RNDN);
        mpfr_init(r11605);
        mpfr_init(r11606);
        mpfr_init(r11607);
        mpfr_init(r11608);
        mpfr_init(r11609);
        mpfr_init(r11610);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r11581, MPFR_RNDN);
        mpfr_sqrt(r11582, r11581, MPFR_RNDN);
        mpfr_div(r11583, r11580, r11582, MPFR_RNDN);
        mpfr_set_d(r11584, x, MPFR_RNDN);
        mpfr_abs(r11585, r11584, MPFR_RNDN);
        mpfr_mul(r11586, r11585, r11585, MPFR_RNDN);
        mpfr_exp(r11587, r11586, MPFR_RNDN);
        mpfr_mul(r11588, r11583, r11587, MPFR_RNDN);
        mpfr_div(r11589, r11580, r11585, MPFR_RNDN);
        ;
        mpfr_div(r11591, r11580, r11590, MPFR_RNDN);
        mpfr_mul(r11592, r11589, r11589, MPFR_RNDN);
        mpfr_mul(r11593, r11592, r11589, MPFR_RNDN);
        mpfr_mul(r11594, r11591, r11593, MPFR_RNDN);
        mpfr_add(r11595, r11589, r11594, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11598, r11596, r11597, MPFR_RNDN);
        mpfr_mul(r11599, r11593, r11589, MPFR_RNDN);
        mpfr_mul(r11600, r11599, r11589, MPFR_RNDN);
        mpfr_mul(r11601, r11598, r11600, MPFR_RNDN);
        mpfr_add(r11602, r11595, r11601, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11605, r11603, r11604, MPFR_RNDN);
        mpfr_mul(r11606, r11600, r11589, MPFR_RNDN);
        mpfr_mul(r11607, r11606, r11589, MPFR_RNDN);
        mpfr_mul(r11608, r11605, r11607, MPFR_RNDN);
        mpfr_add(r11609, r11602, r11608, MPFR_RNDN);
        mpfr_mul(r11610, r11588, r11609, MPFR_RNDN);
        return mpfr_get_d(r11610, MPFR_RNDN);
}

static mpfr_t r11611, r11612, r11613, r11614, r11615, r11616, r11617, r11618, r11619, r11620, r11621, r11622, r11623, r11624, r11625, r11626, r11627, r11628, r11629, r11630, r11631, r11632, r11633, r11634, r11635, r11636, r11637, r11638, r11639, r11640, r11641, r11642, r11643, r11644, r11645, r11646, r11647, r11648, r11649, r11650;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11611, "1", 10, MPFR_RNDN);
        mpfr_init(r11612);
        mpfr_init(r11613);
        mpfr_init(r11614);
        mpfr_init(r11615);
        mpfr_init(r11616);
        mpfr_init(r11617);
        mpfr_init(r11618);
        mpfr_init(r11619);
        mpfr_init(r11620);
        mpfr_init(r11621);
        mpfr_init(r11622);
        mpfr_init(r11623);
        mpfr_init_set_str(r11624, "-1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11625, "3", 10, MPFR_RNDN);
        mpfr_init(r11626);
        mpfr_init(r11627);
        mpfr_init_set_str(r11628, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r11629, "8", 10, MPFR_RNDN);
        mpfr_init(r11630);
        mpfr_init(r11631);
        mpfr_init(r11632);
        mpfr_init(r11633);
        mpfr_init(r11634);
        mpfr_init(r11635);
        mpfr_init(r11636);
        mpfr_init(r11637);
        mpfr_init_set_str(r11638, "2", 10, MPFR_RNDN);
        mpfr_init(r11639);
        mpfr_init(r11640);
        mpfr_init_set_str(r11641, "4", 10, MPFR_RNDN);
        mpfr_init(r11642);
        mpfr_init(r11643);
        mpfr_init(r11644);
        mpfr_init(r11645);
        mpfr_init(r11646);
        mpfr_init(r11647);
        mpfr_init(r11648);
        mpfr_init(r11649);
        mpfr_init(r11650);
}

double f_fm(double x) {
        ;
        mpfr_const_pi(r11612, MPFR_RNDN);
        mpfr_div(r11613, r11611, r11612, MPFR_RNDN);
        mpfr_sqrt(r11614, r11613, MPFR_RNDN);
        mpfr_set_d(r11615, x, MPFR_RNDN);
        mpfr_abs(r11616, r11615, MPFR_RNDN);
        mpfr_div(r11617, r11614, r11616, MPFR_RNDN);
        mpfr_mul(r11618, r11616, r11616, MPFR_RNDN);
        mpfr_exp(r11619, r11618, MPFR_RNDN);
        mpfr_mul(r11620, r11617, r11619, MPFR_RNDN);
        mpfr_div(r11621, r11611, r11616, MPFR_RNDN);
        mpfr_div(r11622, r11621, r11618, MPFR_RNDN);
        mpfr_mul(r11623, r11619, r11622, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11626, r11624, r11625, MPFR_RNDN);
        mpfr_pow(r11627, r11616, r11626, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11630, r11628, r11629, MPFR_RNDN);
        mpfr_sqrt(r11631, r11612, MPFR_RNDN);
        mpfr_sqrt(r11632, r11631, MPFR_RNDN);
        mpfr_mul(r11633, r11632, r11632, MPFR_RNDN);
        mpfr_div(r11634, r11630, r11633, MPFR_RNDN);
        mpfr_mul(r11635, r11627, r11634, MPFR_RNDN);
        mpfr_mul(r11636, r11623, r11635, MPFR_RNDN);
        mpfr_add(r11637, r11620, r11636, MPFR_RNDN);
        ;
        mpfr_mul(r11639, r11638, r11616, MPFR_RNDN);
        mpfr_div(r11640, r11621, r11639, MPFR_RNDN);
        ;
        mpfr_div(r11642, r11625, r11641, MPFR_RNDN);
        mpfr_add(r11643, r11625, r11611, MPFR_RNDN);
        mpfr_pow(r11644, r11621, r11643, MPFR_RNDN);
        mpfr_mul(r11645, r11642, r11644, MPFR_RNDN);
        mpfr_add(r11646, r11640, r11645, MPFR_RNDN);
        mpfr_mul(r11647, r11631, r11616, MPFR_RNDN);
        mpfr_div(r11648, r11619, r11647, MPFR_RNDN);
        mpfr_mul(r11649, r11646, r11648, MPFR_RNDN);
        mpfr_add(r11650, r11637, r11649, MPFR_RNDN);
        return mpfr_get_d(r11650, MPFR_RNDN);
}

static mpfr_t r11651, r11652, r11653, r11654, r11655, r11656, r11657, r11658, r11659, r11660, r11661, r11662, r11663, r11664, r11665, r11666, r11667, r11668, r11669, r11670, r11671, r11672, r11673, r11674, r11675, r11676, r11677, r11678, r11679, r11680, r11681, r11682, r11683, r11684, r11685, r11686, r11687, r11688, r11689, r11690;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11651, "1", 10, MPFR_RNDN);
        mpfr_init(r11652);
        mpfr_init(r11653);
        mpfr_init(r11654);
        mpfr_init(r11655);
        mpfr_init(r11656);
        mpfr_init(r11657);
        mpfr_init(r11658);
        mpfr_init(r11659);
        mpfr_init(r11660);
        mpfr_init(r11661);
        mpfr_init(r11662);
        mpfr_init(r11663);
        mpfr_init_set_str(r11664, "-1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11665, "3", 10, MPFR_RNDN);
        mpfr_init(r11666);
        mpfr_init(r11667);
        mpfr_init_set_str(r11668, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r11669, "8", 10, MPFR_RNDN);
        mpfr_init(r11670);
        mpfr_init(r11671);
        mpfr_init(r11672);
        mpfr_init(r11673);
        mpfr_init(r11674);
        mpfr_init(r11675);
        mpfr_init(r11676);
        mpfr_init(r11677);
        mpfr_init_set_str(r11678, "2", 10, MPFR_RNDN);
        mpfr_init(r11679);
        mpfr_init(r11680);
        mpfr_init_set_str(r11681, "4", 10, MPFR_RNDN);
        mpfr_init(r11682);
        mpfr_init(r11683);
        mpfr_init(r11684);
        mpfr_init(r11685);
        mpfr_init(r11686);
        mpfr_init(r11687);
        mpfr_init(r11688);
        mpfr_init(r11689);
        mpfr_init(r11690);
}

double f_dm(double x) {
        ;
        mpfr_const_pi(r11652, MPFR_RNDN);
        mpfr_div(r11653, r11651, r11652, MPFR_RNDN);
        mpfr_sqrt(r11654, r11653, MPFR_RNDN);
        mpfr_set_d(r11655, x, MPFR_RNDN);
        mpfr_abs(r11656, r11655, MPFR_RNDN);
        mpfr_div(r11657, r11654, r11656, MPFR_RNDN);
        mpfr_mul(r11658, r11656, r11656, MPFR_RNDN);
        mpfr_exp(r11659, r11658, MPFR_RNDN);
        mpfr_mul(r11660, r11657, r11659, MPFR_RNDN);
        mpfr_div(r11661, r11651, r11656, MPFR_RNDN);
        mpfr_div(r11662, r11661, r11658, MPFR_RNDN);
        mpfr_mul(r11663, r11659, r11662, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11666, r11664, r11665, MPFR_RNDN);
        mpfr_pow(r11667, r11656, r11666, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11670, r11668, r11669, MPFR_RNDN);
        mpfr_sqrt(r11671, r11652, MPFR_RNDN);
        mpfr_sqrt(r11672, r11671, MPFR_RNDN);
        mpfr_mul(r11673, r11672, r11672, MPFR_RNDN);
        mpfr_div(r11674, r11670, r11673, MPFR_RNDN);
        mpfr_mul(r11675, r11667, r11674, MPFR_RNDN);
        mpfr_mul(r11676, r11663, r11675, MPFR_RNDN);
        mpfr_add(r11677, r11660, r11676, MPFR_RNDN);
        ;
        mpfr_mul(r11679, r11678, r11656, MPFR_RNDN);
        mpfr_div(r11680, r11661, r11679, MPFR_RNDN);
        ;
        mpfr_div(r11682, r11665, r11681, MPFR_RNDN);
        mpfr_add(r11683, r11665, r11651, MPFR_RNDN);
        mpfr_pow(r11684, r11661, r11683, MPFR_RNDN);
        mpfr_mul(r11685, r11682, r11684, MPFR_RNDN);
        mpfr_add(r11686, r11680, r11685, MPFR_RNDN);
        mpfr_mul(r11687, r11671, r11656, MPFR_RNDN);
        mpfr_div(r11688, r11659, r11687, MPFR_RNDN);
        mpfr_mul(r11689, r11686, r11688, MPFR_RNDN);
        mpfr_add(r11690, r11677, r11689, MPFR_RNDN);
        return mpfr_get_d(r11690, MPFR_RNDN);
}

