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

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


double f_of(float z) {
        float r30203 = atan2(1.0, 0.0);
        float r30204 = r30203 + r30203;
        float r30205 = sqrt(r30204);
        float r30206 = z;
        float r30207 = r30206 * r30203;
        float r30208 = sin(r30207);
        float r30209 = r30203 / r30208;
        float r30210 = r30205 * r30209;
        float r30211 = 0.5;
        float r30212 = 7;
        float r30213 = r30206 - r30212;
        float r30214 = r30211 - r30213;
        float r30215 = cbrt(r30214);
        float r30216 = r30215 * r30215;
        float r30217 = r30211 - r30206;
        float r30218 = pow(r30216, r30217);
        float r30219 = r30212 - r30206;
        float r30220 = r30219 + r30211;
        float r30221 = cbrt(r30220);
        float r30222 = pow(r30221, r30217);
        float r30223 = r30218 * r30222;
        float r30224 = r30210 * r30223;
        float r30225 = 1;
        float r30226 = r30212 + r30225;
        float r30227 = r30225 + r30206;
        float r30228 = r30226 - r30227;
        float r30229 = r30211 + r30228;
        float r30230 = exp(r30229);
        float r30231 = r30224 / r30230;
        float r30232 = 9.984369578019572e-06;
        float r30233 = r30232 / r30228;
        float r30234 = 1.5056327351493116e-07;
        float r30235 = r30225 - r30206;
        float r30236 = 8;
        float r30237 = r30225 - r30236;
        float r30238 = r30235 - r30237;
        float r30239 = r30234 / r30238;
        float r30240 = r30233 + r30239;
        float r30241 = -0.13857109526572012;
        float r30242 = 6;
        float r30243 = r30242 + r30225;
        float r30244 = r30243 - r30227;
        float r30245 = r30241 / r30244;
        float r30246 = 12.507343278686905;
        float r30247 = 5;
        float r30248 = r30225 - r30247;
        float r30249 = r30235 - r30248;
        float r30250 = r30246 / r30249;
        float r30251 = r30245 + r30250;
        float r30252 = 771.3234287776531;
        float r30253 = 3;
        float r30254 = r30225 - r30253;
        float r30255 = r30235 - r30254;
        float r30256 = r30252 / r30255;
        float r30257 = -176.6150291621406;
        float r30258 = 4;
        float r30259 = r30258 + r30225;
        float r30260 = r30259 - r30227;
        float r30261 = r30257 / r30260;
        float r30262 = r30256 + r30261;
        float r30263 = r30251 + r30262;
        float r30264 = 0.9999999999998099;
        float r30265 = -1259.1392167224028;
        float r30266 = 2;
        float r30267 = r30225 - r30266;
        float r30268 = r30235 - r30267;
        float r30269 = r30265 / r30268;
        float r30270 = r30264 + r30269;
        float r30271 = 676.5203681218851;
        float r30272 = 0;
        float r30273 = r30235 - r30272;
        float r30274 = r30271 / r30273;
        float r30275 = r30270 + r30274;
        float r30276 = r30263 + r30275;
        float r30277 = r30240 + r30276;
        float r30278 = r30231 * r30277;
        return r30278;
}

