#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 r26885 = 1;
        float r26886 = atan2(1.0, 0.0);
        float r26887 = sqrt(r26886);
        float r26888 = r26885 / r26887;
        float r26889 = x;
        float r26890 = fabs(r26889);
        float r26891 = r26890 * r26890;
        float r26892 = exp(r26891);
        float r26893 = r26888 * r26892;
        float r26894 = r26885 / r26890;
        float r26895 = 2;
        float r26896 = r26885 / r26895;
        float r26897 = r26894 * r26894;
        float r26898 = r26897 * r26894;
        float r26899 = r26896 * r26898;
        float r26900 = r26894 + r26899;
        float r26901 = 3;
        float r26902 = 4;
        float r26903 = r26901 / r26902;
        float r26904 = r26898 * r26894;
        float r26905 = r26904 * r26894;
        float r26906 = r26903 * r26905;
        float r26907 = r26900 + r26906;
        float r26908 = 15;
        float r26909 = 8;
        float r26910 = r26908 / r26909;
        float r26911 = r26905 * r26894;
        float r26912 = r26911 * r26894;
        float r26913 = r26910 * r26912;
        float r26914 = r26907 + r26913;
        float r26915 = r26893 * r26914;
        return r26915;
}

double f_id(double x) {
        double r26916 = 1;
        double r26917 = atan2(1.0, 0.0);
        double r26918 = sqrt(r26917);
        double r26919 = r26916 / r26918;
        double r26920 = x;
        double r26921 = fabs(r26920);
        double r26922 = r26921 * r26921;
        double r26923 = exp(r26922);
        double r26924 = r26919 * r26923;
        double r26925 = r26916 / r26921;
        double r26926 = 2;
        double r26927 = r26916 / r26926;
        double r26928 = r26925 * r26925;
        double r26929 = r26928 * r26925;
        double r26930 = r26927 * r26929;
        double r26931 = r26925 + r26930;
        double r26932 = 3;
        double r26933 = 4;
        double r26934 = r26932 / r26933;
        double r26935 = r26929 * r26925;
        double r26936 = r26935 * r26925;
        double r26937 = r26934 * r26936;
        double r26938 = r26931 + r26937;
        double r26939 = 15;
        double r26940 = 8;
        double r26941 = r26939 / r26940;
        double r26942 = r26936 * r26925;
        double r26943 = r26942 * r26925;
        double r26944 = r26941 * r26943;
        double r26945 = r26938 + r26944;
        double r26946 = r26924 * r26945;
        return r26946;
}


double f_of(float x) {
        float r26947 = x;
        float r26948 = fabs(r26947);
        float r26949 = r26948 * r26948;
        float r26950 = exp(r26949);
        float r26951 = atan2(1.0, 0.0);
        float r26952 = sqrt(r26951);
        float r26953 = r26950 / r26952;
        float r26954 = 1;
        float r26955 = r26954 / r26948;
        float r26956 = 3;
        float r26957 = 4;
        float r26958 = r26956 / r26957;
        float r26959 = r26955 * r26958;
        float r26960 = r26955 / r26948;
        float r26961 = r26959 * r26960;
        float r26962 = 2;
        float r26963 = r26955 / r26962;
        float r26964 = fma(r26960, r26963, r26955);
        float r26965 = fma(r26961, r26960, r26964);
        float r26966 = -1;
        float r26967 = r26966 - r26956;
        float r26968 = pow(r26948, r26967);
        float r26969 = -r26956;
        float r26970 = pow(r26948, r26969);
        float r26971 = r26968 * r26970;
        float r26972 = r26954 / r26952;
        float r26973 = 15;
        float r26974 = 8;
        float r26975 = r26973 / r26974;
        float r26976 = r26972 * r26975;
        float r26977 = r26950 * r26976;
        float r26978 = r26971 * r26977;
        float r26979 = fma(r26953, r26965, r26978);
        return r26979;
}

