#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 r26298 = atan2(1.0, 0.0);
        float r26299 = z;
        float r26300 = r26298 * r26299;
        float r26301 = sin(r26300);
        float r26302 = r26298 / r26301;
        float r26303 = 2;
        float r26304 = r26298 * r26303;
        float r26305 = sqrt(r26304);
        float r26306 = 1;
        float r26307 = r26306 - r26299;
        float r26308 = r26307 - r26306;
        float r26309 = 7;
        float r26310 = r26308 + r26309;
        float r26311 = 0.5;
        float r26312 = r26310 + r26311;
        float r26313 = r26308 + r26311;
        float r26314 = pow(r26312, r26313);
        float r26315 = r26305 * r26314;
        float r26316 = -r26312;
        float r26317 = exp(r26316);
        float r26318 = r26315 * r26317;
        float r26319 = 0.9999999999998099;
        float r26320 = 676.5203681218851;
        float r26321 = r26308 + r26306;
        float r26322 = r26320 / r26321;
        float r26323 = r26319 + r26322;
        float r26324 = -1259.1392167224028;
        float r26325 = r26308 + r26303;
        float r26326 = r26324 / r26325;
        float r26327 = r26323 + r26326;
        float r26328 = 771.3234287776531;
        float r26329 = 3;
        float r26330 = r26308 + r26329;
        float r26331 = r26328 / r26330;
        float r26332 = r26327 + r26331;
        float r26333 = -176.6150291621406;
        float r26334 = 4;
        float r26335 = r26308 + r26334;
        float r26336 = r26333 / r26335;
        float r26337 = r26332 + r26336;
        float r26338 = 12.507343278686905;
        float r26339 = 5;
        float r26340 = r26308 + r26339;
        float r26341 = r26338 / r26340;
        float r26342 = r26337 + r26341;
        float r26343 = -0.13857109526572012;
        float r26344 = 6;
        float r26345 = r26308 + r26344;
        float r26346 = r26343 / r26345;
        float r26347 = r26342 + r26346;
        float r26348 = 9.984369578019572e-06;
        float r26349 = r26348 / r26310;
        float r26350 = r26347 + r26349;
        float r26351 = 1.5056327351493116e-07;
        float r26352 = 8;
        float r26353 = r26308 + r26352;
        float r26354 = r26351 / r26353;
        float r26355 = r26350 + r26354;
        float r26356 = r26318 * r26355;
        float r26357 = r26302 * r26356;
        return r26357;
}

double f_id(double z) {
        double r26358 = atan2(1.0, 0.0);
        double r26359 = z;
        double r26360 = r26358 * r26359;
        double r26361 = sin(r26360);
        double r26362 = r26358 / r26361;
        double r26363 = 2;
        double r26364 = r26358 * r26363;
        double r26365 = sqrt(r26364);
        double r26366 = 1;
        double r26367 = r26366 - r26359;
        double r26368 = r26367 - r26366;
        double r26369 = 7;
        double r26370 = r26368 + r26369;
        double r26371 = 0.5;
        double r26372 = r26370 + r26371;
        double r26373 = r26368 + r26371;
        double r26374 = pow(r26372, r26373);
        double r26375 = r26365 * r26374;
        double r26376 = -r26372;
        double r26377 = exp(r26376);
        double r26378 = r26375 * r26377;
        double r26379 = 0.9999999999998099;
        double r26380 = 676.5203681218851;
        double r26381 = r26368 + r26366;
        double r26382 = r26380 / r26381;
        double r26383 = r26379 + r26382;
        double r26384 = -1259.1392167224028;
        double r26385 = r26368 + r26363;
        double r26386 = r26384 / r26385;
        double r26387 = r26383 + r26386;
        double r26388 = 771.3234287776531;
        double r26389 = 3;
        double r26390 = r26368 + r26389;
        double r26391 = r26388 / r26390;
        double r26392 = r26387 + r26391;
        double r26393 = -176.6150291621406;
        double r26394 = 4;
        double r26395 = r26368 + r26394;
        double r26396 = r26393 / r26395;
        double r26397 = r26392 + r26396;
        double r26398 = 12.507343278686905;
        double r26399 = 5;
        double r26400 = r26368 + r26399;
        double r26401 = r26398 / r26400;
        double r26402 = r26397 + r26401;
        double r26403 = -0.13857109526572012;
        double r26404 = 6;
        double r26405 = r26368 + r26404;
        double r26406 = r26403 / r26405;
        double r26407 = r26402 + r26406;
        double r26408 = 9.984369578019572e-06;
        double r26409 = r26408 / r26370;
        double r26410 = r26407 + r26409;
        double r26411 = 1.5056327351493116e-07;
        double r26412 = 8;
        double r26413 = r26368 + r26412;
        double r26414 = r26411 / r26413;
        double r26415 = r26410 + r26414;
        double r26416 = r26378 * r26415;
        double r26417 = r26362 * r26416;
        return r26417;
}


