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

char *name = "Jmat.Real.erf";

double f_if(float x) {
        float r30700 = 1;
        float r30701 = 0.3275911;
        float r30702 = x;
        float r30703 = fabs(r30702);
        float r30704 = r30701 * r30703;
        float r30705 = r30700 + r30704;
        float r30706 = r30700 / r30705;
        float r30707 = 0.254829592;
        float r30708 = -0.284496736;
        float r30709 = 1.421413741;
        float r30710 = -1.453152027;
        float r30711 = 1.061405429;
        float r30712 = r30706 * r30711;
        float r30713 = r30710 + r30712;
        float r30714 = r30706 * r30713;
        float r30715 = r30709 + r30714;
        float r30716 = r30706 * r30715;
        float r30717 = r30708 + r30716;
        float r30718 = r30706 * r30717;
        float r30719 = r30707 + r30718;
        float r30720 = r30706 * r30719;
        float r30721 = r30703 * r30703;
        float r30722 = -r30721;
        float r30723 = exp(r30722);
        float r30724 = r30720 * r30723;
        float r30725 = r30700 - r30724;
        return r30725;
}

double f_id(double x) {
        double r30726 = 1;
        double r30727 = 0.3275911;
        double r30728 = x;
        double r30729 = fabs(r30728);
        double r30730 = r30727 * r30729;
        double r30731 = r30726 + r30730;
        double r30732 = r30726 / r30731;
        double r30733 = 0.254829592;
        double r30734 = -0.284496736;
        double r30735 = 1.421413741;
        double r30736 = -1.453152027;
        double r30737 = 1.061405429;
        double r30738 = r30732 * r30737;
        double r30739 = r30736 + r30738;
        double r30740 = r30732 * r30739;
        double r30741 = r30735 + r30740;
        double r30742 = r30732 * r30741;
        double r30743 = r30734 + r30742;
        double r30744 = r30732 * r30743;
        double r30745 = r30733 + r30744;
        double r30746 = r30732 * r30745;
        double r30747 = r30729 * r30729;
        double r30748 = -r30747;
        double r30749 = exp(r30748);
        double r30750 = r30746 * r30749;
        double r30751 = r30726 - r30750;
        return r30751;
}


double f_of(float x) {
        float r30752 = 1;
        float r30753 = 0.3275911;
        float r30754 = x;
        float r30755 = fabs(r30754);
        float r30756 = r30753 * r30755;
        float r30757 = r30752 + r30756;
        float r30758 = r30752 / r30757;
        float r30759 = 0.254829592;
        float r30760 = -0.284496736;
        float r30761 = 1.421413741;
        float r30762 = -1.453152027;
        float r30763 = 1.061405429;
        float r30764 = r30758 * r30763;
        float r30765 = r30762 + r30764;
        float r30766 = r30758 * r30765;
        float r30767 = r30761 + r30766;
        float r30768 = r30758 * r30767;
        float r30769 = r30760 + r30768;
        float r30770 = r30758 * r30769;
        float r30771 = r30759 + r30770;
        float r30772 = r30758 * r30771;
        float r30773 = r30755 * r30755;
        float r30774 = -r30773;
        float r30775 = exp(r30774);
        float r30776 = r30772 * r30775;
        float r30777 = r30752 - r30776;
        float r30778 = exp(r30777);
        float r30779 = log(r30778);
        float r30780 = log(r30779);
        float r30781 = cbrt(r30780);
        float r30782 = r30781 * r30781;
        float r30783 = exp(r30782);
        float r30784 = cbrt(r30777);
        float r30785 = r30784 * r30784;
        float r30786 = exp(r30785);
        float r30787 = log(r30786);
        float r30788 = r30784 * r30787;
        float r30789 = log(r30788);
        float r30790 = cbrt(r30789);
        float r30791 = pow(r30783, r30790);
        return r30791;
}

