#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 r26679 = 1;
        float r26680 = atan2(1.0, 0.0);
        float r26681 = sqrt(r26680);
        float r26682 = r26679 / r26681;
        float r26683 = 2;
        float r26684 = x;
        float r26685 = fabs(r26684);
        float r26686 = r26683 * r26685;
        float r26687 = 3;
        float r26688 = r26683 / r26687;
        float r26689 = r26685 * r26685;
        float r26690 = r26689 * r26685;
        float r26691 = r26688 * r26690;
        float r26692 = r26686 + r26691;
        float r26693 = 5;
        float r26694 = r26679 / r26693;
        float r26695 = r26690 * r26685;
        float r26696 = r26695 * r26685;
        float r26697 = r26694 * r26696;
        float r26698 = r26692 + r26697;
        float r26699 = 21;
        float r26700 = r26679 / r26699;
        float r26701 = r26696 * r26685;
        float r26702 = r26701 * r26685;
        float r26703 = r26700 * r26702;
        float r26704 = r26698 + r26703;
        float r26705 = r26682 * r26704;
        float r26706 = fabs(r26705);
        return r26706;
}

double f_id(double x) {
        double r26707 = 1;
        double r26708 = atan2(1.0, 0.0);
        double r26709 = sqrt(r26708);
        double r26710 = r26707 / r26709;
        double r26711 = 2;
        double r26712 = x;
        double r26713 = fabs(r26712);
        double r26714 = r26711 * r26713;
        double r26715 = 3;
        double r26716 = r26711 / r26715;
        double r26717 = r26713 * r26713;
        double r26718 = r26717 * r26713;
        double r26719 = r26716 * r26718;
        double r26720 = r26714 + r26719;
        double r26721 = 5;
        double r26722 = r26707 / r26721;
        double r26723 = r26718 * r26713;
        double r26724 = r26723 * r26713;
        double r26725 = r26722 * r26724;
        double r26726 = r26720 + r26725;
        double r26727 = 21;
        double r26728 = r26707 / r26727;
        double r26729 = r26724 * r26713;
        double r26730 = r26729 * r26713;
        double r26731 = r26728 * r26730;
        double r26732 = r26726 + r26731;
        double r26733 = r26710 * r26732;
        double r26734 = fabs(r26733);
        return r26734;
}


double f_of(float x) {
        float r26735 = x;
        float r26736 = fabs(r26735);
        float r26737 = r26736 * r26736;
        float r26738 = 5;
        float r26739 = r26736 / r26738;
        float r26740 = 2/3;
        float r26741 = r26740 * r26736;
        float r26742 = fma(r26739, r26737, r26741);
        float r26743 = 2;
        float r26744 = r26736 * r26743;
        float r26745 = fma(r26737, r26742, r26744);
        float r26746 = 1;
        float r26747 = atan2(1.0, 0.0);
        float r26748 = sqrt(r26747);
        float r26749 = r26746 / r26748;
        float r26750 = 3;
        float r26751 = pow(r26736, r26750);
        float r26752 = r26751 * r26751;
        float r26753 = 21;
        float r26754 = r26748 * r26753;
        float r26755 = r26736 / r26754;
        float r26756 = r26752 * r26755;
        float r26757 = fma(r26745, r26749, r26756);
        float r26758 = fabs(r26757);
        return r26758;
}

