#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 r20267 = 333.75;
        float r20268 = 33096;
        float r20269 = 6;
        float r20270 = pow(r20268, r20269);
        float r20271 = r20267 * r20270;
        float r20272 = 77617;
        float r20273 = r20272 * r20272;
        float r20274 = 11;
        float r20275 = r20274 * r20273;
        float r20276 = r20268 * r20268;
        float r20277 = r20275 * r20276;
        float r20278 = -r20270;
        float r20279 = r20277 + r20278;
        float r20280 = -121;
        float r20281 = 4;
        float r20282 = pow(r20268, r20281);
        float r20283 = r20280 * r20282;
        float r20284 = r20279 + r20283;
        float r20285 = -2;
        float r20286 = r20284 + r20285;
        float r20287 = r20273 * r20286;
        float r20288 = r20271 + r20287;
        float r20289 = 5.5;
        float r20290 = 8;
        float r20291 = pow(r20268, r20290);
        float r20292 = r20289 * r20291;
        float r20293 = r20288 + r20292;
        float r20294 = 2;
        float r20295 = r20294 * r20268;
        float r20296 = r20272 / r20295;
        float r20297 = r20293 + r20296;
        return r20297;
}

double f_id() {
        double r20298 = 333.75;
        double r20299 = 33096;
        double r20300 = 6;
        double r20301 = pow(r20299, r20300);
        double r20302 = r20298 * r20301;
        double r20303 = 77617;
        double r20304 = r20303 * r20303;
        double r20305 = 11;
        double r20306 = r20305 * r20304;
        double r20307 = r20299 * r20299;
        double r20308 = r20306 * r20307;
        double r20309 = -r20301;
        double r20310 = r20308 + r20309;
        double r20311 = -121;
        double r20312 = 4;
        double r20313 = pow(r20299, r20312);
        double r20314 = r20311 * r20313;
        double r20315 = r20310 + r20314;
        double r20316 = -2;
        double r20317 = r20315 + r20316;
        double r20318 = r20304 * r20317;
        double r20319 = r20302 + r20318;
        double r20320 = 5.5;
        double r20321 = 8;
        double r20322 = pow(r20299, r20321);
        double r20323 = r20320 * r20322;
        double r20324 = r20319 + r20323;
        double r20325 = 2;
        double r20326 = r20325 * r20299;
        double r20327 = r20303 / r20326;
        double r20328 = r20324 + r20327;
        return r20328;
}


double f_of() {
        float r20329 = 333.75;
        float r20330 = 33096;
        float r20331 = 6;
        float r20332 = pow(r20330, r20331);
        float r20333 = r20329 * r20332;
        float r20334 = 77617;
        float r20335 = r20334 * r20334;
        float r20336 = 11;
        float r20337 = r20336 * r20335;
        float r20338 = r20330 * r20330;
        float r20339 = r20337 * r20338;
        float r20340 = -r20332;
        float r20341 = r20339 + r20340;
        float r20342 = -121;
        float r20343 = 4;
        float r20344 = pow(r20330, r20343);
        float r20345 = r20342 * r20344;
        float r20346 = r20341 + r20345;
        float r20347 = -2;
        float r20348 = r20346 + r20347;
        float r20349 = r20335 * r20348;
        float r20350 = r20333 + r20349;
        float r20351 = r20350 * r20350;
        float r20352 = 5.5;
        float r20353 = 8;
        float r20354 = pow(r20330, r20353);
        float r20355 = r20352 * r20354;
        float r20356 = r20355 * r20355;
        float r20357 = r20351 - r20356;
        float r20358 = log(r20357);
        float r20359 = cbrt(r20358);
        float r20360 = r20359 * r20359;
        float r20361 = exp(r20360);
        float r20362 = cbrt(r20359);
        float r20363 = r20362 * r20362;
        float r20364 = pow(r20361, r20363);
        float r20365 = pow(r20364, r20362);
        float r20366 = r20350 - r20355;
        float r20367 = r20365 / r20366;
        float r20368 = 2;
        float r20369 = r20368 * r20330;
        float r20370 = r20334 / r20369;
        float r20371 = r20367 + r20370;
        return r20371;
}

