#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 r30487 = 1;
        float r30488 = atan2(1.0, 0.0);
        float r30489 = sqrt(r30488);
        float r30490 = r30487 / r30489;
        float r30491 = x;
        float r30492 = fabs(r30491);
        float r30493 = r30492 * r30492;
        float r30494 = exp(r30493);
        float r30495 = r30490 * r30494;
        float r30496 = r30487 / r30492;
        float r30497 = 2;
        float r30498 = r30487 / r30497;
        float r30499 = r30496 * r30496;
        float r30500 = r30499 * r30496;
        float r30501 = r30498 * r30500;
        float r30502 = r30496 + r30501;
        float r30503 = 3;
        float r30504 = 4;
        float r30505 = r30503 / r30504;
        float r30506 = r30500 * r30496;
        float r30507 = r30506 * r30496;
        float r30508 = r30505 * r30507;
        float r30509 = r30502 + r30508;
        float r30510 = 15;
        float r30511 = 8;
        float r30512 = r30510 / r30511;
        float r30513 = r30507 * r30496;
        float r30514 = r30513 * r30496;
        float r30515 = r30512 * r30514;
        float r30516 = r30509 + r30515;
        float r30517 = r30495 * r30516;
        return r30517;
}

double f_id(double x) {
        double r30518 = 1;
        double r30519 = atan2(1.0, 0.0);
        double r30520 = sqrt(r30519);
        double r30521 = r30518 / r30520;
        double r30522 = x;
        double r30523 = fabs(r30522);
        double r30524 = r30523 * r30523;
        double r30525 = exp(r30524);
        double r30526 = r30521 * r30525;
        double r30527 = r30518 / r30523;
        double r30528 = 2;
        double r30529 = r30518 / r30528;
        double r30530 = r30527 * r30527;
        double r30531 = r30530 * r30527;
        double r30532 = r30529 * r30531;
        double r30533 = r30527 + r30532;
        double r30534 = 3;
        double r30535 = 4;
        double r30536 = r30534 / r30535;
        double r30537 = r30531 * r30527;
        double r30538 = r30537 * r30527;
        double r30539 = r30536 * r30538;
        double r30540 = r30533 + r30539;
        double r30541 = 15;
        double r30542 = 8;
        double r30543 = r30541 / r30542;
        double r30544 = r30538 * r30527;
        double r30545 = r30544 * r30527;
        double r30546 = r30543 * r30545;
        double r30547 = r30540 + r30546;
        double r30548 = r30526 * r30547;
        return r30548;
}


double f_of(float x) {
        float r30549 = x;
        float r30550 = fabs(r30549);
        float r30551 = r30550 * r30550;
        float r30552 = exp(r30551);
        float r30553 = atan2(1.0, 0.0);
        float r30554 = sqrt(r30553);
        float r30555 = r30552 / r30554;
        float r30556 = 3;
        float r30557 = 4;
        float r30558 = r30556 / r30557;
        float r30559 = r30558 / r30550;
        float r30560 = r30559 / r30551;
        float r30561 = r30560 / r30551;
        float r30562 = 15;
        float r30563 = 8;
        float r30564 = r30562 / r30563;
        float r30565 = r30564 / r30550;
        float r30566 = pow(r30550, r30556);
        float r30567 = r30566 * r30566;
        float r30568 = r30565 / r30567;
        float r30569 = 1;
        float r30570 = r30569 / r30550;
        float r30571 = 2;
        float r30572 = r30569 / r30571;
        float r30573 = r30572 / r30550;
        float r30574 = r30573 / r30551;
        float r30575 = r30570 + r30574;
        float r30576 = r30568 + r30575;
        float r30577 = r30561 + r30576;
        float r30578 = r30555 * r30577;
        return r30578;
}

