#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 r32316 = 333.75;
        float r32317 = 33096;
        float r32318 = 6;
        float r32319 = pow(r32317, r32318);
        float r32320 = r32316 * r32319;
        float r32321 = 77617;
        float r32322 = r32321 * r32321;
        float r32323 = 11;
        float r32324 = r32323 * r32322;
        float r32325 = r32317 * r32317;
        float r32326 = r32324 * r32325;
        float r32327 = -r32319;
        float r32328 = r32326 + r32327;
        float r32329 = -121;
        float r32330 = 4;
        float r32331 = pow(r32317, r32330);
        float r32332 = r32329 * r32331;
        float r32333 = r32328 + r32332;
        float r32334 = -2;
        float r32335 = r32333 + r32334;
        float r32336 = r32322 * r32335;
        float r32337 = r32320 + r32336;
        float r32338 = 5.5;
        float r32339 = 8;
        float r32340 = pow(r32317, r32339);
        float r32341 = r32338 * r32340;
        float r32342 = r32337 + r32341;
        float r32343 = 2;
        float r32344 = r32343 * r32317;
        float r32345 = r32321 / r32344;
        float r32346 = r32342 + r32345;
        return r32346;
}

double f_id() {
        double r32347 = 333.75;
        double r32348 = 33096;
        double r32349 = 6;
        double r32350 = pow(r32348, r32349);
        double r32351 = r32347 * r32350;
        double r32352 = 77617;
        double r32353 = r32352 * r32352;
        double r32354 = 11;
        double r32355 = r32354 * r32353;
        double r32356 = r32348 * r32348;
        double r32357 = r32355 * r32356;
        double r32358 = -r32350;
        double r32359 = r32357 + r32358;
        double r32360 = -121;
        double r32361 = 4;
        double r32362 = pow(r32348, r32361);
        double r32363 = r32360 * r32362;
        double r32364 = r32359 + r32363;
        double r32365 = -2;
        double r32366 = r32364 + r32365;
        double r32367 = r32353 * r32366;
        double r32368 = r32351 + r32367;
        double r32369 = 5.5;
        double r32370 = 8;
        double r32371 = pow(r32348, r32370);
        double r32372 = r32369 * r32371;
        double r32373 = r32368 + r32372;
        double r32374 = 2;
        double r32375 = r32374 * r32348;
        double r32376 = r32352 / r32375;
        double r32377 = r32373 + r32376;
        return r32377;
}


double f_of() {
        float r32378 = 333.75;
        float r32379 = 33096;
        float r32380 = 6;
        float r32381 = pow(r32379, r32380);
        float r32382 = r32378 * r32381;
        float r32383 = 77617;
        float r32384 = r32383 * r32383;
        float r32385 = 11;
        float r32386 = r32385 * r32384;
        float r32387 = r32379 * r32379;
        float r32388 = r32386 * r32387;
        float r32389 = -r32381;
        float r32390 = r32388 + r32389;
        float r32391 = -121;
        float r32392 = 4;
        float r32393 = pow(r32379, r32392);
        float r32394 = r32391 * r32393;
        float r32395 = r32390 + r32394;
        float r32396 = -2;
        float r32397 = r32395 + r32396;
        float r32398 = r32384 * r32397;
        float r32399 = r32382 + r32398;
        float r32400 = r32399 * r32399;
        float r32401 = 5.5;
        float r32402 = 8;
        float r32403 = pow(r32379, r32402);
        float r32404 = r32401 * r32403;
        float r32405 = r32404 * r32404;
        float r32406 = r32400 - r32405;
        float r32407 = log(r32406);
        float r32408 = cbrt(r32407);
        float r32409 = r32408 * r32408;
        float r32410 = exp(r32409);
        float r32411 = cbrt(r32408);
        float r32412 = r32411 * r32411;
        float r32413 = pow(r32410, r32412);
        float r32414 = pow(r32413, r32411);
        float r32415 = r32399 - r32404;
        float r32416 = r32414 / r32415;
        float r32417 = 2;
        float r32418 = r32417 * r32379;
        float r32419 = r32383 / r32418;
        float r32420 = r32416 + r32419;
        return r32420;
}

