#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 r32370 = 333.75;
        float r32371 = 33096;
        float r32372 = 6;
        float r32373 = pow(r32371, r32372);
        float r32374 = r32370 * r32373;
        float r32375 = 77617;
        float r32376 = r32375 * r32375;
        float r32377 = 11;
        float r32378 = r32377 * r32376;
        float r32379 = r32371 * r32371;
        float r32380 = r32378 * r32379;
        float r32381 = -r32373;
        float r32382 = r32380 + r32381;
        float r32383 = -121;
        float r32384 = 4;
        float r32385 = pow(r32371, r32384);
        float r32386 = r32383 * r32385;
        float r32387 = r32382 + r32386;
        float r32388 = -2;
        float r32389 = r32387 + r32388;
        float r32390 = r32376 * r32389;
        float r32391 = r32374 + r32390;
        float r32392 = 5.5;
        float r32393 = 8;
        float r32394 = pow(r32371, r32393);
        float r32395 = r32392 * r32394;
        float r32396 = r32391 + r32395;
        float r32397 = 2;
        float r32398 = r32397 * r32371;
        float r32399 = r32375 / r32398;
        float r32400 = r32396 + r32399;
        return r32400;
}

double f_id() {
        double r32401 = 333.75;
        double r32402 = 33096;
        double r32403 = 6;
        double r32404 = pow(r32402, r32403);
        double r32405 = r32401 * r32404;
        double r32406 = 77617;
        double r32407 = r32406 * r32406;
        double r32408 = 11;
        double r32409 = r32408 * r32407;
        double r32410 = r32402 * r32402;
        double r32411 = r32409 * r32410;
        double r32412 = -r32404;
        double r32413 = r32411 + r32412;
        double r32414 = -121;
        double r32415 = 4;
        double r32416 = pow(r32402, r32415);
        double r32417 = r32414 * r32416;
        double r32418 = r32413 + r32417;
        double r32419 = -2;
        double r32420 = r32418 + r32419;
        double r32421 = r32407 * r32420;
        double r32422 = r32405 + r32421;
        double r32423 = 5.5;
        double r32424 = 8;
        double r32425 = pow(r32402, r32424);
        double r32426 = r32423 * r32425;
        double r32427 = r32422 + r32426;
        double r32428 = 2;
        double r32429 = r32428 * r32402;
        double r32430 = r32406 / r32429;
        double r32431 = r32427 + r32430;
        return r32431;
}


double f_of() {
        float r32432 = 333.75;
        float r32433 = 33096;
        float r32434 = 6;
        float r32435 = pow(r32433, r32434);
        float r32436 = r32432 * r32435;
        float r32437 = 77617;
        float r32438 = r32437 * r32437;
        float r32439 = 11;
        float r32440 = r32439 * r32438;
        float r32441 = r32433 * r32433;
        float r32442 = r32440 * r32441;
        float r32443 = -r32435;
        float r32444 = r32442 + r32443;
        float r32445 = -121;
        float r32446 = 4;
        float r32447 = pow(r32433, r32446);
        float r32448 = r32445 * r32447;
        float r32449 = r32444 + r32448;
        float r32450 = -2;
        float r32451 = r32449 + r32450;
        float r32452 = r32438 * r32451;
        float r32453 = r32436 + r32452;
        float r32454 = r32453 * r32453;
        float r32455 = 5.5;
        float r32456 = 8;
        float r32457 = pow(r32433, r32456);
        float r32458 = r32455 * r32457;
        float r32459 = r32458 * r32458;
        float r32460 = r32454 - r32459;
        float r32461 = log(r32460);
        float r32462 = cbrt(r32461);
        float r32463 = r32462 * r32462;
        float r32464 = exp(r32463);
        float r32465 = cbrt(r32462);
        float r32466 = r32465 * r32465;
        float r32467 = pow(r32464, r32466);
        float r32468 = pow(r32467, r32465);
        float r32469 = r32453 - r32458;
        float r32470 = r32468 / r32469;
        float r32471 = 2;
        float r32472 = r32471 * r32433;
        float r32473 = r32437 / r32472;
        float r32474 = r32470 + r32473;
        return r32474;
}

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

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 r32518, r32519, r32520, r32521, r32522, r32523, r32524, r32525, r32526, r32527, r32528, r32529, r32530, r32531, r32532, r32533, r32534, r32535, r32536, r32537, r32538, r32539, r32540, r32541, r32542, r32543, r32544, r32545, r32546, r32547, r32548;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32518, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32519, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32520, "6", 10, MPFR_RNDN);
        mpfr_init(r32521);
        mpfr_init(r32522);
        mpfr_init_set_str(r32523, "77617", 10, MPFR_RNDN);
        mpfr_init(r32524);
        mpfr_init_set_str(r32525, "11", 10, MPFR_RNDN);
        mpfr_init(r32526);
        mpfr_init(r32527);
        mpfr_init(r32528);
        mpfr_init(r32529);
        mpfr_init(r32530);
        mpfr_init_set_str(r32531, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32532, "4", 10, MPFR_RNDN);
        mpfr_init(r32533);
        mpfr_init(r32534);
        mpfr_init(r32535);
        mpfr_init_set_str(r32536, "-2", 10, MPFR_RNDN);
        mpfr_init(r32537);
        mpfr_init(r32538);
        mpfr_init(r32539);
        mpfr_init_set_str(r32540, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32541, "8", 10, MPFR_RNDN);
        mpfr_init(r32542);
        mpfr_init(r32543);
        mpfr_init(r32544);
        mpfr_init_set_str(r32545, "2", 10, MPFR_RNDN);
        mpfr_init(r32546);
        mpfr_init(r32547);
        mpfr_init(r32548);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r32521, r32519, r32520, MPFR_RNDN);
        mpfr_mul(r32522, r32518, r32521, MPFR_RNDN);
        ;
        mpfr_mul(r32524, r32523, r32523, MPFR_RNDN);
        ;
        mpfr_mul(r32526, r32525, r32524, MPFR_RNDN);
        mpfr_mul(r32527, r32519, r32519, MPFR_RNDN);
        mpfr_mul(r32528, r32526, r32527, MPFR_RNDN);
        mpfr_neg(r32529, r32521, MPFR_RNDN);
        mpfr_add(r32530, r32528, r32529, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32533, r32519, r32532, MPFR_RNDN);
        mpfr_mul(r32534, r32531, r32533, MPFR_RNDN);
        mpfr_add(r32535, r32530, r32534, MPFR_RNDN);
        ;
        mpfr_add(r32537, r32535, r32536, MPFR_RNDN);
        mpfr_mul(r32538, r32524, r32537, MPFR_RNDN);
        mpfr_add(r32539, r32522, r32538, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32542, r32519, r32541, MPFR_RNDN);
        mpfr_mul(r32543, r32540, r32542, MPFR_RNDN);
        mpfr_add(r32544, r32539, r32543, MPFR_RNDN);
        ;
        mpfr_mul(r32546, r32545, r32519, MPFR_RNDN);
        mpfr_div(r32547, r32523, r32546, MPFR_RNDN);
        mpfr_add(r32548, r32544, r32547, MPFR_RNDN);
        return mpfr_get_d(r32548, MPFR_RNDN);
}

