#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 r26335 = atan2(1.0, 0.0);
        float r26336 = z;
        float r26337 = r26335 * r26336;
        float r26338 = sin(r26337);
        float r26339 = r26335 / r26338;
        float r26340 = 2;
        float r26341 = r26335 * r26340;
        float r26342 = sqrt(r26341);
        float r26343 = 1;
        float r26344 = r26343 - r26336;
        float r26345 = r26344 - r26343;
        float r26346 = 7;
        float r26347 = r26345 + r26346;
        float r26348 = 0.5;
        float r26349 = r26347 + r26348;
        float r26350 = r26345 + r26348;
        float r26351 = pow(r26349, r26350);
        float r26352 = r26342 * r26351;
        float r26353 = -r26349;
        float r26354 = exp(r26353);
        float r26355 = r26352 * r26354;
        float r26356 = 0.9999999999998099;
        float r26357 = 676.5203681218851;
        float r26358 = r26345 + r26343;
        float r26359 = r26357 / r26358;
        float r26360 = r26356 + r26359;
        float r26361 = -1259.1392167224028;
        float r26362 = r26345 + r26340;
        float r26363 = r26361 / r26362;
        float r26364 = r26360 + r26363;
        float r26365 = 771.3234287776531;
        float r26366 = 3;
        float r26367 = r26345 + r26366;
        float r26368 = r26365 / r26367;
        float r26369 = r26364 + r26368;
        float r26370 = -176.6150291621406;
        float r26371 = 4;
        float r26372 = r26345 + r26371;
        float r26373 = r26370 / r26372;
        float r26374 = r26369 + r26373;
        float r26375 = 12.507343278686905;
        float r26376 = 5;
        float r26377 = r26345 + r26376;
        float r26378 = r26375 / r26377;
        float r26379 = r26374 + r26378;
        float r26380 = -0.13857109526572012;
        float r26381 = 6;
        float r26382 = r26345 + r26381;
        float r26383 = r26380 / r26382;
        float r26384 = r26379 + r26383;
        float r26385 = 9.984369578019572e-06;
        float r26386 = r26385 / r26347;
        float r26387 = r26384 + r26386;
        float r26388 = 1.5056327351493116e-07;
        float r26389 = 8;
        float r26390 = r26345 + r26389;
        float r26391 = r26388 / r26390;
        float r26392 = r26387 + r26391;
        float r26393 = r26355 * r26392;
        float r26394 = r26339 * r26393;
        return r26394;
}

double f_id(double z) {
        double r26395 = atan2(1.0, 0.0);
        double r26396 = z;
        double r26397 = r26395 * r26396;
        double r26398 = sin(r26397);
        double r26399 = r26395 / r26398;
        double r26400 = 2;
        double r26401 = r26395 * r26400;
        double r26402 = sqrt(r26401);
        double r26403 = 1;
        double r26404 = r26403 - r26396;
        double r26405 = r26404 - r26403;
        double r26406 = 7;
        double r26407 = r26405 + r26406;
        double r26408 = 0.5;
        double r26409 = r26407 + r26408;
        double r26410 = r26405 + r26408;
        double r26411 = pow(r26409, r26410);
        double r26412 = r26402 * r26411;
        double r26413 = -r26409;
        double r26414 = exp(r26413);
        double r26415 = r26412 * r26414;
        double r26416 = 0.9999999999998099;
        double r26417 = 676.5203681218851;
        double r26418 = r26405 + r26403;
        double r26419 = r26417 / r26418;
        double r26420 = r26416 + r26419;
        double r26421 = -1259.1392167224028;
        double r26422 = r26405 + r26400;
        double r26423 = r26421 / r26422;
        double r26424 = r26420 + r26423;
        double r26425 = 771.3234287776531;
        double r26426 = 3;
        double r26427 = r26405 + r26426;
        double r26428 = r26425 / r26427;
        double r26429 = r26424 + r26428;
        double r26430 = -176.6150291621406;
        double r26431 = 4;
        double r26432 = r26405 + r26431;
        double r26433 = r26430 / r26432;
        double r26434 = r26429 + r26433;
        double r26435 = 12.507343278686905;
        double r26436 = 5;
        double r26437 = r26405 + r26436;
        double r26438 = r26435 / r26437;
        double r26439 = r26434 + r26438;
        double r26440 = -0.13857109526572012;
        double r26441 = 6;
        double r26442 = r26405 + r26441;
        double r26443 = r26440 / r26442;
        double r26444 = r26439 + r26443;
        double r26445 = 9.984369578019572e-06;
        double r26446 = r26445 / r26407;
        double r26447 = r26444 + r26446;
        double r26448 = 1.5056327351493116e-07;
        double r26449 = 8;
        double r26450 = r26405 + r26449;
        double r26451 = r26448 / r26450;
        double r26452 = r26447 + r26451;
        double r26453 = r26415 * r26452;
        double r26454 = r26399 * r26453;
        return r26454;
}


