#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "2nthrt (problem 3.4.6)";

double f_if(float x, float n) {
        float r9336 = x;
        float r9337 = 1;
        float r9338 = r9336 + r9337;
        float r9339 = n;
        float r9340 = r9337 / r9339;
        float r9341 = pow(r9338, r9340);
        float r9342 = pow(r9336, r9340);
        float r9343 = r9341 - r9342;
        return r9343;
}

double f_id(double x, double n) {
        double r9344 = x;
        double r9345 = 1;
        double r9346 = r9344 + r9345;
        double r9347 = n;
        double r9348 = r9345 / r9347;
        double r9349 = pow(r9346, r9348);
        double r9350 = pow(r9344, r9348);
        double r9351 = r9349 - r9350;
        return r9351;
}


double f_of(float x, float n) {
        float r9352 = x;
        float r9353 = log(r9352);
        float r9354 = n;
        float r9355 = r9353 / r9354;
        float r9356 = 1;
        float r9357 = r9355 + r9356;
        float r9358 = r9356 / r9354;
        float r9359 = pow(r9352, r9358);
        float r9360 = r9357 - r9359;
        float r9361 = r9356 / r9352;
        float r9362 = r9361 / r9354;
        float r9363 = r9360 + r9362;
        float r9364 = -5180411914392.576;
        bool r9365 = r9363 <= r9364;
        float r9366 = r9352 + r9356;
        float r9367 = pow(r9366, r9358);
        float r9368 = r9367 - r9359;
        float r9369 = 3;
        float r9370 = pow(r9368, r9369);
        float r9371 = cbrt(r9370);
        float r9372 = -5.948555254464106e-95;
        bool r9373 = r9363 <= r9372;
        float r9374 = r9367 - r9356;
        float r9375 = r9353 * r9353;
        float r9376 = r9354 * r9354;
        float r9377 = 1/2;
        float r9378 = r9376 / r9377;
        float r9379 = r9375 / r9378;
        float r9380 = r9374 - r9379;
        float r9381 = r9380 - r9355;
        float r9382 = 3.3749424080124432e-118;
        bool r9383 = r9363 <= r9382;
        float r9384 = r9353 / r9352;
        float r9385 = r9384 / r9376;
        float r9386 = r9354 * r9352;
        float r9387 = r9356 / r9386;
        float r9388 = r9377 / r9352;
        float r9389 = r9388 / r9386;
        float r9390 = r9387 - r9389;
        float r9391 = r9385 + r9390;
        float r9392 = 1.4124048183076218e+176;
        bool r9393 = r9363 <= r9392;
        float r9394 = r9393 ? r9381 : r9371;
        float r9395 = r9383 ? r9391 : r9394;
        float r9396 = r9373 ? r9381 : r9395;
        float r9397 = r9365 ? r9371 : r9396;
        return r9397;
}

double f_od(double x, double n) {
        double r9398 = x;
        double r9399 = log(r9398);
        double r9400 = n;
        double r9401 = r9399 / r9400;
        double r9402 = 1;
        double r9403 = r9401 + r9402;
        double r9404 = r9402 / r9400;
        double r9405 = pow(r9398, r9404);
        double r9406 = r9403 - r9405;
        double r9407 = r9402 / r9398;
        double r9408 = r9407 / r9400;
        double r9409 = r9406 + r9408;
        double r9410 = -5180411914392.576;
        bool r9411 = r9409 <= r9410;
        double r9412 = r9398 + r9402;
        double r9413 = pow(r9412, r9404);
        double r9414 = r9413 - r9405;
        double r9415 = 3;
        double r9416 = pow(r9414, r9415);
        double r9417 = cbrt(r9416);
        double r9418 = -5.948555254464106e-95;
        bool r9419 = r9409 <= r9418;
        double r9420 = r9413 - r9402;
        double r9421 = r9399 * r9399;
        double r9422 = r9400 * r9400;
        double r9423 = 1/2;
        double r9424 = r9422 / r9423;
        double r9425 = r9421 / r9424;
        double r9426 = r9420 - r9425;
        double r9427 = r9426 - r9401;
        double r9428 = 3.3749424080124432e-118;
        bool r9429 = r9409 <= r9428;
        double r9430 = r9399 / r9398;
        double r9431 = r9430 / r9422;
        double r9432 = r9400 * r9398;
        double r9433 = r9402 / r9432;
        double r9434 = r9423 / r9398;
        double r9435 = r9434 / r9432;
        double r9436 = r9433 - r9435;
        double r9437 = r9431 + r9436;
        double r9438 = 1.4124048183076218e+176;
        bool r9439 = r9409 <= r9438;
        double r9440 = r9439 ? r9427 : r9417;
        double r9441 = r9429 ? r9437 : r9440;
        double r9442 = r9419 ? r9427 : r9441;
        double r9443 = r9411 ? r9417 : r9442;
        return r9443;
}

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 r9444, r9445, r9446, r9447, r9448, r9449, r9450, r9451;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r9444);
        mpfr_init_set_str(r9445, "1", 10, MPFR_RNDN);
        mpfr_init(r9446);
        mpfr_init(r9447);
        mpfr_init(r9448);
        mpfr_init(r9449);
        mpfr_init(r9450);
        mpfr_init(r9451);
}

