#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 r26754 = 1;
        float r26755 = atan2(1.0, 0.0);
        float r26756 = sqrt(r26755);
        float r26757 = r26754 / r26756;
        float r26758 = x;
        float r26759 = fabs(r26758);
        float r26760 = r26759 * r26759;
        float r26761 = exp(r26760);
        float r26762 = r26757 * r26761;
        float r26763 = r26754 / r26759;
        float r26764 = 2;
        float r26765 = r26754 / r26764;
        float r26766 = r26763 * r26763;
        float r26767 = r26766 * r26763;
        float r26768 = r26765 * r26767;
        float r26769 = r26763 + r26768;
        float r26770 = 3;
        float r26771 = 4;
        float r26772 = r26770 / r26771;
        float r26773 = r26767 * r26763;
        float r26774 = r26773 * r26763;
        float r26775 = r26772 * r26774;
        float r26776 = r26769 + r26775;
        float r26777 = 15;
        float r26778 = 8;
        float r26779 = r26777 / r26778;
        float r26780 = r26774 * r26763;
        float r26781 = r26780 * r26763;
        float r26782 = r26779 * r26781;
        float r26783 = r26776 + r26782;
        float r26784 = r26762 * r26783;
        return r26784;
}

double f_id(double x) {
        double r26785 = 1;
        double r26786 = atan2(1.0, 0.0);
        double r26787 = sqrt(r26786);
        double r26788 = r26785 / r26787;
        double r26789 = x;
        double r26790 = fabs(r26789);
        double r26791 = r26790 * r26790;
        double r26792 = exp(r26791);
        double r26793 = r26788 * r26792;
        double r26794 = r26785 / r26790;
        double r26795 = 2;
        double r26796 = r26785 / r26795;
        double r26797 = r26794 * r26794;
        double r26798 = r26797 * r26794;
        double r26799 = r26796 * r26798;
        double r26800 = r26794 + r26799;
        double r26801 = 3;
        double r26802 = 4;
        double r26803 = r26801 / r26802;
        double r26804 = r26798 * r26794;
        double r26805 = r26804 * r26794;
        double r26806 = r26803 * r26805;
        double r26807 = r26800 + r26806;
        double r26808 = 15;
        double r26809 = 8;
        double r26810 = r26808 / r26809;
        double r26811 = r26805 * r26794;
        double r26812 = r26811 * r26794;
        double r26813 = r26810 * r26812;
        double r26814 = r26807 + r26813;
        double r26815 = r26793 * r26814;
        return r26815;
}


double f_of(float x) {
        float r26816 = x;
        float r26817 = fabs(r26816);
        float r26818 = r26817 * r26817;
        float r26819 = exp(r26818);
        float r26820 = atan2(1.0, 0.0);
        float r26821 = sqrt(r26820);
        float r26822 = r26819 / r26821;
        float r26823 = 1;
        float r26824 = r26823 / r26817;
        float r26825 = r26824 / r26818;
        float r26826 = 2;
        float r26827 = r26823 / r26826;
        float r26828 = 3;
        float r26829 = 4;
        float r26830 = r26828 / r26829;
        float r26831 = r26823 * r26830;
        float r26832 = r26831 / r26818;
        float r26833 = fma(r26825, r26832, r26824);
        float r26834 = fma(r26825, r26827, r26833);
        float r26835 = -1;
        float r26836 = r26823 + r26823;
        float r26837 = r26835 - r26836;
        float r26838 = pow(r26817, r26837);
        float r26839 = r26835 + r26835;
        float r26840 = r26839 - r26836;
        float r26841 = pow(r26817, r26840);
        float r26842 = r26838 * r26841;
        float r26843 = r26823 / r26821;
        float r26844 = 15;
        float r26845 = 8;
        float r26846 = r26844 / r26845;
        float r26847 = r26843 * r26846;
        float r26848 = r26819 * r26847;
        float r26849 = r26842 * r26848;
        float r26850 = fma(r26822, r26834, r26849);
        return r26850;
}