double f_od() {
        double r32421 = 333.75;
        double r32422 = 33096;
        double r32423 = 6;
        double r32424 = pow(r32422, r32423);
        double r32425 = r32421 * r32424;
        double r32426 = 77617;
        double r32427 = r32426 * r32426;
        double r32428 = 11;
        double r32429 = r32428 * r32427;
        double r32430 = r32422 * r32422;
        double r32431 = r32429 * r32430;
        double r32432 = -r32424;
        double r32433 = r32431 + r32432;
        double r32434 = -121;
        double r32435 = 4;
        double r32436 = pow(r32422, r32435);
        double r32437 = r32434 * r32436;
        double r32438 = r32433 + r32437;
        double r32439 = -2;
        double r32440 = r32438 + r32439;
        double r32441 = r32427 * r32440;
        double r32442 = r32425 + r32441;
        double r32443 = r32442 * r32442;
        double r32444 = 5.5;
        double r32445 = 8;
        double r32446 = pow(r32422, r32445);
        double r32447 = r32444 * r32446;
        double r32448 = r32447 * r32447;
        double r32449 = r32443 - r32448;
        double r32450 = log(r32449);
        double r32451 = cbrt(r32450);
        double r32452 = r32451 * r32451;
        double r32453 = exp(r32452);
        double r32454 = cbrt(r32451);
        double r32455 = r32454 * r32454;
        double r32456 = pow(r32453, r32455);
        double r32457 = pow(r32456, r32454);
        double r32458 = r32442 - r32447;
        double r32459 = r32457 / r32458;
        double r32460 = 2;
        double r32461 = r32460 * r32422;
        double r32462 = r32426 / r32461;
        double r32463 = r32459 + r32462;
        return r32463;
}

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 r32464, r32465, r32466, r32467, r32468, r32469, r32470, r32471, r32472, r32473, r32474, r32475, r32476, r32477, r32478, r32479, r32480, r32481, r32482, r32483, r32484, r32485, r32486, r32487, r32488, r32489, r32490, r32491, r32492, r32493, r32494;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32464, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32465, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32466, "6", 10, MPFR_RNDN);
        mpfr_init(r32467);
        mpfr_init(r32468);
        mpfr_init_set_str(r32469, "77617", 10, MPFR_RNDN);
        mpfr_init(r32470);
        mpfr_init_set_str(r32471, "11", 10, MPFR_RNDN);
        mpfr_init(r32472);
        mpfr_init(r32473);
        mpfr_init(r32474);
        mpfr_init(r32475);
        mpfr_init(r32476);
        mpfr_init_set_str(r32477, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32478, "4", 10, MPFR_RNDN);
        mpfr_init(r32479);
        mpfr_init(r32480);
        mpfr_init(r32481);
        mpfr_init_set_str(r32482, "-2", 10, MPFR_RNDN);
        mpfr_init(r32483);
        mpfr_init(r32484);
        mpfr_init(r32485);
        mpfr_init_set_str(r32486, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32487, "8", 10, MPFR_RNDN);
        mpfr_init(r32488);
        mpfr_init(r32489);
        mpfr_init(r32490);
        mpfr_init_set_str(r32491, "2", 10, MPFR_RNDN);
        mpfr_init(r32492);
        mpfr_init(r32493);
        mpfr_init(r32494);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r32467, r32465, r32466, MPFR_RNDN);
        mpfr_mul(r32468, r32464, r32467, MPFR_RNDN);
        ;
        mpfr_mul(r32470, r32469, r32469, MPFR_RNDN);
        ;
        mpfr_mul(r32472, r32471, r32470, MPFR_RNDN);
        mpfr_mul(r32473, r32465, r32465, MPFR_RNDN);
        mpfr_mul(r32474, r32472, r32473, MPFR_RNDN);
        mpfr_neg(r32475, r32467, MPFR_RNDN);
        mpfr_add(r32476, r32474, r32475, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32479, r32465, r32478, MPFR_RNDN);
        mpfr_mul(r32480, r32477, r32479, MPFR_RNDN);
        mpfr_add(r32481, r32476, r32480, MPFR_RNDN);
        ;
        mpfr_add(r32483, r32481, r32482, MPFR_RNDN);
        mpfr_mul(r32484, r32470, r32483, MPFR_RNDN);
        mpfr_add(r32485, r32468, r32484, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32488, r32465, r32487, MPFR_RNDN);
        mpfr_mul(r32489, r32486, r32488, MPFR_RNDN);
        mpfr_add(r32490, r32485, r32489, MPFR_RNDN);
        ;
        mpfr_mul(r32492, r32491, r32465, MPFR_RNDN);
        mpfr_div(r32493, r32469, r32492, MPFR_RNDN);
        mpfr_add(r32494, r32490, r32493, MPFR_RNDN);
        return mpfr_get_d(r32494, MPFR_RNDN);
}

