#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 r30023 = atan2(1.0, 0.0);
        float r30024 = z;
        float r30025 = r30023 * r30024;
        float r30026 = sin(r30025);
        float r30027 = r30023 / r30026;
        float r30028 = 2;
        float r30029 = r30023 * r30028;
        float r30030 = sqrt(r30029);
        float r30031 = 1;
        float r30032 = r30031 - r30024;
        float r30033 = r30032 - r30031;
        float r30034 = 7;
        float r30035 = r30033 + r30034;
        float r30036 = 0.5;
        float r30037 = r30035 + r30036;
        float r30038 = r30033 + r30036;
        float r30039 = pow(r30037, r30038);
        float r30040 = r30030 * r30039;
        float r30041 = -r30037;
        float r30042 = exp(r30041);
        float r30043 = r30040 * r30042;
        float r30044 = 0.9999999999998099;
        float r30045 = 676.5203681218851;
        float r30046 = r30033 + r30031;
        float r30047 = r30045 / r30046;
        float r30048 = r30044 + r30047;
        float r30049 = -1259.1392167224028;
        float r30050 = r30033 + r30028;
        float r30051 = r30049 / r30050;
        float r30052 = r30048 + r30051;
        float r30053 = 771.3234287776531;
        float r30054 = 3;
        float r30055 = r30033 + r30054;
        float r30056 = r30053 / r30055;
        float r30057 = r30052 + r30056;
        float r30058 = -176.6150291621406;
        float r30059 = 4;
        float r30060 = r30033 + r30059;
        float r30061 = r30058 / r30060;
        float r30062 = r30057 + r30061;
        float r30063 = 12.507343278686905;
        float r30064 = 5;
        float r30065 = r30033 + r30064;
        float r30066 = r30063 / r30065;
        float r30067 = r30062 + r30066;
        float r30068 = -0.13857109526572012;
        float r30069 = 6;
        float r30070 = r30033 + r30069;
        float r30071 = r30068 / r30070;
        float r30072 = r30067 + r30071;
        float r30073 = 9.984369578019572e-06;
        float r30074 = r30073 / r30035;
        float r30075 = r30072 + r30074;
        float r30076 = 1.5056327351493116e-07;
        float r30077 = 8;
        float r30078 = r30033 + r30077;
        float r30079 = r30076 / r30078;
        float r30080 = r30075 + r30079;
        float r30081 = r30043 * r30080;
        float r30082 = r30027 * r30081;
        return r30082;
}

double f_id(double z) {
        double r30083 = atan2(1.0, 0.0);
        double r30084 = z;
        double r30085 = r30083 * r30084;
        double r30086 = sin(r30085);
        double r30087 = r30083 / r30086;
        double r30088 = 2;
        double r30089 = r30083 * r30088;
        double r30090 = sqrt(r30089);
        double r30091 = 1;
        double r30092 = r30091 - r30084;
        double r30093 = r30092 - r30091;
        double r30094 = 7;
        double r30095 = r30093 + r30094;
        double r30096 = 0.5;
        double r30097 = r30095 + r30096;
        double r30098 = r30093 + r30096;
        double r30099 = pow(r30097, r30098);
        double r30100 = r30090 * r30099;
        double r30101 = -r30097;
        double r30102 = exp(r30101);
        double r30103 = r30100 * r30102;
        double r30104 = 0.9999999999998099;
        double r30105 = 676.5203681218851;
        double r30106 = r30093 + r30091;
        double r30107 = r30105 / r30106;
        double r30108 = r30104 + r30107;
        double r30109 = -1259.1392167224028;
        double r30110 = r30093 + r30088;
        double r30111 = r30109 / r30110;
        double r30112 = r30108 + r30111;
        double r30113 = 771.3234287776531;
        double r30114 = 3;
        double r30115 = r30093 + r30114;
        double r30116 = r30113 / r30115;
        double r30117 = r30112 + r30116;
        double r30118 = -176.6150291621406;
        double r30119 = 4;
        double r30120 = r30093 + r30119;
        double r30121 = r30118 / r30120;
        double r30122 = r30117 + r30121;
        double r30123 = 12.507343278686905;
        double r30124 = 5;
        double r30125 = r30093 + r30124;
        double r30126 = r30123 / r30125;
        double r30127 = r30122 + r30126;
        double r30128 = -0.13857109526572012;
        double r30129 = 6;
        double r30130 = r30093 + r30129;
        double r30131 = r30128 / r30130;
        double r30132 = r30127 + r30131;
        double r30133 = 9.984369578019572e-06;
        double r30134 = r30133 / r30095;
        double r30135 = r30132 + r30134;
        double r30136 = 1.5056327351493116e-07;
        double r30137 = 8;
        double r30138 = r30093 + r30137;
        double r30139 = r30136 / r30138;
        double r30140 = r30135 + r30139;
        double r30141 = r30103 * r30140;
        double r30142 = r30087 * r30141;
        return r30142;
}