double f_od(double x) {
        double r26851 = x;
        double r26852 = fabs(r26851);
        double r26853 = r26852 * r26852;
        double r26854 = exp(r26853);
        double r26855 = atan2(1.0, 0.0);
        double r26856 = sqrt(r26855);
        double r26857 = r26854 / r26856;
        double r26858 = 1;
        double r26859 = r26858 / r26852;
        double r26860 = r26859 / r26853;
        double r26861 = 2;
        double r26862 = r26858 / r26861;
        double r26863 = 3;
        double r26864 = 4;
        double r26865 = r26863 / r26864;
        double r26866 = r26858 * r26865;
        double r26867 = r26866 / r26853;
        double r26868 = fma(r26860, r26867, r26859);
        double r26869 = fma(r26860, r26862, r26868);
        double r26870 = -1;
        double r26871 = r26858 + r26858;
        double r26872 = r26870 - r26871;
        double r26873 = pow(r26852, r26872);
        double r26874 = r26870 + r26870;
        double r26875 = r26874 - r26871;
        double r26876 = pow(r26852, r26875);
        double r26877 = r26873 * r26876;
        double r26878 = r26858 / r26856;
        double r26879 = 15;
        double r26880 = 8;
        double r26881 = r26879 / r26880;
        double r26882 = r26878 * r26881;
        double r26883 = r26854 * r26882;
        double r26884 = r26877 * r26883;
        double r26885 = fma(r26857, r26869, r26884);
        return r26885;
}

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 r26886, r26887, r26888, r26889, r26890, r26891, r26892, r26893, r26894, r26895, r26896, r26897, r26898, r26899, r26900, r26901, r26902, r26903, r26904, r26905, r26906, r26907, r26908, r26909, r26910, r26911, r26912, r26913, r26914, r26915, r26916;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26886, "1", 10, MPFR_RNDN);
        mpfr_init(r26887);
        mpfr_init(r26888);
        mpfr_init(r26889);
        mpfr_init(r26890);
        mpfr_init(r26891);
        mpfr_init(r26892);
        mpfr_init(r26893);
        mpfr_init(r26894);
        mpfr_init(r26895);
        mpfr_init_set_str(r26896, "2", 10, MPFR_RNDN);
        mpfr_init(r26897);
        mpfr_init(r26898);
        mpfr_init(r26899);
        mpfr_init(r26900);
        mpfr_init(r26901);
        mpfr_init_set_str(r26902, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r26903, "4", 10, MPFR_RNDN);
        mpfr_init(r26904);
        mpfr_init(r26905);
        mpfr_init(r26906);
        mpfr_init(r26907);
        mpfr_init(r26908);
        mpfr_init_set_str(r26909, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r26910, "8", 10, MPFR_RNDN);
        mpfr_init(r26911);
        mpfr_init(r26912);
        mpfr_init(r26913);
        mpfr_init(r26914);
        mpfr_init(r26915);
        mpfr_init(r26916);
}

double f_im(double x) {
        ;
        mpfr_const_pi(r26887, MPFR_RNDN);
        mpfr_sqrt(r26888, r26887, MPFR_RNDN);
        mpfr_div(r26889, r26886, r26888, MPFR_RNDN);
        mpfr_set_d(r26890, x, MPFR_RNDN);
        mpfr_abs(r26891, r26890, MPFR_RNDN);
        mpfr_mul(r26892, r26891, r26891, MPFR_RNDN);
        mpfr_exp(r26893, r26892, MPFR_RNDN);
        mpfr_mul(r26894, r26889, r26893, MPFR_RNDN);
        mpfr_div(r26895, r26886, r26891, MPFR_RNDN);
        ;
        mpfr_div(r26897, r26886, r26896, MPFR_RNDN);
        mpfr_mul(r26898, r26895, r26895, MPFR_RNDN);
        mpfr_mul(r26899, r26898, r26895, MPFR_RNDN);
        mpfr_mul(r26900, r26897, r26899, MPFR_RNDN);
        mpfr_add(r26901, r26895, r26900, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26904, r26902, r26903, MPFR_RNDN);
        mpfr_mul(r26905, r26899, r26895, MPFR_RNDN);
        mpfr_mul(r26906, r26905, r26895, MPFR_RNDN);
        mpfr_mul(r26907, r26904, r26906, MPFR_RNDN);
        mpfr_add(r26908, r26901, r26907, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26911, r26909, r26910, MPFR_RNDN);
        mpfr_mul(r26912, r26906, r26895, MPFR_RNDN);
        mpfr_mul(r26913, r26912, r26895, MPFR_RNDN);
        mpfr_mul(r26914, r26911, r26913, MPFR_RNDN);
        mpfr_add(r26915, r26908, r26914, MPFR_RNDN);
        mpfr_mul(r26916, r26894, r26915, MPFR_RNDN);
        return mpfr_get_d(r26916, MPFR_RNDN);
}