double f_of(float z) {
        float r26455 = atan2(1.0, 0.0);
        float r26456 = z;
        float r26457 = r26456 * r26455;
        float r26458 = sin(r26457);
        float r26459 = r26455 / r26458;
        float r26460 = 2;
        float r26461 = r26455 * r26460;
        float r26462 = sqrt(r26461);
        float r26463 = r26462 * r26461;
        float r26464 = cbrt(r26463);
        float r26465 = 0.5;
        float r26466 = 1;
        float r26467 = r26466 - r26456;
        float r26468 = r26465 + r26467;
        float r26469 = 7;
        float r26470 = r26466 - r26469;
        float r26471 = r26468 - r26470;
        float r26472 = r26466 - r26465;
        float r26473 = r26467 - r26472;
        float r26474 = pow(r26471, r26473);
        float r26475 = r26464 * r26474;
        float r26476 = r26459 * r26475;
        float r26477 = -r26471;
        float r26478 = exp(r26477);
        float r26479 = r26476 * r26478;
        float r26480 = 0.9999999999998099;
        float r26481 = 676.5203681218851;
        float r26482 = 0;
        float r26483 = r26467 - r26482;
        float r26484 = r26481 / r26483;
        float r26485 = r26480 + r26484;
        float r26486 = 771.3234287776531;
        float r26487 = 3;
        float r26488 = r26487 + r26466;
        float r26489 = r26466 + r26456;
        float r26490 = r26488 - r26489;
        float r26491 = r26486 / r26490;
        float r26492 = -1259.1392167224028;
        float r26493 = r26460 + r26466;
        float r26494 = r26493 - r26489;
        float r26495 = r26492 / r26494;
        float r26496 = r26491 + r26495;
        float r26497 = r26485 + r26496;
        float r26498 = -176.6150291621406;
        float r26499 = 4;
        float r26500 = r26466 - r26499;
        float r26501 = r26467 - r26500;
        float r26502 = r26498 / r26501;
        float r26503 = r26497 + r26502;
        float r26504 = -0.13857109526572012;
        float r26505 = 6;
        float r26506 = r26505 + r26466;
        float r26507 = r26506 - r26489;
        float r26508 = r26504 / r26507;
        float r26509 = 12.507343278686905;
        float r26510 = 5;
        float r26511 = r26466 - r26510;
        float r26512 = r26467 - r26511;
        float r26513 = r26509 / r26512;
        float r26514 = r26508 + r26513;
        float r26515 = 9.984369578019572e-06;
        float r26516 = r26467 - r26470;
        float r26517 = r26515 / r26516;
        float r26518 = 1.5056327351493116e-07;
        float r26519 = 8;
        float r26520 = r26519 + r26466;
        float r26521 = r26520 - r26489;
        float r26522 = r26518 / r26521;
        float r26523 = r26517 + r26522;
        float r26524 = r26514 + r26523;
        float r26525 = r26503 + r26524;
        float r26526 = r26479 * r26525;
        return r26526;
}