static mpfr_t r32495, r32496, r32497, r32498, r32499, r32500, r32501, r32502, r32503, r32504, r32505, r32506, r32507, r32508, r32509, r32510, r32511, r32512, r32513, r32514, r32515, r32516, r32517, r32518, r32519, r32520, r32521, r32522, r32523, r32524, r32525, r32526, r32527, r32528, r32529, r32530, r32531, r32532, r32533, r32534, r32535, r32536, r32537;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32495, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32496, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32497, "6", 10, MPFR_RNDN);
        mpfr_init(r32498);
        mpfr_init(r32499);
        mpfr_init_set_str(r32500, "77617", 10, MPFR_RNDN);
        mpfr_init(r32501);
        mpfr_init_set_str(r32502, "11", 10, MPFR_RNDN);
        mpfr_init(r32503);
        mpfr_init(r32504);
        mpfr_init(r32505);
        mpfr_init(r32506);
        mpfr_init(r32507);
        mpfr_init_set_str(r32508, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32509, "4", 10, MPFR_RNDN);
        mpfr_init(r32510);
        mpfr_init(r32511);
        mpfr_init(r32512);
        mpfr_init_set_str(r32513, "-2", 10, MPFR_RNDN);
        mpfr_init(r32514);
        mpfr_init(r32515);
        mpfr_init(r32516);
        mpfr_init(r32517);
        mpfr_init_set_str(r32518, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32519, "8", 10, MPFR_RNDN);
        mpfr_init(r32520);
        mpfr_init(r32521);
        mpfr_init(r32522);
        mpfr_init(r32523);
        mpfr_init(r32524);
        mpfr_init(r32525);
        mpfr_init(r32526);
        mpfr_init(r32527);
        mpfr_init(r32528);
        mpfr_init(r32529);
        mpfr_init(r32530);
        mpfr_init(r32531);
        mpfr_init(r32532);
        mpfr_init(r32533);
        mpfr_init_set_str(r32534, "2", 10, MPFR_RNDN);
        mpfr_init(r32535);
        mpfr_init(r32536);
        mpfr_init(r32537);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r32498, r32496, r32497, MPFR_RNDN);
        mpfr_mul(r32499, r32495, r32498, MPFR_RNDN);
        ;
        mpfr_mul(r32501, r32500, r32500, MPFR_RNDN);
        ;
        mpfr_mul(r32503, r32502, r32501, MPFR_RNDN);
        mpfr_mul(r32504, r32496, r32496, MPFR_RNDN);
        mpfr_mul(r32505, r32503, r32504, MPFR_RNDN);
        mpfr_neg(r32506, r32498, MPFR_RNDN);
        mpfr_add(r32507, r32505, r32506, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32510, r32496, r32509, MPFR_RNDN);
        mpfr_mul(r32511, r32508, r32510, MPFR_RNDN);
        mpfr_add(r32512, r32507, r32511, MPFR_RNDN);
        ;
        mpfr_add(r32514, r32512, r32513, MPFR_RNDN);
        mpfr_mul(r32515, r32501, r32514, MPFR_RNDN);
        mpfr_add(r32516, r32499, r32515, MPFR_RNDN);
        mpfr_mul(r32517, r32516, r32516, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32520, r32496, r32519, MPFR_RNDN);
        mpfr_mul(r32521, r32518, r32520, MPFR_RNDN);
        mpfr_mul(r32522, r32521, r32521, MPFR_RNDN);
        mpfr_sub(r32523, r32517, r32522, MPFR_RNDN);
        mpfr_log(r32524, r32523, MPFR_RNDN);
        mpfr_cbrt(r32525, r32524, MPFR_RNDN);
        mpfr_mul(r32526, r32525, r32525, MPFR_RNDN);
        mpfr_exp(r32527, r32526, MPFR_RNDN);
        mpfr_cbrt(r32528, r32525, MPFR_RNDN);
        mpfr_mul(r32529, r32528, r32528, MPFR_RNDN);
        mpfr_pow(r32530, r32527, r32529, MPFR_RNDN);
        mpfr_pow(r32531, r32530, r32528, MPFR_RNDN);
        mpfr_sub(r32532, r32516, r32521, MPFR_RNDN);
        mpfr_div(r32533, r32531, r32532, MPFR_RNDN);
        ;
        mpfr_mul(r32535, r32534, r32496, MPFR_RNDN);
        mpfr_div(r32536, r32500, r32535, MPFR_RNDN);
        mpfr_add(r32537, r32533, r32536, MPFR_RNDN);
        return mpfr_get_d(r32537, MPFR_RNDN);
}

