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

char *name = "Jmat.Real.gamma, branch z less than 0.5";

double f_if(float z) {
        float r26939 = atan2(1.0, 0.0);
        float r26940 = z;
        float r26941 = r26939 * r26940;
        float r26942 = sin(r26941);
        float r26943 = r26939 / r26942;
        float r26944 = 2;
        float r26945 = r26939 * r26944;
        float r26946 = sqrt(r26945);
        float r26947 = 1;
        float r26948 = r26947 - r26940;
        float r26949 = r26948 - r26947;
        float r26950 = 7;
        float r26951 = r26949 + r26950;
        float r26952 = 0.5;
        float r26953 = r26951 + r26952;
        float r26954 = r26949 + r26952;
        float r26955 = pow(r26953, r26954);
        float r26956 = r26946 * r26955;
        float r26957 = -r26953;
        float r26958 = exp(r26957);
        float r26959 = r26956 * r26958;
        float r26960 = 0.9999999999998099;
        float r26961 = 676.5203681218851;
        float r26962 = r26949 + r26947;
        float r26963 = r26961 / r26962;
        float r26964 = r26960 + r26963;
        float r26965 = -1259.1392167224028;
        float r26966 = r26949 + r26944;
        float r26967 = r26965 / r26966;
        float r26968 = r26964 + r26967;
        float r26969 = 771.3234287776531;
        float r26970 = 3;
        float r26971 = r26949 + r26970;
        float r26972 = r26969 / r26971;
        float r26973 = r26968 + r26972;
        float r26974 = -176.6150291621406;
        float r26975 = 4;
        float r26976 = r26949 + r26975;
        float r26977 = r26974 / r26976;
        float r26978 = r26973 + r26977;
        float r26979 = 12.507343278686905;
        float r26980 = 5;
        float r26981 = r26949 + r26980;
        float r26982 = r26979 / r26981;
        float r26983 = r26978 + r26982;
        float r26984 = -0.13857109526572012;
        float r26985 = 6;
        float r26986 = r26949 + r26985;
        float r26987 = r26984 / r26986;
        float r26988 = r26983 + r26987;
        float r26989 = 9.984369578019572e-06;
        float r26990 = r26989 / r26951;
        float r26991 = r26988 + r26990;
        float r26992 = 1.5056327351493116e-07;
        float r26993 = 8;
        float r26994 = r26949 + r26993;
        float r26995 = r26992 / r26994;
        float r26996 = r26991 + r26995;
        float r26997 = r26959 * r26996;
        float r26998 = r26943 * r26997;
        return r26998;
}

double f_id(double z) {
        double r26999 = atan2(1.0, 0.0);
        double r27000 = z;
        double r27001 = r26999 * r27000;
        double r27002 = sin(r27001);
        double r27003 = r26999 / r27002;
        double r27004 = 2;
        double r27005 = r26999 * r27004;
        double r27006 = sqrt(r27005);
        double r27007 = 1;
        double r27008 = r27007 - r27000;
        double r27009 = r27008 - r27007;
        double r27010 = 7;
        double r27011 = r27009 + r27010;
        double r27012 = 0.5;
        double r27013 = r27011 + r27012;
        double r27014 = r27009 + r27012;
        double r27015 = pow(r27013, r27014);
        double r27016 = r27006 * r27015;
        double r27017 = -r27013;
        double r27018 = exp(r27017);
        double r27019 = r27016 * r27018;
        double r27020 = 0.9999999999998099;
        double r27021 = 676.5203681218851;
        double r27022 = r27009 + r27007;
        double r27023 = r27021 / r27022;
        double r27024 = r27020 + r27023;
        double r27025 = -1259.1392167224028;
        double r27026 = r27009 + r27004;
        double r27027 = r27025 / r27026;
        double r27028 = r27024 + r27027;
        double r27029 = 771.3234287776531;
        double r27030 = 3;
        double r27031 = r27009 + r27030;
        double r27032 = r27029 / r27031;
        double r27033 = r27028 + r27032;
        double r27034 = -176.6150291621406;
        double r27035 = 4;
        double r27036 = r27009 + r27035;
        double r27037 = r27034 / r27036;
        double r27038 = r27033 + r27037;
        double r27039 = 12.507343278686905;
        double r27040 = 5;
        double r27041 = r27009 + r27040;
        double r27042 = r27039 / r27041;
        double r27043 = r27038 + r27042;
        double r27044 = -0.13857109526572012;
        double r27045 = 6;
        double r27046 = r27009 + r27045;
        double r27047 = r27044 / r27046;
        double r27048 = r27043 + r27047;
        double r27049 = 9.984369578019572e-06;
        double r27050 = r27049 / r27011;
        double r27051 = r27048 + r27050;
        double r27052 = 1.5056327351493116e-07;
        double r27053 = 8;
        double r27054 = r27009 + r27053;
        double r27055 = r27052 / r27054;
        double r27056 = r27051 + r27055;
        double r27057 = r27019 * r27056;
        double r27058 = r27003 * r27057;
        return r27058;
}


