#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 r18688 = 1.0f;
        float r18689 = atan2(1.0, 0.0);
        float r18690 = sqrt(r18689);
        float r18691 = r18688 / r18690;
        float r18692 = x;
        float r18693 = fabs(r18692);
        float r18694 = r18693 * r18693;
        float r18695 = exp(r18694);
        float r18696 = r18691 * r18695;
        float r18697 = r18688 / r18693;
        float r18698 = 2.0f;
        float r18699 = r18688 / r18698;
        float r18700 = r18697 * r18697;
        float r18701 = r18700 * r18697;
        float r18702 = r18699 * r18701;
        float r18703 = r18697 + r18702;
        float r18704 = 3.0f;
        float r18705 = 4.0f;
        float r18706 = r18704 / r18705;
        float r18707 = r18701 * r18697;
        float r18708 = r18707 * r18697;
        float r18709 = r18706 * r18708;
        float r18710 = r18703 + r18709;
        float r18711 = 15.0f;
        float r18712 = 8.0f;
        float r18713 = r18711 / r18712;
        float r18714 = r18708 * r18697;
        float r18715 = r18714 * r18697;
        float r18716 = r18713 * r18715;
        float r18717 = r18710 + r18716;
        float r18718 = r18696 * r18717;
        return r18718;
}

double f_id(double x) {
        double r18719 = 1.0;
        double r18720 = atan2(1.0, 0.0);
        double r18721 = sqrt(r18720);
        double r18722 = r18719 / r18721;
        double r18723 = x;
        double r18724 = fabs(r18723);
        double r18725 = r18724 * r18724;
        double r18726 = exp(r18725);
        double r18727 = r18722 * r18726;
        double r18728 = r18719 / r18724;
        double r18729 = 2.0;
        double r18730 = r18719 / r18729;
        double r18731 = r18728 * r18728;
        double r18732 = r18731 * r18728;
        double r18733 = r18730 * r18732;
        double r18734 = r18728 + r18733;
        double r18735 = 3.0;
        double r18736 = 4.0;
        double r18737 = r18735 / r18736;
        double r18738 = r18732 * r18728;
        double r18739 = r18738 * r18728;
        double r18740 = r18737 * r18739;
        double r18741 = r18734 + r18740;
        double r18742 = 15.0;
        double r18743 = 8.0;
        double r18744 = r18742 / r18743;
        double r18745 = r18739 * r18728;
        double r18746 = r18745 * r18728;
        double r18747 = r18744 * r18746;
        double r18748 = r18741 + r18747;
        double r18749 = r18727 * r18748;
        return r18749;
}


double f_of(float x) {
        float r18750 = x;
        float r18751 = fabs(r18750);
        float r18752 = r18751 * r18751;
        float r18753 = exp(r18752);
        float r18754 = atan2(1.0, 0.0);
        float r18755 = sqrt(r18754);
        float r18756 = sqrt(r18755);
        float r18757 = r18756 * r18756;
        float r18758 = r18753 / r18757;
        float r18759 = 15.0f;
        float r18760 = r18759 / r18751;
        float r18761 = 3.0f;
        float r18762 = pow(r18752, r18761);
        float r18763 = r18760 / r18762;
        float r18764 = 8.0f;
        float r18765 = r18763 / r18764;
        float r18766 = 1.0f;
        float r18767 = 2.0f;
        float r18768 = r18766 / r18767;
        float r18769 = r18751 * (r18751 * r18751);
        float r18770 = r18768 / r18769;
        float r18771 = r18766 / r18751;
        float r18772 = r18770 + r18771;
        float r18773 = 0.75f;
        float r18774 = r18773 / r18751;
        float r18775 = r18752 * r18752;
        float r18776 = r18774 / r18775;
        float r18777 = r18772 + r18776;
        float r18778 = r18765 + r18777;
        float r18779 = r18758 * r18778;
        return r18779;
}