double f_od(double z) {
        double r26527 = atan2(1.0, 0.0);
        double r26528 = z;
        double r26529 = r26528 * r26527;
        double r26530 = sin(r26529);
        double r26531 = r26527 / r26530;
        double r26532 = 2;
        double r26533 = r26527 * r26532;
        double r26534 = sqrt(r26533);
        double r26535 = r26534 * r26533;
        double r26536 = cbrt(r26535);
        double r26537 = 0.5;
        double r26538 = 1;
        double r26539 = r26538 - r26528;
        double r26540 = r26537 + r26539;
        double r26541 = 7;
        double r26542 = r26538 - r26541;
        double r26543 = r26540 - r26542;
        double r26544 = r26538 - r26537;
        double r26545 = r26539 - r26544;
        double r26546 = pow(r26543, r26545);
        double r26547 = r26536 * r26546;
        double r26548 = r26531 * r26547;
        double r26549 = -r26543;
        double r26550 = exp(r26549);
        double r26551 = r26548 * r26550;
        double r26552 = 0.9999999999998099;
        double r26553 = 676.5203681218851;
        double r26554 = 0;
        double r26555 = r26539 - r26554;
        double r26556 = r26553 / r26555;
        double r26557 = r26552 + r26556;
        double r26558 = 771.3234287776531;
        double r26559 = 3;
        double r26560 = r26559 + r26538;
        double r26561 = r26538 + r26528;
        double r26562 = r26560 - r26561;
        double r26563 = r26558 / r26562;
        double r26564 = -1259.1392167224028;
        double r26565 = r26532 + r26538;
        double r26566 = r26565 - r26561;
        double r26567 = r26564 / r26566;
        double r26568 = r26563 + r26567;
        double r26569 = r26557 + r26568;
        double r26570 = -176.6150291621406;
        double r26571 = 4;
        double r26572 = r26538 - r26571;
        double r26573 = r26539 - r26572;
        double r26574 = r26570 / r26573;
        double r26575 = r26569 + r26574;
        double r26576 = -0.13857109526572012;
        double r26577 = 6;
        double r26578 = r26577 + r26538;
        double r26579 = r26578 - r26561;
        double r26580 = r26576 / r26579;
        double r26581 = 12.507343278686905;
        double r26582 = 5;
        double r26583 = r26538 - r26582;
        double r26584 = r26539 - r26583;
        double r26585 = r26581 / r26584;
        double r26586 = r26580 + r26585;
        double r26587 = 9.984369578019572e-06;
        double r26588 = r26539 - r26542;
        double r26589 = r26587 / r26588;
        double r26590 = 1.5056327351493116e-07;
        double r26591 = 8;
        double r26592 = r26591 + r26538;
        double r26593 = r26592 - r26561;
        double r26594 = r26590 / r26593;
        double r26595 = r26589 + r26594;
        double r26596 = r26586 + r26595;
        double r26597 = r26575 + r26596;
        double r26598 = r26551 * r26597;
        return r26598;
}

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 r26599, r26600, r26601, r26602, r26603, r26604, r26605, r26606, r26607, r26608, r26609, r26610, r26611, r26612, r26613, r26614, r26615, r26616, r26617, r26618, r26619, r26620, r26621, 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;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26599);
        mpfr_init(r26600);
        mpfr_init(r26601);
        mpfr_init(r26602);
        mpfr_init(r26603);
        mpfr_init_set_str(r26604, "2", 10, MPFR_RNDN);
        mpfr_init(r26605);
        mpfr_init(r26606);
        mpfr_init_set_str(r26607, "1", 10, MPFR_RNDN);
        mpfr_init(r26608);
        mpfr_init(r26609);
        mpfr_init_set_str(r26610, "7", 10, MPFR_RNDN);
        mpfr_init(r26611);
        mpfr_init_set_str(r26612, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26613);
        mpfr_init(r26614);
        mpfr_init(r26615);
        mpfr_init(r26616);
        mpfr_init(r26617);
        mpfr_init(r26618);
        mpfr_init(r26619);
        mpfr_init_set_str(r26620, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26621, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26622);
        mpfr_init(r26623);
        mpfr_init(r26624);
        mpfr_init_set_str(r26625, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26626);
        mpfr_init(r26627);
        mpfr_init(r26628);
        mpfr_init_set_str(r26629, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26630, "3", 10, MPFR_RNDN);
        mpfr_init(r26631);
        mpfr_init(r26632);
        mpfr_init(r26633);
        mpfr_init_set_str(r26634, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26635, "4", 10, MPFR_RNDN);
        mpfr_init(r26636);
        mpfr_init(r26637);
        mpfr_init(r26638);
        mpfr_init_set_str(r26639, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26640, "5", 10, MPFR_RNDN);
        mpfr_init(r26641);
        mpfr_init(r26642);
        mpfr_init(r26643);
        mpfr_init_set_str(r26644, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26645, "6", 10, MPFR_RNDN);
        mpfr_init(r26646);
        mpfr_init(r26647);
        mpfr_init(r26648);
        mpfr_init_set_str(r26649, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26650);
        mpfr_init(r26651);
        mpfr_init_set_str(r26652, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26653, "8", 10, MPFR_RNDN);
        mpfr_init(r26654);
        mpfr_init(r26655);
        mpfr_init(r26656);
        mpfr_init(r26657);
        mpfr_init(r26658);
}

