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

char *name = "Jmat.Real.dawson";

double f_if(float x) {
        float r25162 = 1;
        float r25163 = 0.1049934947;
        float r25164 = x;
        float r25165 = r25164 * r25164;
        float r25166 = r25163 * r25165;
        float r25167 = r25162 + r25166;
        float r25168 = 0.0424060604;
        float r25169 = r25165 * r25165;
        float r25170 = r25168 * r25169;
        float r25171 = r25167 + r25170;
        float r25172 = 0.0072644182;
        float r25173 = r25169 * r25165;
        float r25174 = r25172 * r25173;
        float r25175 = r25171 + r25174;
        float r25176 = 0.0005064034;
        float r25177 = r25173 * r25165;
        float r25178 = r25176 * r25177;
        float r25179 = r25175 + r25178;
        float r25180 = 0.0001789971;
        float r25181 = r25177 * r25165;
        float r25182 = r25180 * r25181;
        float r25183 = r25179 + r25182;
        float r25184 = 0.7715471019;
        float r25185 = r25184 * r25165;
        float r25186 = r25162 + r25185;
        float r25187 = 0.2909738639;
        float r25188 = r25187 * r25169;
        float r25189 = r25186 + r25188;
        float r25190 = 0.0694555761;
        float r25191 = r25190 * r25173;
        float r25192 = r25189 + r25191;
        float r25193 = 0.0140005442;
        float r25194 = r25193 * r25177;
        float r25195 = r25192 + r25194;
        float r25196 = 0.0008327945;
        float r25197 = r25196 * r25181;
        float r25198 = r25195 + r25197;
        float r25199 = 2;
        float r25200 = r25199 * r25180;
        float r25201 = r25181 * r25165;
        float r25202 = r25200 * r25201;
        float r25203 = r25198 + r25202;
        float r25204 = r25183 / r25203;
        float r25205 = r25204 * r25164;
        return r25205;
}

double f_id(double x) {
        double r25206 = 1;
        double r25207 = 0.1049934947;
        double r25208 = x;
        double r25209 = r25208 * r25208;
        double r25210 = r25207 * r25209;
        double r25211 = r25206 + r25210;
        double r25212 = 0.0424060604;
        double r25213 = r25209 * r25209;
        double r25214 = r25212 * r25213;
        double r25215 = r25211 + r25214;
        double r25216 = 0.0072644182;
        double r25217 = r25213 * r25209;
        double r25218 = r25216 * r25217;
        double r25219 = r25215 + r25218;
        double r25220 = 0.0005064034;
        double r25221 = r25217 * r25209;
        double r25222 = r25220 * r25221;
        double r25223 = r25219 + r25222;
        double r25224 = 0.0001789971;
        double r25225 = r25221 * r25209;
        double r25226 = r25224 * r25225;
        double r25227 = r25223 + r25226;
        double r25228 = 0.7715471019;
        double r25229 = r25228 * r25209;
        double r25230 = r25206 + r25229;
        double r25231 = 0.2909738639;
        double r25232 = r25231 * r25213;
        double r25233 = r25230 + r25232;
        double r25234 = 0.0694555761;
        double r25235 = r25234 * r25217;
        double r25236 = r25233 + r25235;
        double r25237 = 0.0140005442;
        double r25238 = r25237 * r25221;
        double r25239 = r25236 + r25238;
        double r25240 = 0.0008327945;
        double r25241 = r25240 * r25225;
        double r25242 = r25239 + r25241;
        double r25243 = 2;
        double r25244 = r25243 * r25224;
        double r25245 = r25225 * r25209;
        double r25246 = r25244 * r25245;
        double r25247 = r25242 + r25246;
        double r25248 = r25227 / r25247;
        double r25249 = r25248 * r25208;
        return r25249;
}