double f_od(double x) {
        double r30579 = x;
        double r30580 = fabs(r30579);
        double r30581 = r30580 * r30580;
        double r30582 = exp(r30581);
        double r30583 = atan2(1.0, 0.0);
        double r30584 = sqrt(r30583);
        double r30585 = r30582 / r30584;
        double r30586 = 3;
        double r30587 = 4;
        double r30588 = r30586 / r30587;
        double r30589 = r30588 / r30580;
        double r30590 = r30589 / r30581;
        double r30591 = r30590 / r30581;
        double r30592 = 15;
        double r30593 = 8;
        double r30594 = r30592 / r30593;
        double r30595 = r30594 / r30580;
        double r30596 = pow(r30580, r30586);
        double r30597 = r30596 * r30596;
        double r30598 = r30595 / r30597;
        double r30599 = 1;
        double r30600 = r30599 / r30580;
        double r30601 = 2;
        double r30602 = r30599 / r30601;
        double r30603 = r30602 / r30580;
        double r30604 = r30603 / r30581;
        double r30605 = r30600 + r30604;
        double r30606 = r30598 + r30605;
        double r30607 = r30591 + r30606;
        double r30608 = r30585 * r30607;
        return r30608;
}

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 r30609, r30610, r30611, r30612, r30613, r30614, r30615, r30616, r30617, r30618, r30619, r30620, r30621, r30622, r30623, r30624, r30625, r30626, r30627, r30628, r30629, r30630, r30631, r30632, r30633, r30634, r30635, r30636, r30637, r30638, r30639;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r30609, "1", 10, MPFR_RNDN);
        mpfr_init(r30610);
        mpfr_init(r30611);
        mpfr_init(r30612);
        mpfr_init(r30613);
        mpfr_init(r30614);
        mpfr_init(r30615);
        mpfr_init(r30616);
        mpfr_init(r30617);
        mpfr_init(r30618);
        mpfr_init_set_str(r30619, "2", 10, MPFR_RNDN);
        mpfr_init(r30620);
        mpfr_init(r30621);
        mpfr_init(r30622);
        mpfr_init(r30623);
        mpfr_init(r30624);
        mpfr_init_set_str(r30625, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r30626, "4", 10, MPFR_RNDN);
        mpfr_init(r30627);
        mpfr_init(r30628);
        mpfr_init(r30629);
        mpfr_init(r30630);
        mpfr_init(r30631);
        mpfr_init_set_str(r30632, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r30633, "8", 10, MPFR_RNDN);
        mpfr_init(r30634);
        mpfr_init(r30635);
        mpfr_init(r30636);
        mpfr_init(r30637);
        mpfr_init(r30638);
        mpfr_init(r30639);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r30610, MPFR_RNDN);
        mpfr_sqrt(r30611, r30610, MPFR_RNDN);
        mpfr_div(r30612, r30609, r30611, MPFR_RNDN);
        mpfr_set_d(r30613, x, MPFR_RNDN);
        mpfr_abs(r30614, r30613, MPFR_RNDN);
        mpfr_mul(r30615, r30614, r30614, MPFR_RNDN);
        mpfr_exp(r30616, r30615, MPFR_RNDN);
        mpfr_mul(r30617, r30612, r30616, MPFR_RNDN);
        mpfr_div(r30618, r30609, r30614, MPFR_RNDN);
        ;
        mpfr_div(r30620, r30609, r30619, MPFR_RNDN);
        mpfr_mul(r30621, r30618, r30618, MPFR_RNDN);
        mpfr_mul(r30622, r30621, r30618, MPFR_RNDN);
        mpfr_mul(r30623, r30620, r30622, MPFR_RNDN);
        mpfr_add(r30624, r30618, r30623, MPFR_RNDN);
        ;
        ;
        mpfr_div(r30627, r30625, r30626, MPFR_RNDN);
        mpfr_mul(r30628, r30622, r30618, MPFR_RNDN);
        mpfr_mul(r30629, r30628, r30618, MPFR_RNDN);
        mpfr_mul(r30630, r30627, r30629, MPFR_RNDN);
        mpfr_add(r30631, r30624, r30630, MPFR_RNDN);
        ;
        ;
        mpfr_div(r30634, r30632, r30633, MPFR_RNDN);
        mpfr_mul(r30635, r30629, r30618, MPFR_RNDN);
        mpfr_mul(r30636, r30635, r30618, MPFR_RNDN);
        mpfr_mul(r30637, r30634, r30636, MPFR_RNDN);
        mpfr_add(r30638, r30631, r30637, MPFR_RNDN);
        mpfr_mul(r30639, r30617, r30638, MPFR_RNDN);
        return mpfr_get_d(r30639, MPFR_RNDN);
}

static mpfr_t r30640, r30641, r30642, r30643, r30644, r30645, r30646, r30647, r30648, r30649, r30650, r30651, r30652, r30653, r30654, r30655, r30656, r30657, r30658, r30659, r30660, r30661, r30662, r30663, r30664, r30665, r30666, r30667, r30668, r30669;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30640);
        mpfr_init(r30641);
        mpfr_init(r30642);
        mpfr_init(r30643);
        mpfr_init(r30644);
        mpfr_init(r30645);
        mpfr_init(r30646);
        mpfr_init_set_str(r30647, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r30648, "4", 10, MPFR_RNDN);
        mpfr_init(r30649);
        mpfr_init(r30650);
        mpfr_init(r30651);
        mpfr_init(r30652);
        mpfr_init_set_str(r30653, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r30654, "8", 10, MPFR_RNDN);
        mpfr_init(r30655);
        mpfr_init(r30656);
        mpfr_init(r30657);
        mpfr_init(r30658);
        mpfr_init(r30659);
        mpfr_init_set_str(r30660, "1", 10, MPFR_RNDN);
        mpfr_init(r30661);
        mpfr_init_set_str(r30662, "2", 10, MPFR_RNDN);
        mpfr_init(r30663);
        mpfr_init(r30664);
        mpfr_init(r30665);
        mpfr_init(r30666);
        mpfr_init(r30667);
        mpfr_init(r30668);
        mpfr_init(r30669);
}

