#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 r19171 = 1.0f;
        float r19172 = 0.1049934947f;
        float r19173 = x;
        float r19174 = r19173 * r19173;
        float r19175 = r19172 * r19174;
        float r19176 = r19171 + r19175;
        float r19177 = 0.0424060604f;
        float r19178 = r19174 * r19174;
        float r19179 = r19177 * r19178;
        float r19180 = r19176 + r19179;
        float r19181 = 0.0072644182f;
        float r19182 = r19178 * r19174;
        float r19183 = r19181 * r19182;
        float r19184 = r19180 + r19183;
        float r19185 = 0.0005064034f;
        float r19186 = r19182 * r19174;
        float r19187 = r19185 * r19186;
        float r19188 = r19184 + r19187;
        float r19189 = 0.0001789971f;
        float r19190 = r19186 * r19174;
        float r19191 = r19189 * r19190;
        float r19192 = r19188 + r19191;
        float r19193 = 0.7715471019f;
        float r19194 = r19193 * r19174;
        float r19195 = r19171 + r19194;
        float r19196 = 0.2909738639f;
        float r19197 = r19196 * r19178;
        float r19198 = r19195 + r19197;
        float r19199 = 0.0694555761f;
        float r19200 = r19199 * r19182;
        float r19201 = r19198 + r19200;
        float r19202 = 0.0140005442f;
        float r19203 = r19202 * r19186;
        float r19204 = r19201 + r19203;
        float r19205 = 0.0008327945f;
        float r19206 = r19205 * r19190;
        float r19207 = r19204 + r19206;
        float r19208 = 2.0f;
        float r19209 = r19208 * r19189;
        float r19210 = r19190 * r19174;
        float r19211 = r19209 * r19210;
        float r19212 = r19207 + r19211;
        float r19213 = r19192 / r19212;
        float r19214 = r19213 * r19173;
        return r19214;
}

double f_id(double x) {
        double r19215 = 1.0;
        double r19216 = 0.1049934947;
        double r19217 = x;
        double r19218 = r19217 * r19217;
        double r19219 = r19216 * r19218;
        double r19220 = r19215 + r19219;
        double r19221 = 0.0424060604;
        double r19222 = r19218 * r19218;
        double r19223 = r19221 * r19222;
        double r19224 = r19220 + r19223;
        double r19225 = 0.0072644182;
        double r19226 = r19222 * r19218;
        double r19227 = r19225 * r19226;
        double r19228 = r19224 + r19227;
        double r19229 = 0.0005064034;
        double r19230 = r19226 * r19218;
        double r19231 = r19229 * r19230;
        double r19232 = r19228 + r19231;
        double r19233 = 0.0001789971;
        double r19234 = r19230 * r19218;
        double r19235 = r19233 * r19234;
        double r19236 = r19232 + r19235;
        double r19237 = 0.7715471019;
        double r19238 = r19237 * r19218;
        double r19239 = r19215 + r19238;
        double r19240 = 0.2909738639;
        double r19241 = r19240 * r19222;
        double r19242 = r19239 + r19241;
        double r19243 = 0.0694555761;
        double r19244 = r19243 * r19226;
        double r19245 = r19242 + r19244;
        double r19246 = 0.0140005442;
        double r19247 = r19246 * r19230;
        double r19248 = r19245 + r19247;
        double r19249 = 0.0008327945;
        double r19250 = r19249 * r19234;
        double r19251 = r19248 + r19250;
        double r19252 = 2.0;
        double r19253 = r19252 * r19233;
        double r19254 = r19234 * r19218;
        double r19255 = r19253 * r19254;
        double r19256 = r19251 + r19255;
        double r19257 = r19236 / r19256;
        double r19258 = r19257 * r19217;
        return r19258;
}