double f_of(float x) {
        float r25250 = x;
        float r25251 = -161837.5375766796;
        bool r25252 = r25250 <= r25251;
        float r25253 = 0.5;
        float r25254 = r25253 / r25250;
        float r25255 = 0.2514179000665375;
        float r25256 = r25255 * r25250;
        float r25257 = 4;
        float r25258 = pow(r25250, r25257);
        float r25259 = r25256 / r25258;
        float r25260 = 0.15298196345929327;
        float r25261 = r25260 * r25250;
        float r25262 = 6;
        float r25263 = pow(r25250, r25262);
        float r25264 = r25261 / r25263;
        float r25265 = r25259 + r25264;
        float r25266 = r25254 + r25265;
        float r25267 = 63390200.5930883;
        bool r25268 = r25250 <= r25267;
        float r25269 = r25250 * r25250;
        float r25270 = 3;
        float r25271 = 1;
        float r25272 = r25270 + r25271;
        float r25273 = pow(r25269, r25272);
        float r25274 = 0.0001789971;
        float r25275 = -r25274;
        float r25276 = r25269 * r25275;
        float r25277 = r25273 * r25276;
        float r25278 = r25269 * r25269;
        float r25279 = 0.0424060604;
        float r25280 = 0.0072644182;
        float r25281 = r25280 * r25269;
        float r25282 = r25279 + r25281;
        float r25283 = r25278 * r25282;
        float r25284 = 0.1049934947;
        float r25285 = r25250 * r25284;
        float r25286 = r25285 * r25250;
        float r25287 = r25286 + r25271;
        float r25288 = 0.0005064034;
        float r25289 = r25288 * r25273;
        float r25290 = r25287 + r25289;
        float r25291 = r25283 + r25290;
        float r25292 = r25277 - r25291;
        float r25293 = pow(r25250, r25270);
        float r25294 = r25293 * r25293;
        float r25295 = r25294 * r25294;
        float r25296 = 2;
        float r25297 = r25274 * r25296;
        float r25298 = r25295 * r25297;
        float r25299 = 0.2909738639;
        float r25300 = r25250 * r25299;
        float r25301 = r25300 * r25293;
        float r25302 = r25301 + r25271;
        float r25303 = 0.7715471019;
        float r25304 = r25250 * r25303;
        float r25305 = r25304 * r25250;
        float r25306 = r25302 + r25305;
        float r25307 = r25298 + r25306;
        float r25308 = 0.0008327945;
        float r25309 = r25308 * r25250;
        float r25310 = r25309 * r25293;
        float r25311 = r25310 * r25294;
        float r25312 = 0.0694555761;
        float r25313 = 0.0140005442;
        float r25314 = r25313 * r25250;
        float r25315 = r25314 * r25250;
        float r25316 = r25312 + r25315;
        float r25317 = r25294 * r25316;
        float r25318 = r25311 + r25317;
        float r25319 = r25307 + r25318;
        float r25320 = -r25319;
        float r25321 = r25292 / r25320;
        float r25322 = r25321 * r25250;
        float r25323 = r25268 ? r25322 : r25266;
        float r25324 = r25252 ? r25266 : r25323;
        return r25324;
}