double f_od(double x) {
        double r18780 = x;
        double r18781 = fabs(r18780);
        double r18782 = r18781 * r18781;
        double r18783 = exp(r18782);
        double r18784 = atan2(1.0, 0.0);
        double r18785 = sqrt(r18784);
        double r18786 = sqrt(r18785);
        double r18787 = r18786 * r18786;
        double r18788 = r18783 / r18787;
        double r18789 = 15.0;
        double r18790 = r18789 / r18781;
        double r18791 = 3.0;
        double r18792 = pow(r18782, r18791);
        double r18793 = r18790 / r18792;
        double r18794 = 8.0;
        double r18795 = r18793 / r18794;
        double r18796 = 1.0;
        double r18797 = 2.0;
        double r18798 = r18796 / r18797;
        double r18799 = r18781 * (r18781 * r18781);
        double r18800 = r18798 / r18799;
        double r18801 = r18796 / r18781;
        double r18802 = r18800 + r18801;
        double r18803 = 0.75;
        double r18804 = r18803 / r18781;
        double r18805 = r18782 * r18782;
        double r18806 = r18804 / r18805;
        double r18807 = r18802 + r18806;
        double r18808 = r18795 + r18807;
        double r18809 = r18788 * r18808;
        return r18809;
}

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 r18810, r18811, r18812, r18813, r18814, r18815, r18816, r18817, r18818, r18819, r18820, r18821, r18822, r18823, r18824, r18825, r18826, r18827, r18828, r18829, r18830, r18831, r18832, r18833, r18834, r18835, r18836, r18837, r18838, r18839, r18840;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18810, "1", 10, MPFR_RNDN);
        mpfr_init(r18811);
        mpfr_init(r18812);
        mpfr_init(r18813);
        mpfr_init(r18814);
        mpfr_init(r18815);
        mpfr_init(r18816);
        mpfr_init(r18817);
        mpfr_init(r18818);
        mpfr_init(r18819);
        mpfr_init_set_str(r18820, "2", 10, MPFR_RNDN);
        mpfr_init(r18821);
        mpfr_init(r18822);
        mpfr_init(r18823);
        mpfr_init(r18824);
        mpfr_init(r18825);
        mpfr_init_set_str(r18826, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r18827, "4", 10, MPFR_RNDN);
        mpfr_init(r18828);
        mpfr_init(r18829);
        mpfr_init(r18830);
        mpfr_init(r18831);
        mpfr_init(r18832);
        mpfr_init_set_str(r18833, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r18834, "8", 10, MPFR_RNDN);
        mpfr_init(r18835);
        mpfr_init(r18836);
        mpfr_init(r18837);
        mpfr_init(r18838);
        mpfr_init(r18839);
        mpfr_init(r18840);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r18811, MPFR_RNDN);
        mpfr_sqrt(r18812, r18811, MPFR_RNDN);
        mpfr_div(r18813, r18810, r18812, MPFR_RNDN);
        mpfr_set_d(r18814, x, MPFR_RNDN);
        mpfr_abs(r18815, r18814, MPFR_RNDN);
        mpfr_mul(r18816, r18815, r18815, MPFR_RNDN);
        mpfr_exp(r18817, r18816, MPFR_RNDN);
        mpfr_mul(r18818, r18813, r18817, MPFR_RNDN);
        mpfr_div(r18819, r18810, r18815, MPFR_RNDN);
        ;
        mpfr_div(r18821, r18810, r18820, MPFR_RNDN);
        mpfr_mul(r18822, r18819, r18819, MPFR_RNDN);
        mpfr_mul(r18823, r18822, r18819, MPFR_RNDN);
        mpfr_mul(r18824, r18821, r18823, MPFR_RNDN);
        mpfr_add(r18825, r18819, r18824, MPFR_RNDN);
        ;
        ;
        mpfr_div(r18828, r18826, r18827, MPFR_RNDN);
        mpfr_mul(r18829, r18823, r18819, MPFR_RNDN);
        mpfr_mul(r18830, r18829, r18819, MPFR_RNDN);
        mpfr_mul(r18831, r18828, r18830, MPFR_RNDN);
        mpfr_add(r18832, r18825, r18831, MPFR_RNDN);
        ;
        ;
        mpfr_div(r18835, r18833, r18834, MPFR_RNDN);
        mpfr_mul(r18836, r18830, r18819, MPFR_RNDN);
        mpfr_mul(r18837, r18836, r18819, MPFR_RNDN);
        mpfr_mul(r18838, r18835, r18837, MPFR_RNDN);
        mpfr_add(r18839, r18832, r18838, MPFR_RNDN);
        mpfr_mul(r18840, r18818, r18839, MPFR_RNDN);
        return mpfr_get_d(r18840, MPFR_RNDN);
}