double f_of(float x) {
        float r19259 = x;
        float r19260 = -1.8712086047983953e+24f;
        bool r19261 = r19259 <= r19260;
        float r19262 = 1.0f;
        float r19263 = 0.1049934947f;
        float r19264 = r19259 * r19259;
        float r19265 = r19263 / r19264;
        float r19266 = r19262 + r19265;
        float r19267 = 0.0072644182f;
        float r19268 = r19267 * r19262;
        float r19269 = r19259 * (r19259 * r19259);
        float r19270 = r19269 * r19269;
        float r19271 = r19268 / r19270;
        float r19272 = r19266 + r19271;
        float r19273 = 0.0424060604f;
        float r19274 = r19273 * r19262;
        float r19275 = r19274 / r19269;
        float r19276 = r19275 / r19259;
        float r19277 = 0.0001789971f;
        float r19278 = 10.0f;
        float r19279 = pow(r19259, r19278);
        float r19280 = r19277 / r19279;
        float r19281 = r19276 + r19280;
        float r19282 = 0.0005064034f;
        float r19283 = r19262 * r19282;
        float r19284 = r19283 / r19270;
        float r19285 = r19284 / r19264;
        float r19286 = r19281 + r19285;
        float r19287 = r19272 + r19286;
        float r19288 = r19262 / r19259;
        float r19289 = r19288 / r19269;
        float r19290 = 0.2909738639f;
        float r19291 = r19289 * r19290;
        float r19292 = r19262 + r19291;
        float r19293 = 0.0694555761f;
        float r19294 = r19293 * r19262;
        float r19295 = r19294 / r19270;
        float r19296 = r19292 + r19295;
        float r19297 = 0.0140005442f;
        float r19298 = r19262 * r19297;
        float r19299 = r19298 / r19270;
        float r19300 = r19299 / r19264;
        float r19301 = r19262 / r19269;
        float r19302 = r19301 * r19301;
        float r19303 = 6.0f;
        float r19304 = pow(r19259, r19303);
        float r19305 = 0.0003579942f;
        float r19306 = r19304 / r19305;
        float r19307 = r19302 / r19306;
        float r19308 = r19300 + r19307;
        float r19309 = r19296 + r19308;
        float r19310 = 0.7715471019f;
        float r19311 = r19310 / r19264;
        float r19312 = 4.0f;
        float r19313 = pow(r19259, r19312);
        float r19314 = 0.0008327945f;
        float r19315 = r19313 / r19314;
        float r19316 = r19302 / r19315;
        float r19317 = r19311 + r19316;
        float r19318 = r19309 + r19317;
        float r19319 = r19318 * r19259;
        float r19320 = r19287 / r19319;
        float r19321 = 1.8449770898206623e+27f;
        bool r19322 = r19259 <= r19321;
        float r19323 = r19259 * r19259;
        float r19324 = r19323 * r19277;
        float r19325 = r19323 * r19323;
        float r19326 = r19325 * r19325;
        float r19327 = r19324 * r19326;
        float r19328 = r19259 * r19273;
        float r19329 = r19328 * r19269;
        float r19330 = r19329 + r19262;
        float r19331 = r19263 * r19323;
        float r19332 = r19330 + r19331;
        float r19333 = r19327 + r19332;
        float r19334 = r19259 * r19333;
        float r19335 = r19259 * r19310;
        float r19336 = r19335 * r19259;
        float r19337 = r19262 + r19336;
        float r19338 = r19259 * r19290;
        float r19339 = r19269 * r19338;
        float r19340 = r19337 + r19339;
        float r19341 = r19269 * r19269;
        float r19342 = r19297 * r19259;
        float r19343 = r19259 * r19342;
        float r19344 = r19293 + r19343;
        float r19345 = r19341 * r19344;
        float r19346 = r19341 * r19325;
        float r19347 = 2.0f;
        float r19348 = r19347 * r19277;
        float r19349 = r19348 * r19323;
        float r19350 = r19349 + r19314;
        float r19351 = r19346 * r19350;
        float r19352 = r19345 + r19351;
        float r19353 = r19340 + r19352;
        float r19354 = r19334 / r19353;
        float r19355 = r19259 * r19341;
        float r19356 = r19282 * r19323;
        float r19357 = r19356 + r19267;
        float r19358 = r19355 * r19357;
        float r19359 = r19323 * (r19323 * r19323);
        float r19360 = r19325 * r19359;
        float r19361 = r19323 * r19348;
        float r19362 = r19361 + r19314;
        float r19363 = r19360 * r19362;
        float r19364 = r19310 * r19259;
        float r19365 = r19259 * r19364;
        float r19366 = r19338 * r19269;
        float r19367 = r19366 + r19262;
        float r19368 = r19365 + r19367;
        float r19369 = r19363 + r19368;
        float r19370 = r19343 + r19293;
        float r19371 = r19359 * r19370;
        float r19372 = r19369 + r19371;
        float r19373 = r19358 / r19372;
        float r19374 = r19354 + r19373;
        float r19375 = r19322 ? r19374 : r19320;
        float r19376 = r19261 ? r19320 : r19375;
        return r19376;
}

