#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 r20328 = 333.75;
        float r20329 = 33096;
        float r20330 = 6;
        float r20331 = pow(r20329, r20330);
        float r20332 = r20328 * r20331;
        float r20333 = 77617;
        float r20334 = r20333 * r20333;
        float r20335 = 11;
        float r20336 = r20335 * r20334;
        float r20337 = r20329 * r20329;
        float r20338 = r20336 * r20337;
        float r20339 = -r20331;
        float r20340 = r20338 + r20339;
        float r20341 = -121;
        float r20342 = 4;
        float r20343 = pow(r20329, r20342);
        float r20344 = r20341 * r20343;
        float r20345 = r20340 + r20344;
        float r20346 = -2;
        float r20347 = r20345 + r20346;
        float r20348 = r20334 * r20347;
        float r20349 = r20332 + r20348;
        float r20350 = 5.5;
        float r20351 = 8;
        float r20352 = pow(r20329, r20351);
        float r20353 = r20350 * r20352;
        float r20354 = r20349 + r20353;
        float r20355 = 2;
        float r20356 = r20355 * r20329;
        float r20357 = r20333 / r20356;
        float r20358 = r20354 + r20357;
        return r20358;
}

double f_id() {
        double r20359 = 333.75;
        double r20360 = 33096;
        double r20361 = 6;
        double r20362 = pow(r20360, r20361);
        double r20363 = r20359 * r20362;
        double r20364 = 77617;
        double r20365 = r20364 * r20364;
        double r20366 = 11;
        double r20367 = r20366 * r20365;
        double r20368 = r20360 * r20360;
        double r20369 = r20367 * r20368;
        double r20370 = -r20362;
        double r20371 = r20369 + r20370;
        double r20372 = -121;
        double r20373 = 4;
        double r20374 = pow(r20360, r20373);
        double r20375 = r20372 * r20374;
        double r20376 = r20371 + r20375;
        double r20377 = -2;
        double r20378 = r20376 + r20377;
        double r20379 = r20365 * r20378;
        double r20380 = r20363 + r20379;
        double r20381 = 5.5;
        double r20382 = 8;
        double r20383 = pow(r20360, r20382);
        double r20384 = r20381 * r20383;
        double r20385 = r20380 + r20384;
        double r20386 = 2;
        double r20387 = r20386 * r20360;
        double r20388 = r20364 / r20387;
        double r20389 = r20385 + r20388;
        return r20389;
}


double f_of() {
        float r20390 = 333.75;
        float r20391 = 33096;
        float r20392 = 6;
        float r20393 = pow(r20391, r20392);
        float r20394 = r20390 * r20393;
        float r20395 = 77617;
        float r20396 = r20395 * r20395;
        float r20397 = 11;
        float r20398 = r20397 * r20396;
        float r20399 = r20391 * r20391;
        float r20400 = r20398 * r20399;
        float r20401 = -r20393;
        float r20402 = r20400 + r20401;
        float r20403 = -121;
        float r20404 = 4;
        float r20405 = pow(r20391, r20404);
        float r20406 = r20403 * r20405;
        float r20407 = r20402 + r20406;
        float r20408 = -2;
        float r20409 = r20407 + r20408;
        float r20410 = r20396 * r20409;
        float r20411 = r20394 + r20410;
        float r20412 = r20411 * r20411;
        float r20413 = 5.5;
        float r20414 = 8;
        float r20415 = pow(r20391, r20414);
        float r20416 = r20413 * r20415;
        float r20417 = r20416 * r20416;
        float r20418 = r20412 - r20417;
        float r20419 = log(r20418);
        float r20420 = cbrt(r20419);
        float r20421 = r20420 * r20420;
        float r20422 = exp(r20421);
        float r20423 = pow(r20422, r20420);
        float r20424 = r20411 - r20416;
        float r20425 = r20423 / r20424;
        float r20426 = 2;
        float r20427 = r20426 * r20391;
        float r20428 = r20395 / r20427;
        float r20429 = r20425 + r20428;
        return r20429;
}