static mpfr_t r32538, r32539, r32540, r32541, r32542, r32543, r32544, r32545, r32546, r32547, r32548, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r32538, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r32539, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r32540, "6", 10, MPFR_RNDN);
        mpfr_init(r32541);
        mpfr_init(r32542);
        mpfr_init_set_str(r32543, "77617", 10, MPFR_RNDN);
        mpfr_init(r32544);
        mpfr_init_set_str(r32545, "11", 10, MPFR_RNDN);
        mpfr_init(r32546);
        mpfr_init(r32547);
        mpfr_init(r32548);
        mpfr_init(r32549);
        mpfr_init(r32550);
        mpfr_init_set_str(r32551, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r32552, "4", 10, MPFR_RNDN);
        mpfr_init(r32553);
        mpfr_init(r32554);
        mpfr_init(r32555);
        mpfr_init_set_str(r32556, "-2", 10, MPFR_RNDN);
        mpfr_init(r32557);
        mpfr_init(r32558);
        mpfr_init(r32559);
        mpfr_init(r32560);
        mpfr_init_set_str(r32561, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r32562, "8", 10, MPFR_RNDN);
        mpfr_init(r32563);
        mpfr_init(r32564);
        mpfr_init(r32565);
        mpfr_init(r32566);
        mpfr_init(r32567);
        mpfr_init(r32568);
        mpfr_init(r32569);
        mpfr_init(r32570);
        mpfr_init(r32571);
        mpfr_init(r32572);
        mpfr_init(r32573);
        mpfr_init(r32574);
        mpfr_init(r32575);
        mpfr_init(r32576);
        mpfr_init_set_str(r32577, "2", 10, MPFR_RNDN);
        mpfr_init(r32578);
        mpfr_init(r32579);
        mpfr_init(r32580);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r32541, r32539, r32540, MPFR_RNDN);
        mpfr_mul(r32542, r32538, r32541, MPFR_RNDN);
        ;
        mpfr_mul(r32544, r32543, r32543, MPFR_RNDN);
        ;
        mpfr_mul(r32546, r32545, r32544, MPFR_RNDN);
        mpfr_mul(r32547, r32539, r32539, MPFR_RNDN);
        mpfr_mul(r32548, r32546, r32547, MPFR_RNDN);
        mpfr_neg(r32549, r32541, MPFR_RNDN);
        mpfr_add(r32550, r32548, r32549, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32553, r32539, r32552, MPFR_RNDN);
        mpfr_mul(r32554, r32551, r32553, MPFR_RNDN);
        mpfr_add(r32555, r32550, r32554, MPFR_RNDN);
        ;
        mpfr_add(r32557, r32555, r32556, MPFR_RNDN);
        mpfr_mul(r32558, r32544, r32557, MPFR_RNDN);
        mpfr_add(r32559, r32542, r32558, MPFR_RNDN);
        mpfr_mul(r32560, r32559, r32559, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r32563, r32539, r32562, MPFR_RNDN);
        mpfr_mul(r32564, r32561, r32563, MPFR_RNDN);
        mpfr_mul(r32565, r32564, r32564, MPFR_RNDN);
        mpfr_sub(r32566, r32560, r32565, MPFR_RNDN);
        mpfr_log(r32567, r32566, MPFR_RNDN);
        mpfr_cbrt(r32568, r32567, MPFR_RNDN);
        mpfr_mul(r32569, r32568, r32568, MPFR_RNDN);
        mpfr_exp(r32570, r32569, MPFR_RNDN);
        mpfr_cbrt(r32571, r32568, MPFR_RNDN);
        mpfr_mul(r32572, r32571, r32571, MPFR_RNDN);
        mpfr_pow(r32573, r32570, r32572, MPFR_RNDN);
        mpfr_pow(r32574, r32573, r32571, MPFR_RNDN);
        mpfr_sub(r32575, r32559, r32564, MPFR_RNDN);
        mpfr_div(r32576, r32574, r32575, MPFR_RNDN);
        ;
        mpfr_mul(r32578, r32577, r32539, MPFR_RNDN);
        mpfr_div(r32579, r32543, r32578, MPFR_RNDN);
        mpfr_add(r32580, r32576, r32579, MPFR_RNDN);
        return mpfr_get_d(r32580, MPFR_RNDN);
}