double f_od(double x) {
        double r19377 = x;
        double r19378 = -1.8712086047983953e+24;
        bool r19379 = r19377 <= r19378;
        double r19380 = 1.0;
        double r19381 = 0.1049934947;
        double r19382 = r19377 * r19377;
        double r19383 = r19381 / r19382;
        double r19384 = r19380 + r19383;
        double r19385 = 0.0072644182;
        double r19386 = r19385 * r19380;
        double r19387 = r19377 * (r19377 * r19377);
        double r19388 = r19387 * r19387;
        double r19389 = r19386 / r19388;
        double r19390 = r19384 + r19389;
        double r19391 = 0.0424060604;
        double r19392 = r19391 * r19380;
        double r19393 = r19392 / r19387;
        double r19394 = r19393 / r19377;
        double r19395 = 0.0001789971;
        double r19396 = 10.0;
        double r19397 = pow(r19377, r19396);
        double r19398 = r19395 / r19397;
        double r19399 = r19394 + r19398;
        double r19400 = 0.0005064034;
        double r19401 = r19380 * r19400;
        double r19402 = r19401 / r19388;
        double r19403 = r19402 / r19382;
        double r19404 = r19399 + r19403;
        double r19405 = r19390 + r19404;
        double r19406 = r19380 / r19377;
        double r19407 = r19406 / r19387;
        double r19408 = 0.2909738639;
        double r19409 = r19407 * r19408;
        double r19410 = r19380 + r19409;
        double r19411 = 0.0694555761;
        double r19412 = r19411 * r19380;
        double r19413 = r19412 / r19388;
        double r19414 = r19410 + r19413;
        double r19415 = 0.0140005442;
        double r19416 = r19380 * r19415;
        double r19417 = r19416 / r19388;
        double r19418 = r19417 / r19382;
        double r19419 = r19380 / r19387;
        double r19420 = r19419 * r19419;
        double r19421 = 6.0;
        double r19422 = pow(r19377, r19421);
        double r19423 = 0.0003579942;
        double r19424 = r19422 / r19423;
        double r19425 = r19420 / r19424;
        double r19426 = r19418 + r19425;
        double r19427 = r19414 + r19426;
        double r19428 = 0.7715471019;
        double r19429 = r19428 / r19382;
        double r19430 = 4.0;
        double r19431 = pow(r19377, r19430);
        double r19432 = 0.0008327945;
        double r19433 = r19431 / r19432;
        double r19434 = r19420 / r19433;
        double r19435 = r19429 + r19434;
        double r19436 = r19427 + r19435;
        double r19437 = r19436 * r19377;
        double r19438 = r19405 / r19437;
        double r19439 = 1.8449770898206623e+27;
        bool r19440 = r19377 <= r19439;
        double r19441 = r19377 * r19377;
        double r19442 = r19441 * r19395;
        double r19443 = r19441 * r19441;
        double r19444 = r19443 * r19443;
        double r19445 = r19442 * r19444;
        double r19446 = r19377 * r19391;
        double r19447 = r19446 * r19387;
        double r19448 = r19447 + r19380;
        double r19449 = r19381 * r19441;
        double r19450 = r19448 + r19449;
        double r19451 = r19445 + r19450;
        double r19452 = r19377 * r19451;
        double r19453 = r19377 * r19428;
        double r19454 = r19453 * r19377;
        double r19455 = r19380 + r19454;
        double r19456 = r19377 * r19408;
        double r19457 = r19387 * r19456;
        double r19458 = r19455 + r19457;
        double r19459 = r19387 * r19387;
        double r19460 = r19415 * r19377;
        double r19461 = r19377 * r19460;
        double r19462 = r19411 + r19461;
        double r19463 = r19459 * r19462;
        double r19464 = r19459 * r19443;
        double r19465 = 2.0;
        double r19466 = r19465 * r19395;
        double r19467 = r19466 * r19441;
        double r19468 = r19467 + r19432;
        double r19469 = r19464 * r19468;
        double r19470 = r19463 + r19469;
        double r19471 = r19458 + r19470;
        double r19472 = r19452 / r19471;
        double r19473 = r19377 * r19459;
        double r19474 = r19400 * r19441;
        double r19475 = r19474 + r19385;
        double r19476 = r19473 * r19475;
        double r19477 = r19441 * (r19441 * r19441);
        double r19478 = r19443 * r19477;
        double r19479 = r19441 * r19466;
        double r19480 = r19479 + r19432;
        double r19481 = r19478 * r19480;
        double r19482 = r19428 * r19377;
        double r19483 = r19377 * r19482;
        double r19484 = r19456 * r19387;
        double r19485 = r19484 + r19380;
        double r19486 = r19483 + r19485;
        double r19487 = r19481 + r19486;
        double r19488 = r19461 + r19411;
        double r19489 = r19477 * r19488;
        double r19490 = r19487 + r19489;
        double r19491 = r19476 / r19490;
        double r19492 = r19472 + r19491;
        double r19493 = r19440 ? r19492 : r19438;
        double r19494 = r19379 ? r19438 : r19493;
        return r19494;
}

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 r19495, r19496, r19497, r19498, r19499, r19500, r19501, r19502, r19503, r19504, r19505, r19506, r19507, r19508, r19509, r19510, r19511, r19512, r19513, r19514, r19515, r19516, r19517, r19518, r19519, r19520, r19521, r19522, r19523, r19524, r19525, r19526, r19527, r19528, r19529, r19530, r19531, r19532, r19533, r19534, r19535, r19536, r19537, r19538;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19495, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19496, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19497);
        mpfr_init(r19498);
        mpfr_init(r19499);
        mpfr_init(r19500);
        mpfr_init_set_str(r19501, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19502);
        mpfr_init(r19503);
        mpfr_init(r19504);
        mpfr_init_set_str(r19505, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19506);
        mpfr_init(r19507);
        mpfr_init(r19508);
        mpfr_init_set_str(r19509, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19510);
        mpfr_init(r19511);
        mpfr_init(r19512);
        mpfr_init_set_str(r19513, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19514);
        mpfr_init(r19515);
        mpfr_init(r19516);
        mpfr_init_set_str(r19517, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19518);
        mpfr_init(r19519);
        mpfr_init_set_str(r19520, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19521);
        mpfr_init(r19522);
        mpfr_init_set_str(r19523, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19524);
        mpfr_init(r19525);
        mpfr_init_set_str(r19526, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19527);
        mpfr_init(r19528);
        mpfr_init_set_str(r19529, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19530);
        mpfr_init(r19531);
        mpfr_init_set_str(r19532, "2", 10, MPFR_RNDN);
        mpfr_init(r19533);
        mpfr_init(r19534);
        mpfr_init(r19535);
        mpfr_init(r19536);
        mpfr_init(r19537);
        mpfr_init(r19538);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19497, x, MPFR_RNDN);
        mpfr_mul(r19498, r19497, r19497, MPFR_RNDN);
        mpfr_mul(r19499, r19496, r19498, MPFR_RNDN);
        mpfr_add(r19500, r19495, r19499, MPFR_RNDN);
        ;
        mpfr_mul(r19502, r19498, r19498, MPFR_RNDN);
        mpfr_mul(r19503, r19501, r19502, MPFR_RNDN);
        mpfr_add(r19504, r19500, r19503, MPFR_RNDN);
        ;
        mpfr_mul(r19506, r19502, r19498, MPFR_RNDN);
        mpfr_mul(r19507, r19505, r19506, MPFR_RNDN);
        mpfr_add(r19508, r19504, r19507, MPFR_RNDN);
        ;
        mpfr_mul(r19510, r19506, r19498, MPFR_RNDN);
        mpfr_mul(r19511, r19509, r19510, MPFR_RNDN);
        mpfr_add(r19512, r19508, r19511, MPFR_RNDN);
        ;
        mpfr_mul(r19514, r19510, r19498, MPFR_RNDN);
        mpfr_mul(r19515, r19513, r19514, MPFR_RNDN);
        mpfr_add(r19516, r19512, r19515, MPFR_RNDN);
        ;
        mpfr_mul(r19518, r19517, r19498, MPFR_RNDN);
        mpfr_add(r19519, r19495, r19518, MPFR_RNDN);
        ;
        mpfr_mul(r19521, r19520, r19502, MPFR_RNDN);
        mpfr_add(r19522, r19519, r19521, MPFR_RNDN);
        ;
        mpfr_mul(r19524, r19523, r19506, MPFR_RNDN);
        mpfr_add(r19525, r19522, r19524, MPFR_RNDN);
        ;
        mpfr_mul(r19527, r19526, r19510, MPFR_RNDN);
        mpfr_add(r19528, r19525, r19527, MPFR_RNDN);
        ;
        mpfr_mul(r19530, r19529, r19514, MPFR_RNDN);
        mpfr_add(r19531, r19528, r19530, MPFR_RNDN);
        ;
        mpfr_mul(r19533, r19532, r19513, MPFR_RNDN);
        mpfr_mul(r19534, r19514, r19498, MPFR_RNDN);
        mpfr_mul(r19535, r19533, r19534, MPFR_RNDN);
        mpfr_add(r19536, r19531, r19535, MPFR_RNDN);
        mpfr_div(r19537, r19516, r19536, MPFR_RNDN);
        mpfr_mul(r19538, r19537, r19497, MPFR_RNDN);
        return mpfr_get_d(r19538, MPFR_RNDN);
}

