#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 r20320 = 333.75;
        float r20321 = 33096;
        float r20322 = 6;
        float r20323 = pow(r20321, r20322);
        float r20324 = r20320 * r20323;
        float r20325 = 77617;
        float r20326 = r20325 * r20325;
        float r20327 = 11;
        float r20328 = r20327 * r20326;
        float r20329 = r20321 * r20321;
        float r20330 = r20328 * r20329;
        float r20331 = -r20323;
        float r20332 = r20330 + r20331;
        float r20333 = -121;
        float r20334 = 4;
        float r20335 = pow(r20321, r20334);
        float r20336 = r20333 * r20335;
        float r20337 = r20332 + r20336;
        float r20338 = -2;
        float r20339 = r20337 + r20338;
        float r20340 = r20326 * r20339;
        float r20341 = r20324 + r20340;
        float r20342 = 5.5;
        float r20343 = 8;
        float r20344 = pow(r20321, r20343);
        float r20345 = r20342 * r20344;
        float r20346 = r20341 + r20345;
        float r20347 = 2;
        float r20348 = r20347 * r20321;
        float r20349 = r20325 / r20348;
        float r20350 = r20346 + r20349;
        return r20350;
}

double f_id() {
        double r20351 = 333.75;
        double r20352 = 33096;
        double r20353 = 6;
        double r20354 = pow(r20352, r20353);
        double r20355 = r20351 * r20354;
        double r20356 = 77617;
        double r20357 = r20356 * r20356;
        double r20358 = 11;
        double r20359 = r20358 * r20357;
        double r20360 = r20352 * r20352;
        double r20361 = r20359 * r20360;
        double r20362 = -r20354;
        double r20363 = r20361 + r20362;
        double r20364 = -121;
        double r20365 = 4;
        double r20366 = pow(r20352, r20365);
        double r20367 = r20364 * r20366;
        double r20368 = r20363 + r20367;
        double r20369 = -2;
        double r20370 = r20368 + r20369;
        double r20371 = r20357 * r20370;
        double r20372 = r20355 + r20371;
        double r20373 = 5.5;
        double r20374 = 8;
        double r20375 = pow(r20352, r20374);
        double r20376 = r20373 * r20375;
        double r20377 = r20372 + r20376;
        double r20378 = 2;
        double r20379 = r20378 * r20352;
        double r20380 = r20356 / r20379;
        double r20381 = r20377 + r20380;
        return r20381;
}


double f_of() {
        float r20382 = 333.75;
        float r20383 = 33096;
        float r20384 = 6;
        float r20385 = pow(r20383, r20384);
        float r20386 = r20382 * r20385;
        float r20387 = 77617;
        float r20388 = r20387 * r20387;
        float r20389 = 11;
        float r20390 = r20389 * r20388;
        float r20391 = r20383 * r20383;
        float r20392 = r20390 * r20391;
        float r20393 = -r20385;
        float r20394 = r20392 + r20393;
        float r20395 = -121;
        float r20396 = 4;
        float r20397 = pow(r20383, r20396);
        float r20398 = r20395 * r20397;
        float r20399 = r20394 + r20398;
        float r20400 = -2;
        float r20401 = r20399 + r20400;
        float r20402 = r20388 * r20401;
        float r20403 = r20386 + r20402;
        float r20404 = r20403 * r20403;
        float r20405 = 5.5;
        float r20406 = 8;
        float r20407 = pow(r20383, r20406);
        float r20408 = r20405 * r20407;
        float r20409 = r20408 * r20408;
        float r20410 = r20404 - r20409;
        float r20411 = log(r20410);
        float r20412 = cbrt(r20411);
        float r20413 = r20412 * r20412;
        float r20414 = exp(r20413);
        float r20415 = pow(r20414, r20412);
        float r20416 = r20403 - r20408;
        float r20417 = r20415 / r20416;
        float r20418 = 2;
        float r20419 = r20418 * r20383;
        float r20420 = r20387 / r20419;
        float r20421 = r20417 + r20420;
        return r20421;
}