double f_od(double x) {
        double r30792 = 1;
        double r30793 = 0.3275911;
        double r30794 = x;
        double r30795 = fabs(r30794);
        double r30796 = r30793 * r30795;
        double r30797 = r30792 + r30796;
        double r30798 = r30792 / r30797;
        double r30799 = 0.254829592;
        double r30800 = -0.284496736;
        double r30801 = 1.421413741;
        double r30802 = -1.453152027;
        double r30803 = 1.061405429;
        double r30804 = r30798 * r30803;
        double r30805 = r30802 + r30804;
        double r30806 = r30798 * r30805;
        double r30807 = r30801 + r30806;
        double r30808 = r30798 * r30807;
        double r30809 = r30800 + r30808;
        double r30810 = r30798 * r30809;
        double r30811 = r30799 + r30810;
        double r30812 = r30798 * r30811;
        double r30813 = r30795 * r30795;
        double r30814 = -r30813;
        double r30815 = exp(r30814);
        double r30816 = r30812 * r30815;
        double r30817 = r30792 - r30816;
        double r30818 = exp(r30817);
        double r30819 = log(r30818);
        double r30820 = log(r30819);
        double r30821 = cbrt(r30820);
        double r30822 = r30821 * r30821;
        double r30823 = exp(r30822);
        double r30824 = cbrt(r30817);
        double r30825 = r30824 * r30824;
        double r30826 = exp(r30825);
        double r30827 = log(r30826);
        double r30828 = r30824 * r30827;
        double r30829 = log(r30828);
        double r30830 = cbrt(r30829);
        double r30831 = pow(r30823, r30830);
        return r30831;
}

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 r30832, r30833, r30834, r30835, r30836, r30837, r30838, r30839, r30840, r30841, r30842, r30843, r30844, r30845, r30846, r30847, r30848, r30849, r30850, r30851, r30852, r30853, r30854, r30855, r30856, r30857;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r30832, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r30833, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r30834);
        mpfr_init(r30835);
        mpfr_init(r30836);
        mpfr_init(r30837);
        mpfr_init(r30838);
        mpfr_init_set_str(r30839, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r30840, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r30841, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r30842, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r30843, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r30844);
        mpfr_init(r30845);
        mpfr_init(r30846);
        mpfr_init(r30847);
        mpfr_init(r30848);
        mpfr_init(r30849);
        mpfr_init(r30850);
        mpfr_init(r30851);
        mpfr_init(r30852);
        mpfr_init(r30853);
        mpfr_init(r30854);
        mpfr_init(r30855);
        mpfr_init(r30856);
        mpfr_init(r30857);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r30834, x, MPFR_RNDN);
        mpfr_abs(r30835, r30834, MPFR_RNDN);
        mpfr_mul(r30836, r30833, r30835, MPFR_RNDN);
        mpfr_add(r30837, r30832, r30836, MPFR_RNDN);
        mpfr_div(r30838, r30832, r30837, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r30844, r30838, r30843, MPFR_RNDN);
        mpfr_add(r30845, r30842, r30844, MPFR_RNDN);
        mpfr_mul(r30846, r30838, r30845, MPFR_RNDN);
        mpfr_add(r30847, r30841, r30846, MPFR_RNDN);
        mpfr_mul(r30848, r30838, r30847, MPFR_RNDN);
        mpfr_add(r30849, r30840, r30848, MPFR_RNDN);
        mpfr_mul(r30850, r30838, r30849, MPFR_RNDN);
        mpfr_add(r30851, r30839, r30850, MPFR_RNDN);
        mpfr_mul(r30852, r30838, r30851, MPFR_RNDN);
        mpfr_mul(r30853, r30835, r30835, MPFR_RNDN);
        mpfr_neg(r30854, r30853, MPFR_RNDN);
        mpfr_exp(r30855, r30854, MPFR_RNDN);
        mpfr_mul(r30856, r30852, r30855, MPFR_RNDN);
        mpfr_sub(r30857, r30832, r30856, MPFR_RNDN);
        return mpfr_get_d(r30857, MPFR_RNDN);
}