double f_im(double z) {
        mpfr_const_pi(r26599, MPFR_RNDN);
        mpfr_set_d(r26600, z, MPFR_RNDN);
        mpfr_mul(r26601, r26599, r26600, MPFR_RNDN);
        mpfr_sin(r26602, r26601, MPFR_RNDN);
        mpfr_div(r26603, r26599, r26602, MPFR_RNDN);
        ;
        mpfr_mul(r26605, r26599, r26604, MPFR_RNDN);
        mpfr_sqrt(r26606, r26605, MPFR_RNDN);
        ;
        mpfr_sub(r26608, r26607, r26600, MPFR_RNDN);
        mpfr_sub(r26609, r26608, r26607, MPFR_RNDN);
        ;
        mpfr_add(r26611, r26609, r26610, MPFR_RNDN);
        ;
        mpfr_add(r26613, r26611, r26612, MPFR_RNDN);
        mpfr_add(r26614, r26609, r26612, MPFR_RNDN);
        mpfr_pow(r26615, r26613, r26614, MPFR_RNDN);
        mpfr_mul(r26616, r26606, r26615, MPFR_RNDN);
        mpfr_neg(r26617, r26613, MPFR_RNDN);
        mpfr_exp(r26618, r26617, MPFR_RNDN);
        mpfr_mul(r26619, r26616, r26618, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26622, r26609, r26607, MPFR_RNDN);
        mpfr_div(r26623, r26621, r26622, MPFR_RNDN);
        mpfr_add(r26624, r26620, r26623, MPFR_RNDN);
        ;
        mpfr_add(r26626, r26609, r26604, MPFR_RNDN);
        mpfr_div(r26627, r26625, r26626, MPFR_RNDN);
        mpfr_add(r26628, r26624, r26627, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26631, r26609, r26630, MPFR_RNDN);
        mpfr_div(r26632, r26629, r26631, MPFR_RNDN);
        mpfr_add(r26633, r26628, r26632, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26636, r26609, r26635, MPFR_RNDN);
        mpfr_div(r26637, r26634, r26636, MPFR_RNDN);
        mpfr_add(r26638, r26633, r26637, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26641, r26609, r26640, MPFR_RNDN);
        mpfr_div(r26642, r26639, r26641, MPFR_RNDN);
        mpfr_add(r26643, r26638, r26642, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26646, r26609, r26645, MPFR_RNDN);
        mpfr_div(r26647, r26644, r26646, MPFR_RNDN);
        mpfr_add(r26648, r26643, r26647, MPFR_RNDN);
        ;
        mpfr_div(r26650, r26649, r26611, MPFR_RNDN);
        mpfr_add(r26651, r26648, r26650, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26654, r26609, r26653, MPFR_RNDN);
        mpfr_div(r26655, r26652, r26654, MPFR_RNDN);
        mpfr_add(r26656, r26651, r26655, MPFR_RNDN);
        mpfr_mul(r26657, r26619, r26656, MPFR_RNDN);
        mpfr_mul(r26658, r26603, r26657, MPFR_RNDN);
        return mpfr_get_d(r26658, MPFR_RNDN);
}