double f_of(float z) {
        float r26418 = atan2(1.0, 0.0);
        float r26419 = z;
        float r26420 = r26419 * r26418;
        float r26421 = sin(r26420);
        float r26422 = r26418 / r26421;
        float r26423 = 2;
        float r26424 = r26418 * r26423;
        float r26425 = sqrt(r26424);
        float r26426 = r26425 * r26424;
        float r26427 = cbrt(r26426);
        float r26428 = 0.5;
        float r26429 = 1;
        float r26430 = r26429 - r26419;
        float r26431 = r26428 + r26430;
        float r26432 = 7;
        float r26433 = r26429 - r26432;
        float r26434 = r26431 - r26433;
        float r26435 = r26429 - r26428;
        float r26436 = r26430 - r26435;
        float r26437 = pow(r26434, r26436);
        float r26438 = r26427 * r26437;
        float r26439 = r26422 * r26438;
        float r26440 = -r26434;
        float r26441 = exp(r26440);
        float r26442 = r26439 * r26441;
        float r26443 = 0.9999999999998099;
        float r26444 = 676.5203681218851;
        float r26445 = 0;
        float r26446 = r26430 - r26445;
        float r26447 = r26444 / r26446;
        float r26448 = r26443 + r26447;
        float r26449 = 771.3234287776531;
        float r26450 = 3;
        float r26451 = r26450 + r26429;
        float r26452 = r26429 + r26419;
        float r26453 = r26451 - r26452;
        float r26454 = r26449 / r26453;
        float r26455 = -1259.1392167224028;
        float r26456 = r26423 + r26429;
        float r26457 = r26456 - r26452;
        float r26458 = r26455 / r26457;
        float r26459 = r26454 + r26458;
        float r26460 = r26448 + r26459;
        float r26461 = -176.6150291621406;
        float r26462 = 4;
        float r26463 = r26429 - r26462;
        float r26464 = r26430 - r26463;
        float r26465 = r26461 / r26464;
        float r26466 = r26460 + r26465;
        float r26467 = -0.13857109526572012;
        float r26468 = 6;
        float r26469 = r26468 + r26429;
        float r26470 = r26469 - r26452;
        float r26471 = r26467 / r26470;
        float r26472 = 12.507343278686905;
        float r26473 = 5;
        float r26474 = r26429 - r26473;
        float r26475 = r26430 - r26474;
        float r26476 = r26472 / r26475;
        float r26477 = r26471 + r26476;
        float r26478 = 9.984369578019572e-06;
        float r26479 = r26430 - r26433;
        float r26480 = r26478 / r26479;
        float r26481 = 1.5056327351493116e-07;
        float r26482 = 8;
        float r26483 = r26482 + r26429;
        float r26484 = r26483 - r26452;
        float r26485 = r26481 / r26484;
        float r26486 = r26480 + r26485;
        float r26487 = r26477 + r26486;
        float r26488 = r26466 + r26487;
        float r26489 = r26442 * r26488;
        return r26489;
}