double f_od() {
        double r20372 = 333.75;
        double r20373 = 33096;
        double r20374 = 6;
        double r20375 = pow(r20373, r20374);
        double r20376 = r20372 * r20375;
        double r20377 = 77617;
        double r20378 = r20377 * r20377;
        double r20379 = 11;
        double r20380 = r20379 * r20378;
        double r20381 = r20373 * r20373;
        double r20382 = r20380 * r20381;
        double r20383 = -r20375;
        double r20384 = r20382 + r20383;
        double r20385 = -121;
        double r20386 = 4;
        double r20387 = pow(r20373, r20386);
        double r20388 = r20385 * r20387;
        double r20389 = r20384 + r20388;
        double r20390 = -2;
        double r20391 = r20389 + r20390;
        double r20392 = r20378 * r20391;
        double r20393 = r20376 + r20392;
        double r20394 = r20393 * r20393;
        double r20395 = 5.5;
        double r20396 = 8;
        double r20397 = pow(r20373, r20396);
        double r20398 = r20395 * r20397;
        double r20399 = r20398 * r20398;
        double r20400 = r20394 - r20399;
        double r20401 = log(r20400);
        double r20402 = cbrt(r20401);
        double r20403 = r20402 * r20402;
        double r20404 = exp(r20403);
        double r20405 = cbrt(r20402);
        double r20406 = r20405 * r20405;
        double r20407 = pow(r20404, r20406);
        double r20408 = pow(r20407, r20405);
        double r20409 = r20393 - r20398;
        double r20410 = r20408 / r20409;
        double r20411 = 2;
        double r20412 = r20411 * r20373;
        double r20413 = r20377 / r20412;
        double r20414 = r20410 + r20413;
        return r20414;
}

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 r20415, r20416, r20417, r20418, r20419, r20420, r20421, r20422, r20423, r20424, r20425, r20426, r20427, r20428, r20429, r20430, r20431, r20432, r20433, r20434, r20435, r20436, r20437, r20438, r20439, r20440, r20441, r20442, r20443, r20444, r20445;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r20415, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20416, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20417, "6", 10, MPFR_RNDN);
        mpfr_init(r20418);
        mpfr_init(r20419);
        mpfr_init_set_str(r20420, "77617", 10, MPFR_RNDN);
        mpfr_init(r20421);
        mpfr_init_set_str(r20422, "11", 10, MPFR_RNDN);
        mpfr_init(r20423);
        mpfr_init(r20424);
        mpfr_init(r20425);
        mpfr_init(r20426);
        mpfr_init(r20427);
        mpfr_init_set_str(r20428, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20429, "4", 10, MPFR_RNDN);
        mpfr_init(r20430);
        mpfr_init(r20431);
        mpfr_init(r20432);
        mpfr_init_set_str(r20433, "-2", 10, MPFR_RNDN);
        mpfr_init(r20434);
        mpfr_init(r20435);
        mpfr_init(r20436);
        mpfr_init_set_str(r20437, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20438, "8", 10, MPFR_RNDN);
        mpfr_init(r20439);
        mpfr_init(r20440);
        mpfr_init(r20441);
        mpfr_init_set_str(r20442, "2", 10, MPFR_RNDN);
        mpfr_init(r20443);
        mpfr_init(r20444);
        mpfr_init(r20445);
}

double f_im() {
        ;
        ;
        ;
        mpfr_pow(r20418, r20416, r20417, MPFR_RNDN);
        mpfr_mul(r20419, r20415, r20418, MPFR_RNDN);
        ;
        mpfr_mul(r20421, r20420, r20420, MPFR_RNDN);
        ;
        mpfr_mul(r20423, r20422, r20421, MPFR_RNDN);
        mpfr_mul(r20424, r20416, r20416, MPFR_RNDN);
        mpfr_mul(r20425, r20423, r20424, MPFR_RNDN);
        mpfr_neg(r20426, r20418, MPFR_RNDN);
        mpfr_add(r20427, r20425, r20426, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20430, r20416, r20429, MPFR_RNDN);
        mpfr_mul(r20431, r20428, r20430, MPFR_RNDN);
        mpfr_add(r20432, r20427, r20431, MPFR_RNDN);
        ;
        mpfr_add(r20434, r20432, r20433, MPFR_RNDN);
        mpfr_mul(r20435, r20421, r20434, MPFR_RNDN);
        mpfr_add(r20436, r20419, r20435, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20439, r20416, r20438, MPFR_RNDN);
        mpfr_mul(r20440, r20437, r20439, MPFR_RNDN);
        mpfr_add(r20441, r20436, r20440, MPFR_RNDN);
        ;
        mpfr_mul(r20443, r20442, r20416, MPFR_RNDN);
        mpfr_div(r20444, r20420, r20443, MPFR_RNDN);
        mpfr_add(r20445, r20441, r20444, MPFR_RNDN);
        return mpfr_get_d(r20445, MPFR_RNDN);
}