static mpfr_t r26917, r26918, r26919, r26920, r26921, r26922, r26923, r26924, r26925, r26926, r26927, r26928, r26929, r26930, r26931, r26932, r26933, r26934, r26935, r26936, r26937, r26938, r26939, r26940, r26941, r26942, r26943, r26944, r26945, r26946, r26947, r26948, r26949, r26950, r26951;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26917);
        mpfr_init(r26918);
        mpfr_init(r26919);
        mpfr_init(r26920);
        mpfr_init(r26921);
        mpfr_init(r26922);
        mpfr_init(r26923);
        mpfr_init_set_str(r26924, "1", 10, MPFR_RNDN);
        mpfr_init(r26925);
        mpfr_init(r26926);
        mpfr_init_set_str(r26927, "2", 10, MPFR_RNDN);
        mpfr_init(r26928);
        mpfr_init_set_str(r26929, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r26930, "4", 10, MPFR_RNDN);
        mpfr_init(r26931);
        mpfr_init(r26932);
        mpfr_init(r26933);
        mpfr_init(r26934);
        mpfr_init(r26935);
        mpfr_init_set_str(r26936, "-1", 10, MPFR_RNDN);
        mpfr_init(r26937);
        mpfr_init(r26938);
        mpfr_init(r26939);
        mpfr_init(r26940);
        mpfr_init(r26941);
        mpfr_init(r26942);
        mpfr_init(r26943);
        mpfr_init(r26944);
        mpfr_init_set_str(r26945, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r26946, "8", 10, MPFR_RNDN);
        mpfr_init(r26947);
        mpfr_init(r26948);
        mpfr_init(r26949);
        mpfr_init(r26950);
        mpfr_init(r26951);
}

double f_fm(double x) {
        mpfr_set_d(r26917, x, MPFR_RNDN);
        mpfr_abs(r26918, r26917, MPFR_RNDN);
        mpfr_mul(r26919, r26918, r26918, MPFR_RNDN);
        mpfr_exp(r26920, r26919, MPFR_RNDN);
        mpfr_const_pi(r26921, MPFR_RNDN);
        mpfr_sqrt(r26922, r26921, MPFR_RNDN);
        mpfr_div(r26923, r26920, r26922, MPFR_RNDN);
        ;
        mpfr_div(r26925, r26924, r26918, MPFR_RNDN);
        mpfr_div(r26926, r26925, r26919, MPFR_RNDN);
        ;
        mpfr_div(r26928, r26924, r26927, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26931, r26929, r26930, MPFR_RNDN);
        mpfr_mul(r26932, r26924, r26931, MPFR_RNDN);
        mpfr_div(r26933, r26932, r26919, MPFR_RNDN);
        mpfr_fma(r26934, r26926, r26933, r26925, MPFR_RNDN);
        mpfr_fma(r26935, r26926, r26928, r26934, MPFR_RNDN);
        ;
        mpfr_add(r26937, r26924, r26924, MPFR_RNDN);
        mpfr_sub(r26938, r26936, r26937, MPFR_RNDN);
        mpfr_pow(r26939, r26918, r26938, MPFR_RNDN);
        mpfr_add(r26940, r26936, r26936, MPFR_RNDN);
        mpfr_sub(r26941, r26940, r26937, MPFR_RNDN);
        mpfr_pow(r26942, r26918, r26941, MPFR_RNDN);
        mpfr_mul(r26943, r26939, r26942, MPFR_RNDN);
        mpfr_div(r26944, r26924, r26922, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26947, r26945, r26946, MPFR_RNDN);
        mpfr_mul(r26948, r26944, r26947, MPFR_RNDN);
        mpfr_mul(r26949, r26920, r26948, MPFR_RNDN);
        mpfr_mul(r26950, r26943, r26949, MPFR_RNDN);
        mpfr_fma(r26951, r26923, r26935, r26950, MPFR_RNDN);
        return mpfr_get_d(r26951, MPFR_RNDN);
}