double f_od() {
        double r20430 = 333.75;
        double r20431 = 33096;
        double r20432 = 6;
        double r20433 = pow(r20431, r20432);
        double r20434 = r20430 * r20433;
        double r20435 = 77617;
        double r20436 = r20435 * r20435;
        double r20437 = 11;
        double r20438 = r20437 * r20436;
        double r20439 = r20431 * r20431;
        double r20440 = r20438 * r20439;
        double r20441 = -r20433;
        double r20442 = r20440 + r20441;
        double r20443 = -121;
        double r20444 = 4;
        double r20445 = pow(r20431, r20444);
        double r20446 = r20443 * r20445;
        double r20447 = r20442 + r20446;
        double r20448 = -2;
        double r20449 = r20447 + r20448;
        double r20450 = r20436 * r20449;
        double r20451 = r20434 + r20450;
        double r20452 = r20451 * r20451;
        double r20453 = 5.5;
        double r20454 = 8;
        double r20455 = pow(r20431, r20454);
        double r20456 = r20453 * r20455;
        double r20457 = r20456 * r20456;
        double r20458 = r20452 - r20457;
        double r20459 = log(r20458);
        double r20460 = cbrt(r20459);
        double r20461 = r20460 * r20460;
        double r20462 = exp(r20461);
        double r20463 = pow(r20462, r20460);
        double r20464 = r20451 - r20456;
        double r20465 = r20463 / r20464;
        double r20466 = 2;
        double r20467 = r20466 * r20431;
        double r20468 = r20435 / r20467;
        double r20469 = r20465 + r20468;
        return r20469;
}

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 r20470, r20471, r20472, r20473, r20474, r20475, r20476, r20477, r20478, r20479, r20480, r20481, r20482, r20483, r20484, r20485, r20486, r20487, r20488, r20489, r20490, r20491, r20492, r20493, r20494, r20495, r20496, r20497, r20498, r20499, r20500;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r20470, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20471, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20472, "6", 10, MPFR_RNDN);
        mpfr_init(r20473);
        mpfr_init(r20474);
        mpfr_init_set_str(r20475, "77617", 10, MPFR_RNDN);
        mpfr_init(r20476);
        mpfr_init_set_str(r20477, "11", 10, MPFR_RNDN);
        mpfr_init(r20478);
        mpfr_init(r20479);
        mpfr_init(r20480);
        mpfr_init(r20481);
        mpfr_init(r20482);
        mpfr_init_set_str(r20483, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20484, "4", 10, MPFR_RNDN);
        mpfr_init(r20485);
        mpfr_init(r20486);
        mpfr_init(r20487);
        mpfr_init_set_str(r20488, "-2", 10, MPFR_RNDN);
        mpfr_init(r20489);
        mpfr_init(r20490);
        mpfr_init(r20491);
        mpfr_init_set_str(r20492, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20493, "8", 10, MPFR_RNDN);
        mpfr_init(r20494);
        mpfr_init(r20495);
        mpfr_init(r20496);
        mpfr_init_set_str(r20497, "2", 10, MPFR_RNDN);
        mpfr_init(r20498);
        mpfr_init(r20499);
        mpfr_init(r20500);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r20473, r20471, r20472, MPFR_RNDN);
        mpfr_mul(r20474, r20470, r20473, MPFR_RNDN);
        ;
        mpfr_mul(r20476, r20475, r20475, MPFR_RNDN);
        ;
        mpfr_mul(r20478, r20477, r20476, MPFR_RNDN);
        mpfr_mul(r20479, r20471, r20471, MPFR_RNDN);
        mpfr_mul(r20480, r20478, r20479, MPFR_RNDN);
        mpfr_neg(r20481, r20473, MPFR_RNDN);
        mpfr_add(r20482, r20480, r20481, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20485, r20471, r20484, MPFR_RNDN);
        mpfr_mul(r20486, r20483, r20485, MPFR_RNDN);
        mpfr_add(r20487, r20482, r20486, MPFR_RNDN);
        ;
        mpfr_add(r20489, r20487, r20488, MPFR_RNDN);
        mpfr_mul(r20490, r20476, r20489, MPFR_RNDN);
        mpfr_add(r20491, r20474, r20490, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20494, r20471, r20493, MPFR_RNDN);
        mpfr_mul(r20495, r20492, r20494, MPFR_RNDN);
        mpfr_add(r20496, r20491, r20495, MPFR_RNDN);
        ;
        mpfr_mul(r20498, r20497, r20471, MPFR_RNDN);
        mpfr_div(r20499, r20475, r20498, MPFR_RNDN);
        mpfr_add(r20500, r20496, r20499, MPFR_RNDN);
        return mpfr_get_d(r20500, MPFR_RNDN);
}

