#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 r26859 = 1;
        float r26860 = atan2(1.0, 0.0);
        float r26861 = sqrt(r26860);
        float r26862 = r26859 / r26861;
        float r26863 = x;
        float r26864 = fabs(r26863);
        float r26865 = r26864 * r26864;
        float r26866 = exp(r26865);
        float r26867 = r26862 * r26866;
        float r26868 = r26859 / r26864;
        float r26869 = 2;
        float r26870 = r26859 / r26869;
        float r26871 = r26868 * r26868;
        float r26872 = r26871 * r26868;
        float r26873 = r26870 * r26872;
        float r26874 = r26868 + r26873;
        float r26875 = 3;
        float r26876 = 4;
        float r26877 = r26875 / r26876;
        float r26878 = r26872 * r26868;
        float r26879 = r26878 * r26868;
        float r26880 = r26877 * r26879;
        float r26881 = r26874 + r26880;
        float r26882 = 15;
        float r26883 = 8;
        float r26884 = r26882 / r26883;
        float r26885 = r26879 * r26868;
        float r26886 = r26885 * r26868;
        float r26887 = r26884 * r26886;
        float r26888 = r26881 + r26887;
        float r26889 = r26867 * r26888;
        return r26889;
}

double f_id(double x) {
        double r26890 = 1;
        double r26891 = atan2(1.0, 0.0);
        double r26892 = sqrt(r26891);
        double r26893 = r26890 / r26892;
        double r26894 = x;
        double r26895 = fabs(r26894);
        double r26896 = r26895 * r26895;
        double r26897 = exp(r26896);
        double r26898 = r26893 * r26897;
        double r26899 = r26890 / r26895;
        double r26900 = 2;
        double r26901 = r26890 / r26900;
        double r26902 = r26899 * r26899;
        double r26903 = r26902 * r26899;
        double r26904 = r26901 * r26903;
        double r26905 = r26899 + r26904;
        double r26906 = 3;
        double r26907 = 4;
        double r26908 = r26906 / r26907;
        double r26909 = r26903 * r26899;
        double r26910 = r26909 * r26899;
        double r26911 = r26908 * r26910;
        double r26912 = r26905 + r26911;
        double r26913 = 15;
        double r26914 = 8;
        double r26915 = r26913 / r26914;
        double r26916 = r26910 * r26899;
        double r26917 = r26916 * r26899;
        double r26918 = r26915 * r26917;
        double r26919 = r26912 + r26918;
        double r26920 = r26898 * r26919;
        return r26920;
}


double f_of(float x) {
        float r26921 = 1;
        float r26922 = x;
        float r26923 = fabs(r26922);
        float r26924 = r26921 / r26923;
        float r26925 = r26923 * r26923;
        float r26926 = r26924 / r26925;
        float r26927 = r26926 / r26925;
        float r26928 = 3;
        float r26929 = 4;
        float r26930 = r26928 / r26929;
        float r26931 = 2;
        float r26932 = r26921 / r26931;
        float r26933 = fma(r26926, r26932, r26924);
        float r26934 = fma(r26927, r26930, r26933);
        float r26935 = exp(r26925);
        float r26936 = atan2(1.0, 0.0);
        float r26937 = sqrt(r26936);
        float r26938 = r26935 / r26937;
        float r26939 = -1;
        float r26940 = r26939 - r26928;
        float r26941 = pow(r26923, r26940);
        float r26942 = r26921 + r26921;
        float r26943 = r26939 - r26942;
        float r26944 = pow(r26923, r26943);
        float r26945 = r26941 * r26944;
        float r26946 = 15;
        float r26947 = 8;
        float r26948 = r26946 / r26947;
        float r26949 = r26921 / r26937;
        float r26950 = r26948 * r26949;
        float r26951 = r26950 * r26935;
        float r26952 = r26945 * r26951;
        float r26953 = fma(r26934, r26938, r26952);
        return r26953;
}