double f_od(double x) {
        double r26980 = x;
        double r26981 = fabs(r26980);
        double r26982 = r26981 * r26981;
        double r26983 = exp(r26982);
        double r26984 = atan2(1.0, 0.0);
        double r26985 = sqrt(r26984);
        double r26986 = r26983 / r26985;
        double r26987 = 1;
        double r26988 = r26987 / r26981;
        double r26989 = 3;
        double r26990 = 4;
        double r26991 = r26989 / r26990;
        double r26992 = r26988 * r26991;
        double r26993 = r26988 / r26981;
        double r26994 = r26992 * r26993;
        double r26995 = 2;
        double r26996 = r26988 / r26995;
        double r26997 = fma(r26993, r26996, r26988);
        double r26998 = fma(r26994, r26993, r26997);
        double r26999 = -1;
        double r27000 = r26999 - r26989;
        double r27001 = pow(r26981, r27000);
        double r27002 = -r26989;
        double r27003 = pow(r26981, r27002);
        double r27004 = r27001 * r27003;
        double r27005 = r26987 / r26985;
        double r27006 = 15;
        double r27007 = 8;
        double r27008 = r27006 / r27007;
        double r27009 = r27005 * r27008;
        double r27010 = r26983 * r27009;
        double r27011 = r27004 * r27010;
        double r27012 = fma(r26986, r26998, r27011);
        return r27012;
}

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 r27013, r27014, r27015, r27016, r27017, 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;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27013, "1", 10, MPFR_RNDN);
        mpfr_init(r27014);
        mpfr_init(r27015);
        mpfr_init(r27016);
        mpfr_init(r27017);
        mpfr_init(r27018);
        mpfr_init(r27019);
        mpfr_init(r27020);
        mpfr_init(r27021);
        mpfr_init(r27022);
        mpfr_init_set_str(r27023, "2", 10, MPFR_RNDN);
        mpfr_init(r27024);
        mpfr_init(r27025);
        mpfr_init(r27026);
        mpfr_init(r27027);
        mpfr_init(r27028);
        mpfr_init_set_str(r27029, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r27030, "4", 10, MPFR_RNDN);
        mpfr_init(r27031);
        mpfr_init(r27032);
        mpfr_init(r27033);
        mpfr_init(r27034);
        mpfr_init(r27035);
        mpfr_init_set_str(r27036, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r27037, "8", 10, MPFR_RNDN);
        mpfr_init(r27038);
        mpfr_init(r27039);
        mpfr_init(r27040);
        mpfr_init(r27041);
        mpfr_init(r27042);
        mpfr_init(r27043);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r27014, MPFR_RNDN);
        mpfr_sqrt(r27015, r27014, MPFR_RNDN);
        mpfr_div(r27016, r27013, r27015, MPFR_RNDN);
        mpfr_set_d(r27017, x, MPFR_RNDN);
        mpfr_abs(r27018, r27017, MPFR_RNDN);
        mpfr_mul(r27019, r27018, r27018, MPFR_RNDN);
        mpfr_exp(r27020, r27019, MPFR_RNDN);
        mpfr_mul(r27021, r27016, r27020, MPFR_RNDN);
        mpfr_div(r27022, r27013, r27018, MPFR_RNDN);
        ;
        mpfr_div(r27024, r27013, r27023, MPFR_RNDN);
        mpfr_mul(r27025, r27022, r27022, MPFR_RNDN);
        mpfr_mul(r27026, r27025, r27022, MPFR_RNDN);
        mpfr_mul(r27027, r27024, r27026, MPFR_RNDN);
        mpfr_add(r27028, r27022, r27027, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27031, r27029, r27030, MPFR_RNDN);
        mpfr_mul(r27032, r27026, r27022, MPFR_RNDN);
        mpfr_mul(r27033, r27032, r27022, MPFR_RNDN);
        mpfr_mul(r27034, r27031, r27033, MPFR_RNDN);
        mpfr_add(r27035, r27028, r27034, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27038, r27036, r27037, MPFR_RNDN);
        mpfr_mul(r27039, r27033, r27022, MPFR_RNDN);
        mpfr_mul(r27040, r27039, r27022, MPFR_RNDN);
        mpfr_mul(r27041, r27038, r27040, MPFR_RNDN);
        mpfr_add(r27042, r27035, r27041, MPFR_RNDN);
        mpfr_mul(r27043, r27021, r27042, MPFR_RNDN);
        return mpfr_get_d(r27043, MPFR_RNDN);
}