static mpfr_t 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, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26659);
        mpfr_init(r26660);
        mpfr_init(r26661);
        mpfr_init(r26662);
        mpfr_init(r26663);
        mpfr_init_set_str(r26664, "2", 10, MPFR_RNDN);
        mpfr_init(r26665);
        mpfr_init(r26666);
        mpfr_init(r26667);
        mpfr_init(r26668);
        mpfr_init_set_str(r26669, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26670, "1", 10, MPFR_RNDN);
        mpfr_init(r26671);
        mpfr_init(r26672);
        mpfr_init_set_str(r26673, "7", 10, MPFR_RNDN);
        mpfr_init(r26674);
        mpfr_init(r26675);
        mpfr_init(r26676);
        mpfr_init(r26677);
        mpfr_init(r26678);
        mpfr_init(r26679);
        mpfr_init(r26680);
        mpfr_init(r26681);
        mpfr_init(r26682);
        mpfr_init(r26683);
        mpfr_init_set_str(r26684, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26685, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r26686, "0", 10, MPFR_RNDN);
        mpfr_init(r26687);
        mpfr_init(r26688);
        mpfr_init(r26689);
        mpfr_init_set_str(r26690, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26691, "3", 10, MPFR_RNDN);
        mpfr_init(r26692);
        mpfr_init(r26693);
        mpfr_init(r26694);
        mpfr_init(r26695);
        mpfr_init_set_str(r26696, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26697);
        mpfr_init(r26698);
        mpfr_init(r26699);
        mpfr_init(r26700);
        mpfr_init(r26701);
        mpfr_init_set_str(r26702, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26703, "4", 10, MPFR_RNDN);
        mpfr_init(r26704);
        mpfr_init(r26705);
        mpfr_init(r26706);
        mpfr_init(r26707);
        mpfr_init_set_str(r26708, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26709, "6", 10, MPFR_RNDN);
        mpfr_init(r26710);
        mpfr_init(r26711);
        mpfr_init(r26712);
        mpfr_init_set_str(r26713, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26714, "5", 10, MPFR_RNDN);
        mpfr_init(r26715);
        mpfr_init(r26716);
        mpfr_init(r26717);
        mpfr_init(r26718);
        mpfr_init_set_str(r26719, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26720);
        mpfr_init(r26721);
        mpfr_init_set_str(r26722, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26723, "8", 10, MPFR_RNDN);
        mpfr_init(r26724);
        mpfr_init(r26725);
        mpfr_init(r26726);
        mpfr_init(r26727);
        mpfr_init(r26728);
        mpfr_init(r26729);
        mpfr_init(r26730);
}

double f_fm(double z) {
        mpfr_const_pi(r26659, MPFR_RNDN);
        mpfr_set_d(r26660, z, MPFR_RNDN);
        mpfr_mul(r26661, r26660, r26659, MPFR_RNDN);
        mpfr_sin(r26662, r26661, MPFR_RNDN);
        mpfr_div(r26663, r26659, r26662, MPFR_RNDN);
        ;
        mpfr_mul(r26665, r26659, r26664, MPFR_RNDN);
        mpfr_sqrt(r26666, r26665, MPFR_RNDN);
        mpfr_mul(r26667, r26666, r26665, MPFR_RNDN);
        mpfr_cbrt(r26668, r26667, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26671, r26670, r26660, MPFR_RNDN);
        mpfr_add(r26672, r26669, r26671, MPFR_RNDN);
        ;
        mpfr_sub(r26674, r26670, r26673, MPFR_RNDN);
        mpfr_sub(r26675, r26672, r26674, MPFR_RNDN);
        mpfr_sub(r26676, r26670, r26669, MPFR_RNDN);
        mpfr_sub(r26677, r26671, r26676, MPFR_RNDN);
        mpfr_pow(r26678, r26675, r26677, MPFR_RNDN);
        mpfr_mul(r26679, r26668, r26678, MPFR_RNDN);
        mpfr_mul(r26680, r26663, r26679, MPFR_RNDN);
        mpfr_neg(r26681, r26675, MPFR_RNDN);
        mpfr_exp(r26682, r26681, MPFR_RNDN);
        mpfr_mul(r26683, r26680, r26682, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r26687, r26671, r26686, MPFR_RNDN);
        mpfr_div(r26688, r26685, r26687, MPFR_RNDN);
        mpfr_add(r26689, r26684, r26688, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26692, r26691, r26670, MPFR_RNDN);
        mpfr_add(r26693, r26670, r26660, MPFR_RNDN);
        mpfr_sub(r26694, r26692, r26693, MPFR_RNDN);
        mpfr_div(r26695, r26690, r26694, MPFR_RNDN);
        ;
        mpfr_add(r26697, r26664, r26670, MPFR_RNDN);
        mpfr_sub(r26698, r26697, r26693, MPFR_RNDN);
        mpfr_div(r26699, r26696, r26698, MPFR_RNDN);
        mpfr_add(r26700, r26695, r26699, MPFR_RNDN);
        mpfr_add(r26701, r26689, r26700, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26704, r26670, r26703, MPFR_RNDN);
        mpfr_sub(r26705, r26671, r26704, MPFR_RNDN);
        mpfr_div(r26706, r26702, r26705, MPFR_RNDN);
        mpfr_add(r26707, r26701, r26706, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26710, r26709, r26670, MPFR_RNDN);
        mpfr_sub(r26711, r26710, r26693, MPFR_RNDN);
        mpfr_div(r26712, r26708, r26711, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26715, r26670, r26714, MPFR_RNDN);
        mpfr_sub(r26716, r26671, r26715, MPFR_RNDN);
        mpfr_div(r26717, r26713, r26716, MPFR_RNDN);
        mpfr_add(r26718, r26712, r26717, MPFR_RNDN);
        ;
        mpfr_sub(r26720, r26671, r26674, MPFR_RNDN);
        mpfr_div(r26721, r26719, r26720, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26724, r26723, r26670, MPFR_RNDN);
        mpfr_sub(r26725, r26724, r26693, MPFR_RNDN);
        mpfr_div(r26726, r26722, r26725, MPFR_RNDN);
        mpfr_add(r26727, r26721, r26726, MPFR_RNDN);
        mpfr_add(r26728, r26718, r26727, MPFR_RNDN);
        mpfr_add(r26729, r26707, r26728, MPFR_RNDN);
        mpfr_mul(r26730, r26683, r26729, MPFR_RNDN);
        return mpfr_get_d(r26730, MPFR_RNDN);
}