static mpfr_t r19539, r19540, r19541, r19542, r19543, r19544, r19545, r19546, r19547, r19548, r19549, r19550, r19551, r19552, r19553, r19554, r19555, r19556, r19557, r19558, r19559, r19560, r19561, r19562, r19563, r19564, r19565, r19566, r19567, r19568, r19569, r19570, r19571, r19572, r19573, r19574, r19575, r19576, r19577, r19578, r19579, r19580, r19581, r19582, r19583, r19584, r19585, r19586, r19587, r19588, r19589, r19590, r19591, r19592, r19593, r19594, r19595, r19596, r19597, r19598, r19599, r19600, r19601, r19602, r19603, r19604, r19605, r19606, r19607, r19608, r19609, r19610, r19611, r19612, r19613, r19614, r19615, r19616, r19617, r19618, r19619, r19620, r19621, r19622, r19623, r19624, r19625, r19626, r19627, r19628, r19629, r19630, r19631, r19632, r19633, r19634, r19635, r19636, r19637, r19638, r19639, r19640, r19641, r19642, r19643, r19644, r19645, r19646, r19647, r19648, r19649, r19650, r19651, r19652, r19653, r19654, r19655, r19656;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19539);
        mpfr_init_set_str(r19540, "-1.8712086047983953e+24", 10, MPFR_RNDN);
        mpfr_init(r19541);
        mpfr_init_set_str(r19542, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19543, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19544);
        mpfr_init(r19545);
        mpfr_init(r19546);
        mpfr_init_set_str(r19547, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19548);
        mpfr_init(r19549);
        mpfr_init(r19550);
        mpfr_init(r19551);
        mpfr_init(r19552);
        mpfr_init_set_str(r19553, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19554);
        mpfr_init(r19555);
        mpfr_init(r19556);
        mpfr_init_set_str(r19557, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r19558, "10", 10, MPFR_RNDN);
        mpfr_init(r19559);
        mpfr_init(r19560);
        mpfr_init(r19561);
        mpfr_init_set_str(r19562, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19563);
        mpfr_init(r19564);
        mpfr_init(r19565);
        mpfr_init(r19566);
        mpfr_init(r19567);
        mpfr_init(r19568);
        mpfr_init(r19569);
        mpfr_init_set_str(r19570, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19571);
        mpfr_init(r19572);
        mpfr_init_set_str(r19573, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19574);
        mpfr_init(r19575);
        mpfr_init(r19576);
        mpfr_init_set_str(r19577, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19578);
        mpfr_init(r19579);
        mpfr_init(r19580);
        mpfr_init(r19581);
        mpfr_init(r19582);
        mpfr_init_set_str(r19583, "6", 10, MPFR_RNDN);
        mpfr_init(r19584);
        mpfr_init_set_str(r19585, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r19586);
        mpfr_init(r19587);
        mpfr_init(r19588);
        mpfr_init(r19589);
        mpfr_init_set_str(r19590, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19591);
        mpfr_init_set_str(r19592, "4", 10, MPFR_RNDN);
        mpfr_init(r19593);
        mpfr_init_set_str(r19594, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19595);
        mpfr_init(r19596);
        mpfr_init(r19597);
        mpfr_init(r19598);
        mpfr_init(r19599);
        mpfr_init(r19600);
        mpfr_init_set_str(r19601, "1.8449770898206623e+27", 10, MPFR_RNDN);
        mpfr_init(r19602);
        mpfr_init(r19603);
        mpfr_init(r19604);
        mpfr_init(r19605);
        mpfr_init(r19606);
        mpfr_init(r19607);
        mpfr_init(r19608);
        mpfr_init(r19609);
        mpfr_init(r19610);
        mpfr_init(r19611);
        mpfr_init(r19612);
        mpfr_init(r19613);
        mpfr_init(r19614);
        mpfr_init(r19615);
        mpfr_init(r19616);
        mpfr_init(r19617);
        mpfr_init(r19618);
        mpfr_init(r19619);
        mpfr_init(r19620);
        mpfr_init(r19621);
        mpfr_init(r19622);
        mpfr_init(r19623);
        mpfr_init(r19624);
        mpfr_init(r19625);
        mpfr_init(r19626);
        mpfr_init_set_str(r19627, "2", 10, MPFR_RNDN);
        mpfr_init(r19628);
        mpfr_init(r19629);
        mpfr_init(r19630);
        mpfr_init(r19631);
        mpfr_init(r19632);
        mpfr_init(r19633);
        mpfr_init(r19634);
        mpfr_init(r19635);
        mpfr_init(r19636);
        mpfr_init(r19637);
        mpfr_init(r19638);
        mpfr_init(r19639);
        mpfr_init(r19640);
        mpfr_init(r19641);
        mpfr_init(r19642);
        mpfr_init(r19643);
        mpfr_init(r19644);
        mpfr_init(r19645);
        mpfr_init(r19646);
        mpfr_init(r19647);
        mpfr_init(r19648);
        mpfr_init(r19649);
        mpfr_init(r19650);
        mpfr_init(r19651);
        mpfr_init(r19652);
        mpfr_init(r19653);
        mpfr_init(r19654);
        mpfr_init(r19655);
        mpfr_init(r19656);
}

