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

char *name = "From Warwick Tucker's Validated Numerics";

double f_if() {
        float r32410 = 333.75;
        float r32411 = 33096;
        float r32412 = 6;
        float r32413 = pow(r32411, r32412);
        float r32414 = r32410 * r32413;
        float r32415 = 77617;
        float r32416 = r32415 * r32415;
        float r32417 = 11;
        float r32418 = r32417 * r32416;
        float r32419 = r32411 * r32411;
        float r32420 = r32418 * r32419;
        float r32421 = -r32413;
        float r32422 = r32420 + r32421;
        float r32423 = -121;
        float r32424 = 4;
        float r32425 = pow(r32411, r32424);
        float r32426 = r32423 * r32425;
        float r32427 = r32422 + r32426;
        float r32428 = -2;
        float r32429 = r32427 + r32428;
        float r32430 = r32416 * r32429;
        float r32431 = r32414 + r32430;
        float r32432 = 5.5;
        float r32433 = 8;
        float r32434 = pow(r32411, r32433);
        float r32435 = r32432 * r32434;
        float r32436 = r32431 + r32435;
        float r32437 = 2;
        float r32438 = r32437 * r32411;
        float r32439 = r32415 / r32438;
        float r32440 = r32436 + r32439;
        return r32440;
}

double f_id() {
        double r32441 = 333.75;
        double r32442 = 33096;
        double r32443 = 6;
        double r32444 = pow(r32442, r32443);
        double r32445 = r32441 * r32444;
        double r32446 = 77617;
        double r32447 = r32446 * r32446;
        double r32448 = 11;
        double r32449 = r32448 * r32447;
        double r32450 = r32442 * r32442;
        double r32451 = r32449 * r32450;
        double r32452 = -r32444;
        double r32453 = r32451 + r32452;
        double r32454 = -121;
        double r32455 = 4;
        double r32456 = pow(r32442, r32455);
        double r32457 = r32454 * r32456;
        double r32458 = r32453 + r32457;
        double r32459 = -2;
        double r32460 = r32458 + r32459;
        double r32461 = r32447 * r32460;
        double r32462 = r32445 + r32461;
        double r32463 = 5.5;
        double r32464 = 8;
        double r32465 = pow(r32442, r32464);
        double r32466 = r32463 * r32465;
        double r32467 = r32462 + r32466;
        double r32468 = 2;
        double r32469 = r32468 * r32442;
        double r32470 = r32446 / r32469;
        double r32471 = r32467 + r32470;
        return r32471;
}


double f_of() {
        float r32472 = 333.75;
        float r32473 = 33096;
        float r32474 = 6;
        float r32475 = pow(r32473, r32474);
        float r32476 = r32472 * r32475;
        float r32477 = 77617;
        float r32478 = r32477 * r32477;
        float r32479 = 11;
        float r32480 = r32479 * r32478;
        float r32481 = r32473 * r32473;
        float r32482 = r32480 * r32481;
        float r32483 = -r32475;
        float r32484 = r32482 + r32483;
        float r32485 = -121;
        float r32486 = 4;
        float r32487 = pow(r32473, r32486);
        float r32488 = r32485 * r32487;
        float r32489 = r32484 + r32488;
        float r32490 = -2;
        float r32491 = r32489 + r32490;
        float r32492 = r32478 * r32491;
        float r32493 = r32476 + r32492;
        float r32494 = r32493 * r32493;
        float r32495 = 5.5;
        float r32496 = 8;
        float r32497 = pow(r32473, r32496);
        float r32498 = r32495 * r32497;
        float r32499 = r32498 * r32498;
        float r32500 = r32494 - r32499;
        float r32501 = log(r32500);
        float r32502 = cbrt(r32501);
        float r32503 = r32502 * r32502;
        float r32504 = exp(r32503);
        float r32505 = cbrt(r32502);
        float r32506 = r32505 * r32505;
        float r32507 = pow(r32504, r32506);
        float r32508 = pow(r32507, r32505);
        float r32509 = r32493 - r32498;
        float r32510 = r32508 / r32509;
        float r32511 = 2;
        float r32512 = r32511 * r32473;
        float r32513 = r32477 / r32512;
        float r32514 = r32510 + r32513;
        return r32514;
}