double f_of(float z) {
        float r27059 = atan2(1.0, 0.0);
        float r27060 = z;
        float r27061 = r27060 * r27059;
        float r27062 = sin(r27061);
        float r27063 = r27059 / r27062;
        float r27064 = 2;
        float r27065 = r27064 * r27059;
        float r27066 = sqrt(r27065);
        float r27067 = 0.5;
        float r27068 = 7;
        float r27069 = 1;
        float r27070 = r27068 + r27069;
        float r27071 = r27069 + r27060;
        float r27072 = r27070 - r27071;
        float r27073 = r27067 + r27072;
        float r27074 = r27069 - r27060;
        float r27075 = r27069 - r27067;
        float r27076 = r27074 - r27075;
        float r27077 = pow(r27073, r27076);
        float r27078 = r27066 * r27077;
        float r27079 = exp(r27073);
        float r27080 = r27078 / r27079;
        float r27081 = r27063 * r27080;
        float r27082 = 771.3234287776531;
        float r27083 = 3;
        float r27084 = r27069 - r27083;
        float r27085 = r27074 - r27084;
        float r27086 = r27082 / r27085;
        float r27087 = 0.9999999999998099;
        float r27088 = r27086 + r27087;
        float r27089 = 676.5203681218851;
        float r27090 = 0;
        float r27091 = r27074 - r27090;
        float r27092 = r27089 / r27091;
        float r27093 = -1259.1392167224028;
        float r27094 = r27064 + r27069;
        float r27095 = r27094 - r27071;
        float r27096 = r27093 / r27095;
        float r27097 = r27092 + r27096;
        float r27098 = r27088 + r27097;
        float r27099 = 12.507343278686905;
        float r27100 = 5;
        float r27101 = r27069 - r27100;
        float r27102 = r27074 - r27101;
        float r27103 = r27099 / r27102;
        float r27104 = -176.6150291621406;
        float r27105 = 4;
        float r27106 = r27069 - r27105;
        float r27107 = r27074 - r27106;
        float r27108 = r27104 / r27107;
        float r27109 = r27103 + r27108;
        float r27110 = -0.13857109526572012;
        float r27111 = 6;
        float r27112 = r27111 + r27069;
        float r27113 = r27112 - r27071;
        float r27114 = r27110 / r27113;
        float r27115 = 9.984369578019572e-06;
        float r27116 = r27115 / r27072;
        float r27117 = r27114 + r27116;
        float r27118 = r27109 + r27117;
        float r27119 = r27098 + r27118;
        float r27120 = 1.5056327351493116e-07;
        float r27121 = 8;
        float r27122 = r27121 + r27069;
        float r27123 = r27122 - r27071;
        float r27124 = r27120 / r27123;
        float r27125 = r27119 + r27124;
        float r27126 = r27081 * r27125;
        return r27126;
}