static mpfr_t r27044, r27045, r27046, r27047, r27048, r27049, r27050, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27044);
        mpfr_init(r27045);
        mpfr_init(r27046);
        mpfr_init(r27047);
        mpfr_init(r27048);
        mpfr_init(r27049);
        mpfr_init(r27050);
        mpfr_init_set_str(r27051, "1", 10, MPFR_RNDN);
        mpfr_init(r27052);
        mpfr_init_set_str(r27053, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r27054, "4", 10, MPFR_RNDN);
        mpfr_init(r27055);
        mpfr_init(r27056);
        mpfr_init(r27057);
        mpfr_init(r27058);
        mpfr_init_set_str(r27059, "2", 10, MPFR_RNDN);
        mpfr_init(r27060);
        mpfr_init(r27061);
        mpfr_init(r27062);
        mpfr_init_set_str(r27063, "-1", 10, MPFR_RNDN);
        mpfr_init(r27064);
        mpfr_init(r27065);
        mpfr_init(r27066);
        mpfr_init(r27067);
        mpfr_init(r27068);
        mpfr_init(r27069);
        mpfr_init_set_str(r27070, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r27071, "8", 10, MPFR_RNDN);
        mpfr_init(r27072);
        mpfr_init(r27073);
        mpfr_init(r27074);
        mpfr_init(r27075);
        mpfr_init(r27076);
}

double f_fm(double x) {
        mpfr_set_d(r27044, x, MPFR_RNDN);
        mpfr_abs(r27045, r27044, MPFR_RNDN);
        mpfr_mul(r27046, r27045, r27045, MPFR_RNDN);
        mpfr_exp(r27047, r27046, MPFR_RNDN);
        mpfr_const_pi(r27048, MPFR_RNDN);
        mpfr_sqrt(r27049, r27048, MPFR_RNDN);
        mpfr_div(r27050, r27047, r27049, MPFR_RNDN);
        ;
        mpfr_div(r27052, r27051, r27045, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27055, r27053, r27054, MPFR_RNDN);
        mpfr_mul(r27056, r27052, r27055, MPFR_RNDN);
        mpfr_div(r27057, r27052, r27045, MPFR_RNDN);
        mpfr_mul(r27058, r27056, r27057, MPFR_RNDN);
        ;
        mpfr_div(r27060, r27052, r27059, MPFR_RNDN);
        mpfr_fma(r27061, r27057, r27060, r27052, MPFR_RNDN);
        mpfr_fma(r27062, r27058, r27057, r27061, MPFR_RNDN);
        ;
        mpfr_sub(r27064, r27063, r27053, MPFR_RNDN);
        mpfr_pow(r27065, r27045, r27064, MPFR_RNDN);
        mpfr_neg(r27066, r27053, MPFR_RNDN);
        mpfr_pow(r27067, r27045, r27066, MPFR_RNDN);
        mpfr_mul(r27068, r27065, r27067, MPFR_RNDN);
        mpfr_div(r27069, r27051, r27049, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27072, r27070, r27071, MPFR_RNDN);
        mpfr_mul(r27073, r27069, r27072, MPFR_RNDN);
        mpfr_mul(r27074, r27047, r27073, MPFR_RNDN);
        mpfr_mul(r27075, r27068, r27074, MPFR_RNDN);
        mpfr_fma(r27076, r27050, r27062, r27075, MPFR_RNDN);
        return mpfr_get_d(r27076, MPFR_RNDN);
}