double f_od(double z) {
        double r26490 = atan2(1.0, 0.0);
        double r26491 = z;
        double r26492 = r26491 * r26490;
        double r26493 = sin(r26492);
        double r26494 = r26490 / r26493;
        double r26495 = 2;
        double r26496 = r26490 * r26495;
        double r26497 = sqrt(r26496);
        double r26498 = r26497 * r26496;
        double r26499 = cbrt(r26498);
        double r26500 = 0.5;
        double r26501 = 1;
        double r26502 = r26501 - r26491;
        double r26503 = r26500 + r26502;
        double r26504 = 7;
        double r26505 = r26501 - r26504;
        double r26506 = r26503 - r26505;
        double r26507 = r26501 - r26500;
        double r26508 = r26502 - r26507;
        double r26509 = pow(r26506, r26508);
        double r26510 = r26499 * r26509;
        double r26511 = r26494 * r26510;
        double r26512 = -r26506;
        double r26513 = exp(r26512);
        double r26514 = r26511 * r26513;
        double r26515 = 0.9999999999998099;
        double r26516 = 676.5203681218851;
        double r26517 = 0;
        double r26518 = r26502 - r26517;
        double r26519 = r26516 / r26518;
        double r26520 = r26515 + r26519;
        double r26521 = 771.3234287776531;
        double r26522 = 3;
        double r26523 = r26522 + r26501;
        double r26524 = r26501 + r26491;
        double r26525 = r26523 - r26524;
        double r26526 = r26521 / r26525;
        double r26527 = -1259.1392167224028;
        double r26528 = r26495 + r26501;
        double r26529 = r26528 - r26524;
        double r26530 = r26527 / r26529;
        double r26531 = r26526 + r26530;
        double r26532 = r26520 + r26531;
        double r26533 = -176.6150291621406;
        double r26534 = 4;
        double r26535 = r26501 - r26534;
        double r26536 = r26502 - r26535;
        double r26537 = r26533 / r26536;
        double r26538 = r26532 + r26537;
        double r26539 = -0.13857109526572012;
        double r26540 = 6;
        double r26541 = r26540 + r26501;
        double r26542 = r26541 - r26524;
        double r26543 = r26539 / r26542;
        double r26544 = 12.507343278686905;
        double r26545 = 5;
        double r26546 = r26501 - r26545;
        double r26547 = r26502 - r26546;
        double r26548 = r26544 / r26547;
        double r26549 = r26543 + r26548;
        double r26550 = 9.984369578019572e-06;
        double r26551 = r26502 - r26505;
        double r26552 = r26550 / r26551;
        double r26553 = 1.5056327351493116e-07;
        double r26554 = 8;
        double r26555 = r26554 + r26501;
        double r26556 = r26555 - r26524;
        double r26557 = r26553 / r26556;
        double r26558 = r26552 + r26557;
        double r26559 = r26549 + r26558;
        double r26560 = r26538 + r26559;
        double r26561 = r26514 * r26560;
        return r26561;
}

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 r26562, r26563, r26564, r26565, r26566, r26567, r26568, r26569, r26570, r26571, r26572, r26573, r26574, r26575, r26576, r26577, r26578, r26579, r26580, r26581, r26582, r26583, r26584, r26585, r26586, r26587, r26588, r26589, r26590, r26591, r26592, r26593, r26594, r26595, r26596, r26597, r26598, r26599, r26600, r26601, r26602, r26603, r26604, r26605, r26606, r26607, r26608, r26609, r26610, r26611, r26612, r26613, r26614, r26615, r26616, r26617, r26618, r26619, r26620, r26621;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26562);
        mpfr_init(r26563);
        mpfr_init(r26564);
        mpfr_init(r26565);
        mpfr_init(r26566);
        mpfr_init_set_str(r26567, "2", 10, MPFR_RNDN);
        mpfr_init(r26568);
        mpfr_init(r26569);
        mpfr_init_set_str(r26570, "1", 10, MPFR_RNDN);
        mpfr_init(r26571);
        mpfr_init(r26572);
        mpfr_init_set_str(r26573, "7", 10, MPFR_RNDN);
        mpfr_init(r26574);
        mpfr_init_set_str(r26575, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26576);
        mpfr_init(r26577);
        mpfr_init(r26578);
        mpfr_init(r26579);
        mpfr_init(r26580);
        mpfr_init(r26581);
        mpfr_init(r26582);
        mpfr_init_set_str(r26583, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26584, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26585);
        mpfr_init(r26586);
        mpfr_init(r26587);
        mpfr_init_set_str(r26588, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26589);
        mpfr_init(r26590);
        mpfr_init(r26591);
        mpfr_init_set_str(r26592, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26593, "3", 10, MPFR_RNDN);
        mpfr_init(r26594);
        mpfr_init(r26595);
        mpfr_init(r26596);
        mpfr_init_set_str(r26597, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26598, "4", 10, MPFR_RNDN);
        mpfr_init(r26599);
        mpfr_init(r26600);
        mpfr_init(r26601);
        mpfr_init_set_str(r26602, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26603, "5", 10, MPFR_RNDN);
        mpfr_init(r26604);
        mpfr_init(r26605);
        mpfr_init(r26606);
        mpfr_init_set_str(r26607, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26608, "6", 10, MPFR_RNDN);
        mpfr_init(r26609);
        mpfr_init(r26610);
        mpfr_init(r26611);
        mpfr_init_set_str(r26612, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26613);
        mpfr_init(r26614);
        mpfr_init_set_str(r26615, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26616, "8", 10, MPFR_RNDN);
        mpfr_init(r26617);
        mpfr_init(r26618);
        mpfr_init(r26619);
        mpfr_init(r26620);
        mpfr_init(r26621);
}