double f_od() {
        double r32515 = 333.75;
        double r32516 = 33096;
        double r32517 = 6;
        double r32518 = pow(r32516, r32517);
        double r32519 = r32515 * r32518;
        double r32520 = 77617;
        double r32521 = r32520 * r32520;
        double r32522 = 11;
        double r32523 = r32522 * r32521;
        double r32524 = r32516 * r32516;
        double r32525 = r32523 * r32524;
        double r32526 = -r32518;
        double r32527 = r32525 + r32526;
        double r32528 = -121;
        double r32529 = 4;
        double r32530 = pow(r32516, r32529);
        double r32531 = r32528 * r32530;
        double r32532 = r32527 + r32531;
        double r32533 = -2;
        double r32534 = r32532 + r32533;
        double r32535 = r32521 * r32534;
        double r32536 = r32519 + r32535;
        double r32537 = r32536 * r32536;
        double r32538 = 5.5;
        double r32539 = 8;
        double r32540 = pow(r32516, r32539);
        double r32541 = r32538 * r32540;
        double r32542 = r32541 * r32541;
        double r32543 = r32537 - r32542;
        double r32544 = log(r32543);
        double r32545 = cbrt(r32544);
        double r32546 = r32545 * r32545;
        double r32547 = exp(r32546);
        double r32548 = cbrt(r32545);
        double r32549 = r32548 * r32548;
        double r32550 = pow(r32547, r32549);
        double r32551 = pow(r32550, r32548);
        double r32552 = r32536 - r32541;
        double r32553 = r32551 / r32552;
        double r32554 = 2;
        double r32555 = r32554 * r32516;
        double r32556 = r32520 / r32555;
        double r32557 = r32553 + r32556;
        return r32557;
}

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 r32558, r32559, r32560, r32561, r32562, r32563, r32564, r32565, r32566, r32567, r32568, r32569, r32570, r32571, r32572, r32573, r32574, r32575, r32576, r32577, r32578, r32579, r32580, r32581, r32582, r32583, r32584, r32585, r32586, r32587, r32588;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32558, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32559, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32560, "6", 10, MPFR_RNDN);
        mpfr_init(r32561);
        mpfr_init(r32562);
        mpfr_init_set_str(r32563, "77617", 10, MPFR_RNDN);
        mpfr_init(r32564);
        mpfr_init_set_str(r32565, "11", 10, MPFR_RNDN);
        mpfr_init(r32566);
        mpfr_init(r32567);
        mpfr_init(r32568);
        mpfr_init(r32569);
        mpfr_init(r32570);
        mpfr_init_set_str(r32571, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32572, "4", 10, MPFR_RNDN);
        mpfr_init(r32573);
        mpfr_init(r32574);
        mpfr_init(r32575);
        mpfr_init_set_str(r32576, "-2", 10, MPFR_RNDN);
        mpfr_init(r32577);
        mpfr_init(r32578);
        mpfr_init(r32579);
        mpfr_init_set_str(r32580, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32581, "8", 10, MPFR_RNDN);
        mpfr_init(r32582);
        mpfr_init(r32583);
        mpfr_init(r32584);
        mpfr_init_set_str(r32585, "2", 10, MPFR_RNDN);
        mpfr_init(r32586);
        mpfr_init(r32587);
        mpfr_init(r32588);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r32561, r32559, r32560, MPFR_RNDN);
        mpfr_mul(r32562, r32558, r32561, MPFR_RNDN);
        ;
        mpfr_mul(r32564, r32563, r32563, MPFR_RNDN);
        ;
        mpfr_mul(r32566, r32565, r32564, MPFR_RNDN);
        mpfr_mul(r32567, r32559, r32559, MPFR_RNDN);
        mpfr_mul(r32568, r32566, r32567, MPFR_RNDN);
        mpfr_neg(r32569, r32561, MPFR_RNDN);
        mpfr_add(r32570, r32568, r32569, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32573, r32559, r32572, MPFR_RNDN);
        mpfr_mul(r32574, r32571, r32573, MPFR_RNDN);
        mpfr_add(r32575, r32570, r32574, MPFR_RNDN);
        ;
        mpfr_add(r32577, r32575, r32576, MPFR_RNDN);
        mpfr_mul(r32578, r32564, r32577, MPFR_RNDN);
        mpfr_add(r32579, r32562, r32578, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32582, r32559, r32581, MPFR_RNDN);
        mpfr_mul(r32583, r32580, r32582, MPFR_RNDN);
        mpfr_add(r32584, r32579, r32583, MPFR_RNDN);
        ;
        mpfr_mul(r32586, r32585, r32559, MPFR_RNDN);
        mpfr_div(r32587, r32563, r32586, MPFR_RNDN);
        mpfr_add(r32588, r32584, r32587, MPFR_RNDN);
        return mpfr_get_d(r32588, MPFR_RNDN);
}