static mpfr_t r18841, r18842, r18843, r18844, r18845, r18846, r18847, r18848, r18849, r18850, r18851, r18852, r18853, r18854, r18855, r18856, r18857, r18858, r18859, r18860, r18861, r18862, r18863, r18864, r18865, r18866, r18867, r18868, r18869, r18870;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18841);
        mpfr_init(r18842);
        mpfr_init(r18843);
        mpfr_init(r18844);
        mpfr_init(r18845);
        mpfr_init(r18846);
        mpfr_init(r18847);
        mpfr_init(r18848);
        mpfr_init(r18849);
        mpfr_init_set_str(r18850, "15", 10, MPFR_RNDN);
        mpfr_init(r18851);
        mpfr_init_set_str(r18852, "3", 10, MPFR_RNDN);
        mpfr_init(r18853);
        mpfr_init(r18854);
        mpfr_init_set_str(r18855, "8", 10, MPFR_RNDN);
        mpfr_init(r18856);
        mpfr_init_set_str(r18857, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18858, "2", 10, MPFR_RNDN);
        mpfr_init(r18859);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init(r18862);
        mpfr_init(r18863);
        mpfr_init_set_str(r18864, "3/4", 10, MPFR_RNDN);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init(r18867);
        mpfr_init(r18868);
        mpfr_init(r18869);
        mpfr_init(r18870);
}

double f_fm(double x) {
        mpfr_set_d(r18841, x, MPFR_RNDN);
        mpfr_abs(r18842, r18841, MPFR_RNDN);
        mpfr_mul(r18843, r18842, r18842, MPFR_RNDN);
        mpfr_exp(r18844, r18843, MPFR_RNDN);
        mpfr_const_pi(r18845, MPFR_RNDN);
        mpfr_sqrt(r18846, r18845, MPFR_RNDN);
        mpfr_sqrt(r18847, r18846, MPFR_RNDN);
        mpfr_sqr(r18848, r18847, MPFR_RNDN);
        mpfr_div(r18849, r18844, r18848, MPFR_RNDN);
        ;
        mpfr_div(r18851, r18850, r18842, MPFR_RNDN);
        ;
        mpfr_pow(r18853, r18843, r18852, MPFR_RNDN);
        mpfr_div(r18854, r18851, r18853, MPFR_RNDN);
        ;
        mpfr_div(r18856, r18854, r18855, MPFR_RNDN);
        ;
        ;
        mpfr_div(r18859, r18857, r18858, MPFR_RNDN);
        mpfr_mul(r18860, r18842, r18842, MPFR_RNDN); mpfr_mul(r18860, r18860, r18842, MPFR_RNDN);
        mpfr_div(r18861, r18859, r18860, MPFR_RNDN);
        mpfr_div(r18862, r18857, r18842, MPFR_RNDN);
        mpfr_add(r18863, r18861, r18862, MPFR_RNDN);
        ;
        mpfr_div(r18865, r18864, r18842, MPFR_RNDN);
        mpfr_sqr(r18866, r18843, MPFR_RNDN);
        mpfr_div(r18867, r18865, r18866, MPFR_RNDN);
        mpfr_add(r18868, r18863, r18867, MPFR_RNDN);
        mpfr_add(r18869, r18856, r18868, MPFR_RNDN);
        mpfr_mul(r18870, r18849, r18869, MPFR_RNDN);
        return mpfr_get_d(r18870, MPFR_RNDN);
}