static mpfr_t r26952, r26953, r26954, r26955, r26956, r26957, r26958, r26959, r26960, r26961, r26962, r26963, r26964, r26965, r26966, r26967, r26968, r26969, r26970, r26971, r26972, r26973, r26974, r26975, r26976, r26977, r26978, r26979, r26980, r26981, r26982, r26983, r26984, r26985, r26986;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26952);
        mpfr_init(r26953);
        mpfr_init(r26954);
        mpfr_init(r26955);
        mpfr_init(r26956);
        mpfr_init(r26957);
        mpfr_init(r26958);
        mpfr_init_set_str(r26959, "1", 10, MPFR_RNDN);
        mpfr_init(r26960);
        mpfr_init(r26961);
        mpfr_init_set_str(r26962, "2", 10, MPFR_RNDN);
        mpfr_init(r26963);
        mpfr_init_set_str(r26964, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r26965, "4", 10, MPFR_RNDN);
        mpfr_init(r26966);
        mpfr_init(r26967);
        mpfr_init(r26968);
        mpfr_init(r26969);
        mpfr_init(r26970);
        mpfr_init_set_str(r26971, "-1", 10, MPFR_RNDN);
        mpfr_init(r26972);
        mpfr_init(r26973);
        mpfr_init(r26974);
        mpfr_init(r26975);
        mpfr_init(r26976);
        mpfr_init(r26977);
        mpfr_init(r26978);
        mpfr_init(r26979);
        mpfr_init_set_str(r26980, "15", 10, MPFR_RNDN);
        mpfr_init_set_str(r26981, "8", 10, MPFR_RNDN);
        mpfr_init(r26982);
        mpfr_init(r26983);
        mpfr_init(r26984);
        mpfr_init(r26985);
        mpfr_init(r26986);
}

double f_dm(double x) {
        mpfr_set_d(r26952, x, MPFR_RNDN);
        mpfr_abs(r26953, r26952, MPFR_RNDN);
        mpfr_mul(r26954, r26953, r26953, MPFR_RNDN);
        mpfr_exp(r26955, r26954, MPFR_RNDN);
        mpfr_const_pi(r26956, MPFR_RNDN);
        mpfr_sqrt(r26957, r26956, MPFR_RNDN);
        mpfr_div(r26958, r26955, r26957, MPFR_RNDN);
        ;
        mpfr_div(r26960, r26959, r26953, MPFR_RNDN);
        mpfr_div(r26961, r26960, r26954, MPFR_RNDN);
        ;
        mpfr_div(r26963, r26959, r26962, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26966, r26964, r26965, MPFR_RNDN);
        mpfr_mul(r26967, r26959, r26966, MPFR_RNDN);
        mpfr_div(r26968, r26967, r26954, MPFR_RNDN);
        mpfr_fma(r26969, r26961, r26968, r26960, MPFR_RNDN);
        mpfr_fma(r26970, r26961, r26963, r26969, MPFR_RNDN);
        ;
        mpfr_add(r26972, r26959, r26959, MPFR_RNDN);
        mpfr_sub(r26973, r26971, r26972, MPFR_RNDN);
        mpfr_pow(r26974, r26953, r26973, MPFR_RNDN);
        mpfr_add(r26975, r26971, r26971, MPFR_RNDN);
        mpfr_sub(r26976, r26975, r26972, MPFR_RNDN);
        mpfr_pow(r26977, r26953, r26976, MPFR_RNDN);
        mpfr_mul(r26978, r26974, r26977, MPFR_RNDN);
        mpfr_div(r26979, r26959, r26957, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26982, r26980, r26981, MPFR_RNDN);
        mpfr_mul(r26983, r26979, r26982, MPFR_RNDN);
        mpfr_mul(r26984, r26955, r26983, MPFR_RNDN);
        mpfr_mul(r26985, r26978, r26984, MPFR_RNDN);
        mpfr_fma(r26986, r26958, r26970, r26985, MPFR_RNDN);
        return mpfr_get_d(r26986, MPFR_RNDN);
}