double f_of(float z) {
        float r30143 = atan2(1.0, 0.0);
        float r30144 = r30143 + r30143;
        float r30145 = sqrt(r30144);
        float r30146 = z;
        float r30147 = r30146 * r30143;
        float r30148 = sin(r30147);
        float r30149 = r30143 / r30148;
        float r30150 = r30145 * r30149;
        float r30151 = 0.5;
        float r30152 = 7;
        float r30153 = r30146 - r30152;
        float r30154 = r30151 - r30153;
        float r30155 = cbrt(r30154);
        float r30156 = r30155 * r30155;
        float r30157 = r30151 - r30146;
        float r30158 = pow(r30156, r30157);
        float r30159 = r30152 - r30146;
        float r30160 = r30159 + r30151;
        float r30161 = cbrt(r30160);
        float r30162 = pow(r30161, r30157);
        float r30163 = r30158 * r30162;
        float r30164 = r30150 * r30163;
        float r30165 = 1;
        float r30166 = r30152 + r30165;
        float r30167 = r30165 + r30146;
        float r30168 = r30166 - r30167;
        float r30169 = r30151 + r30168;
        float r30170 = exp(r30169);
        float r30171 = r30164 / r30170;
        float r30172 = 9.984369578019572e-06;
        float r30173 = r30172 / r30168;
        float r30174 = 1.5056327351493116e-07;
        float r30175 = r30165 - r30146;
        float r30176 = 8;
        float r30177 = r30165 - r30176;
        float r30178 = r30175 - r30177;
        float r30179 = r30174 / r30178;
        float r30180 = r30173 + r30179;
        float r30181 = -0.13857109526572012;
        float r30182 = 6;
        float r30183 = r30182 + r30165;
        float r30184 = r30183 - r30167;
        float r30185 = r30181 / r30184;
        float r30186 = 12.507343278686905;
        float r30187 = 5;
        float r30188 = r30165 - r30187;
        float r30189 = r30175 - r30188;
        float r30190 = r30186 / r30189;
        float r30191 = r30185 + r30190;
        float r30192 = 771.3234287776531;
        float r30193 = 3;
        float r30194 = r30165 - r30193;
        float r30195 = r30175 - r30194;
        float r30196 = r30192 / r30195;
        float r30197 = -176.6150291621406;
        float r30198 = 4;
        float r30199 = r30198 + r30165;
        float r30200 = r30199 - r30167;
        float r30201 = r30197 / r30200;
        float r30202 = r30196 + r30201;
        float r30203 = r30191 + r30202;
        float r30204 = 0.9999999999998099;
        float r30205 = -1259.1392167224028;
        float r30206 = 2;
        float r30207 = r30165 - r30206;
        float r30208 = r30175 - r30207;
        float r30209 = r30205 / r30208;
        float r30210 = r30204 + r30209;
        float r30211 = 676.5203681218851;
        float r30212 = 0;
        float r30213 = r30175 - r30212;
        float r30214 = r30211 / r30213;
        float r30215 = r30210 + r30214;
        float r30216 = r30203 + r30215;
        float r30217 = r30180 + r30216;
        float r30218 = r30171 * r30217;
        return r30218;
}