double f_od(double x) {
        double r26759 = x;
        double r26760 = fabs(r26759);
        double r26761 = r26760 * r26760;
        double r26762 = 5;
        double r26763 = r26760 / r26762;
        double r26764 = 2/3;
        double r26765 = r26764 * r26760;
        double r26766 = fma(r26763, r26761, r26765);
        double r26767 = 2;
        double r26768 = r26760 * r26767;
        double r26769 = fma(r26761, r26766, r26768);
        double r26770 = 1;
        double r26771 = atan2(1.0, 0.0);
        double r26772 = sqrt(r26771);
        double r26773 = r26770 / r26772;
        double r26774 = 3;
        double r26775 = pow(r26760, r26774);
        double r26776 = r26775 * r26775;
        double r26777 = 21;
        double r26778 = r26772 * r26777;
        double r26779 = r26760 / r26778;
        double r26780 = r26776 * r26779;
        double r26781 = fma(r26769, r26773, r26780);
        double r26782 = fabs(r26781);
        return r26782;
}

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 r26783, r26784, r26785, r26786, r26787, r26788, r26789, r26790, r26791, r26792, r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802, r26803, r26804, r26805, r26806, r26807, r26808, r26809, r26810;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26783, "1", 10, MPFR_RNDN);
        mpfr_init(r26784);
        mpfr_init(r26785);
        mpfr_init(r26786);
        mpfr_init_set_str(r26787, "2", 10, MPFR_RNDN);
        mpfr_init(r26788);
        mpfr_init(r26789);
        mpfr_init(r26790);
        mpfr_init_set_str(r26791, "3", 10, MPFR_RNDN);
        mpfr_init(r26792);
        mpfr_init(r26793);
        mpfr_init(r26794);
        mpfr_init(r26795);
        mpfr_init(r26796);
        mpfr_init_set_str(r26797, "5", 10, MPFR_RNDN);
        mpfr_init(r26798);
        mpfr_init(r26799);
        mpfr_init(r26800);
        mpfr_init(r26801);
        mpfr_init(r26802);
        mpfr_init_set_str(r26803, "21", 10, MPFR_RNDN);
        mpfr_init(r26804);
        mpfr_init(r26805);
        mpfr_init(r26806);
        mpfr_init(r26807);
        mpfr_init(r26808);
        mpfr_init(r26809);
        mpfr_init(r26810);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r26784, MPFR_RNDN);
        mpfr_sqrt(r26785, r26784, MPFR_RNDN);
        mpfr_div(r26786, r26783, r26785, MPFR_RNDN);
        ;
        mpfr_set_d(r26788, x, MPFR_RNDN);
        mpfr_abs(r26789, r26788, MPFR_RNDN);
        mpfr_mul(r26790, r26787, r26789, MPFR_RNDN);
        ;
        mpfr_div(r26792, r26787, r26791, MPFR_RNDN);
        mpfr_mul(r26793, r26789, r26789, MPFR_RNDN);
        mpfr_mul(r26794, r26793, r26789, MPFR_RNDN);
        mpfr_mul(r26795, r26792, r26794, MPFR_RNDN);
        mpfr_add(r26796, r26790, r26795, MPFR_RNDN);
        ;
        mpfr_div(r26798, r26783, r26797, MPFR_RNDN);
        mpfr_mul(r26799, r26794, r26789, MPFR_RNDN);
        mpfr_mul(r26800, r26799, r26789, MPFR_RNDN);
        mpfr_mul(r26801, r26798, r26800, MPFR_RNDN);
        mpfr_add(r26802, r26796, r26801, MPFR_RNDN);
        ;
        mpfr_div(r26804, r26783, r26803, MPFR_RNDN);
        mpfr_mul(r26805, r26800, r26789, MPFR_RNDN);
        mpfr_mul(r26806, r26805, r26789, MPFR_RNDN);
        mpfr_mul(r26807, r26804, r26806, MPFR_RNDN);
        mpfr_add(r26808, r26802, r26807, MPFR_RNDN);
        mpfr_mul(r26809, r26786, r26808, MPFR_RNDN);
        mpfr_abs(r26810, r26809, MPFR_RNDN);
        return mpfr_get_d(r26810, MPFR_RNDN);
}

static mpfr_t r26811, r26812, r26813, r26814, r26815, r26816, r26817, r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825, r26826, r26827, r26828, r26829, r26830, r26831, r26832, r26833, r26834;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26811);
        mpfr_init(r26812);
        mpfr_init(r26813);
        mpfr_init_set_str(r26814, "5", 10, MPFR_RNDN);
        mpfr_init(r26815);
        mpfr_init_set_str(r26816, "2/3", 10, MPFR_RNDN);
        mpfr_init(r26817);
        mpfr_init(r26818);
        mpfr_init_set_str(r26819, "2", 10, MPFR_RNDN);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init_set_str(r26822, "1", 10, MPFR_RNDN);
        mpfr_init(r26823);
        mpfr_init(r26824);
        mpfr_init(r26825);
        mpfr_init_set_str(r26826, "3", 10, MPFR_RNDN);
        mpfr_init(r26827);
        mpfr_init(r26828);
        mpfr_init_set_str(r26829, "21", 10, MPFR_RNDN);
        mpfr_init(r26830);
        mpfr_init(r26831);
        mpfr_init(r26832);
        mpfr_init(r26833);
        mpfr_init(r26834);
}