double f_im(double z) {
        mpfr_const_pi(r26562, MPFR_RNDN);
        mpfr_set_d(r26563, z, MPFR_RNDN);
        mpfr_mul(r26564, r26562, r26563, MPFR_RNDN);
        mpfr_sin(r26565, r26564, MPFR_RNDN);
        mpfr_div(r26566, r26562, r26565, MPFR_RNDN);
        ;
        mpfr_mul(r26568, r26562, r26567, MPFR_RNDN);
        mpfr_sqrt(r26569, r26568, MPFR_RNDN);
        ;
        mpfr_sub(r26571, r26570, r26563, MPFR_RNDN);
        mpfr_sub(r26572, r26571, r26570, MPFR_RNDN);
        ;
        mpfr_add(r26574, r26572, r26573, MPFR_RNDN);
        ;
        mpfr_add(r26576, r26574, r26575, MPFR_RNDN);
        mpfr_add(r26577, r26572, r26575, MPFR_RNDN);
        mpfr_pow(r26578, r26576, r26577, MPFR_RNDN);
        mpfr_mul(r26579, r26569, r26578, MPFR_RNDN);
        mpfr_neg(r26580, r26576, MPFR_RNDN);
        mpfr_exp(r26581, r26580, MPFR_RNDN);
        mpfr_mul(r26582, r26579, r26581, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26585, r26572, r26570, MPFR_RNDN);
        mpfr_div(r26586, r26584, r26585, MPFR_RNDN);
        mpfr_add(r26587, r26583, r26586, MPFR_RNDN);
        ;
        mpfr_add(r26589, r26572, r26567, MPFR_RNDN);
        mpfr_div(r26590, r26588, r26589, MPFR_RNDN);
        mpfr_add(r26591, r26587, r26590, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26594, r26572, r26593, MPFR_RNDN);
        mpfr_div(r26595, r26592, r26594, MPFR_RNDN);
        mpfr_add(r26596, r26591, r26595, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26599, r26572, r26598, MPFR_RNDN);
        mpfr_div(r26600, r26597, r26599, MPFR_RNDN);
        mpfr_add(r26601, r26596, r26600, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26604, r26572, r26603, MPFR_RNDN);
        mpfr_div(r26605, r26602, r26604, MPFR_RNDN);
        mpfr_add(r26606, r26601, r26605, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26609, r26572, r26608, MPFR_RNDN);
        mpfr_div(r26610, r26607, r26609, MPFR_RNDN);
        mpfr_add(r26611, r26606, r26610, MPFR_RNDN);
        ;
        mpfr_div(r26613, r26612, r26574, MPFR_RNDN);
        mpfr_add(r26614, r26611, r26613, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26617, r26572, r26616, MPFR_RNDN);
        mpfr_div(r26618, r26615, r26617, MPFR_RNDN);
        mpfr_add(r26619, r26614, r26618, MPFR_RNDN);
        mpfr_mul(r26620, r26582, r26619, MPFR_RNDN);
        mpfr_mul(r26621, r26566, r26620, MPFR_RNDN);
        return mpfr_get_d(r26621, MPFR_RNDN);
}

