#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 r11569 = 1;
        float r11570 = atan2(1.0, 0.0);
        float r11571 = sqrt(r11570);
        float r11572 = r11569 / r11571;
        float r11573 = x;
        float r11574 = fabs(r11573);
        float r11575 = r11574 * r11574;
        float r11576 = exp(r11575);
        float r11577 = r11572 * r11576;
        float r11578 = r11569 / r11574;
        float r11579 = 2;
        float r11580 = r11569 / r11579;
        float r11581 = r11578 * r11578;
        float r11582 = r11581 * r11578;
        float r11583 = r11580 * r11582;
        float r11584 = r11578 + r11583;
        float r11585 = 3;
        float r11586 = 4;
        float r11587 = r11585 / r11586;
        float r11588 = r11582 * r11578;
        float r11589 = r11588 * r11578;
        float r11590 = r11587 * r11589;
        float r11591 = r11584 + r11590;
        float r11592 = 15;
        float r11593 = 8;
        float r11594 = r11592 / r11593;
        float r11595 = r11589 * r11578;
        float r11596 = r11595 * r11578;
        float r11597 = r11594 * r11596;
        float r11598 = r11591 + r11597;
        float r11599 = r11577 * r11598;
        return r11599;
}

double f_id(double x) {
        double r11600 = 1;
        double r11601 = atan2(1.0, 0.0);
        double r11602 = sqrt(r11601);
        double r11603 = r11600 / r11602;
        double r11604 = x;
        double r11605 = fabs(r11604);
        double r11606 = r11605 * r11605;
        double r11607 = exp(r11606);
        double r11608 = r11603 * r11607;
        double r11609 = r11600 / r11605;
        double r11610 = 2;
        double r11611 = r11600 / r11610;
        double r11612 = r11609 * r11609;
        double r11613 = r11612 * r11609;
        double r11614 = r11611 * r11613;
        double r11615 = r11609 + r11614;
        double r11616 = 3;
        double r11617 = 4;
        double r11618 = r11616 / r11617;
        double r11619 = r11613 * r11609;
        double r11620 = r11619 * r11609;
        double r11621 = r11618 * r11620;
        double r11622 = r11615 + r11621;
        double r11623 = 15;
        double r11624 = 8;
        double r11625 = r11623 / r11624;
        double r11626 = r11620 * r11609;
        double r11627 = r11626 * r11609;
        double r11628 = r11625 * r11627;
        double r11629 = r11622 + r11628;
        double r11630 = r11608 * r11629;
        return r11630;
}


double f_of(float x) {
        float r11631 = x;
        float r11632 = fabs(r11631);
        float r11633 = r11632 * r11632;
        float r11634 = exp(r11633);
        float r11635 = atan2(1.0, 0.0);
        float r11636 = sqrt(r11635);
        float r11637 = r11634 / r11636;
        float r11638 = 1;
        float r11639 = r11638 / r11632;
        float r11640 = r11639 / r11633;
        float r11641 = 2;
        float r11642 = r11640 / r11641;
        float r11643 = 3;
        float r11644 = 4;
        float r11645 = r11643 / r11644;
        float r11646 = r11639 * r11645;
        float r11647 = r11643 + r11638;
        float r11648 = pow(r11639, r11647);
        float r11649 = r11646 * r11648;
        float r11650 = r11642 + r11649;
        float r11651 = r11637 * r11650;
        float r11652 = r11634 * r11640;
        float r11653 = -1;
        float r11654 = r11653 - r11643;
        float r11655 = pow(r11632, r11654);
        float r11656 = 15;
        float r11657 = 8;
        float r11658 = r11656 / r11657;
        float r11659 = sqrt(r11636);
        float r11660 = r11659 * r11659;
        float r11661 = r11658 / r11660;
        float r11662 = r11655 * r11661;
        float r11663 = r11652 * r11662;
        float r11664 = r11638 / r11636;
        float r11665 = r11664 / r11632;
        float r11666 = r11665 * r11634;
        float r11667 = r11663 + r11666;
        float r11668 = r11651 + r11667;
        return r11668;
}