double f_od(double z) {
        double r30219 = atan2(1.0, 0.0);
        double r30220 = r30219 + r30219;
        double r30221 = sqrt(r30220);
        double r30222 = z;
        double r30223 = r30222 * r30219;
        double r30224 = sin(r30223);
        double r30225 = r30219 / r30224;
        double r30226 = r30221 * r30225;
        double r30227 = 0.5;
        double r30228 = 7;
        double r30229 = r30222 - r30228;
        double r30230 = r30227 - r30229;
        double r30231 = cbrt(r30230);
        double r30232 = r30231 * r30231;
        double r30233 = r30227 - r30222;
        double r30234 = pow(r30232, r30233);
        double r30235 = r30228 - r30222;
        double r30236 = r30235 + r30227;
        double r30237 = cbrt(r30236);
        double r30238 = pow(r30237, r30233);
        double r30239 = r30234 * r30238;
        double r30240 = r30226 * r30239;
        double r30241 = 1;
        double r30242 = r30228 + r30241;
        double r30243 = r30241 + r30222;
        double r30244 = r30242 - r30243;
        double r30245 = r30227 + r30244;
        double r30246 = exp(r30245);
        double r30247 = r30240 / r30246;
        double r30248 = 9.984369578019572e-06;
        double r30249 = r30248 / r30244;
        double r30250 = 1.5056327351493116e-07;
        double r30251 = r30241 - r30222;
        double r30252 = 8;
        double r30253 = r30241 - r30252;
        double r30254 = r30251 - r30253;
        double r30255 = r30250 / r30254;
        double r30256 = r30249 + r30255;
        double r30257 = -0.13857109526572012;
        double r30258 = 6;
        double r30259 = r30258 + r30241;
        double r30260 = r30259 - r30243;
        double r30261 = r30257 / r30260;
        double r30262 = 12.507343278686905;
        double r30263 = 5;
        double r30264 = r30241 - r30263;
        double r30265 = r30251 - r30264;
        double r30266 = r30262 / r30265;
        double r30267 = r30261 + r30266;
        double r30268 = 771.3234287776531;
        double r30269 = 3;
        double r30270 = r30241 - r30269;
        double r30271 = r30251 - r30270;
        double r30272 = r30268 / r30271;
        double r30273 = -176.6150291621406;
        double r30274 = 4;
        double r30275 = r30274 + r30241;
        double r30276 = r30275 - r30243;
        double r30277 = r30273 / r30276;
        double r30278 = r30272 + r30277;
        double r30279 = r30267 + r30278;
        double r30280 = 0.9999999999998099;
        double r30281 = -1259.1392167224028;
        double r30282 = 2;
        double r30283 = r30241 - r30282;
        double r30284 = r30251 - r30283;
        double r30285 = r30281 / r30284;
        double r30286 = r30280 + r30285;
        double r30287 = 676.5203681218851;
        double r30288 = 0;
        double r30289 = r30251 - r30288;
        double r30290 = r30287 / r30289;
        double r30291 = r30286 + r30290;
        double r30292 = r30279 + r30291;
        double r30293 = r30256 + r30292;
        double r30294 = r30247 * r30293;
        return r30294;
}

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 r30295, r30296, r30297, r30298, r30299, r30300, r30301, r30302, r30303, r30304, r30305, r30306, r30307, r30308, r30309, r30310, r30311, r30312, r30313, r30314, r30315, r30316, r30317, r30318, r30319, r30320, r30321, r30322, r30323, r30324, r30325, r30326, r30327, r30328, r30329, r30330, r30331, r30332, r30333, r30334, r30335, r30336, r30337, r30338, r30339, r30340, r30341, r30342, r30343, r30344, r30345, r30346, r30347, r30348, r30349, r30350, r30351, r30352, r30353, r30354;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r30295);
        mpfr_init(r30296);
        mpfr_init(r30297);
        mpfr_init(r30298);
        mpfr_init(r30299);
        mpfr_init_set_str(r30300, "2", 10, MPFR_RNDN);
        mpfr_init(r30301);
        mpfr_init(r30302);
        mpfr_init_set_str(r30303, "1", 10, MPFR_RNDN);
        mpfr_init(r30304);
        mpfr_init(r30305);
        mpfr_init_set_str(r30306, "7", 10, MPFR_RNDN);
        mpfr_init(r30307);
        mpfr_init_set_str(r30308, "0.5", 10, MPFR_RNDN);
        mpfr_init(r30309);
        mpfr_init(r30310);
        mpfr_init(r30311);
        mpfr_init(r30312);
        mpfr_init(r30313);
        mpfr_init(r30314);
        mpfr_init(r30315);
        mpfr_init_set_str(r30316, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30317, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r30318);
        mpfr_init(r30319);
        mpfr_init(r30320);
        mpfr_init_set_str(r30321, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r30322);
        mpfr_init(r30323);
        mpfr_init(r30324);
        mpfr_init_set_str(r30325, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30326, "3", 10, MPFR_RNDN);
        mpfr_init(r30327);
        mpfr_init(r30328);
        mpfr_init(r30329);
        mpfr_init_set_str(r30330, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30331, "4", 10, MPFR_RNDN);
        mpfr_init(r30332);
        mpfr_init(r30333);
        mpfr_init(r30334);
        mpfr_init_set_str(r30335, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30336, "5", 10, MPFR_RNDN);
        mpfr_init(r30337);
        mpfr_init(r30338);
        mpfr_init(r30339);
        mpfr_init_set_str(r30340, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30341, "6", 10, MPFR_RNDN);
        mpfr_init(r30342);
        mpfr_init(r30343);
        mpfr_init(r30344);
        mpfr_init_set_str(r30345, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30346);
        mpfr_init(r30347);
        mpfr_init_set_str(r30348, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r30349, "8", 10, MPFR_RNDN);
        mpfr_init(r30350);
        mpfr_init(r30351);
        mpfr_init(r30352);
        mpfr_init(r30353);
        mpfr_init(r30354);
}