static mpfr_t r32549, r32550, r32551, r32552, r32553, r32554, r32555, r32556, r32557, 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, r32589, r32590, r32591;

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

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r32552, r32550, r32551, MPFR_RNDN);
        mpfr_mul(r32553, r32549, r32552, MPFR_RNDN);
        ;
        mpfr_mul(r32555, r32554, r32554, MPFR_RNDN);
        ;
        mpfr_mul(r32557, r32556, r32555, MPFR_RNDN);
        mpfr_mul(r32558, r32550, r32550, MPFR_RNDN);
        mpfr_mul(r32559, r32557, r32558, MPFR_RNDN);
        mpfr_neg(r32560, r32552, MPFR_RNDN);
        mpfr_add(r32561, r32559, r32560, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32564, r32550, r32563, MPFR_RNDN);
        mpfr_mul(r32565, r32562, r32564, MPFR_RNDN);
        mpfr_add(r32566, r32561, r32565, MPFR_RNDN);
        ;
        mpfr_add(r32568, r32566, r32567, MPFR_RNDN);
        mpfr_mul(r32569, r32555, r32568, MPFR_RNDN);
        mpfr_add(r32570, r32553, r32569, MPFR_RNDN);
        mpfr_mul(r32571, r32570, r32570, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32574, r32550, r32573, MPFR_RNDN);
        mpfr_mul(r32575, r32572, r32574, MPFR_RNDN);
        mpfr_mul(r32576, r32575, r32575, MPFR_RNDN);
        mpfr_sub(r32577, r32571, r32576, MPFR_RNDN);
        mpfr_log(r32578, r32577, MPFR_RNDN);
        mpfr_cbrt(r32579, r32578, MPFR_RNDN);
        mpfr_mul(r32580, r32579, r32579, MPFR_RNDN);
        mpfr_exp(r32581, r32580, MPFR_RNDN);
        mpfr_cbrt(r32582, r32579, MPFR_RNDN);
        mpfr_mul(r32583, r32582, r32582, MPFR_RNDN);
        mpfr_pow(r32584, r32581, r32583, MPFR_RNDN);
        mpfr_pow(r32585, r32584, r32582, MPFR_RNDN);
        mpfr_sub(r32586, r32570, r32575, MPFR_RNDN);
        mpfr_div(r32587, r32585, r32586, MPFR_RNDN);
        ;
        mpfr_mul(r32589, r32588, r32550, MPFR_RNDN);
        mpfr_div(r32590, r32554, r32589, MPFR_RNDN);
        mpfr_add(r32591, r32587, r32590, MPFR_RNDN);
        return mpfr_get_d(r32591, MPFR_RNDN);
}

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

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32592, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32593, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32594, "6", 10, MPFR_RNDN);
        mpfr_init(r32595);
        mpfr_init(r32596);
        mpfr_init_set_str(r32597, "77617", 10, MPFR_RNDN);
        mpfr_init(r32598);
        mpfr_init_set_str(r32599, "11", 10, MPFR_RNDN);
        mpfr_init(r32600);
        mpfr_init(r32601);
        mpfr_init(r32602);
        mpfr_init(r32603);
        mpfr_init(r32604);
        mpfr_init_set_str(r32605, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32606, "4", 10, MPFR_RNDN);
        mpfr_init(r32607);
        mpfr_init(r32608);
        mpfr_init(r32609);
        mpfr_init_set_str(r32610, "-2", 10, MPFR_RNDN);
        mpfr_init(r32611);
        mpfr_init(r32612);
        mpfr_init(r32613);
        mpfr_init(r32614);
        mpfr_init_set_str(r32615, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32616, "8", 10, MPFR_RNDN);
        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(r32628);
        mpfr_init(r32629);
        mpfr_init(r32630);
        mpfr_init_set_str(r32631, "2", 10, MPFR_RNDN);
        mpfr_init(r32632);
        mpfr_init(r32633);
        mpfr_init(r32634);
}

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