double f_od(double x) {
        double r11669 = x;
        double r11670 = fabs(r11669);
        double r11671 = r11670 * r11670;
        double r11672 = exp(r11671);
        double r11673 = atan2(1.0, 0.0);
        double r11674 = sqrt(r11673);
        double r11675 = r11672 / r11674;
        double r11676 = 1;
        double r11677 = r11676 / r11670;
        double r11678 = r11677 / r11671;
        double r11679 = 2;
        double r11680 = r11678 / r11679;
        double r11681 = 3;
        double r11682 = 4;
        double r11683 = r11681 / r11682;
        double r11684 = r11677 * r11683;
        double r11685 = r11681 + r11676;
        double r11686 = pow(r11677, r11685);
        double r11687 = r11684 * r11686;
        double r11688 = r11680 + r11687;
        double r11689 = r11675 * r11688;
        double r11690 = r11672 * r11678;
        double r11691 = -1;
        double r11692 = r11691 - r11681;
        double r11693 = pow(r11670, r11692);
        double r11694 = 15;
        double r11695 = 8;
        double r11696 = r11694 / r11695;
        double r11697 = sqrt(r11674);
        double r11698 = r11697 * r11697;
        double r11699 = r11696 / r11698;
        double r11700 = r11693 * r11699;
        double r11701 = r11690 * r11700;
        double r11702 = r11676 / r11674;
        double r11703 = r11702 / r11670;
        double r11704 = r11703 * r11672;
        double r11705 = r11701 + r11704;
        double r11706 = r11689 + r11705;
        return r11706;
}

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 r11707, r11708, r11709, r11710, r11711, r11712, r11713, r11714, r11715, r11716, r11717, r11718, r11719, r11720, r11721, r11722, r11723, r11724, r11725, r11726, r11727, r11728, r11729, r11730, r11731, r11732, r11733, r11734, r11735, r11736, r11737;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11707, "1", 10, MPFR_RNDN);
        mpfr_init(r11708);
        mpfr_init(r11709);
        mpfr_init(r11710);
        mpfr_init(r11711);
        mpfr_init(r11712);
        mpfr_init(r11713);
        mpfr_init(r11714);
        mpfr_init(r11715);
        mpfr_init(r11716);
        mpfr_init_set_str(r11717, "2", 10, MPFR_RNDN);
        mpfr_init(r11718);
        mpfr_init(r11719);
        mpfr_init(r11720);
        mpfr_init(r11721);
        mpfr_init(r11722);
        mpfr_init_set_str(r11723, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r11724, "4", 10, MPFR_RNDN);
        mpfr_init(r11725);
        mpfr_init(r11726);
        mpfr_init(r11727);
        mpfr_init(r11728);
        mpfr_init(r11729);
        mpfr_init_set_str(r11730, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r11731, "8", 10, MPFR_RNDN);
        mpfr_init(r11732);
        mpfr_init(r11733);
        mpfr_init(r11734);
        mpfr_init(r11735);
        mpfr_init(r11736);
        mpfr_init(r11737);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r11708, MPFR_RNDN);
        mpfr_sqrt(r11709, r11708, MPFR_RNDN);
        mpfr_div(r11710, r11707, r11709, MPFR_RNDN);
        mpfr_set_d(r11711, x, MPFR_RNDN);
        mpfr_abs(r11712, r11711, MPFR_RNDN);
        mpfr_mul(r11713, r11712, r11712, MPFR_RNDN);
        mpfr_exp(r11714, r11713, MPFR_RNDN);
        mpfr_mul(r11715, r11710, r11714, MPFR_RNDN);
        mpfr_div(r11716, r11707, r11712, MPFR_RNDN);
        ;
        mpfr_div(r11718, r11707, r11717, MPFR_RNDN);
        mpfr_mul(r11719, r11716, r11716, MPFR_RNDN);
        mpfr_mul(r11720, r11719, r11716, MPFR_RNDN);
        mpfr_mul(r11721, r11718, r11720, MPFR_RNDN);
        mpfr_add(r11722, r11716, r11721, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11725, r11723, r11724, MPFR_RNDN);
        mpfr_mul(r11726, r11720, r11716, MPFR_RNDN);
        mpfr_mul(r11727, r11726, r11716, MPFR_RNDN);
        mpfr_mul(r11728, r11725, r11727, MPFR_RNDN);
        mpfr_add(r11729, r11722, r11728, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11732, r11730, r11731, MPFR_RNDN);
        mpfr_mul(r11733, r11727, r11716, MPFR_RNDN);
        mpfr_mul(r11734, r11733, r11716, MPFR_RNDN);
        mpfr_mul(r11735, r11732, r11734, MPFR_RNDN);
        mpfr_add(r11736, r11729, r11735, MPFR_RNDN);
        mpfr_mul(r11737, r11715, r11736, MPFR_RNDN);
        return mpfr_get_d(r11737, MPFR_RNDN);
}