double f_im(double x, double n) {
        mpfr_set_d(r9444, x, MPFR_RNDN);
        ;
        mpfr_add(r9446, r9444, r9445, MPFR_RNDN);
        mpfr_set_d(r9447, n, MPFR_RNDN);
        mpfr_div(r9448, r9445, r9447, MPFR_RNDN);
        mpfr_pow(r9449, r9446, r9448, MPFR_RNDN);
        mpfr_pow(r9450, r9444, r9448, MPFR_RNDN);
        mpfr_sub(r9451, r9449, r9450, MPFR_RNDN);
        return mpfr_get_d(r9451, MPFR_RNDN);
}

static mpfr_t r9452, r9453, r9454, r9455, r9456, r9457, r9458, r9459, r9460, r9461, r9462, r9463, r9464, r9465, r9466, r9467, r9468, r9469, r9470, r9471, r9472, r9473, r9474, r9475, r9476, r9477, r9478, r9479, r9480, r9481, r9482, r9483, r9484, r9485, r9486, r9487, r9488, r9489, r9490, r9491, r9492, r9493, r9494, r9495, r9496, r9497;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r9452);
        mpfr_init(r9453);
        mpfr_init(r9454);
        mpfr_init(r9455);
        mpfr_init_set_str(r9456, "1", 10, MPFR_RNDN);
        mpfr_init(r9457);
        mpfr_init(r9458);
        mpfr_init(r9459);
        mpfr_init(r9460);
        mpfr_init(r9461);
        mpfr_init(r9462);
        mpfr_init(r9463);
        mpfr_init_set_str(r9464, "-5180411914392.576", 10, MPFR_RNDN);
        mpfr_init(r9465);
        mpfr_init(r9466);
        mpfr_init(r9467);
        mpfr_init(r9468);
        mpfr_init_set_str(r9469, "3", 10, MPFR_RNDN);
        mpfr_init(r9470);
        mpfr_init(r9471);
        mpfr_init_set_str(r9472, "-5.948555254464106e-95", 10, MPFR_RNDN);
        mpfr_init(r9473);
        mpfr_init(r9474);
        mpfr_init(r9475);
        mpfr_init(r9476);
        mpfr_init_set_str(r9477, "1/2", 10, MPFR_RNDN);
        mpfr_init(r9478);
        mpfr_init(r9479);
        mpfr_init(r9480);
        mpfr_init(r9481);
        mpfr_init_set_str(r9482, "3.3749424080124432e-118", 10, MPFR_RNDN);
        mpfr_init(r9483);
        mpfr_init(r9484);
        mpfr_init(r9485);
        mpfr_init(r9486);
        mpfr_init(r9487);
        mpfr_init(r9488);
        mpfr_init(r9489);
        mpfr_init(r9490);
        mpfr_init(r9491);
        mpfr_init_set_str(r9492, "1.4124048183076218e+176", 10, MPFR_RNDN);
        mpfr_init(r9493);
        mpfr_init(r9494);
        mpfr_init(r9495);
        mpfr_init(r9496);
        mpfr_init(r9497);
}