static mpfr_t r26622, r26623, r26624, r26625, r26626, r26627, r26628, r26629, r26630, r26631, r26632, r26633, r26634, r26635, r26636, r26637, r26638, r26639, r26640, r26641, r26642, r26643, r26644, r26645, r26646, r26647, r26648, r26649, r26650, r26651, r26652, r26653, r26654, r26655, r26656, r26657, r26658, r26659, r26660, r26661, r26662, r26663, r26664, r26665, r26666, r26667, r26668, r26669, r26670, r26671, r26672, r26673, r26674, r26675, r26676, r26677, r26678, r26679, r26680, r26681, r26682, r26683, r26684, r26685, r26686, r26687, r26688, r26689, r26690, r26691, r26692, r26693;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26622);
        mpfr_init(r26623);
        mpfr_init(r26624);
        mpfr_init(r26625);
        mpfr_init(r26626);
        mpfr_init_set_str(r26627, "2", 10, MPFR_RNDN);
        mpfr_init(r26628);
        mpfr_init(r26629);
        mpfr_init(r26630);
        mpfr_init(r26631);
        mpfr_init_set_str(r26632, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26633, "1", 10, MPFR_RNDN);
        mpfr_init(r26634);
        mpfr_init(r26635);
        mpfr_init_set_str(r26636, "7", 10, MPFR_RNDN);
        mpfr_init(r26637);
        mpfr_init(r26638);
        mpfr_init(r26639);
        mpfr_init(r26640);
        mpfr_init(r26641);
        mpfr_init(r26642);
        mpfr_init(r26643);
        mpfr_init(r26644);
        mpfr_init(r26645);
        mpfr_init(r26646);
        mpfr_init_set_str(r26647, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26648, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r26649, "0", 10, MPFR_RNDN);
        mpfr_init(r26650);
        mpfr_init(r26651);
        mpfr_init(r26652);
        mpfr_init_set_str(r26653, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26654, "3", 10, MPFR_RNDN);
        mpfr_init(r26655);
        mpfr_init(r26656);
        mpfr_init(r26657);
        mpfr_init(r26658);
        mpfr_init_set_str(r26659, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26660);
        mpfr_init(r26661);
        mpfr_init(r26662);
        mpfr_init(r26663);
        mpfr_init(r26664);
        mpfr_init_set_str(r26665, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26666, "4", 10, MPFR_RNDN);
        mpfr_init(r26667);
        mpfr_init(r26668);
        mpfr_init(r26669);
        mpfr_init(r26670);
        mpfr_init_set_str(r26671, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26672, "6", 10, MPFR_RNDN);
        mpfr_init(r26673);
        mpfr_init(r26674);
        mpfr_init(r26675);
        mpfr_init_set_str(r26676, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26677, "5", 10, MPFR_RNDN);
        mpfr_init(r26678);
        mpfr_init(r26679);
        mpfr_init(r26680);
        mpfr_init(r26681);
        mpfr_init_set_str(r26682, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26683);
        mpfr_init(r26684);
        mpfr_init_set_str(r26685, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26686, "8", 10, MPFR_RNDN);
        mpfr_init(r26687);
        mpfr_init(r26688);
        mpfr_init(r26689);
        mpfr_init(r26690);
        mpfr_init(r26691);
        mpfr_init(r26692);
        mpfr_init(r26693);
}