static mpfr_t r20446, r20447, r20448, r20449, r20450, r20451, r20452, r20453, r20454, r20455, r20456, r20457, r20458, r20459, r20460, r20461, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r20446, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20447, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20448, "6", 10, MPFR_RNDN);
        mpfr_init(r20449);
        mpfr_init(r20450);
        mpfr_init_set_str(r20451, "77617", 10, MPFR_RNDN);
        mpfr_init(r20452);
        mpfr_init_set_str(r20453, "11", 10, MPFR_RNDN);
        mpfr_init(r20454);
        mpfr_init(r20455);
        mpfr_init(r20456);
        mpfr_init(r20457);
        mpfr_init(r20458);
        mpfr_init_set_str(r20459, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20460, "4", 10, MPFR_RNDN);
        mpfr_init(r20461);
        mpfr_init(r20462);
        mpfr_init(r20463);
        mpfr_init_set_str(r20464, "-2", 10, MPFR_RNDN);
        mpfr_init(r20465);
        mpfr_init(r20466);
        mpfr_init(r20467);
        mpfr_init(r20468);
        mpfr_init_set_str(r20469, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20470, "8", 10, MPFR_RNDN);
        mpfr_init(r20471);
        mpfr_init(r20472);
        mpfr_init(r20473);
        mpfr_init(r20474);
        mpfr_init(r20475);
        mpfr_init(r20476);
        mpfr_init(r20477);
        mpfr_init(r20478);
        mpfr_init(r20479);
        mpfr_init(r20480);
        mpfr_init(r20481);
        mpfr_init(r20482);
        mpfr_init(r20483);
        mpfr_init(r20484);
        mpfr_init_set_str(r20485, "2", 10, MPFR_RNDN);
        mpfr_init(r20486);
        mpfr_init(r20487);
        mpfr_init(r20488);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_pow(r20449, r20447, r20448, MPFR_RNDN);
        mpfr_mul(r20450, r20446, r20449, MPFR_RNDN);
        ;
        mpfr_mul(r20452, r20451, r20451, MPFR_RNDN);
        ;
        mpfr_mul(r20454, r20453, r20452, MPFR_RNDN);
        mpfr_mul(r20455, r20447, r20447, MPFR_RNDN);
        mpfr_mul(r20456, r20454, r20455, MPFR_RNDN);
        mpfr_neg(r20457, r20449, MPFR_RNDN);
        mpfr_add(r20458, r20456, r20457, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20461, r20447, r20460, MPFR_RNDN);
        mpfr_mul(r20462, r20459, r20461, MPFR_RNDN);
        mpfr_add(r20463, r20458, r20462, MPFR_RNDN);
        ;
        mpfr_add(r20465, r20463, r20464, MPFR_RNDN);
        mpfr_mul(r20466, r20452, r20465, MPFR_RNDN);
        mpfr_add(r20467, r20450, r20466, MPFR_RNDN);
        mpfr_mul(r20468, r20467, r20467, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20471, r20447, r20470, MPFR_RNDN);
        mpfr_mul(r20472, r20469, r20471, MPFR_RNDN);
        mpfr_mul(r20473, r20472, r20472, MPFR_RNDN);
        mpfr_sub(r20474, r20468, r20473, MPFR_RNDN);
        mpfr_log(r20475, r20474, MPFR_RNDN);
        mpfr_cbrt(r20476, r20475, MPFR_RNDN);
        mpfr_mul(r20477, r20476, r20476, MPFR_RNDN);
        mpfr_exp(r20478, r20477, MPFR_RNDN);
        mpfr_cbrt(r20479, r20476, MPFR_RNDN);
        mpfr_mul(r20480, r20479, r20479, MPFR_RNDN);
        mpfr_pow(r20481, r20478, r20480, MPFR_RNDN);
        mpfr_pow(r20482, r20481, r20479, MPFR_RNDN);
        mpfr_sub(r20483, r20467, r20472, MPFR_RNDN);
        mpfr_div(r20484, r20482, r20483, MPFR_RNDN);
        ;
        mpfr_mul(r20486, r20485, r20447, MPFR_RNDN);
        mpfr_div(r20487, r20451, r20486, MPFR_RNDN);
        mpfr_add(r20488, r20484, r20487, MPFR_RNDN);
        return mpfr_get_d(r20488, MPFR_RNDN);
}

static mpfr_t r20489, r20490, r20491, r20492, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r20489, "333.75", 10, MPFR_RNDN);
        mpfr_init_set_str(r20490, "33096", 10, MPFR_RNDN);
        mpfr_init_set_str(r20491, "6", 10, MPFR_RNDN);
        mpfr_init(r20492);
        mpfr_init(r20493);
        mpfr_init_set_str(r20494, "77617", 10, MPFR_RNDN);
        mpfr_init(r20495);
        mpfr_init_set_str(r20496, "11", 10, MPFR_RNDN);
        mpfr_init(r20497);
        mpfr_init(r20498);
        mpfr_init(r20499);
        mpfr_init(r20500);
        mpfr_init(r20501);
        mpfr_init_set_str(r20502, "-121", 10, MPFR_RNDN);
        mpfr_init_set_str(r20503, "4", 10, MPFR_RNDN);
        mpfr_init(r20504);
        mpfr_init(r20505);
        mpfr_init(r20506);
        mpfr_init_set_str(r20507, "-2", 10, MPFR_RNDN);
        mpfr_init(r20508);
        mpfr_init(r20509);
        mpfr_init(r20510);
        mpfr_init(r20511);
        mpfr_init_set_str(r20512, "5.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r20513, "8", 10, MPFR_RNDN);
        mpfr_init(r20514);
        mpfr_init(r20515);
        mpfr_init(r20516);
        mpfr_init(r20517);
        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_set_str(r20528, "2", 10, MPFR_RNDN);
        mpfr_init(r20529);
        mpfr_init(r20530);
        mpfr_init(r20531);
}

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