double f_im(double z) {
        mpfr_const_pi(r30295, MPFR_RNDN);
        mpfr_set_d(r30296, z, MPFR_RNDN);
        mpfr_mul(r30297, r30295, r30296, MPFR_RNDN);
        mpfr_sin(r30298, r30297, MPFR_RNDN);
        mpfr_div(r30299, r30295, r30298, MPFR_RNDN);
        ;
        mpfr_mul(r30301, r30295, r30300, MPFR_RNDN);
        mpfr_sqrt(r30302, r30301, MPFR_RNDN);
        ;
        mpfr_sub(r30304, r30303, r30296, MPFR_RNDN);
        mpfr_sub(r30305, r30304, r30303, MPFR_RNDN);
        ;
        mpfr_add(r30307, r30305, r30306, MPFR_RNDN);
        ;
        mpfr_add(r30309, r30307, r30308, MPFR_RNDN);
        mpfr_add(r30310, r30305, r30308, MPFR_RNDN);
        mpfr_pow(r30311, r30309, r30310, MPFR_RNDN);
        mpfr_mul(r30312, r30302, r30311, MPFR_RNDN);
        mpfr_neg(r30313, r30309, MPFR_RNDN);
        mpfr_exp(r30314, r30313, MPFR_RNDN);
        mpfr_mul(r30315, r30312, r30314, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30318, r30305, r30303, MPFR_RNDN);
        mpfr_div(r30319, r30317, r30318, MPFR_RNDN);
        mpfr_add(r30320, r30316, r30319, MPFR_RNDN);
        ;
        mpfr_add(r30322, r30305, r30300, MPFR_RNDN);
        mpfr_div(r30323, r30321, r30322, MPFR_RNDN);
        mpfr_add(r30324, r30320, r30323, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30327, r30305, r30326, MPFR_RNDN);
        mpfr_div(r30328, r30325, r30327, MPFR_RNDN);
        mpfr_add(r30329, r30324, r30328, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30332, r30305, r30331, MPFR_RNDN);
        mpfr_div(r30333, r30330, r30332, MPFR_RNDN);
        mpfr_add(r30334, r30329, r30333, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30337, r30305, r30336, MPFR_RNDN);
        mpfr_div(r30338, r30335, r30337, MPFR_RNDN);
        mpfr_add(r30339, r30334, r30338, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30342, r30305, r30341, MPFR_RNDN);
        mpfr_div(r30343, r30340, r30342, MPFR_RNDN);
        mpfr_add(r30344, r30339, r30343, MPFR_RNDN);
        ;
        mpfr_div(r30346, r30345, r30307, MPFR_RNDN);
        mpfr_add(r30347, r30344, r30346, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30350, r30305, r30349, MPFR_RNDN);
        mpfr_div(r30351, r30348, r30350, MPFR_RNDN);
        mpfr_add(r30352, r30347, r30351, MPFR_RNDN);
        mpfr_mul(r30353, r30315, r30352, MPFR_RNDN);
        mpfr_mul(r30354, r30299, r30353, MPFR_RNDN);
        return mpfr_get_d(r30354, MPFR_RNDN);
}