double f_od(double z) {
        double r30279 = atan2(1.0, 0.0);
        double r30280 = r30279 + r30279;
        double r30281 = sqrt(r30280);
        double r30282 = z;
        double r30283 = r30282 * r30279;
        double r30284 = sin(r30283);
        double r30285 = r30279 / r30284;
        double r30286 = r30281 * r30285;
        double r30287 = 0.5;
        double r30288 = 7;
        double r30289 = r30282 - r30288;
        double r30290 = r30287 - r30289;
        double r30291 = cbrt(r30290);
        double r30292 = r30291 * r30291;
        double r30293 = r30287 - r30282;
        double r30294 = pow(r30292, r30293);
        double r30295 = r30288 - r30282;
        double r30296 = r30295 + r30287;
        double r30297 = cbrt(r30296);
        double r30298 = pow(r30297, r30293);
        double r30299 = r30294 * r30298;
        double r30300 = r30286 * r30299;
        double r30301 = 1;
        double r30302 = r30288 + r30301;
        double r30303 = r30301 + r30282;
        double r30304 = r30302 - r30303;
        double r30305 = r30287 + r30304;
        double r30306 = exp(r30305);
        double r30307 = r30300 / r30306;
        double r30308 = 9.984369578019572e-06;
        double r30309 = r30308 / r30304;
        double r30310 = 1.5056327351493116e-07;
        double r30311 = r30301 - r30282;
        double r30312 = 8;
        double r30313 = r30301 - r30312;
        double r30314 = r30311 - r30313;
        double r30315 = r30310 / r30314;
        double r30316 = r30309 + r30315;
        double r30317 = -0.13857109526572012;
        double r30318 = 6;
        double r30319 = r30318 + r30301;
        double r30320 = r30319 - r30303;
        double r30321 = r30317 / r30320;
        double r30322 = 12.507343278686905;
        double r30323 = 5;
        double r30324 = r30301 - r30323;
        double r30325 = r30311 - r30324;
        double r30326 = r30322 / r30325;
        double r30327 = r30321 + r30326;
        double r30328 = 771.3234287776531;
        double r30329 = 3;
        double r30330 = r30301 - r30329;
        double r30331 = r30311 - r30330;
        double r30332 = r30328 / r30331;
        double r30333 = -176.6150291621406;
        double r30334 = 4;
        double r30335 = r30334 + r30301;
        double r30336 = r30335 - r30303;
        double r30337 = r30333 / r30336;
        double r30338 = r30332 + r30337;
        double r30339 = r30327 + r30338;
        double r30340 = 0.9999999999998099;
        double r30341 = -1259.1392167224028;
        double r30342 = 2;
        double r30343 = r30301 - r30342;
        double r30344 = r30311 - r30343;
        double r30345 = r30341 / r30344;
        double r30346 = r30340 + r30345;
        double r30347 = 676.5203681218851;
        double r30348 = 0;
        double r30349 = r30311 - r30348;
        double r30350 = r30347 / r30349;
        double r30351 = r30346 + r30350;
        double r30352 = r30339 + r30351;
        double r30353 = r30316 + r30352;
        double r30354 = r30307 * r30353;
        return r30354;
}

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 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;

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

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

static mpfr_t r30415, r30416, r30417, r30418, r30419, r30420, r30421, r30422, r30423, r30424, r30425, r30426, r30427, r30428, r30429, r30430, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30415);
        mpfr_init(r30416);
        mpfr_init(r30417);
        mpfr_init(r30418);
        mpfr_init(r30419);
        mpfr_init(r30420);
        mpfr_init(r30421);
        mpfr_init(r30422);
        mpfr_init_set_str(r30423, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30424, "7", 10, MPFR_RNDN);
        mpfr_init(r30425);
        mpfr_init(r30426);
        mpfr_init(r30427);
        mpfr_init(r30428);
        mpfr_init(r30429);
        mpfr_init(r30430);
        mpfr_init(r30431);
        mpfr_init(r30432);
        mpfr_init(r30433);
        mpfr_init(r30434);
        mpfr_init(r30435);
        mpfr_init(r30436);
        mpfr_init_set_str(r30437, "1", 10, MPFR_RNDN);
        mpfr_init(r30438);
        mpfr_init(r30439);
        mpfr_init(r30440);
        mpfr_init(r30441);
        mpfr_init(r30442);
        mpfr_init(r30443);
        mpfr_init_set_str(r30444, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30445);
        mpfr_init_set_str(r30446, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30447);
        mpfr_init_set_str(r30448, "8", 10, MPFR_RNDN);
        mpfr_init(r30449);
        mpfr_init(r30450);
        mpfr_init(r30451);
        mpfr_init(r30452);
        mpfr_init_set_str(r30453, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30454, "6", 10, MPFR_RNDN);
        mpfr_init(r30455);
        mpfr_init(r30456);
        mpfr_init(r30457);
        mpfr_init_set_str(r30458, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30459, "5", 10, MPFR_RNDN);
        mpfr_init(r30460);
        mpfr_init(r30461);
        mpfr_init(r30462);
        mpfr_init(r30463);
        mpfr_init_set_str(r30464, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30465, "3", 10, MPFR_RNDN);
        mpfr_init(r30466);
        mpfr_init(r30467);
        mpfr_init(r30468);
        mpfr_init_set_str(r30469, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30470, "4", 10, MPFR_RNDN);
        mpfr_init(r30471);
        mpfr_init(r30472);
        mpfr_init(r30473);
        mpfr_init(r30474);
        mpfr_init(r30475);
        mpfr_init_set_str(r30476, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30477, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30478, "2", 10, MPFR_RNDN);
        mpfr_init(r30479);
        mpfr_init(r30480);
        mpfr_init(r30481);
        mpfr_init(r30482);
        mpfr_init_set_str(r30483, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30484, "0", 10, MPFR_RNDN);
        mpfr_init(r30485);
        mpfr_init(r30486);
        mpfr_init(r30487);
        mpfr_init(r30488);
        mpfr_init(r30489);
        mpfr_init(r30490);
}