static mpfr_t r11738, r11739, r11740, r11741, r11742, r11743, r11744, r11745, r11746, r11747, r11748, r11749, r11750, r11751, r11752, r11753, r11754, r11755, r11756, r11757, r11758, r11759, r11760, r11761, r11762, r11763, r11764, r11765, r11766, r11767, r11768, r11769, r11770, r11771, r11772, r11773, r11774, r11775;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11738);
        mpfr_init(r11739);
        mpfr_init(r11740);
        mpfr_init(r11741);
        mpfr_init(r11742);
        mpfr_init(r11743);
        mpfr_init(r11744);
        mpfr_init_set_str(r11745, "1", 10, MPFR_RNDN);
        mpfr_init(r11746);
        mpfr_init(r11747);
        mpfr_init_set_str(r11748, "2", 10, MPFR_RNDN);
        mpfr_init(r11749);
        mpfr_init_set_str(r11750, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r11751, "4", 10, MPFR_RNDN);
        mpfr_init(r11752);
        mpfr_init(r11753);
        mpfr_init(r11754);
        mpfr_init(r11755);
        mpfr_init(r11756);
        mpfr_init(r11757);
        mpfr_init(r11758);
        mpfr_init(r11759);
        mpfr_init_set_str(r11760, "-1", 10, MPFR_RNDN);
        mpfr_init(r11761);
        mpfr_init(r11762);
        mpfr_init_set_str(r11763, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r11764, "8", 10, MPFR_RNDN);
        mpfr_init(r11765);
        mpfr_init(r11766);
        mpfr_init(r11767);
        mpfr_init(r11768);
        mpfr_init(r11769);
        mpfr_init(r11770);
        mpfr_init(r11771);
        mpfr_init(r11772);
        mpfr_init(r11773);
        mpfr_init(r11774);
        mpfr_init(r11775);
}

double f_fm(double x) {
        mpfr_set_d(r11738, x, MPFR_RNDN);
        mpfr_abs(r11739, r11738, MPFR_RNDN);
        mpfr_mul(r11740, r11739, r11739, MPFR_RNDN);
        mpfr_exp(r11741, r11740, MPFR_RNDN);
        mpfr_const_pi(r11742, MPFR_RNDN);
        mpfr_sqrt(r11743, r11742, MPFR_RNDN);
        mpfr_div(r11744, r11741, r11743, MPFR_RNDN);
        ;
        mpfr_div(r11746, r11745, r11739, MPFR_RNDN);
        mpfr_div(r11747, r11746, r11740, MPFR_RNDN);
        ;
        mpfr_div(r11749, r11747, r11748, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11752, r11750, r11751, MPFR_RNDN);
        mpfr_mul(r11753, r11746, r11752, MPFR_RNDN);
        mpfr_add(r11754, r11750, r11745, MPFR_RNDN);
        mpfr_pow(r11755, r11746, r11754, MPFR_RNDN);
        mpfr_mul(r11756, r11753, r11755, MPFR_RNDN);
        mpfr_add(r11757, r11749, r11756, MPFR_RNDN);
        mpfr_mul(r11758, r11744, r11757, MPFR_RNDN);
        mpfr_mul(r11759, r11741, r11747, MPFR_RNDN);
        ;
        mpfr_sub(r11761, r11760, r11750, MPFR_RNDN);
        mpfr_pow(r11762, r11739, r11761, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11765, r11763, r11764, MPFR_RNDN);
        mpfr_sqrt(r11766, r11743, MPFR_RNDN);
        mpfr_mul(r11767, r11766, r11766, MPFR_RNDN);
        mpfr_div(r11768, r11765, r11767, MPFR_RNDN);
        mpfr_mul(r11769, r11762, r11768, MPFR_RNDN);
        mpfr_mul(r11770, r11759, r11769, MPFR_RNDN);
        mpfr_div(r11771, r11745, r11743, MPFR_RNDN);
        mpfr_div(r11772, r11771, r11739, MPFR_RNDN);
        mpfr_mul(r11773, r11772, r11741, MPFR_RNDN);
        mpfr_add(r11774, r11770, r11773, MPFR_RNDN);
        mpfr_add(r11775, r11758, r11774, MPFR_RNDN);
        return mpfr_get_d(r11775, MPFR_RNDN);
}