static mpfr_t r30355, r30356, r30357, r30358, r30359, r30360, r30361, r30362, r30363, r30364, r30365, r30366, r30367, r30368, r30369, r30370, r30371, r30372, r30373, r30374, r30375, r30376, r30377, r30378, r30379, r30380, r30381, r30382, r30383, r30384, r30385, r30386, r30387, r30388, r30389, r30390, r30391, r30392, r30393, r30394, r30395, r30396, r30397, r30398, r30399, r30400, r30401, r30402, r30403, r30404, r30405, r30406, r30407, r30408, r30409, r30410, r30411, r30412, r30413, r30414, r30415, r30416, r30417, r30418, r30419, r30420, r30421, r30422, r30423, r30424, r30425, r30426, r30427, r30428, r30429, r30430;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30355);
        mpfr_init(r30356);
        mpfr_init(r30357);
        mpfr_init(r30358);
        mpfr_init(r30359);
        mpfr_init(r30360);
        mpfr_init(r30361);
        mpfr_init(r30362);
        mpfr_init_set_str(r30363, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30364, "7", 10, MPFR_RNDN);
        mpfr_init(r30365);
        mpfr_init(r30366);
        mpfr_init(r30367);
        mpfr_init(r30368);
        mpfr_init(r30369);
        mpfr_init(r30370);
        mpfr_init(r30371);
        mpfr_init(r30372);
        mpfr_init(r30373);
        mpfr_init(r30374);
        mpfr_init(r30375);
        mpfr_init(r30376);
        mpfr_init_set_str(r30377, "1", 10, MPFR_RNDN);
        mpfr_init(r30378);
        mpfr_init(r30379);
        mpfr_init(r30380);
        mpfr_init(r30381);
        mpfr_init(r30382);
        mpfr_init(r30383);
        mpfr_init_set_str(r30384, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30385);
        mpfr_init_set_str(r30386, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30387);
        mpfr_init_set_str(r30388, "8", 10, MPFR_RNDN);
        mpfr_init(r30389);
        mpfr_init(r30390);
        mpfr_init(r30391);
        mpfr_init(r30392);
        mpfr_init_set_str(r30393, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30394, "6", 10, MPFR_RNDN);
        mpfr_init(r30395);
        mpfr_init(r30396);
        mpfr_init(r30397);
        mpfr_init_set_str(r30398, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30399, "5", 10, MPFR_RNDN);
        mpfr_init(r30400);
        mpfr_init(r30401);
        mpfr_init(r30402);
        mpfr_init(r30403);
        mpfr_init_set_str(r30404, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30405, "3", 10, MPFR_RNDN);
        mpfr_init(r30406);
        mpfr_init(r30407);
        mpfr_init(r30408);
        mpfr_init_set_str(r30409, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30410, "4", 10, MPFR_RNDN);
        mpfr_init(r30411);
        mpfr_init(r30412);
        mpfr_init(r30413);
        mpfr_init(r30414);
        mpfr_init(r30415);
        mpfr_init_set_str(r30416, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30417, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30418, "2", 10, MPFR_RNDN);
        mpfr_init(r30419);
        mpfr_init(r30420);
        mpfr_init(r30421);
        mpfr_init(r30422);
        mpfr_init_set_str(r30423, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30424, "0", 10, MPFR_RNDN);
        mpfr_init(r30425);
        mpfr_init(r30426);
        mpfr_init(r30427);
        mpfr_init(r30428);
        mpfr_init(r30429);
        mpfr_init(r30430);
}