double f_fm(double z) {
        mpfr_const_pi(r26622, MPFR_RNDN);
        mpfr_set_d(r26623, z, MPFR_RNDN);
        mpfr_mul(r26624, r26623, r26622, MPFR_RNDN);
        mpfr_sin(r26625, r26624, MPFR_RNDN);
        mpfr_div(r26626, r26622, r26625, MPFR_RNDN);
        ;
        mpfr_mul(r26628, r26622, r26627, MPFR_RNDN);
        mpfr_sqrt(r26629, r26628, MPFR_RNDN);
        mpfr_mul(r26630, r26629, r26628, MPFR_RNDN);
        mpfr_cbrt(r26631, r26630, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26634, r26633, r26623, MPFR_RNDN);
        mpfr_add(r26635, r26632, r26634, MPFR_RNDN);
        ;
        mpfr_sub(r26637, r26633, r26636, MPFR_RNDN);
        mpfr_sub(r26638, r26635, r26637, MPFR_RNDN);
        mpfr_sub(r26639, r26633, r26632, MPFR_RNDN);
        mpfr_sub(r26640, r26634, r26639, MPFR_RNDN);
        mpfr_pow(r26641, r26638, r26640, MPFR_RNDN);
        mpfr_mul(r26642, r26631, r26641, MPFR_RNDN);
        mpfr_mul(r26643, r26626, r26642, MPFR_RNDN);
        mpfr_neg(r26644, r26638, MPFR_RNDN);
        mpfr_exp(r26645, r26644, MPFR_RNDN);
        mpfr_mul(r26646, r26643, r26645, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r26650, r26634, r26649, MPFR_RNDN);
        mpfr_div(r26651, r26648, r26650, MPFR_RNDN);
        mpfr_add(r26652, r26647, r26651, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26655, r26654, r26633, MPFR_RNDN);
        mpfr_add(r26656, r26633, r26623, MPFR_RNDN);
        mpfr_sub(r26657, r26655, r26656, MPFR_RNDN);
        mpfr_div(r26658, r26653, r26657, MPFR_RNDN);
        ;
        mpfr_add(r26660, r26627, r26633, MPFR_RNDN);
        mpfr_sub(r26661, r26660, r26656, MPFR_RNDN);
        mpfr_div(r26662, r26659, r26661, MPFR_RNDN);
        mpfr_add(r26663, r26658, r26662, MPFR_RNDN);
        mpfr_add(r26664, r26652, r26663, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26667, r26633, r26666, MPFR_RNDN);
        mpfr_sub(r26668, r26634, r26667, MPFR_RNDN);
        mpfr_div(r26669, r26665, r26668, MPFR_RNDN);
        mpfr_add(r26670, r26664, r26669, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26673, r26672, r26633, MPFR_RNDN);
        mpfr_sub(r26674, r26673, r26656, MPFR_RNDN);
        mpfr_div(r26675, r26671, r26674, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26678, r26633, r26677, MPFR_RNDN);
        mpfr_sub(r26679, r26634, r26678, MPFR_RNDN);
        mpfr_div(r26680, r26676, r26679, MPFR_RNDN);
        mpfr_add(r26681, r26675, r26680, MPFR_RNDN);
        ;
        mpfr_sub(r26683, r26634, r26637, MPFR_RNDN);
        mpfr_div(r26684, r26682, r26683, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26687, r26686, r26633, MPFR_RNDN);
        mpfr_sub(r26688, r26687, r26656, MPFR_RNDN);
        mpfr_div(r26689, r26685, r26688, MPFR_RNDN);
        mpfr_add(r26690, r26684, r26689, MPFR_RNDN);
        mpfr_add(r26691, r26681, r26690, MPFR_RNDN);
        mpfr_add(r26692, r26670, r26691, MPFR_RNDN);
        mpfr_mul(r26693, r26646, r26692, MPFR_RNDN);
        return mpfr_get_d(r26693, MPFR_RNDN);
}