double f_od(double x) {
        double r26954 = 1;
        double r26955 = x;
        double r26956 = fabs(r26955);
        double r26957 = r26954 / r26956;
        double r26958 = r26956 * r26956;
        double r26959 = r26957 / r26958;
        double r26960 = r26959 / r26958;
        double r26961 = 3;
        double r26962 = 4;
        double r26963 = r26961 / r26962;
        double r26964 = 2;
        double r26965 = r26954 / r26964;
        double r26966 = fma(r26959, r26965, r26957);
        double r26967 = fma(r26960, r26963, r26966);
        double r26968 = exp(r26958);
        double r26969 = atan2(1.0, 0.0);
        double r26970 = sqrt(r26969);
        double r26971 = r26968 / r26970;
        double r26972 = -1;
        double r26973 = r26972 - r26961;
        double r26974 = pow(r26956, r26973);
        double r26975 = r26954 + r26954;
        double r26976 = r26972 - r26975;
        double r26977 = pow(r26956, r26976);
        double r26978 = r26974 * r26977;
        double r26979 = 15;
        double r26980 = 8;
        double r26981 = r26979 / r26980;
        double r26982 = r26954 / r26970;
        double r26983 = r26981 * r26982;
        double r26984 = r26983 * r26968;
        double r26985 = r26978 * r26984;
        double r26986 = fma(r26967, r26971, r26985);
        return r26986;
}

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 r26987, r26988, r26989, r26990, r26991, r26992, r26993, r26994, r26995, r26996, r26997, r26998, r26999, r27000, r27001, r27002, r27003, r27004, r27005, r27006, r27007, r27008, r27009, r27010, r27011, r27012, r27013, r27014, r27015, r27016, r27017;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26987, "1", 10, MPFR_RNDN);
        mpfr_init(r26988);
        mpfr_init(r26989);
        mpfr_init(r26990);
        mpfr_init(r26991);
        mpfr_init(r26992);
        mpfr_init(r26993);
        mpfr_init(r26994);
        mpfr_init(r26995);
        mpfr_init(r26996);
        mpfr_init_set_str(r26997, "2", 10, MPFR_RNDN);
        mpfr_init(r26998);
        mpfr_init(r26999);
        mpfr_init(r27000);
        mpfr_init(r27001);
        mpfr_init(r27002);
        mpfr_init_set_str(r27003, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r27004, "4", 10, MPFR_RNDN);
        mpfr_init(r27005);
        mpfr_init(r27006);
        mpfr_init(r27007);
        mpfr_init(r27008);
        mpfr_init(r27009);
        mpfr_init_set_str(r27010, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r27011, "8", 10, MPFR_RNDN);
        mpfr_init(r27012);
        mpfr_init(r27013);
        mpfr_init(r27014);
        mpfr_init(r27015);
        mpfr_init(r27016);
        mpfr_init(r27017);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r26988, MPFR_RNDN);
        mpfr_sqrt(r26989, r26988, MPFR_RNDN);
        mpfr_div(r26990, r26987, r26989, MPFR_RNDN);
        mpfr_set_d(r26991, x, MPFR_RNDN);
        mpfr_abs(r26992, r26991, MPFR_RNDN);
        mpfr_mul(r26993, r26992, r26992, MPFR_RNDN);
        mpfr_exp(r26994, r26993, MPFR_RNDN);
        mpfr_mul(r26995, r26990, r26994, MPFR_RNDN);
        mpfr_div(r26996, r26987, r26992, MPFR_RNDN);
        ;
        mpfr_div(r26998, r26987, r26997, MPFR_RNDN);
        mpfr_mul(r26999, r26996, r26996, MPFR_RNDN);
        mpfr_mul(r27000, r26999, r26996, MPFR_RNDN);
        mpfr_mul(r27001, r26998, r27000, MPFR_RNDN);
        mpfr_add(r27002, r26996, r27001, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27005, r27003, r27004, MPFR_RNDN);
        mpfr_mul(r27006, r27000, r26996, MPFR_RNDN);
        mpfr_mul(r27007, r27006, r26996, MPFR_RNDN);
        mpfr_mul(r27008, r27005, r27007, MPFR_RNDN);
        mpfr_add(r27009, r27002, r27008, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27012, r27010, r27011, MPFR_RNDN);
        mpfr_mul(r27013, r27007, r26996, MPFR_RNDN);
        mpfr_mul(r27014, r27013, r26996, MPFR_RNDN);
        mpfr_mul(r27015, r27012, r27014, MPFR_RNDN);
        mpfr_add(r27016, r27009, r27015, MPFR_RNDN);
        mpfr_mul(r27017, r26995, r27016, MPFR_RNDN);
        return mpfr_get_d(r27017, MPFR_RNDN);
}