double f_fm(double z) {
        mpfr_const_pi(r30355, MPFR_RNDN);
        mpfr_add(r30356, r30355, r30355, MPFR_RNDN);
        mpfr_sqrt(r30357, r30356, MPFR_RNDN);
        mpfr_set_d(r30358, z, MPFR_RNDN);
        mpfr_mul(r30359, r30358, r30355, MPFR_RNDN);
        mpfr_sin(r30360, r30359, MPFR_RNDN);
        mpfr_div(r30361, r30355, r30360, MPFR_RNDN);
        mpfr_mul(r30362, r30357, r30361, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30365, r30358, r30364, MPFR_RNDN);
        mpfr_sub(r30366, r30363, r30365, MPFR_RNDN);
        mpfr_cbrt(r30367, r30366, MPFR_RNDN);
        mpfr_mul(r30368, r30367, r30367, MPFR_RNDN);
        mpfr_sub(r30369, r30363, r30358, MPFR_RNDN);
        mpfr_pow(r30370, r30368, r30369, MPFR_RNDN);
        mpfr_sub(r30371, r30364, r30358, MPFR_RNDN);
        mpfr_add(r30372, r30371, r30363, MPFR_RNDN);
        mpfr_cbrt(r30373, r30372, MPFR_RNDN);
        mpfr_pow(r30374, r30373, r30369, MPFR_RNDN);
        mpfr_mul(r30375, r30370, r30374, MPFR_RNDN);
        mpfr_mul(r30376, r30362, r30375, MPFR_RNDN);
        ;
        mpfr_add(r30378, r30364, r30377, MPFR_RNDN);
        mpfr_add(r30379, r30377, r30358, MPFR_RNDN);
        mpfr_sub(r30380, r30378, r30379, MPFR_RNDN);
        mpfr_add(r30381, r30363, r30380, MPFR_RNDN);
        mpfr_exp(r30382, r30381, MPFR_RNDN);
        mpfr_div(r30383, r30376, r30382, MPFR_RNDN);
        ;
        mpfr_div(r30385, r30384, r30380, MPFR_RNDN);
        ;
        mpfr_sub(r30387, r30377, r30358, MPFR_RNDN);
        ;
        mpfr_sub(r30389, r30377, r30388, MPFR_RNDN);
        mpfr_sub(r30390, r30387, r30389, MPFR_RNDN);
        mpfr_div(r30391, r30386, r30390, MPFR_RNDN);
        mpfr_add(r30392, r30385, r30391, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30395, r30394, r30377, MPFR_RNDN);
        mpfr_sub(r30396, r30395, r30379, MPFR_RNDN);
        mpfr_div(r30397, r30393, r30396, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30400, r30377, r30399, MPFR_RNDN);
        mpfr_sub(r30401, r30387, r30400, MPFR_RNDN);
        mpfr_div(r30402, r30398, r30401, MPFR_RNDN);
        mpfr_add(r30403, r30397, r30402, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30406, r30377, r30405, MPFR_RNDN);
        mpfr_sub(r30407, r30387, r30406, MPFR_RNDN);
        mpfr_div(r30408, r30404, r30407, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30411, r30410, r30377, MPFR_RNDN);
        mpfr_sub(r30412, r30411, r30379, MPFR_RNDN);
        mpfr_div(r30413, r30409, r30412, MPFR_RNDN);
        mpfr_add(r30414, r30408, r30413, MPFR_RNDN);
        mpfr_add(r30415, r30403, r30414, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30419, r30377, r30418, MPFR_RNDN);
        mpfr_sub(r30420, r30387, r30419, MPFR_RNDN);
        mpfr_div(r30421, r30417, r30420, MPFR_RNDN);
        mpfr_add(r30422, r30416, r30421, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30425, r30387, r30424, MPFR_RNDN);
        mpfr_div(r30426, r30423, r30425, MPFR_RNDN);
        mpfr_add(r30427, r30422, r30426, MPFR_RNDN);
        mpfr_add(r30428, r30415, r30427, MPFR_RNDN);
        mpfr_add(r30429, r30392, r30428, MPFR_RNDN);
        mpfr_mul(r30430, r30383, r30429, MPFR_RNDN);
        return mpfr_get_d(r30430, MPFR_RNDN);
}