static mpfr_t 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, r26766, r26767, r26768, r26769, r26770, r26771, r26772, r26773, r26774, r26775, r26776, r26777, r26778, r26779, r26780, r26781, r26782, r26783, r26784, r26785, r26786, r26787, r26788, r26789, r26790, r26791, r26792, r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26731);
        mpfr_init(r26732);
        mpfr_init(r26733);
        mpfr_init(r26734);
        mpfr_init(r26735);
        mpfr_init_set_str(r26736, "2", 10, MPFR_RNDN);
        mpfr_init(r26737);
        mpfr_init(r26738);
        mpfr_init(r26739);
        mpfr_init(r26740);
        mpfr_init_set_str(r26741, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r26742, "1", 10, MPFR_RNDN);
        mpfr_init(r26743);
        mpfr_init(r26744);
        mpfr_init_set_str(r26745, "7", 10, MPFR_RNDN);
        mpfr_init(r26746);
        mpfr_init(r26747);
        mpfr_init(r26748);
        mpfr_init(r26749);
        mpfr_init(r26750);
        mpfr_init(r26751);
        mpfr_init(r26752);
        mpfr_init(r26753);
        mpfr_init(r26754);
        mpfr_init(r26755);
        mpfr_init_set_str(r26756, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26757, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r26758, "0", 10, MPFR_RNDN);
        mpfr_init(r26759);
        mpfr_init(r26760);
        mpfr_init(r26761);
        mpfr_init_set_str(r26762, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26763, "3", 10, MPFR_RNDN);
        mpfr_init(r26764);
        mpfr_init(r26765);
        mpfr_init(r26766);
        mpfr_init(r26767);
        mpfr_init_set_str(r26768, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26769);
        mpfr_init(r26770);
        mpfr_init(r26771);
        mpfr_init(r26772);
        mpfr_init(r26773);
        mpfr_init_set_str(r26774, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26775, "4", 10, MPFR_RNDN);
        mpfr_init(r26776);
        mpfr_init(r26777);
        mpfr_init(r26778);
        mpfr_init(r26779);
        mpfr_init_set_str(r26780, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r26781, "6", 10, MPFR_RNDN);
        mpfr_init(r26782);
        mpfr_init(r26783);
        mpfr_init(r26784);
        mpfr_init_set_str(r26785, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r26786, "5", 10, MPFR_RNDN);
        mpfr_init(r26787);
        mpfr_init(r26788);
        mpfr_init(r26789);
        mpfr_init(r26790);
        mpfr_init_set_str(r26791, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r26792);
        mpfr_init(r26793);
        mpfr_init_set_str(r26794, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r26795, "8", 10, MPFR_RNDN);
        mpfr_init(r26796);
        mpfr_init(r26797);
        mpfr_init(r26798);
        mpfr_init(r26799);
        mpfr_init(r26800);
        mpfr_init(r26801);
        mpfr_init(r26802);
}