double f_od(double z) {
        double r27127 = atan2(1.0, 0.0);
        double r27128 = z;
        double r27129 = r27128 * r27127;
        double r27130 = sin(r27129);
        double r27131 = r27127 / r27130;
        double r27132 = 2;
        double r27133 = r27132 * r27127;
        double r27134 = sqrt(r27133);
        double r27135 = 0.5;
        double r27136 = 7;
        double r27137 = 1;
        double r27138 = r27136 + r27137;
        double r27139 = r27137 + r27128;
        double r27140 = r27138 - r27139;
        double r27141 = r27135 + r27140;
        double r27142 = r27137 - r27128;
        double r27143 = r27137 - r27135;
        double r27144 = r27142 - r27143;
        double r27145 = pow(r27141, r27144);
        double r27146 = r27134 * r27145;
        double r27147 = exp(r27141);
        double r27148 = r27146 / r27147;
        double r27149 = r27131 * r27148;
        double r27150 = 771.3234287776531;
        double r27151 = 3;
        double r27152 = r27137 - r27151;
        double r27153 = r27142 - r27152;
        double r27154 = r27150 / r27153;
        double r27155 = 0.9999999999998099;
        double r27156 = r27154 + r27155;
        double r27157 = 676.5203681218851;
        double r27158 = 0;
        double r27159 = r27142 - r27158;
        double r27160 = r27157 / r27159;
        double r27161 = -1259.1392167224028;
        double r27162 = r27132 + r27137;
        double r27163 = r27162 - r27139;
        double r27164 = r27161 / r27163;
        double r27165 = r27160 + r27164;
        double r27166 = r27156 + r27165;
        double r27167 = 12.507343278686905;
        double r27168 = 5;
        double r27169 = r27137 - r27168;
        double r27170 = r27142 - r27169;
        double r27171 = r27167 / r27170;
        double r27172 = -176.6150291621406;
        double r27173 = 4;
        double r27174 = r27137 - r27173;
        double r27175 = r27142 - r27174;
        double r27176 = r27172 / r27175;
        double r27177 = r27171 + r27176;
        double r27178 = -0.13857109526572012;
        double r27179 = 6;
        double r27180 = r27179 + r27137;
        double r27181 = r27180 - r27139;
        double r27182 = r27178 / r27181;
        double r27183 = 9.984369578019572e-06;
        double r27184 = r27183 / r27140;
        double r27185 = r27182 + r27184;
        double r27186 = r27177 + r27185;
        double r27187 = r27166 + r27186;
        double r27188 = 1.5056327351493116e-07;
        double r27189 = 8;
        double r27190 = r27189 + r27137;
        double r27191 = r27190 - r27139;
        double r27192 = r27188 / r27191;
        double r27193 = r27187 + r27192;
        double r27194 = r27149 * r27193;
        return r27194;
}

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 r27195, r27196, r27197, r27198, r27199, r27200, r27201, r27202, r27203, r27204, r27205, r27206, r27207, r27208, r27209, r27210, r27211, r27212, r27213, r27214, r27215, r27216, r27217, r27218, r27219, r27220, r27221, r27222, r27223, r27224, r27225, r27226, r27227, r27228, r27229, r27230, r27231, r27232, r27233, r27234, r27235, r27236, r27237, r27238, r27239, r27240, r27241, r27242, r27243, r27244, r27245, r27246, r27247, r27248, r27249, r27250, r27251, r27252, r27253, r27254;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r27195);
        mpfr_init(r27196);
        mpfr_init(r27197);
        mpfr_init(r27198);
        mpfr_init(r27199);
        mpfr_init_set_str(r27200, "2", 10, MPFR_RNDN);
        mpfr_init(r27201);
        mpfr_init(r27202);
        mpfr_init_set_str(r27203, "1", 10, MPFR_RNDN);
        mpfr_init(r27204);
        mpfr_init(r27205);
        mpfr_init_set_str(r27206, "7", 10, MPFR_RNDN);
        mpfr_init(r27207);
        mpfr_init_set_str(r27208, "0.5", 10, MPFR_RNDN);
        mpfr_init(r27209);
        mpfr_init(r27210);
        mpfr_init(r27211);
        mpfr_init(r27212);
        mpfr_init(r27213);
        mpfr_init(r27214);
        mpfr_init(r27215);
        mpfr_init_set_str(r27216, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r27217, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r27218);
        mpfr_init(r27219);
        mpfr_init(r27220);
        mpfr_init_set_str(r27221, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r27222);
        mpfr_init(r27223);
        mpfr_init(r27224);
        mpfr_init_set_str(r27225, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27226, "3", 10, MPFR_RNDN);
        mpfr_init(r27227);
        mpfr_init(r27228);
        mpfr_init(r27229);
        mpfr_init_set_str(r27230, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27231, "4", 10, MPFR_RNDN);
        mpfr_init(r27232);
        mpfr_init(r27233);
        mpfr_init(r27234);
        mpfr_init_set_str(r27235, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27236, "5", 10, MPFR_RNDN);
        mpfr_init(r27237);
        mpfr_init(r27238);
        mpfr_init(r27239);
        mpfr_init_set_str(r27240, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27241, "6", 10, MPFR_RNDN);
        mpfr_init(r27242);
        mpfr_init(r27243);
        mpfr_init(r27244);
        mpfr_init_set_str(r27245, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27246);
        mpfr_init(r27247);
        mpfr_init_set_str(r27248, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27249, "8", 10, MPFR_RNDN);
        mpfr_init(r27250);
        mpfr_init(r27251);
        mpfr_init(r27252);
        mpfr_init(r27253);
        mpfr_init(r27254);
}