double f_od() {
        double r20422 = 333.75;
        double r20423 = 33096;
        double r20424 = 6;
        double r20425 = pow(r20423, r20424);
        double r20426 = r20422 * r20425;
        double r20427 = 77617;
        double r20428 = r20427 * r20427;
        double r20429 = 11;
        double r20430 = r20429 * r20428;
        double r20431 = r20423 * r20423;
        double r20432 = r20430 * r20431;
        double r20433 = -r20425;
        double r20434 = r20432 + r20433;
        double r20435 = -121;
        double r20436 = 4;
        double r20437 = pow(r20423, r20436);
        double r20438 = r20435 * r20437;
        double r20439 = r20434 + r20438;
        double r20440 = -2;
        double r20441 = r20439 + r20440;
        double r20442 = r20428 * r20441;
        double r20443 = r20426 + r20442;
        double r20444 = r20443 * r20443;
        double r20445 = 5.5;
        double r20446 = 8;
        double r20447 = pow(r20423, r20446);
        double r20448 = r20445 * r20447;
        double r20449 = r20448 * r20448;
        double r20450 = r20444 - r20449;
        double r20451 = log(r20450);
        double r20452 = cbrt(r20451);
        double r20453 = r20452 * r20452;
        double r20454 = exp(r20453);
        double r20455 = pow(r20454, r20452);
        double r20456 = r20443 - r20448;
        double r20457 = r20455 / r20456;
        double r20458 = 2;
        double r20459 = r20458 * r20423;
        double r20460 = r20427 / r20459;
        double r20461 = r20457 + r20460;
        return r20461;
}

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 r20462, r20463, r20464, r20465, r20466, r20467, r20468, r20469, r20470, r20471, r20472, r20473, r20474, r20475, r20476, r20477, r20478, r20479, r20480, r20481, r20482, r20483, r20484, r20485, r20486, r20487, r20488, r20489, r20490, r20491, r20492;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r20462, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20463, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20464, "6", 10, MPFR_RNDN);
        mpfr_init(r20465);
        mpfr_init(r20466);
        mpfr_init_set_str(r20467, "77617", 10, MPFR_RNDN);
        mpfr_init(r20468);
        mpfr_init_set_str(r20469, "11", 10, MPFR_RNDN);
        mpfr_init(r20470);
        mpfr_init(r20471);
        mpfr_init(r20472);
        mpfr_init(r20473);
        mpfr_init(r20474);
        mpfr_init_set_str(r20475, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20476, "4", 10, MPFR_RNDN);
        mpfr_init(r20477);
        mpfr_init(r20478);
        mpfr_init(r20479);
        mpfr_init_set_str(r20480, "-2", 10, MPFR_RNDN);
        mpfr_init(r20481);
        mpfr_init(r20482);
        mpfr_init(r20483);
        mpfr_init_set_str(r20484, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20485, "8", 10, MPFR_RNDN);
        mpfr_init(r20486);
        mpfr_init(r20487);
        mpfr_init(r20488);
        mpfr_init_set_str(r20489, "2", 10, MPFR_RNDN);
        mpfr_init(r20490);
        mpfr_init(r20491);
        mpfr_init(r20492);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r20465, r20463, r20464, MPFR_RNDN);
        mpfr_mul(r20466, r20462, r20465, MPFR_RNDN);
        ;
        mpfr_mul(r20468, r20467, r20467, MPFR_RNDN);
        ;
        mpfr_mul(r20470, r20469, r20468, MPFR_RNDN);
        mpfr_mul(r20471, r20463, r20463, MPFR_RNDN);
        mpfr_mul(r20472, r20470, r20471, MPFR_RNDN);
        mpfr_neg(r20473, r20465, MPFR_RNDN);
        mpfr_add(r20474, r20472, r20473, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20477, r20463, r20476, MPFR_RNDN);
        mpfr_mul(r20478, r20475, r20477, MPFR_RNDN);
        mpfr_add(r20479, r20474, r20478, MPFR_RNDN);
        ;
        mpfr_add(r20481, r20479, r20480, MPFR_RNDN);
        mpfr_mul(r20482, r20468, r20481, MPFR_RNDN);
        mpfr_add(r20483, r20466, r20482, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20486, r20463, r20485, MPFR_RNDN);
        mpfr_mul(r20487, r20484, r20486, MPFR_RNDN);
        mpfr_add(r20488, r20483, r20487, MPFR_RNDN);
        ;
        mpfr_mul(r20490, r20489, r20463, MPFR_RNDN);
        mpfr_div(r20491, r20467, r20490, MPFR_RNDN);
        mpfr_add(r20492, r20488, r20491, MPFR_RNDN);
        return mpfr_get_d(r20492, MPFR_RNDN);
}