static mpfr_t r27018, r27019, r27020, r27021, r27022, r27023, r27024, r27025, r27026, r27027, r27028, r27029, r27030, r27031, r27032, r27033, r27034, r27035, r27036, r27037, r27038, r27039, r27040, r27041, r27042, r27043, r27044, r27045, r27046, r27047, r27048, r27049, r27050;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27018, "1", 10, MPFR_RNDN);
        mpfr_init(r27019);
        mpfr_init(r27020);
        mpfr_init(r27021);
        mpfr_init(r27022);
        mpfr_init(r27023);
        mpfr_init(r27024);
        mpfr_init_set_str(r27025, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r27026, "4", 10, MPFR_RNDN);
        mpfr_init(r27027);
        mpfr_init_set_str(r27028, "2", 10, MPFR_RNDN);
        mpfr_init(r27029);
        mpfr_init(r27030);
        mpfr_init(r27031);
        mpfr_init(r27032);
        mpfr_init(r27033);
        mpfr_init(r27034);
        mpfr_init(r27035);
        mpfr_init_set_str(r27036, "-1", 10, MPFR_RNDN);
        mpfr_init(r27037);
        mpfr_init(r27038);
        mpfr_init(r27039);
        mpfr_init(r27040);
        mpfr_init(r27041);
        mpfr_init(r27042);
        mpfr_init_set_str(r27043, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r27044, "8", 10, MPFR_RNDN);
        mpfr_init(r27045);
        mpfr_init(r27046);
        mpfr_init(r27047);
        mpfr_init(r27048);
        mpfr_init(r27049);
        mpfr_init(r27050);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r27019, x, MPFR_RNDN);
        mpfr_abs(r27020, r27019, MPFR_RNDN);
        mpfr_div(r27021, r27018, r27020, MPFR_RNDN);
        mpfr_mul(r27022, r27020, r27020, MPFR_RNDN);
        mpfr_div(r27023, r27021, r27022, MPFR_RNDN);
        mpfr_div(r27024, r27023, r27022, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27027, r27025, r27026, MPFR_RNDN);
        ;
        mpfr_div(r27029, r27018, r27028, MPFR_RNDN);
        mpfr_fma(r27030, r27023, r27029, r27021, MPFR_RNDN);
        mpfr_fma(r27031, r27024, r27027, r27030, MPFR_RNDN);
        mpfr_exp(r27032, r27022, MPFR_RNDN);
        mpfr_const_pi(r27033, MPFR_RNDN);
        mpfr_sqrt(r27034, r27033, MPFR_RNDN);
        mpfr_div(r27035, r27032, r27034, MPFR_RNDN);
        ;
        mpfr_sub(r27037, r27036, r27025, MPFR_RNDN);
        mpfr_pow(r27038, r27020, r27037, MPFR_RNDN);
        mpfr_add(r27039, r27018, r27018, MPFR_RNDN);
        mpfr_sub(r27040, r27036, r27039, MPFR_RNDN);
        mpfr_pow(r27041, r27020, r27040, MPFR_RNDN);
        mpfr_mul(r27042, r27038, r27041, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27045, r27043, r27044, MPFR_RNDN);
        mpfr_div(r27046, r27018, r27034, MPFR_RNDN);
        mpfr_mul(r27047, r27045, r27046, MPFR_RNDN);
        mpfr_mul(r27048, r27047, r27032, MPFR_RNDN);
        mpfr_mul(r27049, r27042, r27048, MPFR_RNDN);
        mpfr_fma(r27050, r27031, r27035, r27049, MPFR_RNDN);
        return mpfr_get_d(r27050, MPFR_RNDN);
}