double f_fm(double x) {
        mpfr_set_d(r26811, x, MPFR_RNDN);
        mpfr_abs(r26812, r26811, MPFR_RNDN);
        mpfr_mul(r26813, r26812, r26812, MPFR_RNDN);
        ;
        mpfr_div(r26815, r26812, r26814, MPFR_RNDN);
        ;
        mpfr_mul(r26817, r26816, r26812, MPFR_RNDN);
        mpfr_fma(r26818, r26815, r26813, r26817, MPFR_RNDN);
        ;
        mpfr_mul(r26820, r26812, r26819, MPFR_RNDN);
        mpfr_fma(r26821, r26813, r26818, r26820, MPFR_RNDN);
        ;
        mpfr_const_pi(r26823, MPFR_RNDN);
        mpfr_sqrt(r26824, r26823, MPFR_RNDN);
        mpfr_div(r26825, r26822, r26824, MPFR_RNDN);
        ;
        mpfr_pow(r26827, r26812, r26826, MPFR_RNDN);
        mpfr_mul(r26828, r26827, r26827, MPFR_RNDN);
        ;
        mpfr_mul(r26830, r26824, r26829, MPFR_RNDN);
        mpfr_div(r26831, r26812, r26830, MPFR_RNDN);
        mpfr_mul(r26832, r26828, r26831, MPFR_RNDN);
        mpfr_fma(r26833, r26821, r26825, r26832, MPFR_RNDN);
        mpfr_abs(r26834, r26833, MPFR_RNDN);
        return mpfr_get_d(r26834, MPFR_RNDN);
}

static mpfr_t r26835, r26836, r26837, r26838, r26839, r26840, r26841, r26842, r26843, r26844, r26845, r26846, r26847, r26848, r26849, r26850, r26851, r26852, r26853, r26854, r26855, r26856, r26857, r26858;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26835);
        mpfr_init(r26836);
        mpfr_init(r26837);
        mpfr_init_set_str(r26838, "5", 10, MPFR_RNDN);
        mpfr_init(r26839);
        mpfr_init_set_str(r26840, "2/3", 10, MPFR_RNDN);
        mpfr_init(r26841);
        mpfr_init(r26842);
        mpfr_init_set_str(r26843, "2", 10, MPFR_RNDN);
        mpfr_init(r26844);
        mpfr_init(r26845);
        mpfr_init_set_str(r26846, "1", 10, MPFR_RNDN);
        mpfr_init(r26847);
        mpfr_init(r26848);
        mpfr_init(r26849);
        mpfr_init_set_str(r26850, "3", 10, MPFR_RNDN);
        mpfr_init(r26851);
        mpfr_init(r26852);
        mpfr_init_set_str(r26853, "21", 10, MPFR_RNDN);
        mpfr_init(r26854);
        mpfr_init(r26855);
        mpfr_init(r26856);
        mpfr_init(r26857);
        mpfr_init(r26858);
}

double f_dm(double x) {
        mpfr_set_d(r26835, x, MPFR_RNDN);
        mpfr_abs(r26836, r26835, MPFR_RNDN);
        mpfr_mul(r26837, r26836, r26836, MPFR_RNDN);
        ;
        mpfr_div(r26839, r26836, r26838, MPFR_RNDN);
        ;
        mpfr_mul(r26841, r26840, r26836, MPFR_RNDN);
        mpfr_fma(r26842, r26839, r26837, r26841, MPFR_RNDN);
        ;
        mpfr_mul(r26844, r26836, r26843, MPFR_RNDN);
        mpfr_fma(r26845, r26837, r26842, r26844, MPFR_RNDN);
        ;
        mpfr_const_pi(r26847, MPFR_RNDN);
        mpfr_sqrt(r26848, r26847, MPFR_RNDN);
        mpfr_div(r26849, r26846, r26848, MPFR_RNDN);
        ;
        mpfr_pow(r26851, r26836, r26850, MPFR_RNDN);
        mpfr_mul(r26852, r26851, r26851, MPFR_RNDN);
        ;
        mpfr_mul(r26854, r26848, r26853, MPFR_RNDN);
        mpfr_div(r26855, r26836, r26854, MPFR_RNDN);
        mpfr_mul(r26856, r26852, r26855, MPFR_RNDN);
        mpfr_fma(r26857, r26845, r26849, r26856, MPFR_RNDN);
        mpfr_abs(r26858, r26857, MPFR_RNDN);
        return mpfr_get_d(r26858, MPFR_RNDN);
}