double f_fm(double x, double n) {
        mpfr_set_d(r9452, x, MPFR_RNDN);
        mpfr_log(r9453, r9452, MPFR_RNDN);
        mpfr_set_d(r9454, n, MPFR_RNDN);
        mpfr_div(r9455, r9453, r9454, MPFR_RNDN);
        ;
        mpfr_add(r9457, r9455, r9456, MPFR_RNDN);
        mpfr_div(r9458, r9456, r9454, MPFR_RNDN);
        mpfr_pow(r9459, r9452, r9458, MPFR_RNDN);
        mpfr_sub(r9460, r9457, r9459, MPFR_RNDN);
        mpfr_div(r9461, r9456, r9452, MPFR_RNDN);
        mpfr_div(r9462, r9461, r9454, MPFR_RNDN);
        mpfr_add(r9463, r9460, r9462, MPFR_RNDN);
        ;
        mpfr_set_si(r9465, mpfr_cmp(r9463, r9464) <= 0, MPFR_RNDN);
        mpfr_add(r9466, r9452, r9456, MPFR_RNDN);
        mpfr_pow(r9467, r9466, r9458, MPFR_RNDN);
        mpfr_sub(r9468, r9467, r9459, MPFR_RNDN);
        ;
        mpfr_pow(r9470, r9468, r9469, MPFR_RNDN);
        mpfr_cbrt(r9471, r9470, MPFR_RNDN);
        ;
        mpfr_set_si(r9473, mpfr_cmp(r9463, r9472) <= 0, MPFR_RNDN);
        mpfr_sub(r9474, r9467, r9456, MPFR_RNDN);
        mpfr_mul(r9475, r9453, r9453, MPFR_RNDN);
        mpfr_mul(r9476, r9454, r9454, MPFR_RNDN);
        ;
        mpfr_div(r9478, r9476, r9477, MPFR_RNDN);
        mpfr_div(r9479, r9475, r9478, MPFR_RNDN);
        mpfr_sub(r9480, r9474, r9479, MPFR_RNDN);
        mpfr_sub(r9481, r9480, r9455, MPFR_RNDN);
        ;
        mpfr_set_si(r9483, mpfr_cmp(r9463, r9482) <= 0, MPFR_RNDN);
        mpfr_div(r9484, r9453, r9452, MPFR_RNDN);
        mpfr_div(r9485, r9484, r9476, MPFR_RNDN);
        mpfr_mul(r9486, r9454, r9452, MPFR_RNDN);
        mpfr_div(r9487, r9456, r9486, MPFR_RNDN);
        mpfr_div(r9488, r9477, r9452, MPFR_RNDN);
        mpfr_div(r9489, r9488, r9486, MPFR_RNDN);
        mpfr_sub(r9490, r9487, r9489, MPFR_RNDN);
        mpfr_add(r9491, r9485, r9490, MPFR_RNDN);
        ;
        mpfr_set_si(r9493, mpfr_cmp(r9463, r9492) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r9493, MPFR_RNDN)) { mpfr_set(r9494, r9481, MPFR_RNDN); } else { mpfr_set(r9494, r9471, MPFR_RNDN); };
        if (mpfr_get_si(r9483, MPFR_RNDN)) { mpfr_set(r9495, r9491, MPFR_RNDN); } else { mpfr_set(r9495, r9494, MPFR_RNDN); };
        if (mpfr_get_si(r9473, MPFR_RNDN)) { mpfr_set(r9496, r9481, MPFR_RNDN); } else { mpfr_set(r9496, r9495, MPFR_RNDN); };
        if (mpfr_get_si(r9465, MPFR_RNDN)) { mpfr_set(r9497, r9471, MPFR_RNDN); } else { mpfr_set(r9497, r9496, MPFR_RNDN); };
        return mpfr_get_d(r9497, MPFR_RNDN);
}

static mpfr_t r9498, r9499, r9500, r9501, r9502, r9503, r9504, r9505, r9506, r9507, r9508, r9509, r9510, r9511, r9512, r9513, r9514, r9515, r9516, r9517, r9518, r9519, r9520, r9521, r9522, r9523, r9524, r9525, r9526, r9527, r9528, r9529, r9530, r9531, r9532, r9533, r9534, r9535, r9536, r9537, r9538, r9539, r9540, r9541, r9542, r9543;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r9498);
        mpfr_init(r9499);
        mpfr_init(r9500);
        mpfr_init(r9501);
        mpfr_init_set_str(r9502, "1", 10, MPFR_RNDN);
        mpfr_init(r9503);
        mpfr_init(r9504);
        mpfr_init(r9505);
        mpfr_init(r9506);
        mpfr_init(r9507);
        mpfr_init(r9508);
        mpfr_init(r9509);
        mpfr_init_set_str(r9510, "-5180411914392.576", 10, MPFR_RNDN);
        mpfr_init(r9511);
        mpfr_init(r9512);
        mpfr_init(r9513);
        mpfr_init(r9514);
        mpfr_init_set_str(r9515, "3", 10, MPFR_RNDN);
        mpfr_init(r9516);
        mpfr_init(r9517);
        mpfr_init_set_str(r9518, "-5.948555254464106e-95", 10, MPFR_RNDN);
        mpfr_init(r9519);
        mpfr_init(r9520);
        mpfr_init(r9521);
        mpfr_init(r9522);
        mpfr_init_set_str(r9523, "1/2", 10, MPFR_RNDN);
        mpfr_init(r9524);
        mpfr_init(r9525);
        mpfr_init(r9526);
        mpfr_init(r9527);
        mpfr_init_set_str(r9528, "3.3749424080124432e-118", 10, MPFR_RNDN);
        mpfr_init(r9529);
        mpfr_init(r9530);
        mpfr_init(r9531);
        mpfr_init(r9532);
        mpfr_init(r9533);
        mpfr_init(r9534);
        mpfr_init(r9535);
        mpfr_init(r9536);
        mpfr_init(r9537);
        mpfr_init_set_str(r9538, "1.4124048183076218e+176", 10, MPFR_RNDN);
        mpfr_init(r9539);
        mpfr_init(r9540);
        mpfr_init(r9541);
        mpfr_init(r9542);
        mpfr_init(r9543);
}