static mpfr_t r32589, r32590, r32591, r32592, r32593, r32594, r32595, r32596, r32597, r32598, r32599, r32600, r32601, r32602, r32603, r32604, r32605, r32606, r32607, r32608, r32609, r32610, r32611, r32612, r32613, r32614, r32615, r32616, r32617, r32618, r32619, r32620, r32621, r32622, r32623, r32624, r32625, r32626, r32627, r32628, r32629, r32630, r32631;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32589, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32590, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32591, "6", 10, MPFR_RNDN);
        mpfr_init(r32592);
        mpfr_init(r32593);
        mpfr_init_set_str(r32594, "77617", 10, MPFR_RNDN);
        mpfr_init(r32595);
        mpfr_init_set_str(r32596, "11", 10, MPFR_RNDN);
        mpfr_init(r32597);
        mpfr_init(r32598);
        mpfr_init(r32599);
        mpfr_init(r32600);
        mpfr_init(r32601);
        mpfr_init_set_str(r32602, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32603, "4", 10, MPFR_RNDN);
        mpfr_init(r32604);
        mpfr_init(r32605);
        mpfr_init(r32606);
        mpfr_init_set_str(r32607, "-2", 10, MPFR_RNDN);
        mpfr_init(r32608);
        mpfr_init(r32609);
        mpfr_init(r32610);
        mpfr_init(r32611);
        mpfr_init_set_str(r32612, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32613, "8", 10, MPFR_RNDN);
        mpfr_init(r32614);
        mpfr_init(r32615);
        mpfr_init(r32616);
        mpfr_init(r32617);
        mpfr_init(r32618);
        mpfr_init(r32619);
        mpfr_init(r32620);
        mpfr_init(r32621);
        mpfr_init(r32622);
        mpfr_init(r32623);
        mpfr_init(r32624);
        mpfr_init(r32625);
        mpfr_init(r32626);
        mpfr_init(r32627);
        mpfr_init_set_str(r32628, "2", 10, MPFR_RNDN);
        mpfr_init(r32629);
        mpfr_init(r32630);
        mpfr_init(r32631);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r32592, r32590, r32591, MPFR_RNDN);
        mpfr_mul(r32593, r32589, r32592, MPFR_RNDN);
        ;
        mpfr_mul(r32595, r32594, r32594, MPFR_RNDN);
        ;
        mpfr_mul(r32597, r32596, r32595, MPFR_RNDN);
        mpfr_mul(r32598, r32590, r32590, MPFR_RNDN);
        mpfr_mul(r32599, r32597, r32598, MPFR_RNDN);
        mpfr_neg(r32600, r32592, MPFR_RNDN);
        mpfr_add(r32601, r32599, r32600, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32604, r32590, r32603, MPFR_RNDN);
        mpfr_mul(r32605, r32602, r32604, MPFR_RNDN);
        mpfr_add(r32606, r32601, r32605, MPFR_RNDN);
        ;
        mpfr_add(r32608, r32606, r32607, MPFR_RNDN);
        mpfr_mul(r32609, r32595, r32608, MPFR_RNDN);
        mpfr_add(r32610, r32593, r32609, MPFR_RNDN);
        mpfr_mul(r32611, r32610, r32610, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32614, r32590, r32613, MPFR_RNDN);
        mpfr_mul(r32615, r32612, r32614, MPFR_RNDN);
        mpfr_mul(r32616, r32615, r32615, MPFR_RNDN);
        mpfr_sub(r32617, r32611, r32616, MPFR_RNDN);
        mpfr_log(r32618, r32617, MPFR_RNDN);
        mpfr_cbrt(r32619, r32618, MPFR_RNDN);
        mpfr_mul(r32620, r32619, r32619, MPFR_RNDN);
        mpfr_exp(r32621, r32620, MPFR_RNDN);
        mpfr_cbrt(r32622, r32619, MPFR_RNDN);
        mpfr_mul(r32623, r32622, r32622, MPFR_RNDN);
        mpfr_pow(r32624, r32621, r32623, MPFR_RNDN);
        mpfr_pow(r32625, r32624, r32622, MPFR_RNDN);
        mpfr_sub(r32626, r32610, r32615, MPFR_RNDN);
        mpfr_div(r32627, r32625, r32626, MPFR_RNDN);
        ;
        mpfr_mul(r32629, r32628, r32590, MPFR_RNDN);
        mpfr_div(r32630, r32594, r32629, MPFR_RNDN);
        mpfr_add(r32631, r32627, r32630, MPFR_RNDN);
        return mpfr_get_d(r32631, MPFR_RNDN);
}