static mpfr_t r20493, r20494, r20495, r20496, r20497, r20498, r20499, r20500, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r20493, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20494, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20495, "6", 10, MPFR_RNDN);
        mpfr_init(r20496);
        mpfr_init(r20497);
        mpfr_init_set_str(r20498, "77617", 10, MPFR_RNDN);
        mpfr_init(r20499);
        mpfr_init_set_str(r20500, "11", 10, MPFR_RNDN);
        mpfr_init(r20501);
        mpfr_init(r20502);
        mpfr_init(r20503);
        mpfr_init(r20504);
        mpfr_init(r20505);
        mpfr_init_set_str(r20506, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20507, "4", 10, MPFR_RNDN);
        mpfr_init(r20508);
        mpfr_init(r20509);
        mpfr_init(r20510);
        mpfr_init_set_str(r20511, "-2", 10, MPFR_RNDN);
        mpfr_init(r20512);
        mpfr_init(r20513);
        mpfr_init(r20514);
        mpfr_init(r20515);
        mpfr_init_set_str(r20516, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20517, "8", 10, MPFR_RNDN);
        mpfr_init(r20518);
        mpfr_init(r20519);
        mpfr_init(r20520);
        mpfr_init(r20521);
        mpfr_init(r20522);
        mpfr_init(r20523);
        mpfr_init(r20524);
        mpfr_init(r20525);
        mpfr_init(r20526);
        mpfr_init(r20527);
        mpfr_init(r20528);
        mpfr_init_set_str(r20529, "2", 10, MPFR_RNDN);
        mpfr_init(r20530);
        mpfr_init(r20531);
        mpfr_init(r20532);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r20496, r20494, r20495, MPFR_RNDN);
        mpfr_mul(r20497, r20493, r20496, MPFR_RNDN);
        ;
        mpfr_mul(r20499, r20498, r20498, MPFR_RNDN);
        ;
        mpfr_mul(r20501, r20500, r20499, MPFR_RNDN);
        mpfr_mul(r20502, r20494, r20494, MPFR_RNDN);
        mpfr_mul(r20503, r20501, r20502, MPFR_RNDN);
        mpfr_neg(r20504, r20496, MPFR_RNDN);
        mpfr_add(r20505, r20503, r20504, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20508, r20494, r20507, MPFR_RNDN);
        mpfr_mul(r20509, r20506, r20508, MPFR_RNDN);
        mpfr_add(r20510, r20505, r20509, MPFR_RNDN);
        ;
        mpfr_add(r20512, r20510, r20511, MPFR_RNDN);
        mpfr_mul(r20513, r20499, r20512, MPFR_RNDN);
        mpfr_add(r20514, r20497, r20513, MPFR_RNDN);
        mpfr_mul(r20515, r20514, r20514, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20518, r20494, r20517, MPFR_RNDN);
        mpfr_mul(r20519, r20516, r20518, MPFR_RNDN);
        mpfr_mul(r20520, r20519, r20519, MPFR_RNDN);
        mpfr_sub(r20521, r20515, r20520, MPFR_RNDN);
        mpfr_log(r20522, r20521, MPFR_RNDN);
        mpfr_cbrt(r20523, r20522, MPFR_RNDN);
        mpfr_mul(r20524, r20523, r20523, MPFR_RNDN);
        mpfr_exp(r20525, r20524, MPFR_RNDN);
        mpfr_pow(r20526, r20525, r20523, MPFR_RNDN);
        mpfr_sub(r20527, r20514, r20519, MPFR_RNDN);
        mpfr_div(r20528, r20526, r20527, MPFR_RNDN);
        ;
        mpfr_mul(r20530, r20529, r20494, MPFR_RNDN);
        mpfr_div(r20531, r20498, r20530, MPFR_RNDN);
        mpfr_add(r20532, r20528, r20531, MPFR_RNDN);
        return mpfr_get_d(r20532, MPFR_RNDN);
}