static mpfr_t r18871, r18872, r18873, r18874, r18875, r18876, r18877, r18878, r18879, r18880, r18881, r18882, r18883, r18884, r18885, r18886, r18887, r18888, r18889, r18890, r18891, r18892, r18893, r18894, r18895, r18896, r18897, r18898, r18899, r18900;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18871);
        mpfr_init(r18872);
        mpfr_init(r18873);
        mpfr_init(r18874);
        mpfr_init(r18875);
        mpfr_init(r18876);
        mpfr_init(r18877);
        mpfr_init(r18878);
        mpfr_init(r18879);
        mpfr_init_set_str(r18880, "15", 10, MPFR_RNDN);
        mpfr_init(r18881);
        mpfr_init_set_str(r18882, "3", 10, MPFR_RNDN);
        mpfr_init(r18883);
        mpfr_init(r18884);
        mpfr_init_set_str(r18885, "8", 10, MPFR_RNDN);
        mpfr_init(r18886);
        mpfr_init_set_str(r18887, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18888, "2", 10, MPFR_RNDN);
        mpfr_init(r18889);
        mpfr_init(r18890);
        mpfr_init(r18891);
        mpfr_init(r18892);
        mpfr_init(r18893);
        mpfr_init_set_str(r18894, "3/4", 10, MPFR_RNDN);
        mpfr_init(r18895);
        mpfr_init(r18896);
        mpfr_init(r18897);
        mpfr_init(r18898);
        mpfr_init(r18899);
        mpfr_init(r18900);
}

double f_dm(double x) {
        mpfr_set_d(r18871, x, MPFR_RNDN);
        mpfr_abs(r18872, r18871, MPFR_RNDN);
        mpfr_mul(r18873, r18872, r18872, MPFR_RNDN);
        mpfr_exp(r18874, r18873, MPFR_RNDN);
        mpfr_const_pi(r18875, MPFR_RNDN);
        mpfr_sqrt(r18876, r18875, MPFR_RNDN);
        mpfr_sqrt(r18877, r18876, MPFR_RNDN);
        mpfr_sqr(r18878, r18877, MPFR_RNDN);
        mpfr_div(r18879, r18874, r18878, MPFR_RNDN);
        ;
        mpfr_div(r18881, r18880, r18872, MPFR_RNDN);
        ;
        mpfr_pow(r18883, r18873, r18882, MPFR_RNDN);
        mpfr_div(r18884, r18881, r18883, MPFR_RNDN);
        ;
        mpfr_div(r18886, r18884, r18885, MPFR_RNDN);
        ;
        ;
        mpfr_div(r18889, r18887, r18888, MPFR_RNDN);
        mpfr_mul(r18890, r18872, r18872, MPFR_RNDN); mpfr_mul(r18890, r18890, r18872, MPFR_RNDN);
        mpfr_div(r18891, r18889, r18890, MPFR_RNDN);
        mpfr_div(r18892, r18887, r18872, MPFR_RNDN);
        mpfr_add(r18893, r18891, r18892, MPFR_RNDN);
        ;
        mpfr_div(r18895, r18894, r18872, MPFR_RNDN);
        mpfr_sqr(r18896, r18873, MPFR_RNDN);
        mpfr_div(r18897, r18895, r18896, MPFR_RNDN);
        mpfr_add(r18898, r18893, r18897, MPFR_RNDN);
        mpfr_add(r18899, r18886, r18898, MPFR_RNDN);
        mpfr_mul(r18900, r18879, r18899, MPFR_RNDN);
        return mpfr_get_d(r18900, MPFR_RNDN);
}