static mpfr_t r32632, r32633, r32634, r32635, r32636, r32637, r32638, r32639, r32640, r32641, r32642, r32643, r32644, r32645, r32646, r32647, r32648, r32649, r32650, r32651, r32652, r32653, r32654, r32655, r32656, r32657, r32658, r32659, r32660, r32661, r32662, r32663, r32664, r32665, r32666, r32667, r32668, r32669, r32670, r32671, r32672, r32673, r32674;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32632, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32633, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32634, "6", 10, MPFR_RNDN);
        mpfr_init(r32635);
        mpfr_init(r32636);
        mpfr_init_set_str(r32637, "77617", 10, MPFR_RNDN);
        mpfr_init(r32638);
        mpfr_init_set_str(r32639, "11", 10, MPFR_RNDN);
        mpfr_init(r32640);
        mpfr_init(r32641);
        mpfr_init(r32642);
        mpfr_init(r32643);
        mpfr_init(r32644);
        mpfr_init_set_str(r32645, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32646, "4", 10, MPFR_RNDN);
        mpfr_init(r32647);
        mpfr_init(r32648);
        mpfr_init(r32649);
        mpfr_init_set_str(r32650, "-2", 10, MPFR_RNDN);
        mpfr_init(r32651);
        mpfr_init(r32652);
        mpfr_init(r32653);
        mpfr_init(r32654);
        mpfr_init_set_str(r32655, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32656, "8", 10, MPFR_RNDN);
        mpfr_init(r32657);
        mpfr_init(r32658);
        mpfr_init(r32659);
        mpfr_init(r32660);
        mpfr_init(r32661);
        mpfr_init(r32662);
        mpfr_init(r32663);
        mpfr_init(r32664);
        mpfr_init(r32665);
        mpfr_init(r32666);
        mpfr_init(r32667);
        mpfr_init(r32668);
        mpfr_init(r32669);
        mpfr_init(r32670);
        mpfr_init_set_str(r32671, "2", 10, MPFR_RNDN);
        mpfr_init(r32672);
        mpfr_init(r32673);
        mpfr_init(r32674);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r32635, r32633, r32634, MPFR_RNDN);
        mpfr_mul(r32636, r32632, r32635, MPFR_RNDN);
        ;
        mpfr_mul(r32638, r32637, r32637, MPFR_RNDN);
        ;
        mpfr_mul(r32640, r32639, r32638, MPFR_RNDN);
        mpfr_mul(r32641, r32633, r32633, MPFR_RNDN);
        mpfr_mul(r32642, r32640, r32641, MPFR_RNDN);
        mpfr_neg(r32643, r32635, MPFR_RNDN);
        mpfr_add(r32644, r32642, r32643, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32647, r32633, r32646, MPFR_RNDN);
        mpfr_mul(r32648, r32645, r32647, MPFR_RNDN);
        mpfr_add(r32649, r32644, r32648, MPFR_RNDN);
        ;
        mpfr_add(r32651, r32649, r32650, MPFR_RNDN);
        mpfr_mul(r32652, r32638, r32651, MPFR_RNDN);
        mpfr_add(r32653, r32636, r32652, MPFR_RNDN);
        mpfr_mul(r32654, r32653, r32653, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32657, r32633, r32656, MPFR_RNDN);
        mpfr_mul(r32658, r32655, r32657, MPFR_RNDN);
        mpfr_mul(r32659, r32658, r32658, MPFR_RNDN);
        mpfr_sub(r32660, r32654, r32659, MPFR_RNDN);
        mpfr_log(r32661, r32660, MPFR_RNDN);
        mpfr_cbrt(r32662, r32661, MPFR_RNDN);
        mpfr_mul(r32663, r32662, r32662, MPFR_RNDN);
        mpfr_exp(r32664, r32663, MPFR_RNDN);
        mpfr_cbrt(r32665, r32662, MPFR_RNDN);
        mpfr_mul(r32666, r32665, r32665, MPFR_RNDN);
        mpfr_pow(r32667, r32664, r32666, MPFR_RNDN);
        mpfr_pow(r32668, r32667, r32665, MPFR_RNDN);
        mpfr_sub(r32669, r32653, r32658, MPFR_RNDN);
        mpfr_div(r32670, r32668, r32669, MPFR_RNDN);
        ;
        mpfr_mul(r32672, r32671, r32633, MPFR_RNDN);
        mpfr_div(r32673, r32637, r32672, MPFR_RNDN);
        mpfr_add(r32674, r32670, r32673, MPFR_RNDN);
        return mpfr_get_d(r32674, MPFR_RNDN);
}