static mpfr_t r30431, r30432, r30433, r30434, r30435, r30436, r30437, r30438, r30439, r30440, r30441, r30442, r30443, r30444, r30445, r30446, r30447, r30448, r30449, r30450, r30451, r30452, r30453, r30454, r30455, r30456, r30457, r30458, r30459, r30460, r30461, r30462, r30463, r30464, r30465, r30466, r30467, r30468, r30469, r30470, r30471, r30472, r30473, r30474, r30475, r30476, r30477, r30478, r30479, r30480, r30481, r30482, r30483, r30484, r30485, r30486, r30487, r30488, r30489, r30490, r30491, r30492, r30493, r30494, r30495, r30496, r30497, r30498, r30499, r30500, r30501, r30502, r30503, r30504, r30505, r30506;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30431);
        mpfr_init(r30432);
        mpfr_init(r30433);
        mpfr_init(r30434);
        mpfr_init(r30435);
        mpfr_init(r30436);
        mpfr_init(r30437);
        mpfr_init(r30438);
        mpfr_init_set_str(r30439, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30440, "7", 10, MPFR_RNDN);
        mpfr_init(r30441);
        mpfr_init(r30442);
        mpfr_init(r30443);
        mpfr_init(r30444);
        mpfr_init(r30445);
        mpfr_init(r30446);
        mpfr_init(r30447);
        mpfr_init(r30448);
        mpfr_init(r30449);
        mpfr_init(r30450);
        mpfr_init(r30451);
        mpfr_init(r30452);
        mpfr_init_set_str(r30453, "1", 10, MPFR_RNDN);
        mpfr_init(r30454);
        mpfr_init(r30455);
        mpfr_init(r30456);
        mpfr_init(r30457);
        mpfr_init(r30458);
        mpfr_init(r30459);
        mpfr_init_set_str(r30460, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30461);
        mpfr_init_set_str(r30462, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30463);
        mpfr_init_set_str(r30464, "8", 10, MPFR_RNDN);
        mpfr_init(r30465);
        mpfr_init(r30466);
        mpfr_init(r30467);
        mpfr_init(r30468);
        mpfr_init_set_str(r30469, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30470, "6", 10, MPFR_RNDN);
        mpfr_init(r30471);
        mpfr_init(r30472);
        mpfr_init(r30473);
        mpfr_init_set_str(r30474, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30475, "5", 10, MPFR_RNDN);
        mpfr_init(r30476);
        mpfr_init(r30477);
        mpfr_init(r30478);
        mpfr_init(r30479);
        mpfr_init_set_str(r30480, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30481, "3", 10, MPFR_RNDN);
        mpfr_init(r30482);
        mpfr_init(r30483);
        mpfr_init(r30484);
        mpfr_init_set_str(r30485, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30486, "4", 10, MPFR_RNDN);
        mpfr_init(r30487);
        mpfr_init(r30488);
        mpfr_init(r30489);
        mpfr_init(r30490);
        mpfr_init(r30491);
        mpfr_init_set_str(r30492, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30493, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30494, "2", 10, MPFR_RNDN);
        mpfr_init(r30495);
        mpfr_init(r30496);
        mpfr_init(r30497);
        mpfr_init(r30498);
        mpfr_init_set_str(r30499, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30500, "0", 10, MPFR_RNDN);
        mpfr_init(r30501);
        mpfr_init(r30502);
        mpfr_init(r30503);
        mpfr_init(r30504);
        mpfr_init(r30505);
        mpfr_init(r30506);
}