static mpfr_t r30858, r30859, r30860, r30861, r30862, r30863, r30864, r30865, r30866, r30867, r30868, r30869, r30870, r30871, r30872, r30873, r30874, r30875, r30876, r30877, r30878, r30879, r30880, r30881, r30882, r30883, r30884, r30885, r30886, r30887, r30888, r30889, r30890, r30891, r30892, r30893, r30894, r30895, r30896, r30897;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r30858, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r30859, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r30860);
        mpfr_init(r30861);
        mpfr_init(r30862);
        mpfr_init(r30863);
        mpfr_init(r30864);
        mpfr_init_set_str(r30865, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r30866, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r30867, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r30868, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r30869, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r30870);
        mpfr_init(r30871);
        mpfr_init(r30872);
        mpfr_init(r30873);
        mpfr_init(r30874);
        mpfr_init(r30875);
        mpfr_init(r30876);
        mpfr_init(r30877);
        mpfr_init(r30878);
        mpfr_init(r30879);
        mpfr_init(r30880);
        mpfr_init(r30881);
        mpfr_init(r30882);
        mpfr_init(r30883);
        mpfr_init(r30884);
        mpfr_init(r30885);
        mpfr_init(r30886);
        mpfr_init(r30887);
        mpfr_init(r30888);
        mpfr_init(r30889);
        mpfr_init(r30890);
        mpfr_init(r30891);
        mpfr_init(r30892);
        mpfr_init(r30893);
        mpfr_init(r30894);
        mpfr_init(r30895);
        mpfr_init(r30896);
        mpfr_init(r30897);
}

double f_fm(double x) {
        ;
        ;
        mpfr_set_d(r30860, x, MPFR_RNDN);
        mpfr_abs(r30861, r30860, MPFR_RNDN);
        mpfr_mul(r30862, r30859, r30861, MPFR_RNDN);
        mpfr_add(r30863, r30858, r30862, MPFR_RNDN);
        mpfr_div(r30864, r30858, r30863, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r30870, r30864, r30869, MPFR_RNDN);
        mpfr_add(r30871, r30868, r30870, MPFR_RNDN);
        mpfr_mul(r30872, r30864, r30871, MPFR_RNDN);
        mpfr_add(r30873, r30867, r30872, MPFR_RNDN);
        mpfr_mul(r30874, r30864, r30873, MPFR_RNDN);
        mpfr_add(r30875, r30866, r30874, MPFR_RNDN);
        mpfr_mul(r30876, r30864, r30875, MPFR_RNDN);
        mpfr_add(r30877, r30865, r30876, MPFR_RNDN);
        mpfr_mul(r30878, r30864, r30877, MPFR_RNDN);
        mpfr_mul(r30879, r30861, r30861, MPFR_RNDN);
        mpfr_neg(r30880, r30879, MPFR_RNDN);
        mpfr_exp(r30881, r30880, MPFR_RNDN);
        mpfr_mul(r30882, r30878, r30881, MPFR_RNDN);
        mpfr_sub(r30883, r30858, r30882, MPFR_RNDN);
        mpfr_exp(r30884, r30883, MPFR_RNDN);
        mpfr_log(r30885, r30884, MPFR_RNDN);
        mpfr_log(r30886, r30885, MPFR_RNDN);
        mpfr_cbrt(r30887, r30886, MPFR_RNDN);
        mpfr_mul(r30888, r30887, r30887, MPFR_RNDN);
        mpfr_exp(r30889, r30888, MPFR_RNDN);
        mpfr_cbrt(r30890, r30883, MPFR_RNDN);
        mpfr_mul(r30891, r30890, r30890, MPFR_RNDN);
        mpfr_exp(r30892, r30891, MPFR_RNDN);
        mpfr_log(r30893, r30892, MPFR_RNDN);
        mpfr_mul(r30894, r30890, r30893, MPFR_RNDN);
        mpfr_log(r30895, r30894, MPFR_RNDN);
        mpfr_cbrt(r30896, r30895, MPFR_RNDN);
        mpfr_pow(r30897, r30889, r30896, MPFR_RNDN);
        return mpfr_get_d(r30897, MPFR_RNDN);
}