static mpfr_t r27077, r27078, r27079, r27080, r27081, r27082, r27083, r27084, r27085, r27086, r27087, r27088, r27089, r27090, r27091, r27092, r27093, r27094, r27095, r27096, r27097, r27098, r27099, r27100, r27101, r27102, r27103, r27104, r27105, r27106, r27107, r27108, r27109;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27077);
        mpfr_init(r27078);
        mpfr_init(r27079);
        mpfr_init(r27080);
        mpfr_init(r27081);
        mpfr_init(r27082);
        mpfr_init(r27083);
        mpfr_init_set_str(r27084, "1", 10, MPFR_RNDN);
        mpfr_init(r27085);
        mpfr_init_set_str(r27086, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r27087, "4", 10, MPFR_RNDN);
        mpfr_init(r27088);
        mpfr_init(r27089);
        mpfr_init(r27090);
        mpfr_init(r27091);
        mpfr_init_set_str(r27092, "2", 10, MPFR_RNDN);
        mpfr_init(r27093);
        mpfr_init(r27094);
        mpfr_init(r27095);
        mpfr_init_set_str(r27096, "-1", 10, MPFR_RNDN);
        mpfr_init(r27097);
        mpfr_init(r27098);
        mpfr_init(r27099);
        mpfr_init(r27100);
        mpfr_init(r27101);
        mpfr_init(r27102);
        mpfr_init_set_str(r27103, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r27104, "8", 10, MPFR_RNDN);
        mpfr_init(r27105);
        mpfr_init(r27106);
        mpfr_init(r27107);
        mpfr_init(r27108);
        mpfr_init(r27109);
}

double f_dm(double x) {
        mpfr_set_d(r27077, x, MPFR_RNDN);
        mpfr_abs(r27078, r27077, MPFR_RNDN);
        mpfr_mul(r27079, r27078, r27078, MPFR_RNDN);
        mpfr_exp(r27080, r27079, MPFR_RNDN);
        mpfr_const_pi(r27081, MPFR_RNDN);
        mpfr_sqrt(r27082, r27081, MPFR_RNDN);
        mpfr_div(r27083, r27080, r27082, MPFR_RNDN);
        ;
        mpfr_div(r27085, r27084, r27078, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27088, r27086, r27087, MPFR_RNDN);
        mpfr_mul(r27089, r27085, r27088, MPFR_RNDN);
        mpfr_div(r27090, r27085, r27078, MPFR_RNDN);
        mpfr_mul(r27091, r27089, r27090, MPFR_RNDN);
        ;
        mpfr_div(r27093, r27085, r27092, MPFR_RNDN);
        mpfr_fma(r27094, r27090, r27093, r27085, MPFR_RNDN);
        mpfr_fma(r27095, r27091, r27090, r27094, MPFR_RNDN);
        ;
        mpfr_sub(r27097, r27096, r27086, MPFR_RNDN);
        mpfr_pow(r27098, r27078, r27097, MPFR_RNDN);
        mpfr_neg(r27099, r27086, MPFR_RNDN);
        mpfr_pow(r27100, r27078, r27099, MPFR_RNDN);
        mpfr_mul(r27101, r27098, r27100, MPFR_RNDN);
        mpfr_div(r27102, r27084, r27082, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27105, r27103, r27104, MPFR_RNDN);
        mpfr_mul(r27106, r27102, r27105, MPFR_RNDN);
        mpfr_mul(r27107, r27080, r27106, MPFR_RNDN);
        mpfr_mul(r27108, r27101, r27107, MPFR_RNDN);
        mpfr_fma(r27109, r27083, r27095, r27108, MPFR_RNDN);
        return mpfr_get_d(r27109, MPFR_RNDN);
}