double f_fm(double x) {
        mpfr_set_d(r19539, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19541, mpfr_cmp(r19539, r19540) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19544, r19539, r19539, MPFR_RNDN);
        mpfr_div(r19545, r19543, r19544, MPFR_RNDN);
        mpfr_add(r19546, r19542, r19545, MPFR_RNDN);
        ;
        mpfr_mul(r19548, r19547, r19542, MPFR_RNDN);
        mpfr_mul(r19549, r19539, r19539, MPFR_RNDN); mpfr_mul(r19549, r19549, r19539, MPFR_RNDN);
        mpfr_sqr(r19550, r19549, MPFR_RNDN);
        mpfr_div(r19551, r19548, r19550, MPFR_RNDN);
        mpfr_add(r19552, r19546, r19551, MPFR_RNDN);
        ;
        mpfr_mul(r19554, r19553, r19542, MPFR_RNDN);
        mpfr_div(r19555, r19554, r19549, MPFR_RNDN);
        mpfr_div(r19556, r19555, r19539, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19559, r19539, r19558, MPFR_RNDN);
        mpfr_div(r19560, r19557, r19559, MPFR_RNDN);
        mpfr_add(r19561, r19556, r19560, MPFR_RNDN);
        ;
        mpfr_mul(r19563, r19542, r19562, MPFR_RNDN);
        mpfr_div(r19564, r19563, r19550, MPFR_RNDN);
        mpfr_div(r19565, r19564, r19544, MPFR_RNDN);
        mpfr_add(r19566, r19561, r19565, MPFR_RNDN);
        mpfr_add(r19567, r19552, r19566, MPFR_RNDN);
        mpfr_div(r19568, r19542, r19539, MPFR_RNDN);
        mpfr_div(r19569, r19568, r19549, MPFR_RNDN);
        ;
        mpfr_mul(r19571, r19569, r19570, MPFR_RNDN);
        mpfr_add(r19572, r19542, r19571, MPFR_RNDN);
        ;
        mpfr_mul(r19574, r19573, r19542, MPFR_RNDN);
        mpfr_div(r19575, r19574, r19550, MPFR_RNDN);
        mpfr_add(r19576, r19572, r19575, MPFR_RNDN);
        ;
        mpfr_mul(r19578, r19542, r19577, MPFR_RNDN);
        mpfr_div(r19579, r19578, r19550, MPFR_RNDN);
        mpfr_div(r19580, r19579, r19544, MPFR_RNDN);
        mpfr_div(r19581, r19542, r19549, MPFR_RNDN);
        mpfr_mul(r19582, r19581, r19581, MPFR_RNDN);
        ;
        mpfr_pow(r19584, r19539, r19583, MPFR_RNDN);
        ;
        mpfr_div(r19586, r19584, r19585, MPFR_RNDN);
        mpfr_div(r19587, r19582, r19586, MPFR_RNDN);
        mpfr_add(r19588, r19580, r19587, MPFR_RNDN);
        mpfr_add(r19589, r19576, r19588, MPFR_RNDN);
        ;
        mpfr_div(r19591, r19590, r19544, MPFR_RNDN);
        ;
        mpfr_pow(r19593, r19539, r19592, MPFR_RNDN);
        ;
        mpfr_div(r19595, r19593, r19594, MPFR_RNDN);
        mpfr_div(r19596, r19582, r19595, MPFR_RNDN);
        mpfr_add(r19597, r19591, r19596, MPFR_RNDN);
        mpfr_add(r19598, r19589, r19597, MPFR_RNDN);
        mpfr_mul(r19599, r19598, r19539, MPFR_RNDN);
        mpfr_div(r19600, r19567, r19599, MPFR_RNDN);
        ;
        mpfr_set_si(r19602, mpfr_cmp(r19539, r19601) <= 0, MPFR_RNDN);
        mpfr_sqr(r19603, r19539, MPFR_RNDN);
        mpfr_mul(r19604, r19603, r19557, MPFR_RNDN);
        mpfr_mul(r19605, r19603, r19603, MPFR_RNDN);
        mpfr_mul(r19606, r19605, r19605, MPFR_RNDN);
        mpfr_mul(r19607, r19604, r19606, MPFR_RNDN);
        mpfr_mul(r19608, r19539, r19553, MPFR_RNDN);
        mpfr_mul(r19609, r19608, r19549, MPFR_RNDN);
        mpfr_add(r19610, r19609, r19542, MPFR_RNDN);
        mpfr_mul(r19611, r19543, r19603, MPFR_RNDN);
        mpfr_add(r19612, r19610, r19611, MPFR_RNDN);
        mpfr_add(r19613, r19607, r19612, MPFR_RNDN);
        mpfr_mul(r19614, r19539, r19613, MPFR_RNDN);
        mpfr_mul(r19615, r19539, r19590, MPFR_RNDN);
        mpfr_mul(r19616, r19615, r19539, MPFR_RNDN);
        mpfr_add(r19617, r19542, r19616, MPFR_RNDN);
        mpfr_mul(r19618, r19539, r19570, MPFR_RNDN);
        mpfr_mul(r19619, r19549, r19618, MPFR_RNDN);
        mpfr_add(r19620, r19617, r19619, MPFR_RNDN);
        mpfr_mul(r19621, r19549, r19549, MPFR_RNDN);
        mpfr_mul(r19622, r19577, r19539, MPFR_RNDN);
        mpfr_mul(r19623, r19539, r19622, MPFR_RNDN);
        mpfr_add(r19624, r19573, r19623, MPFR_RNDN);
        mpfr_mul(r19625, r19621, r19624, MPFR_RNDN);
        mpfr_mul(r19626, r19621, r19605, MPFR_RNDN);
        ;
        mpfr_mul(r19628, r19627, r19557, MPFR_RNDN);
        mpfr_mul(r19629, r19628, r19603, MPFR_RNDN);
        mpfr_add(r19630, r19629, r19594, MPFR_RNDN);
        mpfr_mul(r19631, r19626, r19630, MPFR_RNDN);
        mpfr_add(r19632, r19625, r19631, MPFR_RNDN);
        mpfr_add(r19633, r19620, r19632, MPFR_RNDN);
        mpfr_div(r19634, r19614, r19633, MPFR_RNDN);
        mpfr_mul(r19635, r19539, r19621, MPFR_RNDN);
        mpfr_mul(r19636, r19562, r19603, MPFR_RNDN);
        mpfr_add(r19637, r19636, r19547, MPFR_RNDN);
        mpfr_mul(r19638, r19635, r19637, MPFR_RNDN);
        mpfr_mul(r19639, r19603, r19603, MPFR_RNDN); mpfr_mul(r19639, r19639, r19603, MPFR_RNDN);
        mpfr_mul(r19640, r19605, r19639, MPFR_RNDN);
        mpfr_mul(r19641, r19603, r19628, MPFR_RNDN);
        mpfr_add(r19642, r19641, r19594, MPFR_RNDN);
        mpfr_mul(r19643, r19640, r19642, MPFR_RNDN);
        mpfr_mul(r19644, r19590, r19539, MPFR_RNDN);
        mpfr_mul(r19645, r19539, r19644, MPFR_RNDN);
        mpfr_mul(r19646, r19618, r19549, MPFR_RNDN);
        mpfr_add(r19647, r19646, r19542, MPFR_RNDN);
        mpfr_add(r19648, r19645, r19647, MPFR_RNDN);
        mpfr_add(r19649, r19643, r19648, MPFR_RNDN);
        mpfr_add(r19650, r19623, r19573, MPFR_RNDN);
        mpfr_mul(r19651, r19639, r19650, MPFR_RNDN);
        mpfr_add(r19652, r19649, r19651, MPFR_RNDN);
        mpfr_div(r19653, r19638, r19652, MPFR_RNDN);
        mpfr_add(r19654, r19634, r19653, MPFR_RNDN);
        if (mpfr_get_si(r19602, MPFR_RNDN)) { mpfr_set(r19655, r19654, MPFR_RNDN); } else { mpfr_set(r19655, r19600, MPFR_RNDN); };
        if (mpfr_get_si(r19541, MPFR_RNDN)) { mpfr_set(r19656, r19600, MPFR_RNDN); } else { mpfr_set(r19656, r19655, MPFR_RNDN); };
        return mpfr_get_d(r19656, MPFR_RNDN);
}