double f_fm(double z) {
        mpfr_const_pi(r30415, MPFR_RNDN);
        mpfr_add(r30416, r30415, r30415, MPFR_RNDN);
        mpfr_sqrt(r30417, r30416, MPFR_RNDN);
        mpfr_set_d(r30418, z, MPFR_RNDN);
        mpfr_mul(r30419, r30418, r30415, MPFR_RNDN);
        mpfr_sin(r30420, r30419, MPFR_RNDN);
        mpfr_div(r30421, r30415, r30420, MPFR_RNDN);
        mpfr_mul(r30422, r30417, r30421, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30425, r30418, r30424, MPFR_RNDN);
        mpfr_sub(r30426, r30423, r30425, MPFR_RNDN);
        mpfr_cbrt(r30427, r30426, MPFR_RNDN);
        mpfr_mul(r30428, r30427, r30427, MPFR_RNDN);
        mpfr_sub(r30429, r30423, r30418, MPFR_RNDN);
        mpfr_pow(r30430, r30428, r30429, MPFR_RNDN);
        mpfr_sub(r30431, r30424, r30418, MPFR_RNDN);
        mpfr_add(r30432, r30431, r30423, MPFR_RNDN);
        mpfr_cbrt(r30433, r30432, MPFR_RNDN);
        mpfr_pow(r30434, r30433, r30429, MPFR_RNDN);
        mpfr_mul(r30435, r30430, r30434, MPFR_RNDN);
        mpfr_mul(r30436, r30422, r30435, MPFR_RNDN);
        ;
        mpfr_add(r30438, r30424, r30437, MPFR_RNDN);
        mpfr_add(r30439, r30437, r30418, MPFR_RNDN);
        mpfr_sub(r30440, r30438, r30439, MPFR_RNDN);
        mpfr_add(r30441, r30423, r30440, MPFR_RNDN);
        mpfr_exp(r30442, r30441, MPFR_RNDN);
        mpfr_div(r30443, r30436, r30442, MPFR_RNDN);
        ;
        mpfr_div(r30445, r30444, r30440, MPFR_RNDN);
        ;
        mpfr_sub(r30447, r30437, r30418, MPFR_RNDN);
        ;
        mpfr_sub(r30449, r30437, r30448, MPFR_RNDN);
        mpfr_sub(r30450, r30447, r30449, MPFR_RNDN);
        mpfr_div(r30451, r30446, r30450, MPFR_RNDN);
        mpfr_add(r30452, r30445, r30451, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30455, r30454, r30437, MPFR_RNDN);
        mpfr_sub(r30456, r30455, r30439, MPFR_RNDN);
        mpfr_div(r30457, r30453, r30456, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30460, r30437, r30459, MPFR_RNDN);
        mpfr_sub(r30461, r30447, r30460, MPFR_RNDN);
        mpfr_div(r30462, r30458, r30461, MPFR_RNDN);
        mpfr_add(r30463, r30457, r30462, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30466, r30437, r30465, MPFR_RNDN);
        mpfr_sub(r30467, r30447, r30466, MPFR_RNDN);
        mpfr_div(r30468, r30464, r30467, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30471, r30470, r30437, MPFR_RNDN);
        mpfr_sub(r30472, r30471, r30439, MPFR_RNDN);
        mpfr_div(r30473, r30469, r30472, MPFR_RNDN);
        mpfr_add(r30474, r30468, r30473, MPFR_RNDN);
        mpfr_add(r30475, r30463, r30474, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30479, r30437, r30478, MPFR_RNDN);
        mpfr_sub(r30480, r30447, r30479, MPFR_RNDN);
        mpfr_div(r30481, r30477, r30480, MPFR_RNDN);
        mpfr_add(r30482, r30476, r30481, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30485, r30447, r30484, MPFR_RNDN);
        mpfr_div(r30486, r30483, r30485, MPFR_RNDN);
        mpfr_add(r30487, r30482, r30486, MPFR_RNDN);
        mpfr_add(r30488, r30475, r30487, MPFR_RNDN);
        mpfr_add(r30489, r30452, r30488, MPFR_RNDN);
        mpfr_mul(r30490, r30443, r30489, MPFR_RNDN);
        return mpfr_get_d(r30490, MPFR_RNDN);
}