double f_od(double x) {
        double r25325 = x;
        double r25326 = -161837.5375766796;
        bool r25327 = r25325 <= r25326;
        double r25328 = 0.5;
        double r25329 = r25328 / r25325;
        double r25330 = 0.2514179000665375;
        double r25331 = r25330 * r25325;
        double r25332 = 4;
        double r25333 = pow(r25325, r25332);
        double r25334 = r25331 / r25333;
        double r25335 = 0.15298196345929327;
        double r25336 = r25335 * r25325;
        double r25337 = 6;
        double r25338 = pow(r25325, r25337);
        double r25339 = r25336 / r25338;
        double r25340 = r25334 + r25339;
        double r25341 = r25329 + r25340;
        double r25342 = 63390200.5930883;
        bool r25343 = r25325 <= r25342;
        double r25344 = r25325 * r25325;
        double r25345 = 3;
        double r25346 = 1;
        double r25347 = r25345 + r25346;
        double r25348 = pow(r25344, r25347);
        double r25349 = 0.0001789971;
        double r25350 = -r25349;
        double r25351 = r25344 * r25350;
        double r25352 = r25348 * r25351;
        double r25353 = r25344 * r25344;
        double r25354 = 0.0424060604;
        double r25355 = 0.0072644182;
        double r25356 = r25355 * r25344;
        double r25357 = r25354 + r25356;
        double r25358 = r25353 * r25357;
        double r25359 = 0.1049934947;
        double r25360 = r25325 * r25359;
        double r25361 = r25360 * r25325;
        double r25362 = r25361 + r25346;
        double r25363 = 0.0005064034;
        double r25364 = r25363 * r25348;
        double r25365 = r25362 + r25364;
        double r25366 = r25358 + r25365;
        double r25367 = r25352 - r25366;
        double r25368 = pow(r25325, r25345);
        double r25369 = r25368 * r25368;
        double r25370 = r25369 * r25369;
        double r25371 = 2;
        double r25372 = r25349 * r25371;
        double r25373 = r25370 * r25372;
        double r25374 = 0.2909738639;
        double r25375 = r25325 * r25374;
        double r25376 = r25375 * r25368;
        double r25377 = r25376 + r25346;
        double r25378 = 0.7715471019;
        double r25379 = r25325 * r25378;
        double r25380 = r25379 * r25325;
        double r25381 = r25377 + r25380;
        double r25382 = r25373 + r25381;
        double r25383 = 0.0008327945;
        double r25384 = r25383 * r25325;
        double r25385 = r25384 * r25368;
        double r25386 = r25385 * r25369;
        double r25387 = 0.0694555761;
        double r25388 = 0.0140005442;
        double r25389 = r25388 * r25325;
        double r25390 = r25389 * r25325;
        double r25391 = r25387 + r25390;
        double r25392 = r25369 * r25391;
        double r25393 = r25386 + r25392;
        double r25394 = r25382 + r25393;
        double r25395 = -r25394;
        double r25396 = r25367 / r25395;
        double r25397 = r25396 * r25325;
        double r25398 = r25343 ? r25397 : r25341;
        double r25399 = r25327 ? r25341 : r25398;
        return r25399;
}

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 r25400, r25401, r25402, r25403, r25404, r25405, r25406, r25407, r25408, r25409, r25410, r25411, r25412, r25413, r25414, r25415, r25416, r25417, r25418, r25419, r25420, r25421, r25422, r25423, r25424, r25425, r25426, r25427, r25428, r25429, r25430, r25431, r25432, r25433, r25434, r25435, r25436, r25437, r25438, r25439, r25440, r25441, r25442, r25443;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r25400, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r25401, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r25402);
        mpfr_init(r25403);
        mpfr_init(r25404);
        mpfr_init(r25405);
        mpfr_init_set_str(r25406, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r25407);
        mpfr_init(r25408);
        mpfr_init(r25409);
        mpfr_init_set_str(r25410, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r25411);
        mpfr_init(r25412);
        mpfr_init(r25413);
        mpfr_init_set_str(r25414, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r25415);
        mpfr_init(r25416);
        mpfr_init(r25417);
        mpfr_init_set_str(r25418, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r25419);
        mpfr_init(r25420);
        mpfr_init(r25421);
        mpfr_init_set_str(r25422, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r25423);
        mpfr_init(r25424);
        mpfr_init_set_str(r25425, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r25426);
        mpfr_init(r25427);
        mpfr_init_set_str(r25428, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r25429);
        mpfr_init(r25430);
        mpfr_init_set_str(r25431, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r25432);
        mpfr_init(r25433);
        mpfr_init_set_str(r25434, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r25435);
        mpfr_init(r25436);
        mpfr_init_set_str(r25437, "2", 10, MPFR_RNDN);
        mpfr_init(r25438);
        mpfr_init(r25439);
        mpfr_init(r25440);
        mpfr_init(r25441);
        mpfr_init(r25442);
        mpfr_init(r25443);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r25402, x, MPFR_RNDN);
        mpfr_mul(r25403, r25402, r25402, MPFR_RNDN);
        mpfr_mul(r25404, r25401, r25403, MPFR_RNDN);
        mpfr_add(r25405, r25400, r25404, MPFR_RNDN);
        ;
        mpfr_mul(r25407, r25403, r25403, MPFR_RNDN);
        mpfr_mul(r25408, r25406, r25407, MPFR_RNDN);
        mpfr_add(r25409, r25405, r25408, MPFR_RNDN);
        ;
        mpfr_mul(r25411, r25407, r25403, MPFR_RNDN);
        mpfr_mul(r25412, r25410, r25411, MPFR_RNDN);
        mpfr_add(r25413, r25409, r25412, MPFR_RNDN);
        ;
        mpfr_mul(r25415, r25411, r25403, MPFR_RNDN);
        mpfr_mul(r25416, r25414, r25415, MPFR_RNDN);
        mpfr_add(r25417, r25413, r25416, MPFR_RNDN);
        ;
        mpfr_mul(r25419, r25415, r25403, MPFR_RNDN);
        mpfr_mul(r25420, r25418, r25419, MPFR_RNDN);
        mpfr_add(r25421, r25417, r25420, MPFR_RNDN);
        ;
        mpfr_mul(r25423, r25422, r25403, MPFR_RNDN);
        mpfr_add(r25424, r25400, r25423, MPFR_RNDN);
        ;
        mpfr_mul(r25426, r25425, r25407, MPFR_RNDN);
        mpfr_add(r25427, r25424, r25426, MPFR_RNDN);
        ;
        mpfr_mul(r25429, r25428, r25411, MPFR_RNDN);
        mpfr_add(r25430, r25427, r25429, MPFR_RNDN);
        ;
        mpfr_mul(r25432, r25431, r25415, MPFR_RNDN);
        mpfr_add(r25433, r25430, r25432, MPFR_RNDN);
        ;
        mpfr_mul(r25435, r25434, r25419, MPFR_RNDN);
        mpfr_add(r25436, r25433, r25435, MPFR_RNDN);
        ;
        mpfr_mul(r25438, r25437, r25418, MPFR_RNDN);
        mpfr_mul(r25439, r25419, r25403, MPFR_RNDN);
        mpfr_mul(r25440, r25438, r25439, MPFR_RNDN);
        mpfr_add(r25441, r25436, r25440, MPFR_RNDN);
        mpfr_div(r25442, r25421, r25441, MPFR_RNDN);
        mpfr_mul(r25443, r25442, r25402, MPFR_RNDN);
        return mpfr_get_d(r25443, MPFR_RNDN);
}