static mpfr_t r26694, r26695, r26696, r26697, r26698, r26699, r26700, r26701, r26702, r26703, r26704, r26705, r26706, r26707, r26708, r26709, r26710, r26711, r26712, r26713, r26714, r26715, r26716, r26717, r26718, r26719, r26720, r26721, r26722, r26723, r26724, r26725, r26726, r26727, r26728, r26729, r26730, r26731, r26732, r26733, r26734, r26735, r26736, r26737, r26738, r26739, r26740, r26741, r26742, r26743, r26744, r26745, r26746, r26747, r26748, r26749, r26750, r26751, r26752, r26753, r26754, r26755, r26756, r26757, r26758, r26759, r26760, r26761, r26762, r26763, r26764, r26765;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26694);
        mpfr_init(r26695);
        mpfr_init(r26696);
        mpfr_init(r26697);
        mpfr_init(r26698);
        mpfr_init_set_str(r26699, "2", 10, MPFR_RNDN);
        mpfr_init(r26700);
        mpfr_init(r26701);
        mpfr_init(r26702);
        mpfr_init(r26703);
        mpfr_init_set_str(r26704, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26705, "1", 10, MPFR_RNDN);
        mpfr_init(r26706);
        mpfr_init(r26707);
        mpfr_init_set_str(r26708, "7", 10, MPFR_RNDN);
        mpfr_init(r26709);
        mpfr_init(r26710);
        mpfr_init(r26711);
        mpfr_init(r26712);
        mpfr_init(r26713);
        mpfr_init(r26714);
        mpfr_init(r26715);
        mpfr_init(r26716);
        mpfr_init(r26717);
        mpfr_init(r26718);
        mpfr_init_set_str(r26719, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26720, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r26721, "0", 10, MPFR_RNDN);
        mpfr_init(r26722);
        mpfr_init(r26723);
        mpfr_init(r26724);
        mpfr_init_set_str(r26725, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26726, "3", 10, MPFR_RNDN);
        mpfr_init(r26727);
        mpfr_init(r26728);
        mpfr_init(r26729);
        mpfr_init(r26730);
        mpfr_init_set_str(r26731, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26732);
        mpfr_init(r26733);
        mpfr_init(r26734);
        mpfr_init(r26735);
        mpfr_init(r26736);
        mpfr_init_set_str(r26737, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26738, "4", 10, MPFR_RNDN);
        mpfr_init(r26739);
        mpfr_init(r26740);
        mpfr_init(r26741);
        mpfr_init(r26742);
        mpfr_init_set_str(r26743, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26744, "6", 10, MPFR_RNDN);
        mpfr_init(r26745);
        mpfr_init(r26746);
        mpfr_init(r26747);
        mpfr_init_set_str(r26748, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26749, "5", 10, MPFR_RNDN);
        mpfr_init(r26750);
        mpfr_init(r26751);
        mpfr_init(r26752);
        mpfr_init(r26753);
        mpfr_init_set_str(r26754, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26755);
        mpfr_init(r26756);
        mpfr_init_set_str(r26757, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26758, "8", 10, MPFR_RNDN);
        mpfr_init(r26759);
        mpfr_init(r26760);
        mpfr_init(r26761);
        mpfr_init(r26762);
        mpfr_init(r26763);
        mpfr_init(r26764);
        mpfr_init(r26765);
}