double f_im(double z) {
        mpfr_const_pi(r27195, MPFR_RNDN);
        mpfr_set_d(r27196, z, MPFR_RNDN);
        mpfr_mul(r27197, r27195, r27196, MPFR_RNDN);
        mpfr_sin(r27198, r27197, MPFR_RNDN);
        mpfr_div(r27199, r27195, r27198, MPFR_RNDN);
        ;
        mpfr_mul(r27201, r27195, r27200, MPFR_RNDN);
        mpfr_sqrt(r27202, r27201, MPFR_RNDN);
        ;
        mpfr_sub(r27204, r27203, r27196, MPFR_RNDN);
        mpfr_sub(r27205, r27204, r27203, MPFR_RNDN);
        ;
        mpfr_add(r27207, r27205, r27206, MPFR_RNDN);
        ;
        mpfr_add(r27209, r27207, r27208, MPFR_RNDN);
        mpfr_add(r27210, r27205, r27208, MPFR_RNDN);
        mpfr_pow(r27211, r27209, r27210, MPFR_RNDN);
        mpfr_mul(r27212, r27202, r27211, MPFR_RNDN);
        mpfr_neg(r27213, r27209, MPFR_RNDN);
        mpfr_exp(r27214, r27213, MPFR_RNDN);
        mpfr_mul(r27215, r27212, r27214, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27218, r27205, r27203, MPFR_RNDN);
        mpfr_div(r27219, r27217, r27218, MPFR_RNDN);
        mpfr_add(r27220, r27216, r27219, MPFR_RNDN);
        ;
        mpfr_add(r27222, r27205, r27200, MPFR_RNDN);
        mpfr_div(r27223, r27221, r27222, MPFR_RNDN);
        mpfr_add(r27224, r27220, r27223, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27227, r27205, r27226, MPFR_RNDN);
        mpfr_div(r27228, r27225, r27227, MPFR_RNDN);
        mpfr_add(r27229, r27224, r27228, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27232, r27205, r27231, MPFR_RNDN);
        mpfr_div(r27233, r27230, r27232, MPFR_RNDN);
        mpfr_add(r27234, r27229, r27233, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27237, r27205, r27236, MPFR_RNDN);
        mpfr_div(r27238, r27235, r27237, MPFR_RNDN);
        mpfr_add(r27239, r27234, r27238, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27242, r27205, r27241, MPFR_RNDN);
        mpfr_div(r27243, r27240, r27242, MPFR_RNDN);
        mpfr_add(r27244, r27239, r27243, MPFR_RNDN);
        ;
        mpfr_div(r27246, r27245, r27207, MPFR_RNDN);
        mpfr_add(r27247, r27244, r27246, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27250, r27205, r27249, MPFR_RNDN);
        mpfr_div(r27251, r27248, r27250, MPFR_RNDN);
        mpfr_add(r27252, r27247, r27251, MPFR_RNDN);
        mpfr_mul(r27253, r27215, r27252, MPFR_RNDN);
        mpfr_mul(r27254, r27199, r27253, MPFR_RNDN);
        return mpfr_get_d(r27254, MPFR_RNDN);
}