static mpfr_t r11776, r11777, r11778, r11779, r11780, r11781, r11782, r11783, r11784, r11785, r11786, r11787, r11788, r11789, r11790, r11791, r11792, r11793, r11794, r11795, r11796, r11797, r11798, r11799, r11800, r11801, r11802, r11803, r11804, r11805, r11806, r11807, r11808, r11809, r11810, r11811, r11812, r11813;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11776);
        mpfr_init(r11777);
        mpfr_init(r11778);
        mpfr_init(r11779);
        mpfr_init(r11780);
        mpfr_init(r11781);
        mpfr_init(r11782);
        mpfr_init_set_str(r11783, "1", 10, MPFR_RNDN);
        mpfr_init(r11784);
        mpfr_init(r11785);
        mpfr_init_set_str(r11786, "2", 10, MPFR_RNDN);
        mpfr_init(r11787);
        mpfr_init_set_str(r11788, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r11789, "4", 10, MPFR_RNDN);
        mpfr_init(r11790);
        mpfr_init(r11791);
        mpfr_init(r11792);
        mpfr_init(r11793);
        mpfr_init(r11794);
        mpfr_init(r11795);
        mpfr_init(r11796);
        mpfr_init(r11797);
        mpfr_init_set_str(r11798, "-1", 10, MPFR_RNDN);
        mpfr_init(r11799);
        mpfr_init(r11800);
        mpfr_init_set_str(r11801, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r11802, "8", 10, MPFR_RNDN);
        mpfr_init(r11803);
        mpfr_init(r11804);
        mpfr_init(r11805);
        mpfr_init(r11806);
        mpfr_init(r11807);
        mpfr_init(r11808);
        mpfr_init(r11809);
        mpfr_init(r11810);
        mpfr_init(r11811);
        mpfr_init(r11812);
        mpfr_init(r11813);
}

double f_dm(double x) {
        mpfr_set_d(r11776, x, MPFR_RNDN);
        mpfr_abs(r11777, r11776, MPFR_RNDN);
        mpfr_mul(r11778, r11777, r11777, MPFR_RNDN);
        mpfr_exp(r11779, r11778, MPFR_RNDN);
        mpfr_const_pi(r11780, MPFR_RNDN);
        mpfr_sqrt(r11781, r11780, MPFR_RNDN);
        mpfr_div(r11782, r11779, r11781, MPFR_RNDN);
        ;
        mpfr_div(r11784, r11783, r11777, MPFR_RNDN);
        mpfr_div(r11785, r11784, r11778, MPFR_RNDN);
        ;
        mpfr_div(r11787, r11785, r11786, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11790, r11788, r11789, MPFR_RNDN);
        mpfr_mul(r11791, r11784, r11790, MPFR_RNDN);
        mpfr_add(r11792, r11788, r11783, MPFR_RNDN);
        mpfr_pow(r11793, r11784, r11792, MPFR_RNDN);
        mpfr_mul(r11794, r11791, r11793, MPFR_RNDN);
        mpfr_add(r11795, r11787, r11794, MPFR_RNDN);
        mpfr_mul(r11796, r11782, r11795, MPFR_RNDN);
        mpfr_mul(r11797, r11779, r11785, MPFR_RNDN);
        ;
        mpfr_sub(r11799, r11798, r11788, MPFR_RNDN);
        mpfr_pow(r11800, r11777, r11799, MPFR_RNDN);
        ;
        ;
        mpfr_div(r11803, r11801, r11802, MPFR_RNDN);
        mpfr_sqrt(r11804, r11781, MPFR_RNDN);
        mpfr_mul(r11805, r11804, r11804, MPFR_RNDN);
        mpfr_div(r11806, r11803, r11805, MPFR_RNDN);
        mpfr_mul(r11807, r11800, r11806, MPFR_RNDN);
        mpfr_mul(r11808, r11797, r11807, MPFR_RNDN);
        mpfr_div(r11809, r11783, r11781, MPFR_RNDN);
        mpfr_div(r11810, r11809, r11777, MPFR_RNDN);
        mpfr_mul(r11811, r11810, r11779, MPFR_RNDN);
        mpfr_add(r11812, r11808, r11811, MPFR_RNDN);
        mpfr_add(r11813, r11796, r11812, MPFR_RNDN);
        return mpfr_get_d(r11813, MPFR_RNDN);
}