static mpfr_t r27051, r27052, r27053, r27054, r27055, r27056, r27057, r27058, r27059, r27060, r27061, r27062, r27063, r27064, r27065, r27066, r27067, r27068, r27069, r27070, r27071, r27072, r27073, r27074, r27075, r27076, r27077, r27078, r27079, r27080, r27081, r27082, r27083;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27051, "1", 10, MPFR_RNDN);
        mpfr_init(r27052);
        mpfr_init(r27053);
        mpfr_init(r27054);
        mpfr_init(r27055);
        mpfr_init(r27056);
        mpfr_init(r27057);
        mpfr_init_set_str(r27058, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r27059, "4", 10, MPFR_RNDN);
        mpfr_init(r27060);
        mpfr_init_set_str(r27061, "2", 10, MPFR_RNDN);
        mpfr_init(r27062);
        mpfr_init(r27063);
        mpfr_init(r27064);
        mpfr_init(r27065);
        mpfr_init(r27066);
        mpfr_init(r27067);
        mpfr_init(r27068);
        mpfr_init_set_str(r27069, "-1", 10, MPFR_RNDN);
        mpfr_init(r27070);
        mpfr_init(r27071);
        mpfr_init(r27072);
        mpfr_init(r27073);
        mpfr_init(r27074);
        mpfr_init(r27075);
        mpfr_init_set_str(r27076, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r27077, "8", 10, MPFR_RNDN);
        mpfr_init(r27078);
        mpfr_init(r27079);
        mpfr_init(r27080);
        mpfr_init(r27081);
        mpfr_init(r27082);
        mpfr_init(r27083);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r27052, x, MPFR_RNDN);
        mpfr_abs(r27053, r27052, MPFR_RNDN);
        mpfr_div(r27054, r27051, r27053, MPFR_RNDN);
        mpfr_mul(r27055, r27053, r27053, MPFR_RNDN);
        mpfr_div(r27056, r27054, r27055, MPFR_RNDN);
        mpfr_div(r27057, r27056, r27055, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27060, r27058, r27059, MPFR_RNDN);
        ;
        mpfr_div(r27062, r27051, r27061, MPFR_RNDN);
        mpfr_fma(r27063, r27056, r27062, r27054, MPFR_RNDN);
        mpfr_fma(r27064, r27057, r27060, r27063, MPFR_RNDN);
        mpfr_exp(r27065, r27055, MPFR_RNDN);
        mpfr_const_pi(r27066, MPFR_RNDN);
        mpfr_sqrt(r27067, r27066, MPFR_RNDN);
        mpfr_div(r27068, r27065, r27067, MPFR_RNDN);
        ;
        mpfr_sub(r27070, r27069, r27058, MPFR_RNDN);
        mpfr_pow(r27071, r27053, r27070, MPFR_RNDN);
        mpfr_add(r27072, r27051, r27051, MPFR_RNDN);
        mpfr_sub(r27073, r27069, r27072, MPFR_RNDN);
        mpfr_pow(r27074, r27053, r27073, MPFR_RNDN);
        mpfr_mul(r27075, r27071, r27074, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27078, r27076, r27077, MPFR_RNDN);
        mpfr_div(r27079, r27051, r27067, MPFR_RNDN);
        mpfr_mul(r27080, r27078, r27079, MPFR_RNDN);
        mpfr_mul(r27081, r27080, r27065, MPFR_RNDN);
        mpfr_mul(r27082, r27075, r27081, MPFR_RNDN);
        mpfr_fma(r27083, r27064, r27068, r27082, MPFR_RNDN);
        return mpfr_get_d(r27083, MPFR_RNDN);
}