double f_dm(double z) {
        mpfr_const_pi(r26694, MPFR_RNDN);
        mpfr_set_d(r26695, z, MPFR_RNDN);
        mpfr_mul(r26696, r26695, r26694, MPFR_RNDN);
        mpfr_sin(r26697, r26696, MPFR_RNDN);
        mpfr_div(r26698, r26694, r26697, MPFR_RNDN);
        ;
        mpfr_mul(r26700, r26694, r26699, MPFR_RNDN);
        mpfr_sqrt(r26701, r26700, MPFR_RNDN);
        mpfr_mul(r26702, r26701, r26700, MPFR_RNDN);
        mpfr_cbrt(r26703, r26702, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26706, r26705, r26695, MPFR_RNDN);
        mpfr_add(r26707, r26704, r26706, MPFR_RNDN);
        ;
        mpfr_sub(r26709, r26705, r26708, MPFR_RNDN);
        mpfr_sub(r26710, r26707, r26709, MPFR_RNDN);
        mpfr_sub(r26711, r26705, r26704, MPFR_RNDN);
        mpfr_sub(r26712, r26706, r26711, MPFR_RNDN);
        mpfr_pow(r26713, r26710, r26712, MPFR_RNDN);
        mpfr_mul(r26714, r26703, r26713, MPFR_RNDN);
        mpfr_mul(r26715, r26698, r26714, MPFR_RNDN);
        mpfr_neg(r26716, r26710, MPFR_RNDN);
        mpfr_exp(r26717, r26716, MPFR_RNDN);
        mpfr_mul(r26718, r26715, r26717, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r26722, r26706, r26721, MPFR_RNDN);
        mpfr_div(r26723, r26720, r26722, MPFR_RNDN);
        mpfr_add(r26724, r26719, r26723, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26727, r26726, r26705, MPFR_RNDN);
        mpfr_add(r26728, r26705, r26695, MPFR_RNDN);
        mpfr_sub(r26729, r26727, r26728, MPFR_RNDN);
        mpfr_div(r26730, r26725, r26729, MPFR_RNDN);
        ;
        mpfr_add(r26732, r26699, r26705, MPFR_RNDN);
        mpfr_sub(r26733, r26732, r26728, MPFR_RNDN);
        mpfr_div(r26734, r26731, r26733, MPFR_RNDN);
        mpfr_add(r26735, r26730, r26734, MPFR_RNDN);
        mpfr_add(r26736, r26724, r26735, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26739, r26705, r26738, MPFR_RNDN);
        mpfr_sub(r26740, r26706, r26739, MPFR_RNDN);
        mpfr_div(r26741, r26737, r26740, MPFR_RNDN);
        mpfr_add(r26742, r26736, r26741, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26745, r26744, r26705, MPFR_RNDN);
        mpfr_sub(r26746, r26745, r26728, MPFR_RNDN);
        mpfr_div(r26747, r26743, r26746, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26750, r26705, r26749, MPFR_RNDN);
        mpfr_sub(r26751, r26706, r26750, MPFR_RNDN);
        mpfr_div(r26752, r26748, r26751, MPFR_RNDN);
        mpfr_add(r26753, r26747, r26752, MPFR_RNDN);
        ;
        mpfr_sub(r26755, r26706, r26709, MPFR_RNDN);
        mpfr_div(r26756, r26754, r26755, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26759, r26758, r26705, MPFR_RNDN);
        mpfr_sub(r26760, r26759, r26728, MPFR_RNDN);
        mpfr_div(r26761, r26757, r26760, MPFR_RNDN);
        mpfr_add(r26762, r26756, r26761, MPFR_RNDN);
        mpfr_add(r26763, r26753, r26762, MPFR_RNDN);
        mpfr_add(r26764, r26742, r26763, MPFR_RNDN);
        mpfr_mul(r26765, r26718, r26764, MPFR_RNDN);
        return mpfr_get_d(r26765, MPFR_RNDN);
}