static mpfr_t r27255, r27256, r27257, r27258, r27259, r27260, r27261, r27262, r27263, r27264, r27265, r27266, r27267, r27268, r27269, r27270, r27271, r27272, r27273, r27274, r27275, r27276, r27277, r27278, r27279, r27280, r27281, r27282, r27283, r27284, r27285, r27286, r27287, r27288, r27289, r27290, r27291, r27292, r27293, r27294, r27295, r27296, r27297, r27298, r27299, r27300, r27301, r27302, r27303, r27304, r27305, r27306, r27307, r27308, r27309, r27310, r27311, r27312, r27313, r27314, r27315, r27316, r27317, r27318, r27319, r27320, r27321, r27322;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27255);
        mpfr_init(r27256);
        mpfr_init(r27257);
        mpfr_init(r27258);
        mpfr_init(r27259);
        mpfr_init_set_str(r27260, "2", 10, MPFR_RNDN);
        mpfr_init(r27261);
        mpfr_init(r27262);
        mpfr_init_set_str(r27263, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r27264, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r27265, "1", 10, MPFR_RNDN);
        mpfr_init(r27266);
        mpfr_init(r27267);
        mpfr_init(r27268);
        mpfr_init(r27269);
        mpfr_init(r27270);
        mpfr_init(r27271);
        mpfr_init(r27272);
        mpfr_init(r27273);
        mpfr_init(r27274);
        mpfr_init(r27275);
        mpfr_init(r27276);
        mpfr_init(r27277);
        mpfr_init_set_str(r27278, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27279, "3", 10, MPFR_RNDN);
        mpfr_init(r27280);
        mpfr_init(r27281);
        mpfr_init(r27282);
        mpfr_init_set_str(r27283, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r27284);
        mpfr_init_set_str(r27285, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r27286, "0", 10, MPFR_RNDN);
        mpfr_init(r27287);
        mpfr_init(r27288);
        mpfr_init_set_str(r27289, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r27290);
        mpfr_init(r27291);
        mpfr_init(r27292);
        mpfr_init(r27293);
        mpfr_init(r27294);
        mpfr_init_set_str(r27295, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27296, "5", 10, MPFR_RNDN);
        mpfr_init(r27297);
        mpfr_init(r27298);
        mpfr_init(r27299);
        mpfr_init_set_str(r27300, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27301, "4", 10, MPFR_RNDN);
        mpfr_init(r27302);
        mpfr_init(r27303);
        mpfr_init(r27304);
        mpfr_init(r27305);
        mpfr_init_set_str(r27306, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27307, "6", 10, MPFR_RNDN);
        mpfr_init(r27308);
        mpfr_init(r27309);
        mpfr_init(r27310);
        mpfr_init_set_str(r27311, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27312);
        mpfr_init(r27313);
        mpfr_init(r27314);
        mpfr_init(r27315);
        mpfr_init_set_str(r27316, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27317, "8", 10, MPFR_RNDN);
        mpfr_init(r27318);
        mpfr_init(r27319);
        mpfr_init(r27320);
        mpfr_init(r27321);
        mpfr_init(r27322);
}