static mpfr_t r19657, r19658, r19659, r19660, r19661, r19662, r19663, r19664, r19665, r19666, r19667, r19668, r19669, r19670, r19671, r19672, r19673, r19674, r19675, r19676, r19677, r19678, r19679, r19680, r19681, r19682, r19683, r19684, r19685, r19686, r19687, r19688, r19689, r19690, r19691, r19692, r19693, r19694, r19695, r19696, r19697, r19698, r19699, r19700, r19701, r19702, r19703, r19704, r19705, r19706, r19707, r19708, r19709, r19710, r19711, r19712, r19713, r19714, r19715, r19716, r19717, r19718, r19719, r19720, r19721, r19722, r19723, r19724, r19725, r19726, r19727, r19728, r19729, r19730, r19731, r19732, r19733, r19734, r19735, r19736, r19737, r19738, r19739, r19740, r19741, r19742, r19743, r19744, r19745, r19746, r19747, r19748, r19749, r19750, r19751, r19752, r19753, r19754, r19755, r19756, r19757, r19758, r19759, r19760, r19761, r19762, r19763, r19764, r19765, r19766, r19767, r19768, r19769, r19770, r19771, r19772, r19773, r19774;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19657);
        mpfr_init_set_str(r19658, "-1.8712086047983953e+24", 10, MPFR_RNDN);
        mpfr_init(r19659);
        mpfr_init_set_str(r19660, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19661, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19662);
        mpfr_init(r19663);
        mpfr_init(r19664);
        mpfr_init_set_str(r19665, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19666);
        mpfr_init(r19667);
        mpfr_init(r19668);
        mpfr_init(r19669);
        mpfr_init(r19670);
        mpfr_init_set_str(r19671, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19672);
        mpfr_init(r19673);
        mpfr_init(r19674);
        mpfr_init_set_str(r19675, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r19676, "10", 10, MPFR_RNDN);
        mpfr_init(r19677);
        mpfr_init(r19678);
        mpfr_init(r19679);
        mpfr_init_set_str(r19680, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19681);
        mpfr_init(r19682);
        mpfr_init(r19683);
        mpfr_init(r19684);
        mpfr_init(r19685);
        mpfr_init(r19686);
        mpfr_init(r19687);
        mpfr_init_set_str(r19688, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19689);
        mpfr_init(r19690);
        mpfr_init_set_str(r19691, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19692);
        mpfr_init(r19693);
        mpfr_init(r19694);
        mpfr_init_set_str(r19695, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19696);
        mpfr_init(r19697);
        mpfr_init(r19698);
        mpfr_init(r19699);
        mpfr_init(r19700);
        mpfr_init_set_str(r19701, "6", 10, MPFR_RNDN);
        mpfr_init(r19702);
        mpfr_init_set_str(r19703, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r19704);
        mpfr_init(r19705);
        mpfr_init(r19706);
        mpfr_init(r19707);
        mpfr_init_set_str(r19708, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19709);
        mpfr_init_set_str(r19710, "4", 10, MPFR_RNDN);
        mpfr_init(r19711);
        mpfr_init_set_str(r19712, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19713);
        mpfr_init(r19714);
        mpfr_init(r19715);
        mpfr_init(r19716);
        mpfr_init(r19717);
        mpfr_init(r19718);
        mpfr_init_set_str(r19719, "1.8449770898206623e+27", 10, MPFR_RNDN);
        mpfr_init(r19720);
        mpfr_init(r19721);
        mpfr_init(r19722);
        mpfr_init(r19723);
        mpfr_init(r19724);
        mpfr_init(r19725);
        mpfr_init(r19726);
        mpfr_init(r19727);
        mpfr_init(r19728);
        mpfr_init(r19729);
        mpfr_init(r19730);
        mpfr_init(r19731);
        mpfr_init(r19732);
        mpfr_init(r19733);
        mpfr_init(r19734);
        mpfr_init(r19735);
        mpfr_init(r19736);
        mpfr_init(r19737);
        mpfr_init(r19738);
        mpfr_init(r19739);
        mpfr_init(r19740);
        mpfr_init(r19741);
        mpfr_init(r19742);
        mpfr_init(r19743);
        mpfr_init(r19744);
        mpfr_init_set_str(r19745, "2", 10, MPFR_RNDN);
        mpfr_init(r19746);
        mpfr_init(r19747);
        mpfr_init(r19748);
        mpfr_init(r19749);
        mpfr_init(r19750);
        mpfr_init(r19751);
        mpfr_init(r19752);
        mpfr_init(r19753);
        mpfr_init(r19754);
        mpfr_init(r19755);
        mpfr_init(r19756);
        mpfr_init(r19757);
        mpfr_init(r19758);
        mpfr_init(r19759);
        mpfr_init(r19760);
        mpfr_init(r19761);
        mpfr_init(r19762);
        mpfr_init(r19763);
        mpfr_init(r19764);
        mpfr_init(r19765);
        mpfr_init(r19766);
        mpfr_init(r19767);
        mpfr_init(r19768);
        mpfr_init(r19769);
        mpfr_init(r19770);
        mpfr_init(r19771);
        mpfr_init(r19772);
        mpfr_init(r19773);
        mpfr_init(r19774);
}