static mpfr_t r25444, r25445, r25446, r25447, r25448, r25449, r25450, r25451, r25452, r25453, r25454, r25455, r25456, r25457, r25458, r25459, r25460, r25461, r25462, r25463, r25464, r25465, r25466, r25467, r25468, r25469, r25470, r25471, r25472, r25473, r25474, r25475, r25476, r25477, r25478, r25479, r25480, r25481, r25482, r25483, r25484, r25485, r25486, r25487, r25488, r25489, r25490, r25491, r25492, r25493, r25494, r25495, r25496, r25497, r25498, r25499, r25500, r25501, r25502, r25503, r25504, r25505, r25506, r25507, r25508, r25509, r25510, r25511, r25512, r25513, r25514, r25515, r25516, r25517, r25518;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r25444);
        mpfr_init_set_str(r25445, "-161837.5375766796", 10, MPFR_RNDN);
        mpfr_init(r25446);
        mpfr_init_set_str(r25447, "0.5", 10, MPFR_RNDN);
        mpfr_init(r25448);
        mpfr_init_set_str(r25449, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r25450);
        mpfr_init_set_str(r25451, "4", 10, MPFR_RNDN);
        mpfr_init(r25452);
        mpfr_init(r25453);
        mpfr_init_set_str(r25454, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init(r25455);
        mpfr_init_set_str(r25456, "6", 10, MPFR_RNDN);
        mpfr_init(r25457);
        mpfr_init(r25458);
        mpfr_init(r25459);
        mpfr_init(r25460);
        mpfr_init_set_str(r25461, "63390200.5930883", 10, MPFR_RNDN);
        mpfr_init(r25462);
        mpfr_init(r25463);
        mpfr_init_set_str(r25464, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r25465, "1", 10, MPFR_RNDN);
        mpfr_init(r25466);
        mpfr_init(r25467);
        mpfr_init_set_str(r25468, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r25469);
        mpfr_init(r25470);
        mpfr_init(r25471);
        mpfr_init(r25472);
        mpfr_init_set_str(r25473, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r25474, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r25475);
        mpfr_init(r25476);
        mpfr_init(r25477);
        mpfr_init_set_str(r25478, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r25479);
        mpfr_init(r25480);
        mpfr_init(r25481);
        mpfr_init_set_str(r25482, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r25483);
        mpfr_init(r25484);
        mpfr_init(r25485);
        mpfr_init(r25486);
        mpfr_init(r25487);
        mpfr_init(r25488);
        mpfr_init(r25489);
        mpfr_init_set_str(r25490, "2", 10, MPFR_RNDN);
        mpfr_init(r25491);
        mpfr_init(r25492);
        mpfr_init_set_str(r25493, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r25494);
        mpfr_init(r25495);
        mpfr_init(r25496);
        mpfr_init_set_str(r25497, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r25498);
        mpfr_init(r25499);
        mpfr_init(r25500);
        mpfr_init(r25501);
        mpfr_init_set_str(r25502, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r25503);
        mpfr_init(r25504);
        mpfr_init(r25505);
        mpfr_init_set_str(r25506, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init_set_str(r25507, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r25508);
        mpfr_init(r25509);
        mpfr_init(r25510);
        mpfr_init(r25511);
        mpfr_init(r25512);
        mpfr_init(r25513);
        mpfr_init(r25514);
        mpfr_init(r25515);
        mpfr_init(r25516);
        mpfr_init(r25517);
        mpfr_init(r25518);
}

double f_fm(double x) {
        mpfr_set_d(r25444, x, MPFR_RNDN);
        ;
        mpfr_set_si(r25446, mpfr_cmp(r25444, r25445) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r25448, r25447, r25444, MPFR_RNDN);
        ;
        mpfr_mul(r25450, r25449, r25444, MPFR_RNDN);
        ;
        mpfr_pow(r25452, r25444, r25451, MPFR_RNDN);
        mpfr_div(r25453, r25450, r25452, MPFR_RNDN);
        ;
        mpfr_mul(r25455, r25454, r25444, MPFR_RNDN);
        ;
        mpfr_pow(r25457, r25444, r25456, MPFR_RNDN);
        mpfr_div(r25458, r25455, r25457, MPFR_RNDN);
        mpfr_add(r25459, r25453, r25458, MPFR_RNDN);
        mpfr_add(r25460, r25448, r25459, MPFR_RNDN);
        ;
        mpfr_set_si(r25462, mpfr_cmp(r25444, r25461) <= 0, MPFR_RNDN);
        mpfr_mul(r25463, r25444, r25444, MPFR_RNDN);
        ;
        ;
        mpfr_add(r25466, r25464, r25465, MPFR_RNDN);
        mpfr_pow(r25467, r25463, r25466, MPFR_RNDN);
        ;
        mpfr_neg(r25469, r25468, MPFR_RNDN);
        mpfr_mul(r25470, r25463, r25469, MPFR_RNDN);
        mpfr_mul(r25471, r25467, r25470, MPFR_RNDN);
        mpfr_mul(r25472, r25463, r25463, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r25475, r25474, r25463, MPFR_RNDN);
        mpfr_add(r25476, r25473, r25475, MPFR_RNDN);
        mpfr_mul(r25477, r25472, r25476, MPFR_RNDN);
        ;
        mpfr_mul(r25479, r25444, r25478, MPFR_RNDN);
        mpfr_mul(r25480, r25479, r25444, MPFR_RNDN);
        mpfr_add(r25481, r25480, r25465, MPFR_RNDN);
        ;
        mpfr_mul(r25483, r25482, r25467, MPFR_RNDN);
        mpfr_add(r25484, r25481, r25483, MPFR_RNDN);
        mpfr_add(r25485, r25477, r25484, MPFR_RNDN);
        mpfr_sub(r25486, r25471, r25485, MPFR_RNDN);
        mpfr_pow(r25487, r25444, r25464, MPFR_RNDN);
        mpfr_mul(r25488, r25487, r25487, MPFR_RNDN);
        mpfr_mul(r25489, r25488, r25488, MPFR_RNDN);
        ;
        mpfr_mul(r25491, r25468, r25490, MPFR_RNDN);
        mpfr_mul(r25492, r25489, r25491, MPFR_RNDN);
        ;
        mpfr_mul(r25494, r25444, r25493, MPFR_RNDN);
        mpfr_mul(r25495, r25494, r25487, MPFR_RNDN);
        mpfr_add(r25496, r25495, r25465, MPFR_RNDN);
        ;
        mpfr_mul(r25498, r25444, r25497, MPFR_RNDN);
        mpfr_mul(r25499, r25498, r25444, MPFR_RNDN);
        mpfr_add(r25500, r25496, r25499, MPFR_RNDN);
        mpfr_add(r25501, r25492, r25500, MPFR_RNDN);
        ;
        mpfr_mul(r25503, r25502, r25444, MPFR_RNDN);
        mpfr_mul(r25504, r25503, r25487, MPFR_RNDN);
        mpfr_mul(r25505, r25504, r25488, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r25508, r25507, r25444, MPFR_RNDN);
        mpfr_mul(r25509, r25508, r25444, MPFR_RNDN);
        mpfr_add(r25510, r25506, r25509, MPFR_RNDN);
        mpfr_mul(r25511, r25488, r25510, MPFR_RNDN);
        mpfr_add(r25512, r25505, r25511, MPFR_RNDN);
        mpfr_add(r25513, r25501, r25512, MPFR_RNDN);
        mpfr_neg(r25514, r25513, MPFR_RNDN);
        mpfr_div(r25515, r25486, r25514, MPFR_RNDN);
        mpfr_mul(r25516, r25515, r25444, MPFR_RNDN);
        if (mpfr_get_si(r25462, MPFR_RNDN)) { mpfr_set(r25517, r25516, MPFR_RNDN); } else { mpfr_set(r25517, r25460, MPFR_RNDN); };
        if (mpfr_get_si(r25446, MPFR_RNDN)) { mpfr_set(r25518, r25460, MPFR_RNDN); } else { mpfr_set(r25518, r25517, MPFR_RNDN); };
        return mpfr_get_d(r25518, MPFR_RNDN);
}

static mpfr_t r25519, r25520, r25521, r25522, r25523, r25524, r25525, r25526, r25527, r25528, r25529, r25530, r25531, r25532, r25533, r25534, r25535, r25536, r25537, r25538, r25539, r25540, r25541, r25542, r25543, r25544, r25545, r25546, r25547, r25548, r25549, r25550, r25551, r25552, r25553, r25554, r25555, r25556, r25557, r25558, r25559, r25560, r25561, r25562, r25563, r25564, r25565, r25566, r25567, r25568, r25569, r25570, r25571, r25572, r25573, r25574, r25575, r25576, r25577, r25578, r25579, r25580, r25581, r25582, r25583, r25584, r25585, r25586, r25587, r25588, r25589, r25590, r25591, r25592, r25593;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r25519);
        mpfr_init_set_str(r25520, "-161837.5375766796", 10, MPFR_RNDN);
        mpfr_init(r25521);
        mpfr_init_set_str(r25522, "0.5", 10, MPFR_RNDN);
        mpfr_init(r25523);
        mpfr_init_set_str(r25524, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r25525);
        mpfr_init_set_str(r25526, "4", 10, MPFR_RNDN);
        mpfr_init(r25527);
        mpfr_init(r25528);
        mpfr_init_set_str(r25529, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init(r25530);
        mpfr_init_set_str(r25531, "6", 10, MPFR_RNDN);
        mpfr_init(r25532);
        mpfr_init(r25533);
        mpfr_init(r25534);
        mpfr_init(r25535);
        mpfr_init_set_str(r25536, "63390200.5930883", 10, MPFR_RNDN);
        mpfr_init(r25537);
        mpfr_init(r25538);
        mpfr_init_set_str(r25539, "3", 10, MPFR_RNDN);
        mpfr_init_set_str(r25540, "1", 10, MPFR_RNDN);
        mpfr_init(r25541);
        mpfr_init(r25542);
        mpfr_init_set_str(r25543, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r25544);
        mpfr_init(r25545);
        mpfr_init(r25546);
        mpfr_init(r25547);
        mpfr_init_set_str(r25548, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r25549, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r25550);
        mpfr_init(r25551);
        mpfr_init(r25552);
        mpfr_init_set_str(r25553, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r25554);
        mpfr_init(r25555);
        mpfr_init(r25556);
        mpfr_init_set_str(r25557, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r25558);
        mpfr_init(r25559);
        mpfr_init(r25560);
        mpfr_init(r25561);
        mpfr_init(r25562);
        mpfr_init(r25563);
        mpfr_init(r25564);
        mpfr_init_set_str(r25565, "2", 10, MPFR_RNDN);
        mpfr_init(r25566);
        mpfr_init(r25567);
        mpfr_init_set_str(r25568, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r25569);
        mpfr_init(r25570);
        mpfr_init(r25571);
        mpfr_init_set_str(r25572, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r25573);
        mpfr_init(r25574);
        mpfr_init(r25575);
        mpfr_init(r25576);
        mpfr_init_set_str(r25577, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r25578);
        mpfr_init(r25579);
        mpfr_init(r25580);
        mpfr_init_set_str(r25581, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init_set_str(r25582, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r25583);
        mpfr_init(r25584);
        mpfr_init(r25585);
        mpfr_init(r25586);
        mpfr_init(r25587);
        mpfr_init(r25588);
        mpfr_init(r25589);
        mpfr_init(r25590);
        mpfr_init(r25591);
        mpfr_init(r25592);
        mpfr_init(r25593);
}

double f_dm(double x) {
        mpfr_set_d(r25519, x, MPFR_RNDN);
        ;
        mpfr_set_si(r25521, mpfr_cmp(r25519, r25520) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r25523, r25522, r25519, MPFR_RNDN);
        ;
        mpfr_mul(r25525, r25524, r25519, MPFR_RNDN);
        ;
        mpfr_pow(r25527, r25519, r25526, MPFR_RNDN);
        mpfr_div(r25528, r25525, r25527, MPFR_RNDN);
        ;
        mpfr_mul(r25530, r25529, r25519, MPFR_RNDN);
        ;
        mpfr_pow(r25532, r25519, r25531, MPFR_RNDN);
        mpfr_div(r25533, r25530, r25532, MPFR_RNDN);
        mpfr_add(r25534, r25528, r25533, MPFR_RNDN);
        mpfr_add(r25535, r25523, r25534, MPFR_RNDN);
        ;
        mpfr_set_si(r25537, mpfr_cmp(r25519, r25536) <= 0, MPFR_RNDN);
        mpfr_mul(r25538, r25519, r25519, MPFR_RNDN);
        ;
        ;
        mpfr_add(r25541, r25539, r25540, MPFR_RNDN);
        mpfr_pow(r25542, r25538, r25541, MPFR_RNDN);
        ;
        mpfr_neg(r25544, r25543, MPFR_RNDN);
        mpfr_mul(r25545, r25538, r25544, MPFR_RNDN);
        mpfr_mul(r25546, r25542, r25545, MPFR_RNDN);
        mpfr_mul(r25547, r25538, r25538, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r25550, r25549, r25538, MPFR_RNDN);
        mpfr_add(r25551, r25548, r25550, MPFR_RNDN);
        mpfr_mul(r25552, r25547, r25551, MPFR_RNDN);
        ;
        mpfr_mul(r25554, r25519, r25553, MPFR_RNDN);
        mpfr_mul(r25555, r25554, r25519, MPFR_RNDN);
        mpfr_add(r25556, r25555, r25540, MPFR_RNDN);
        ;
        mpfr_mul(r25558, r25557, r25542, MPFR_RNDN);
        mpfr_add(r25559, r25556, r25558, MPFR_RNDN);
        mpfr_add(r25560, r25552, r25559, MPFR_RNDN);
        mpfr_sub(r25561, r25546, r25560, MPFR_RNDN);
        mpfr_pow(r25562, r25519, r25539, MPFR_RNDN);
        mpfr_mul(r25563, r25562, r25562, MPFR_RNDN);
        mpfr_mul(r25564, r25563, r25563, MPFR_RNDN);
        ;
        mpfr_mul(r25566, r25543, r25565, MPFR_RNDN);
        mpfr_mul(r25567, r25564, r25566, MPFR_RNDN);
        ;
        mpfr_mul(r25569, r25519, r25568, MPFR_RNDN);
        mpfr_mul(r25570, r25569, r25562, MPFR_RNDN);
        mpfr_add(r25571, r25570, r25540, MPFR_RNDN);
        ;
        mpfr_mul(r25573, r25519, r25572, MPFR_RNDN);
        mpfr_mul(r25574, r25573, r25519, MPFR_RNDN);
        mpfr_add(r25575, r25571, r25574, MPFR_RNDN);
        mpfr_add(r25576, r25567, r25575, MPFR_RNDN);
        ;
        mpfr_mul(r25578, r25577, r25519, MPFR_RNDN);
        mpfr_mul(r25579, r25578, r25562, MPFR_RNDN);
        mpfr_mul(r25580, r25579, r25563, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r25583, r25582, r25519, MPFR_RNDN);
        mpfr_mul(r25584, r25583, r25519, MPFR_RNDN);
        mpfr_add(r25585, r25581, r25584, MPFR_RNDN);
        mpfr_mul(r25586, r25563, r25585, MPFR_RNDN);
        mpfr_add(r25587, r25580, r25586, MPFR_RNDN);
        mpfr_add(r25588, r25576, r25587, MPFR_RNDN);
        mpfr_neg(r25589, r25588, MPFR_RNDN);
        mpfr_div(r25590, r25561, r25589, MPFR_RNDN);
        mpfr_mul(r25591, r25590, r25519, MPFR_RNDN);
        if (mpfr_get_si(r25537, MPFR_RNDN)) { mpfr_set(r25592, r25591, MPFR_RNDN); } else { mpfr_set(r25592, r25535, MPFR_RNDN); };
        if (mpfr_get_si(r25521, MPFR_RNDN)) { mpfr_set(r25593, r25535, MPFR_RNDN); } else { mpfr_set(r25593, r25592, MPFR_RNDN); };
        return mpfr_get_d(r25593, MPFR_RNDN);
}