double f_fm(double z) {
        mpfr_const_pi(r27255, MPFR_RNDN);
        mpfr_set_d(r27256, z, MPFR_RNDN);
        mpfr_mul(r27257, r27256, r27255, MPFR_RNDN);
        mpfr_sin(r27258, r27257, MPFR_RNDN);
        mpfr_div(r27259, r27255, r27258, MPFR_RNDN);
        ;
        mpfr_mul(r27261, r27260, r27255, MPFR_RNDN);
        mpfr_sqrt(r27262, r27261, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_add(r27266, r27264, r27265, MPFR_RNDN);
        mpfr_add(r27267, r27265, r27256, MPFR_RNDN);
        mpfr_sub(r27268, r27266, r27267, MPFR_RNDN);
        mpfr_add(r27269, r27263, r27268, MPFR_RNDN);
        mpfr_sub(r27270, r27265, r27256, MPFR_RNDN);
        mpfr_sub(r27271, r27265, r27263, MPFR_RNDN);
        mpfr_sub(r27272, r27270, r27271, MPFR_RNDN);
        mpfr_pow(r27273, r27269, r27272, MPFR_RNDN);
        mpfr_mul(r27274, r27262, r27273, MPFR_RNDN);
        mpfr_exp(r27275, r27269, MPFR_RNDN);
        mpfr_div(r27276, r27274, r27275, MPFR_RNDN);
        mpfr_mul(r27277, r27259, r27276, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27280, r27265, r27279, MPFR_RNDN);
        mpfr_sub(r27281, r27270, r27280, MPFR_RNDN);
        mpfr_div(r27282, r27278, r27281, MPFR_RNDN);
        ;
        mpfr_add(r27284, r27282, r27283, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27287, r27270, r27286, MPFR_RNDN);
        mpfr_div(r27288, r27285, r27287, MPFR_RNDN);
        ;
        mpfr_add(r27290, r27260, r27265, MPFR_RNDN);
        mpfr_sub(r27291, r27290, r27267, MPFR_RNDN);
        mpfr_div(r27292, r27289, r27291, MPFR_RNDN);
        mpfr_add(r27293, r27288, r27292, MPFR_RNDN);
        mpfr_add(r27294, r27284, r27293, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27297, r27265, r27296, MPFR_RNDN);
        mpfr_sub(r27298, r27270, r27297, MPFR_RNDN);
        mpfr_div(r27299, r27295, r27298, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27302, r27265, r27301, MPFR_RNDN);
        mpfr_sub(r27303, r27270, r27302, MPFR_RNDN);
        mpfr_div(r27304, r27300, r27303, MPFR_RNDN);
        mpfr_add(r27305, r27299, r27304, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27308, r27307, r27265, MPFR_RNDN);
        mpfr_sub(r27309, r27308, r27267, MPFR_RNDN);
        mpfr_div(r27310, r27306, r27309, MPFR_RNDN);
        ;
        mpfr_div(r27312, r27311, r27268, MPFR_RNDN);
        mpfr_add(r27313, r27310, r27312, MPFR_RNDN);
        mpfr_add(r27314, r27305, r27313, MPFR_RNDN);
        mpfr_add(r27315, r27294, r27314, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27318, r27317, r27265, MPFR_RNDN);
        mpfr_sub(r27319, r27318, r27267, MPFR_RNDN);
        mpfr_div(r27320, r27316, r27319, MPFR_RNDN);
        mpfr_add(r27321, r27315, r27320, MPFR_RNDN);
        mpfr_mul(r27322, r27277, r27321, MPFR_RNDN);
        return mpfr_get_d(r27322, MPFR_RNDN);
}

static mpfr_t r27323, r27324, r27325, r27326, r27327, r27328, r27329, r27330, r27331, r27332, r27333, r27334, r27335, r27336, r27337, r27338, r27339, r27340, r27341, r27342, r27343, r27344, r27345, r27346, r27347, r27348, r27349, r27350, r27351, r27352, r27353, r27354, r27355, r27356, r27357, r27358, r27359, r27360, r27361, r27362, r27363, r27364, r27365, r27366, r27367, r27368, r27369, r27370, r27371, r27372, r27373, r27374, r27375, r27376, r27377, r27378, r27379, r27380, r27381, r27382, r27383, r27384, r27385, r27386, r27387, r27388, r27389, r27390;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27323);
        mpfr_init(r27324);
        mpfr_init(r27325);
        mpfr_init(r27326);
        mpfr_init(r27327);
        mpfr_init_set_str(r27328, "2", 10, MPFR_RNDN);
        mpfr_init(r27329);
        mpfr_init(r27330);
        mpfr_init_set_str(r27331, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r27332, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r27333, "1", 10, MPFR_RNDN);
        mpfr_init(r27334);
        mpfr_init(r27335);
        mpfr_init(r27336);
        mpfr_init(r27337);
        mpfr_init(r27338);
        mpfr_init(r27339);
        mpfr_init(r27340);
        mpfr_init(r27341);
        mpfr_init(r27342);
        mpfr_init(r27343);
        mpfr_init(r27344);
        mpfr_init(r27345);
        mpfr_init_set_str(r27346, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27347, "3", 10, MPFR_RNDN);
        mpfr_init(r27348);
        mpfr_init(r27349);
        mpfr_init(r27350);
        mpfr_init_set_str(r27351, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r27352);
        mpfr_init_set_str(r27353, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r27354, "0", 10, MPFR_RNDN);
        mpfr_init(r27355);
        mpfr_init(r27356);
        mpfr_init_set_str(r27357, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r27358);
        mpfr_init(r27359);
        mpfr_init(r27360);
        mpfr_init(r27361);
        mpfr_init(r27362);
        mpfr_init_set_str(r27363, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27364, "5", 10, MPFR_RNDN);
        mpfr_init(r27365);
        mpfr_init(r27366);
        mpfr_init(r27367);
        mpfr_init_set_str(r27368, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27369, "4", 10, MPFR_RNDN);
        mpfr_init(r27370);
        mpfr_init(r27371);
        mpfr_init(r27372);
        mpfr_init(r27373);
        mpfr_init_set_str(r27374, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27375, "6", 10, MPFR_RNDN);
        mpfr_init(r27376);
        mpfr_init(r27377);
        mpfr_init(r27378);
        mpfr_init_set_str(r27379, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27380);
        mpfr_init(r27381);
        mpfr_init(r27382);
        mpfr_init(r27383);
        mpfr_init_set_str(r27384, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27385, "8", 10, MPFR_RNDN);
        mpfr_init(r27386);
        mpfr_init(r27387);
        mpfr_init(r27388);
        mpfr_init(r27389);
        mpfr_init(r27390);
}