static mpfr_t r30491, r30492, r30493, r30494, r30495, r30496, r30497, r30498, r30499, r30500, r30501, r30502, r30503, r30504, r30505, r30506, r30507, r30508, r30509, r30510, r30511, r30512, r30513, r30514, r30515, r30516, r30517, r30518, r30519, r30520, r30521, r30522, r30523, r30524, r30525, r30526, r30527, r30528, r30529, r30530, r30531, r30532, r30533, r30534, r30535, r30536, r30537, r30538, r30539, r30540, r30541, r30542, r30543, r30544, r30545, r30546, r30547, r30548, r30549, r30550, r30551, r30552, r30553, r30554, r30555, r30556, r30557, r30558, r30559, r30560, r30561, r30562, r30563, r30564, r30565, r30566;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30491);
        mpfr_init(r30492);
        mpfr_init(r30493);
        mpfr_init(r30494);
        mpfr_init(r30495);
        mpfr_init(r30496);
        mpfr_init(r30497);
        mpfr_init(r30498);
        mpfr_init_set_str(r30499, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30500, "7", 10, MPFR_RNDN);
        mpfr_init(r30501);
        mpfr_init(r30502);
        mpfr_init(r30503);
        mpfr_init(r30504);
        mpfr_init(r30505);
        mpfr_init(r30506);
        mpfr_init(r30507);
        mpfr_init(r30508);
        mpfr_init(r30509);
        mpfr_init(r30510);
        mpfr_init(r30511);
        mpfr_init(r30512);
        mpfr_init_set_str(r30513, "1", 10, MPFR_RNDN);
        mpfr_init(r30514);
        mpfr_init(r30515);
        mpfr_init(r30516);
        mpfr_init(r30517);
        mpfr_init(r30518);
        mpfr_init(r30519);
        mpfr_init_set_str(r30520, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30521);
        mpfr_init_set_str(r30522, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30523);
        mpfr_init_set_str(r30524, "8", 10, MPFR_RNDN);
        mpfr_init(r30525);
        mpfr_init(r30526);
        mpfr_init(r30527);
        mpfr_init(r30528);
        mpfr_init_set_str(r30529, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30530, "6", 10, MPFR_RNDN);
        mpfr_init(r30531);
        mpfr_init(r30532);
        mpfr_init(r30533);
        mpfr_init_set_str(r30534, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30535, "5", 10, MPFR_RNDN);
        mpfr_init(r30536);
        mpfr_init(r30537);
        mpfr_init(r30538);
        mpfr_init(r30539);
        mpfr_init_set_str(r30540, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30541, "3", 10, MPFR_RNDN);
        mpfr_init(r30542);
        mpfr_init(r30543);
        mpfr_init(r30544);
        mpfr_init_set_str(r30545, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30546, "4", 10, MPFR_RNDN);
        mpfr_init(r30547);
        mpfr_init(r30548);
        mpfr_init(r30549);
        mpfr_init(r30550);
        mpfr_init(r30551);
        mpfr_init_set_str(r30552, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30553, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30554, "2", 10, MPFR_RNDN);
        mpfr_init(r30555);
        mpfr_init(r30556);
        mpfr_init(r30557);
        mpfr_init(r30558);
        mpfr_init_set_str(r30559, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30560, "0", 10, MPFR_RNDN);
        mpfr_init(r30561);
        mpfr_init(r30562);
        mpfr_init(r30563);
        mpfr_init(r30564);
        mpfr_init(r30565);
        mpfr_init(r30566);
}