static mpfr_t r30898, r30899, r30900, r30901, r30902, r30903, r30904, r30905, r30906, r30907, r30908, r30909, r30910, r30911, r30912, r30913, r30914, r30915, r30916, r30917, r30918, r30919, r30920, r30921, r30922, r30923, r30924, r30925, r30926, r30927, r30928, r30929, r30930, r30931, r30932, r30933, r30934, r30935, r30936, r30937;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r30898, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r30899, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r30900);
        mpfr_init(r30901);
        mpfr_init(r30902);
        mpfr_init(r30903);
        mpfr_init(r30904);
        mpfr_init_set_str(r30905, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r30906, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r30907, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r30908, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r30909, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r30910);
        mpfr_init(r30911);
        mpfr_init(r30912);
        mpfr_init(r30913);
        mpfr_init(r30914);
        mpfr_init(r30915);
        mpfr_init(r30916);
        mpfr_init(r30917);
        mpfr_init(r30918);
        mpfr_init(r30919);
        mpfr_init(r30920);
        mpfr_init(r30921);
        mpfr_init(r30922);
        mpfr_init(r30923);
        mpfr_init(r30924);
        mpfr_init(r30925);
        mpfr_init(r30926);
        mpfr_init(r30927);
        mpfr_init(r30928);
        mpfr_init(r30929);
        mpfr_init(r30930);
        mpfr_init(r30931);
        mpfr_init(r30932);
        mpfr_init(r30933);
        mpfr_init(r30934);
        mpfr_init(r30935);
        mpfr_init(r30936);
        mpfr_init(r30937);
}

double f_dm(double x) {
        ;
        ;
        mpfr_set_d(r30900, x, MPFR_RNDN);
        mpfr_abs(r30901, r30900, MPFR_RNDN);
        mpfr_mul(r30902, r30899, r30901, MPFR_RNDN);
        mpfr_add(r30903, r30898, r30902, MPFR_RNDN);
        mpfr_div(r30904, r30898, r30903, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r30910, r30904, r30909, MPFR_RNDN);
        mpfr_add(r30911, r30908, r30910, MPFR_RNDN);
        mpfr_mul(r30912, r30904, r30911, MPFR_RNDN);
        mpfr_add(r30913, r30907, r30912, MPFR_RNDN);
        mpfr_mul(r30914, r30904, r30913, MPFR_RNDN);
        mpfr_add(r30915, r30906, r30914, MPFR_RNDN);
        mpfr_mul(r30916, r30904, r30915, MPFR_RNDN);
        mpfr_add(r30917, r30905, r30916, MPFR_RNDN);
        mpfr_mul(r30918, r30904, r30917, MPFR_RNDN);
        mpfr_mul(r30919, r30901, r30901, MPFR_RNDN);
        mpfr_neg(r30920, r30919, MPFR_RNDN);
        mpfr_exp(r30921, r30920, MPFR_RNDN);
        mpfr_mul(r30922, r30918, r30921, MPFR_RNDN);
        mpfr_sub(r30923, r30898, r30922, MPFR_RNDN);
        mpfr_exp(r30924, r30923, MPFR_RNDN);
        mpfr_log(r30925, r30924, MPFR_RNDN);
        mpfr_log(r30926, r30925, MPFR_RNDN);
        mpfr_cbrt(r30927, r30926, MPFR_RNDN);
        mpfr_mul(r30928, r30927, r30927, MPFR_RNDN);
        mpfr_exp(r30929, r30928, MPFR_RNDN);
        mpfr_cbrt(r30930, r30923, MPFR_RNDN);
        mpfr_mul(r30931, r30930, r30930, MPFR_RNDN);
        mpfr_exp(r30932, r30931, MPFR_RNDN);
        mpfr_log(r30933, r30932, MPFR_RNDN);
        mpfr_mul(r30934, r30930, r30933, MPFR_RNDN);
        mpfr_log(r30935, r30934, MPFR_RNDN);
        mpfr_cbrt(r30936, r30935, MPFR_RNDN);
        mpfr_pow(r30937, r30929, r30936, MPFR_RNDN);
        return mpfr_get_d(r30937, MPFR_RNDN);
}