static mpfr_t r20533, r20534, r20535, r20536, r20537, r20538, r20539, r20540, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init_set_str(r20533, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20534, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20535, "6", 10, MPFR_RNDN);
        mpfr_init(r20536);
        mpfr_init(r20537);
        mpfr_init_set_str(r20538, "77617", 10, MPFR_RNDN);
        mpfr_init(r20539);
        mpfr_init_set_str(r20540, "11", 10, MPFR_RNDN);
        mpfr_init(r20541);
        mpfr_init(r20542);
        mpfr_init(r20543);
        mpfr_init(r20544);
        mpfr_init(r20545);
        mpfr_init_set_str(r20546, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20547, "4", 10, MPFR_RNDN);
        mpfr_init(r20548);
        mpfr_init(r20549);
        mpfr_init(r20550);
        mpfr_init_set_str(r20551, "-2", 10, MPFR_RNDN);
        mpfr_init(r20552);
        mpfr_init(r20553);
        mpfr_init(r20554);
        mpfr_init(r20555);
        mpfr_init_set_str(r20556, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20557, "8", 10, MPFR_RNDN);
        mpfr_init(r20558);
        mpfr_init(r20559);
        mpfr_init(r20560);
        mpfr_init(r20561);
        mpfr_init(r20562);
        mpfr_init(r20563);
        mpfr_init(r20564);
        mpfr_init(r20565);
        mpfr_init(r20566);
        mpfr_init(r20567);
        mpfr_init(r20568);
        mpfr_init_set_str(r20569, "2", 10, MPFR_RNDN);
        mpfr_init(r20570);
        mpfr_init(r20571);
        mpfr_init(r20572);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_pow(r20536, r20534, r20535, MPFR_RNDN);
        mpfr_mul(r20537, r20533, r20536, MPFR_RNDN);
        ;
        mpfr_mul(r20539, r20538, r20538, MPFR_RNDN);
        ;
        mpfr_mul(r20541, r20540, r20539, MPFR_RNDN);
        mpfr_mul(r20542, r20534, r20534, MPFR_RNDN);
        mpfr_mul(r20543, r20541, r20542, MPFR_RNDN);
        mpfr_neg(r20544, r20536, MPFR_RNDN);
        mpfr_add(r20545, r20543, r20544, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20548, r20534, r20547, MPFR_RNDN);
        mpfr_mul(r20549, r20546, r20548, MPFR_RNDN);
        mpfr_add(r20550, r20545, r20549, MPFR_RNDN);
        ;
        mpfr_add(r20552, r20550, r20551, MPFR_RNDN);
        mpfr_mul(r20553, r20539, r20552, MPFR_RNDN);
        mpfr_add(r20554, r20537, r20553, MPFR_RNDN);
        mpfr_mul(r20555, r20554, r20554, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20558, r20534, r20557, MPFR_RNDN);
        mpfr_mul(r20559, r20556, r20558, MPFR_RNDN);
        mpfr_mul(r20560, r20559, r20559, MPFR_RNDN);
        mpfr_sub(r20561, r20555, r20560, MPFR_RNDN);
        mpfr_log(r20562, r20561, MPFR_RNDN);
        mpfr_cbrt(r20563, r20562, MPFR_RNDN);
        mpfr_mul(r20564, r20563, r20563, MPFR_RNDN);
        mpfr_exp(r20565, r20564, MPFR_RNDN);
        mpfr_pow(r20566, r20565, r20563, MPFR_RNDN);
        mpfr_sub(r20567, r20554, r20559, MPFR_RNDN);
        mpfr_div(r20568, r20566, r20567, MPFR_RNDN);
        ;
        mpfr_mul(r20570, r20569, r20534, MPFR_RNDN);
        mpfr_div(r20571, r20538, r20570, MPFR_RNDN);
        mpfr_add(r20572, r20568, r20571, MPFR_RNDN);
        return mpfr_get_d(r20572, MPFR_RNDN);
}