static mpfr_t r20501, r20502, r20503, r20504, r20505, r20506, r20507, r20508, r20509, r20510, r20511, r20512, r20513, r20514, r20515, r20516, r20517, r20518, r20519, r20520, r20521, r20522, r20523, r20524, r20525, r20526, r20527, r20528, r20529, r20530, r20531, r20532, r20533, r20534, r20535, r20536, r20537, r20538, r20539, r20540;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r20501, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20502, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20503, "6", 10, MPFR_RNDN);
        mpfr_init(r20504);
        mpfr_init(r20505);
        mpfr_init_set_str(r20506, "77617", 10, MPFR_RNDN);
        mpfr_init(r20507);
        mpfr_init_set_str(r20508, "11", 10, MPFR_RNDN);
        mpfr_init(r20509);
        mpfr_init(r20510);
        mpfr_init(r20511);
        mpfr_init(r20512);
        mpfr_init(r20513);
        mpfr_init_set_str(r20514, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20515, "4", 10, MPFR_RNDN);
        mpfr_init(r20516);
        mpfr_init(r20517);
        mpfr_init(r20518);
        mpfr_init_set_str(r20519, "-2", 10, MPFR_RNDN);
        mpfr_init(r20520);
        mpfr_init(r20521);
        mpfr_init(r20522);
        mpfr_init(r20523);
        mpfr_init_set_str(r20524, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20525, "8", 10, MPFR_RNDN);
        mpfr_init(r20526);
        mpfr_init(r20527);
        mpfr_init(r20528);
        mpfr_init(r20529);
        mpfr_init(r20530);
        mpfr_init(r20531);
        mpfr_init(r20532);
        mpfr_init(r20533);
        mpfr_init(r20534);
        mpfr_init(r20535);
        mpfr_init(r20536);
        mpfr_init_set_str(r20537, "2", 10, MPFR_RNDN);
        mpfr_init(r20538);
        mpfr_init(r20539);
        mpfr_init(r20540);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r20504, r20502, r20503, MPFR_RNDN);
        mpfr_mul(r20505, r20501, r20504, MPFR_RNDN);
        ;
        mpfr_mul(r20507, r20506, r20506, MPFR_RNDN);
        ;
        mpfr_mul(r20509, r20508, r20507, MPFR_RNDN);
        mpfr_mul(r20510, r20502, r20502, MPFR_RNDN);
        mpfr_mul(r20511, r20509, r20510, MPFR_RNDN);
        mpfr_neg(r20512, r20504, MPFR_RNDN);
        mpfr_add(r20513, r20511, r20512, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20516, r20502, r20515, MPFR_RNDN);
        mpfr_mul(r20517, r20514, r20516, MPFR_RNDN);
        mpfr_add(r20518, r20513, r20517, MPFR_RNDN);
        ;
        mpfr_add(r20520, r20518, r20519, MPFR_RNDN);
        mpfr_mul(r20521, r20507, r20520, MPFR_RNDN);
        mpfr_add(r20522, r20505, r20521, MPFR_RNDN);
        mpfr_mul(r20523, r20522, r20522, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20526, r20502, r20525, MPFR_RNDN);
        mpfr_mul(r20527, r20524, r20526, MPFR_RNDN);
        mpfr_mul(r20528, r20527, r20527, MPFR_RNDN);
        mpfr_sub(r20529, r20523, r20528, MPFR_RNDN);
        mpfr_log(r20530, r20529, MPFR_RNDN);
        mpfr_cbrt(r20531, r20530, MPFR_RNDN);
        mpfr_mul(r20532, r20531, r20531, MPFR_RNDN);
        mpfr_exp(r20533, r20532, MPFR_RNDN);
        mpfr_pow(r20534, r20533, r20531, MPFR_RNDN);
        mpfr_sub(r20535, r20522, r20527, MPFR_RNDN);
        mpfr_div(r20536, r20534, r20535, MPFR_RNDN);
        ;
        mpfr_mul(r20538, r20537, r20502, MPFR_RNDN);
        mpfr_div(r20539, r20506, r20538, MPFR_RNDN);
        mpfr_add(r20540, r20536, r20539, MPFR_RNDN);
        return mpfr_get_d(r20540, MPFR_RNDN);
}