double f_dm(double x, double n) {
        mpfr_set_d(r9498, x, MPFR_RNDN);
        mpfr_log(r9499, r9498, MPFR_RNDN);
        mpfr_set_d(r9500, n, MPFR_RNDN);
        mpfr_div(r9501, r9499, r9500, MPFR_RNDN);
        ;
        mpfr_add(r9503, r9501, r9502, MPFR_RNDN);
        mpfr_div(r9504, r9502, r9500, MPFR_RNDN);
        mpfr_pow(r9505, r9498, r9504, MPFR_RNDN);
        mpfr_sub(r9506, r9503, r9505, MPFR_RNDN);
        mpfr_div(r9507, r9502, r9498, MPFR_RNDN);
        mpfr_div(r9508, r9507, r9500, MPFR_RNDN);
        mpfr_add(r9509, r9506, r9508, MPFR_RNDN);
        ;
        mpfr_set_si(r9511, mpfr_cmp(r9509, r9510) <= 0, MPFR_RNDN);
        mpfr_add(r9512, r9498, r9502, MPFR_RNDN);
        mpfr_pow(r9513, r9512, r9504, MPFR_RNDN);
        mpfr_sub(r9514, r9513, r9505, MPFR_RNDN);
        ;
        mpfr_pow(r9516, r9514, r9515, MPFR_RNDN);
        mpfr_cbrt(r9517, r9516, MPFR_RNDN);
        ;
        mpfr_set_si(r9519, mpfr_cmp(r9509, r9518) <= 0, MPFR_RNDN);
        mpfr_sub(r9520, r9513, r9502, MPFR_RNDN);
        mpfr_mul(r9521, r9499, r9499, MPFR_RNDN);
        mpfr_mul(r9522, r9500, r9500, MPFR_RNDN);
        ;
        mpfr_div(r9524, r9522, r9523, MPFR_RNDN);
        mpfr_div(r9525, r9521, r9524, MPFR_RNDN);
        mpfr_sub(r9526, r9520, r9525, MPFR_RNDN);
        mpfr_sub(r9527, r9526, r9501, MPFR_RNDN);
        ;
        mpfr_set_si(r9529, mpfr_cmp(r9509, r9528) <= 0, MPFR_RNDN);
        mpfr_div(r9530, r9499, r9498, MPFR_RNDN);
        mpfr_div(r9531, r9530, r9522, MPFR_RNDN);
        mpfr_mul(r9532, r9500, r9498, MPFR_RNDN);
        mpfr_div(r9533, r9502, r9532, MPFR_RNDN);
        mpfr_div(r9534, r9523, r9498, MPFR_RNDN);
        mpfr_div(r9535, r9534, r9532, MPFR_RNDN);
        mpfr_sub(r9536, r9533, r9535, MPFR_RNDN);
        mpfr_add(r9537, r9531, r9536, MPFR_RNDN);
        ;
        mpfr_set_si(r9539, mpfr_cmp(r9509, r9538) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r9539, MPFR_RNDN)) { mpfr_set(r9540, r9527, MPFR_RNDN); } else { mpfr_set(r9540, r9517, MPFR_RNDN); };
        if (mpfr_get_si(r9529, MPFR_RNDN)) { mpfr_set(r9541, r9537, MPFR_RNDN); } else { mpfr_set(r9541, r9540, MPFR_RNDN); };
        if (mpfr_get_si(r9519, MPFR_RNDN)) { mpfr_set(r9542, r9527, MPFR_RNDN); } else { mpfr_set(r9542, r9541, MPFR_RNDN); };
        if (mpfr_get_si(r9511, MPFR_RNDN)) { mpfr_set(r9543, r9517, MPFR_RNDN); } else { mpfr_set(r9543, r9542, MPFR_RNDN); };
        return mpfr_get_d(r9543, MPFR_RNDN);
}