double f_dm(double z) {
        mpfr_const_pi(r27323, MPFR_RNDN);
        mpfr_set_d(r27324, z, MPFR_RNDN);
        mpfr_mul(r27325, r27324, r27323, MPFR_RNDN);
        mpfr_sin(r27326, r27325, MPFR_RNDN);
        mpfr_div(r27327, r27323, r27326, MPFR_RNDN);
        ;
        mpfr_mul(r27329, r27328, r27323, MPFR_RNDN);
        mpfr_sqrt(r27330, r27329, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_add(r27334, r27332, r27333, MPFR_RNDN);
        mpfr_add(r27335, r27333, r27324, MPFR_RNDN);
        mpfr_sub(r27336, r27334, r27335, MPFR_RNDN);
        mpfr_add(r27337, r27331, r27336, MPFR_RNDN);
        mpfr_sub(r27338, r27333, r27324, MPFR_RNDN);
        mpfr_sub(r27339, r27333, r27331, MPFR_RNDN);
        mpfr_sub(r27340, r27338, r27339, MPFR_RNDN);
        mpfr_pow(r27341, r27337, r27340, MPFR_RNDN);
        mpfr_mul(r27342, r27330, r27341, MPFR_RNDN);
        mpfr_exp(r27343, r27337, MPFR_RNDN);
        mpfr_div(r27344, r27342, r27343, MPFR_RNDN);
        mpfr_mul(r27345, r27327, r27344, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27348, r27333, r27347, MPFR_RNDN);
        mpfr_sub(r27349, r27338, r27348, MPFR_RNDN);
        mpfr_div(r27350, r27346, r27349, MPFR_RNDN);
        ;
        mpfr_add(r27352, r27350, r27351, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27355, r27338, r27354, MPFR_RNDN);
        mpfr_div(r27356, r27353, r27355, MPFR_RNDN);
        ;
        mpfr_add(r27358, r27328, r27333, MPFR_RNDN);
        mpfr_sub(r27359, r27358, r27335, MPFR_RNDN);
        mpfr_div(r27360, r27357, r27359, MPFR_RNDN);
        mpfr_add(r27361, r27356, r27360, MPFR_RNDN);
        mpfr_add(r27362, r27352, r27361, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27365, r27333, r27364, MPFR_RNDN);
        mpfr_sub(r27366, r27338, r27365, MPFR_RNDN);
        mpfr_div(r27367, r27363, r27366, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27370, r27333, r27369, MPFR_RNDN);
        mpfr_sub(r27371, r27338, r27370, MPFR_RNDN);
        mpfr_div(r27372, r27368, r27371, MPFR_RNDN);
        mpfr_add(r27373, r27367, r27372, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27376, r27375, r27333, MPFR_RNDN);
        mpfr_sub(r27377, r27376, r27335, MPFR_RNDN);
        mpfr_div(r27378, r27374, r27377, MPFR_RNDN);
        ;
        mpfr_div(r27380, r27379, r27336, MPFR_RNDN);
        mpfr_add(r27381, r27378, r27380, MPFR_RNDN);
        mpfr_add(r27382, r27373, r27381, MPFR_RNDN);
        mpfr_add(r27383, r27362, r27382, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27386, r27385, r27333, MPFR_RNDN);
        mpfr_sub(r27387, r27386, r27335, MPFR_RNDN);
        mpfr_div(r27388, r27384, r27387, MPFR_RNDN);
        mpfr_add(r27389, r27383, r27388, MPFR_RNDN);
        mpfr_mul(r27390, r27345, r27389, MPFR_RNDN);
        return mpfr_get_d(r27390, MPFR_RNDN);
}