static mpfr_t r20541, r20542, r20543, r20544, r20545, r20546, r20547, r20548, r20549, r20550, r20551, r20552, r20553, r20554, r20555, r20556, r20557, r20558, r20559, r20560, r20561, r20562, r20563, r20564, r20565, r20566, r20567, r20568, r20569, r20570, r20571, r20572, r20573, r20574, r20575, r20576, r20577, r20578, r20579, r20580;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r20541, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20542, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20543, "6", 10, MPFR_RNDN);
        mpfr_init(r20544);
        mpfr_init(r20545);
        mpfr_init_set_str(r20546, "77617", 10, MPFR_RNDN);
        mpfr_init(r20547);
        mpfr_init_set_str(r20548, "11", 10, MPFR_RNDN);
        mpfr_init(r20549);
        mpfr_init(r20550);
        mpfr_init(r20551);
        mpfr_init(r20552);
        mpfr_init(r20553);
        mpfr_init_set_str(r20554, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20555, "4", 10, MPFR_RNDN);
        mpfr_init(r20556);
        mpfr_init(r20557);
        mpfr_init(r20558);
        mpfr_init_set_str(r20559, "-2", 10, MPFR_RNDN);
        mpfr_init(r20560);
        mpfr_init(r20561);
        mpfr_init(r20562);
        mpfr_init(r20563);
        mpfr_init_set_str(r20564, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20565, "8", 10, MPFR_RNDN);
        mpfr_init(r20566);
        mpfr_init(r20567);
        mpfr_init(r20568);
        mpfr_init(r20569);
        mpfr_init(r20570);
        mpfr_init(r20571);
        mpfr_init(r20572);
        mpfr_init(r20573);
        mpfr_init(r20574);
        mpfr_init(r20575);
        mpfr_init(r20576);
        mpfr_init_set_str(r20577, "2", 10, MPFR_RNDN);
        mpfr_init(r20578);
        mpfr_init(r20579);
        mpfr_init(r20580);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r20544, r20542, r20543, MPFR_RNDN);
        mpfr_mul(r20545, r20541, r20544, MPFR_RNDN);
        ;
        mpfr_mul(r20547, r20546, r20546, MPFR_RNDN);
        ;
        mpfr_mul(r20549, r20548, r20547, MPFR_RNDN);
        mpfr_mul(r20550, r20542, r20542, MPFR_RNDN);
        mpfr_mul(r20551, r20549, r20550, MPFR_RNDN);
        mpfr_neg(r20552, r20544, MPFR_RNDN);
        mpfr_add(r20553, r20551, r20552, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20556, r20542, r20555, MPFR_RNDN);
        mpfr_mul(r20557, r20554, r20556, MPFR_RNDN);
        mpfr_add(r20558, r20553, r20557, MPFR_RNDN);
        ;
        mpfr_add(r20560, r20558, r20559, MPFR_RNDN);
        mpfr_mul(r20561, r20547, r20560, MPFR_RNDN);
        mpfr_add(r20562, r20545, r20561, MPFR_RNDN);
        mpfr_mul(r20563, r20562, r20562, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20566, r20542, r20565, MPFR_RNDN);
        mpfr_mul(r20567, r20564, r20566, MPFR_RNDN);
        mpfr_mul(r20568, r20567, r20567, MPFR_RNDN);
        mpfr_sub(r20569, r20563, r20568, MPFR_RNDN);
        mpfr_log(r20570, r20569, MPFR_RNDN);
        mpfr_cbrt(r20571, r20570, MPFR_RNDN);
        mpfr_mul(r20572, r20571, r20571, MPFR_RNDN);
        mpfr_exp(r20573, r20572, MPFR_RNDN);
        mpfr_pow(r20574, r20573, r20571, MPFR_RNDN);
        mpfr_sub(r20575, r20562, r20567, MPFR_RNDN);
        mpfr_div(r20576, r20574, r20575, MPFR_RNDN);
        ;
        mpfr_mul(r20578, r20577, r20542, MPFR_RNDN);
        mpfr_div(r20579, r20546, r20578, MPFR_RNDN);
        mpfr_add(r20580, r20576, r20579, MPFR_RNDN);
        return mpfr_get_d(r20580, MPFR_RNDN);
}