double f_fm(double x) {
        mpfr_set_d(r30640, x, MPFR_RNDN);
        mpfr_abs(r30641, r30640, MPFR_RNDN);
        mpfr_mul(r30642, r30641, r30641, MPFR_RNDN);
        mpfr_exp(r30643, r30642, MPFR_RNDN);
        mpfr_const_pi(r30644, MPFR_RNDN);
        mpfr_sqrt(r30645, r30644, MPFR_RNDN);
        mpfr_div(r30646, r30643, r30645, MPFR_RNDN);
        ;
        ;
        mpfr_div(r30649, r30647, r30648, MPFR_RNDN);
        mpfr_div(r30650, r30649, r30641, MPFR_RNDN);
        mpfr_div(r30651, r30650, r30642, MPFR_RNDN);
        mpfr_div(r30652, r30651, r30642, MPFR_RNDN);
        ;
        ;
        mpfr_div(r30655, r30653, r30654, MPFR_RNDN);
        mpfr_div(r30656, r30655, r30641, MPFR_RNDN);
        mpfr_pow(r30657, r30641, r30647, MPFR_RNDN);
        mpfr_mul(r30658, r30657, r30657, MPFR_RNDN);
        mpfr_div(r30659, r30656, r30658, MPFR_RNDN);
        ;
        mpfr_div(r30661, r30660, r30641, MPFR_RNDN);
        ;
        mpfr_div(r30663, r30660, r30662, MPFR_RNDN);
        mpfr_div(r30664, r30663, r30641, MPFR_RNDN);
        mpfr_div(r30665, r30664, r30642, MPFR_RNDN);
        mpfr_add(r30666, r30661, r30665, MPFR_RNDN);
        mpfr_add(r30667, r30659, r30666, MPFR_RNDN);
        mpfr_add(r30668, r30652, r30667, MPFR_RNDN);
        mpfr_mul(r30669, r30646, r30668, MPFR_RNDN);
        return mpfr_get_d(r30669, MPFR_RNDN);
}

static mpfr_t r30670, r30671, r30672, r30673, r30674, r30675, r30676, r30677, r30678, r30679, r30680, r30681, r30682, r30683, r30684, r30685, r30686, r30687, r30688, r30689, r30690, r30691, r30692, r30693, r30694, r30695, r30696, r30697, r30698, r30699;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30670);
        mpfr_init(r30671);
        mpfr_init(r30672);
        mpfr_init(r30673);
        mpfr_init(r30674);
        mpfr_init(r30675);
        mpfr_init(r30676);
        mpfr_init_set_str(r30677, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r30678, "4", 10, MPFR_RNDN);
        mpfr_init(r30679);
        mpfr_init(r30680);
        mpfr_init(r30681);
        mpfr_init(r30682);
        mpfr_init_set_str(r30683, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r30684, "8", 10, MPFR_RNDN);
        mpfr_init(r30685);
        mpfr_init(r30686);
        mpfr_init(r30687);
        mpfr_init(r30688);
        mpfr_init(r30689);
        mpfr_init_set_str(r30690, "1", 10, MPFR_RNDN);
        mpfr_init(r30691);
        mpfr_init_set_str(r30692, "2", 10, MPFR_RNDN);
        mpfr_init(r30693);
        mpfr_init(r30694);
        mpfr_init(r30695);
        mpfr_init(r30696);
        mpfr_init(r30697);
        mpfr_init(r30698);
        mpfr_init(r30699);
}

double f_dm(double x) {
        mpfr_set_d(r30670, x, MPFR_RNDN);
        mpfr_abs(r30671, r30670, MPFR_RNDN);
        mpfr_mul(r30672, r30671, r30671, MPFR_RNDN);
        mpfr_exp(r30673, r30672, MPFR_RNDN);
        mpfr_const_pi(r30674, MPFR_RNDN);
        mpfr_sqrt(r30675, r30674, MPFR_RNDN);
        mpfr_div(r30676, r30673, r30675, MPFR_RNDN);
        ;
        ;
        mpfr_div(r30679, r30677, r30678, MPFR_RNDN);
        mpfr_div(r30680, r30679, r30671, MPFR_RNDN);
        mpfr_div(r30681, r30680, r30672, MPFR_RNDN);
        mpfr_div(r30682, r30681, r30672, MPFR_RNDN);
        ;
        ;
        mpfr_div(r30685, r30683, r30684, MPFR_RNDN);
        mpfr_div(r30686, r30685, r30671, MPFR_RNDN);
        mpfr_pow(r30687, r30671, r30677, MPFR_RNDN);
        mpfr_mul(r30688, r30687, r30687, MPFR_RNDN);
        mpfr_div(r30689, r30686, r30688, MPFR_RNDN);
        ;
        mpfr_div(r30691, r30690, r30671, MPFR_RNDN);
        ;
        mpfr_div(r30693, r30690, r30692, MPFR_RNDN);
        mpfr_div(r30694, r30693, r30671, MPFR_RNDN);
        mpfr_div(r30695, r30694, r30672, MPFR_RNDN);
        mpfr_add(r30696, r30691, r30695, MPFR_RNDN);
        mpfr_add(r30697, r30689, r30696, MPFR_RNDN);
        mpfr_add(r30698, r30682, r30697, MPFR_RNDN);
        mpfr_mul(r30699, r30676, r30698, MPFR_RNDN);
        return mpfr_get_d(r30699, MPFR_RNDN);
}