double f_dm(double z) {
        mpfr_const_pi(r30491, MPFR_RNDN);
        mpfr_add(r30492, r30491, r30491, MPFR_RNDN);
        mpfr_sqrt(r30493, r30492, MPFR_RNDN);
        mpfr_set_d(r30494, z, MPFR_RNDN);
        mpfr_mul(r30495, r30494, r30491, MPFR_RNDN);
        mpfr_sin(r30496, r30495, MPFR_RNDN);
        mpfr_div(r30497, r30491, r30496, MPFR_RNDN);
        mpfr_mul(r30498, r30493, r30497, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30501, r30494, r30500, MPFR_RNDN);
        mpfr_sub(r30502, r30499, r30501, MPFR_RNDN);
        mpfr_cbrt(r30503, r30502, MPFR_RNDN);
        mpfr_mul(r30504, r30503, r30503, MPFR_RNDN);
        mpfr_sub(r30505, r30499, r30494, MPFR_RNDN);
        mpfr_pow(r30506, r30504, r30505, MPFR_RNDN);
        mpfr_sub(r30507, r30500, r30494, MPFR_RNDN);
        mpfr_add(r30508, r30507, r30499, MPFR_RNDN);
        mpfr_cbrt(r30509, r30508, MPFR_RNDN);
        mpfr_pow(r30510, r30509, r30505, MPFR_RNDN);
        mpfr_mul(r30511, r30506, r30510, MPFR_RNDN);
        mpfr_mul(r30512, r30498, r30511, MPFR_RNDN);
        ;
        mpfr_add(r30514, r30500, r30513, MPFR_RNDN);
        mpfr_add(r30515, r30513, r30494, MPFR_RNDN);
        mpfr_sub(r30516, r30514, r30515, MPFR_RNDN);
        mpfr_add(r30517, r30499, r30516, MPFR_RNDN);
        mpfr_exp(r30518, r30517, MPFR_RNDN);
        mpfr_div(r30519, r30512, r30518, MPFR_RNDN);
        ;
        mpfr_div(r30521, r30520, r30516, MPFR_RNDN);
        ;
        mpfr_sub(r30523, r30513, r30494, MPFR_RNDN);
        ;
        mpfr_sub(r30525, r30513, r30524, MPFR_RNDN);
        mpfr_sub(r30526, r30523, r30525, MPFR_RNDN);
        mpfr_div(r30527, r30522, r30526, MPFR_RNDN);
        mpfr_add(r30528, r30521, r30527, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30531, r30530, r30513, MPFR_RNDN);
        mpfr_sub(r30532, r30531, r30515, MPFR_RNDN);
        mpfr_div(r30533, r30529, r30532, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30536, r30513, r30535, MPFR_RNDN);
        mpfr_sub(r30537, r30523, r30536, MPFR_RNDN);
        mpfr_div(r30538, r30534, r30537, MPFR_RNDN);
        mpfr_add(r30539, r30533, r30538, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30542, r30513, r30541, MPFR_RNDN);
        mpfr_sub(r30543, r30523, r30542, MPFR_RNDN);
        mpfr_div(r30544, r30540, r30543, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30547, r30546, r30513, MPFR_RNDN);
        mpfr_sub(r30548, r30547, r30515, MPFR_RNDN);
        mpfr_div(r30549, r30545, r30548, MPFR_RNDN);
        mpfr_add(r30550, r30544, r30549, MPFR_RNDN);
        mpfr_add(r30551, r30539, r30550, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30555, r30513, r30554, MPFR_RNDN);
        mpfr_sub(r30556, r30523, r30555, MPFR_RNDN);
        mpfr_div(r30557, r30553, r30556, MPFR_RNDN);
        mpfr_add(r30558, r30552, r30557, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30561, r30523, r30560, MPFR_RNDN);
        mpfr_div(r30562, r30559, r30561, MPFR_RNDN);
        mpfr_add(r30563, r30558, r30562, MPFR_RNDN);
        mpfr_add(r30564, r30551, r30563, MPFR_RNDN);
        mpfr_add(r30565, r30528, r30564, MPFR_RNDN);
        mpfr_mul(r30566, r30519, r30565, MPFR_RNDN);
        return mpfr_get_d(r30566, MPFR_RNDN);
}