double f_dm(double z) {
        mpfr_const_pi(r26731, MPFR_RNDN);
        mpfr_set_d(r26732, z, MPFR_RNDN);
        mpfr_mul(r26733, r26732, r26731, MPFR_RNDN);
        mpfr_sin(r26734, r26733, MPFR_RNDN);
        mpfr_div(r26735, r26731, r26734, MPFR_RNDN);
        ;
        mpfr_mul(r26737, r26731, r26736, MPFR_RNDN);
        mpfr_sqrt(r26738, r26737, MPFR_RNDN);
        mpfr_mul(r26739, r26738, r26737, MPFR_RNDN);
        mpfr_cbrt(r26740, r26739, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26743, r26742, r26732, MPFR_RNDN);
        mpfr_add(r26744, r26741, r26743, MPFR_RNDN);
        ;
        mpfr_sub(r26746, r26742, r26745, MPFR_RNDN);
        mpfr_sub(r26747, r26744, r26746, MPFR_RNDN);
        mpfr_sub(r26748, r26742, r26741, MPFR_RNDN);
        mpfr_sub(r26749, r26743, r26748, MPFR_RNDN);
        mpfr_pow(r26750, r26747, r26749, MPFR_RNDN);
        mpfr_mul(r26751, r26740, r26750, MPFR_RNDN);
        mpfr_mul(r26752, r26735, r26751, MPFR_RNDN);
        mpfr_neg(r26753, r26747, MPFR_RNDN);
        mpfr_exp(r26754, r26753, MPFR_RNDN);
        mpfr_mul(r26755, r26752, r26754, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r26759, r26743, r26758, MPFR_RNDN);
        mpfr_div(r26760, r26757, r26759, MPFR_RNDN);
        mpfr_add(r26761, r26756, r26760, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26764, r26763, r26742, MPFR_RNDN);
        mpfr_add(r26765, r26742, r26732, MPFR_RNDN);
        mpfr_sub(r26766, r26764, r26765, MPFR_RNDN);
        mpfr_div(r26767, r26762, r26766, MPFR_RNDN);
        ;
        mpfr_add(r26769, r26736, r26742, MPFR_RNDN);
        mpfr_sub(r26770, r26769, r26765, MPFR_RNDN);
        mpfr_div(r26771, r26768, r26770, MPFR_RNDN);
        mpfr_add(r26772, r26767, r26771, MPFR_RNDN);
        mpfr_add(r26773, r26761, r26772, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26776, r26742, r26775, MPFR_RNDN);
        mpfr_sub(r26777, r26743, r26776, MPFR_RNDN);
        mpfr_div(r26778, r26774, r26777, MPFR_RNDN);
        mpfr_add(r26779, r26773, r26778, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26782, r26781, r26742, MPFR_RNDN);
        mpfr_sub(r26783, r26782, r26765, MPFR_RNDN);
        mpfr_div(r26784, r26780, r26783, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r26787, r26742, r26786, MPFR_RNDN);
        mpfr_sub(r26788, r26743, r26787, MPFR_RNDN);
        mpfr_div(r26789, r26785, r26788, MPFR_RNDN);
        mpfr_add(r26790, r26784, r26789, MPFR_RNDN);
        ;
        mpfr_sub(r26792, r26743, r26746, MPFR_RNDN);
        mpfr_div(r26793, r26791, r26792, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26796, r26795, r26742, MPFR_RNDN);
        mpfr_sub(r26797, r26796, r26765, MPFR_RNDN);
        mpfr_div(r26798, r26794, r26797, MPFR_RNDN);
        mpfr_add(r26799, r26793, r26798, MPFR_RNDN);
        mpfr_add(r26800, r26790, r26799, MPFR_RNDN);
        mpfr_add(r26801, r26779, r26800, MPFR_RNDN);
        mpfr_mul(r26802, r26755, r26801, MPFR_RNDN);
        return mpfr_get_d(r26802, MPFR_RNDN);
}