double f_dm(double x) {
        mpfr_set_d(r19657, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19659, mpfr_cmp(r19657, r19658) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19662, r19657, r19657, MPFR_RNDN);
        mpfr_div(r19663, r19661, r19662, MPFR_RNDN);
        mpfr_add(r19664, r19660, r19663, MPFR_RNDN);
        ;
        mpfr_mul(r19666, r19665, r19660, MPFR_RNDN);
        mpfr_mul(r19667, r19657, r19657, MPFR_RNDN); mpfr_mul(r19667, r19667, r19657, MPFR_RNDN);
        mpfr_sqr(r19668, r19667, MPFR_RNDN);
        mpfr_div(r19669, r19666, r19668, MPFR_RNDN);
        mpfr_add(r19670, r19664, r19669, MPFR_RNDN);
        ;
        mpfr_mul(r19672, r19671, r19660, MPFR_RNDN);
        mpfr_div(r19673, r19672, r19667, MPFR_RNDN);
        mpfr_div(r19674, r19673, r19657, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19677, r19657, r19676, MPFR_RNDN);
        mpfr_div(r19678, r19675, r19677, MPFR_RNDN);
        mpfr_add(r19679, r19674, r19678, MPFR_RNDN);
        ;
        mpfr_mul(r19681, r19660, r19680, MPFR_RNDN);
        mpfr_div(r19682, r19681, r19668, MPFR_RNDN);
        mpfr_div(r19683, r19682, r19662, MPFR_RNDN);
        mpfr_add(r19684, r19679, r19683, MPFR_RNDN);
        mpfr_add(r19685, r19670, r19684, MPFR_RNDN);
        mpfr_div(r19686, r19660, r19657, MPFR_RNDN);
        mpfr_div(r19687, r19686, r19667, MPFR_RNDN);
        ;
        mpfr_mul(r19689, r19687, r19688, MPFR_RNDN);
        mpfr_add(r19690, r19660, r19689, MPFR_RNDN);
        ;
        mpfr_mul(r19692, r19691, r19660, MPFR_RNDN);
        mpfr_div(r19693, r19692, r19668, MPFR_RNDN);
        mpfr_add(r19694, r19690, r19693, MPFR_RNDN);
        ;
        mpfr_mul(r19696, r19660, r19695, MPFR_RNDN);
        mpfr_div(r19697, r19696, r19668, MPFR_RNDN);
        mpfr_div(r19698, r19697, r19662, MPFR_RNDN);
        mpfr_div(r19699, r19660, r19667, MPFR_RNDN);
        mpfr_mul(r19700, r19699, r19699, MPFR_RNDN);
        ;
        mpfr_pow(r19702, r19657, r19701, MPFR_RNDN);
        ;
        mpfr_div(r19704, r19702, r19703, MPFR_RNDN);
        mpfr_div(r19705, r19700, r19704, MPFR_RNDN);
        mpfr_add(r19706, r19698, r19705, MPFR_RNDN);
        mpfr_add(r19707, r19694, r19706, MPFR_RNDN);
        ;
        mpfr_div(r19709, r19708, r19662, MPFR_RNDN);
        ;
        mpfr_pow(r19711, r19657, r19710, MPFR_RNDN);
        ;
        mpfr_div(r19713, r19711, r19712, MPFR_RNDN);
        mpfr_div(r19714, r19700, r19713, MPFR_RNDN);
        mpfr_add(r19715, r19709, r19714, MPFR_RNDN);
        mpfr_add(r19716, r19707, r19715, MPFR_RNDN);
        mpfr_mul(r19717, r19716, r19657, MPFR_RNDN);
        mpfr_div(r19718, r19685, r19717, MPFR_RNDN);
        ;
        mpfr_set_si(r19720, mpfr_cmp(r19657, r19719) <= 0, MPFR_RNDN);
        mpfr_sqr(r19721, r19657, MPFR_RNDN);
        mpfr_mul(r19722, r19721, r19675, MPFR_RNDN);
        mpfr_mul(r19723, r19721, r19721, MPFR_RNDN);
        mpfr_mul(r19724, r19723, r19723, MPFR_RNDN);
        mpfr_mul(r19725, r19722, r19724, MPFR_RNDN);
        mpfr_mul(r19726, r19657, r19671, MPFR_RNDN);
        mpfr_mul(r19727, r19726, r19667, MPFR_RNDN);
        mpfr_add(r19728, r19727, r19660, MPFR_RNDN);
        mpfr_mul(r19729, r19661, r19721, MPFR_RNDN);
        mpfr_add(r19730, r19728, r19729, MPFR_RNDN);
        mpfr_add(r19731, r19725, r19730, MPFR_RNDN);
        mpfr_mul(r19732, r19657, r19731, MPFR_RNDN);
        mpfr_mul(r19733, r19657, r19708, MPFR_RNDN);
        mpfr_mul(r19734, r19733, r19657, MPFR_RNDN);
        mpfr_add(r19735, r19660, r19734, MPFR_RNDN);
        mpfr_mul(r19736, r19657, r19688, MPFR_RNDN);
        mpfr_mul(r19737, r19667, r19736, MPFR_RNDN);
        mpfr_add(r19738, r19735, r19737, MPFR_RNDN);
        mpfr_mul(r19739, r19667, r19667, MPFR_RNDN);
        mpfr_mul(r19740, r19695, r19657, MPFR_RNDN);
        mpfr_mul(r19741, r19657, r19740, MPFR_RNDN);
        mpfr_add(r19742, r19691, r19741, MPFR_RNDN);
        mpfr_mul(r19743, r19739, r19742, MPFR_RNDN);
        mpfr_mul(r19744, r19739, r19723, MPFR_RNDN);
        ;
        mpfr_mul(r19746, r19745, r19675, MPFR_RNDN);
        mpfr_mul(r19747, r19746, r19721, MPFR_RNDN);
        mpfr_add(r19748, r19747, r19712, MPFR_RNDN);
        mpfr_mul(r19749, r19744, r19748, MPFR_RNDN);
        mpfr_add(r19750, r19743, r19749, MPFR_RNDN);
        mpfr_add(r19751, r19738, r19750, MPFR_RNDN);
        mpfr_div(r19752, r19732, r19751, MPFR_RNDN);
        mpfr_mul(r19753, r19657, r19739, MPFR_RNDN);
        mpfr_mul(r19754, r19680, r19721, MPFR_RNDN);
        mpfr_add(r19755, r19754, r19665, MPFR_RNDN);
        mpfr_mul(r19756, r19753, r19755, MPFR_RNDN);
        mpfr_mul(r19757, r19721, r19721, MPFR_RNDN); mpfr_mul(r19757, r19757, r19721, MPFR_RNDN);
        mpfr_mul(r19758, r19723, r19757, MPFR_RNDN);
        mpfr_mul(r19759, r19721, r19746, MPFR_RNDN);
        mpfr_add(r19760, r19759, r19712, MPFR_RNDN);
        mpfr_mul(r19761, r19758, r19760, MPFR_RNDN);
        mpfr_mul(r19762, r19708, r19657, MPFR_RNDN);
        mpfr_mul(r19763, r19657, r19762, MPFR_RNDN);
        mpfr_mul(r19764, r19736, r19667, MPFR_RNDN);
        mpfr_add(r19765, r19764, r19660, MPFR_RNDN);
        mpfr_add(r19766, r19763, r19765, MPFR_RNDN);
        mpfr_add(r19767, r19761, r19766, MPFR_RNDN);
        mpfr_add(r19768, r19741, r19691, MPFR_RNDN);
        mpfr_mul(r19769, r19757, r19768, MPFR_RNDN);
        mpfr_add(r19770, r19767, r19769, MPFR_RNDN);
        mpfr_div(r19771, r19756, r19770, MPFR_RNDN);
        mpfr_add(r19772, r19752, r19771, MPFR_RNDN);
        if (mpfr_get_si(r19720, MPFR_RNDN)) { mpfr_set(r19773, r19772, MPFR_RNDN); } else { mpfr_set(r19773, r19718, MPFR_RNDN); };
        if (mpfr_get_si(r19659, MPFR_RNDN)) { mpfr_set(r19774, r19718, MPFR_RNDN); } else { mpfr_set(r19774, r19773, MPFR_RNDN); };
        return mpfr_get_d(r19774, MPFR_RNDN);
}