double f_dm(double z) {
        mpfr_const_pi(r30431, MPFR_RNDN);
        mpfr_add(r30432, r30431, r30431, MPFR_RNDN);
        mpfr_sqrt(r30433, r30432, MPFR_RNDN);
        mpfr_set_d(r30434, z, MPFR_RNDN);
        mpfr_mul(r30435, r30434, r30431, MPFR_RNDN);
        mpfr_sin(r30436, r30435, MPFR_RNDN);
        mpfr_div(r30437, r30431, r30436, MPFR_RNDN);
        mpfr_mul(r30438, r30433, r30437, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30441, r30434, r30440, MPFR_RNDN);
        mpfr_sub(r30442, r30439, r30441, MPFR_RNDN);
        mpfr_cbrt(r30443, r30442, MPFR_RNDN);
        mpfr_mul(r30444, r30443, r30443, MPFR_RNDN);
        mpfr_sub(r30445, r30439, r30434, MPFR_RNDN);
        mpfr_pow(r30446, r30444, r30445, MPFR_RNDN);
        mpfr_sub(r30447, r30440, r30434, MPFR_RNDN);
        mpfr_add(r30448, r30447, r30439, MPFR_RNDN);
        mpfr_cbrt(r30449, r30448, MPFR_RNDN);
        mpfr_pow(r30450, r30449, r30445, MPFR_RNDN);
        mpfr_mul(r30451, r30446, r30450, MPFR_RNDN);
        mpfr_mul(r30452, r30438, r30451, MPFR_RNDN);
        ;
        mpfr_add(r30454, r30440, r30453, MPFR_RNDN);
        mpfr_add(r30455, r30453, r30434, MPFR_RNDN);
        mpfr_sub(r30456, r30454, r30455, MPFR_RNDN);
        mpfr_add(r30457, r30439, r30456, MPFR_RNDN);
        mpfr_exp(r30458, r30457, MPFR_RNDN);
        mpfr_div(r30459, r30452, r30458, MPFR_RNDN);
        ;
        mpfr_div(r30461, r30460, r30456, MPFR_RNDN);
        ;
        mpfr_sub(r30463, r30453, r30434, MPFR_RNDN);
        ;
        mpfr_sub(r30465, r30453, r30464, MPFR_RNDN);
        mpfr_sub(r30466, r30463, r30465, MPFR_RNDN);
        mpfr_div(r30467, r30462, r30466, MPFR_RNDN);
        mpfr_add(r30468, r30461, r30467, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30471, r30470, r30453, MPFR_RNDN);
        mpfr_sub(r30472, r30471, r30455, MPFR_RNDN);
        mpfr_div(r30473, r30469, r30472, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30476, r30453, r30475, MPFR_RNDN);
        mpfr_sub(r30477, r30463, r30476, MPFR_RNDN);
        mpfr_div(r30478, r30474, r30477, MPFR_RNDN);
        mpfr_add(r30479, r30473, r30478, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30482, r30453, r30481, MPFR_RNDN);
        mpfr_sub(r30483, r30463, r30482, MPFR_RNDN);
        mpfr_div(r30484, r30480, r30483, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30487, r30486, r30453, MPFR_RNDN);
        mpfr_sub(r30488, r30487, r30455, MPFR_RNDN);
        mpfr_div(r30489, r30485, r30488, MPFR_RNDN);
        mpfr_add(r30490, r30484, r30489, MPFR_RNDN);
        mpfr_add(r30491, r30479, r30490, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30495, r30453, r30494, MPFR_RNDN);
        mpfr_sub(r30496, r30463, r30495, MPFR_RNDN);
        mpfr_div(r30497, r30493, r30496, MPFR_RNDN);
        mpfr_add(r30498, r30492, r30497, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30501, r30463, r30500, MPFR_RNDN);
        mpfr_div(r30502, r30499, r30501, MPFR_RNDN);
        mpfr_add(r30503, r30498, r30502, MPFR_RNDN);
        mpfr_add(r30504, r30491, r30503, MPFR_RNDN);
        mpfr_add(r30505, r30468, r30504, MPFR_RNDN);
        mpfr_mul(r30506, r30459, r30505, MPFR_RNDN);
        return mpfr_get_d(r30506, MPFR_RNDN);
}

