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

char *name = "quadp (p42, positive)";

double f_if(float a, float b, float c) {
        float r9455 = b;
        float r9456 = -r9455;
        float r9457 = r9455 * r9455;
        float r9458 = 4.0f;
        float r9459 = a;
        float r9460 = c;
        float r9461 = r9459 * r9460;
        float r9462 = r9458 * r9461;
        float r9463 = r9457 - r9462;
        float r9464 = sqrt(r9463);
        float r9465 = r9456 + r9464;
        float r9466 = 2.0f;
        float r9467 = r9466 * r9459;
        float r9468 = r9465 / r9467;
        return r9468;
}

double f_id(double a, double b, double c) {
        double r9469 = b;
        double r9470 = -r9469;
        double r9471 = r9469 * r9469;
        double r9472 = 4.0;
        double r9473 = a;
        double r9474 = c;
        double r9475 = r9473 * r9474;
        double r9476 = r9472 * r9475;
        double r9477 = r9471 - r9476;
        double r9478 = sqrt(r9477);
        double r9479 = r9470 + r9478;
        double r9480 = 2.0;
        double r9481 = r9480 * r9473;
        double r9482 = r9479 / r9481;
        return r9482;
}


double f_of(float a, float b, float c) {
        float r9483 = b;
        float r9484 = -1.1499229206927056e+81f;
        bool r9485 = r9483 <= r9484;
        float r9486 = a;
        float r9487 = r9486 / r9483;
        float r9488 = c;
        float r9489 = -r9483;
        float r9490 = fma(r9487, r9488, r9489);
        float r9491 = 2.0f;
        float r9492 = r9490 * r9491;
        float r9493 = r9491 * r9486;
        float r9494 = r9492 / r9493;
        float r9495 = 2.595698919133967e-94f;
        bool r9496 = r9483 <= r9495;
        float r9497 = cbrt(r9489);
        float r9498 = r9497 * r9497;
        float r9499 = r9483 * r9483;
        float r9500 = r9486 * r9488;
        float r9501 = 4.0f;
        float r9502 = r9500 * r9501;
        float r9503 = r9499 - r9502;
        float r9504 = sqrt(r9503);
        float r9505 = fma(r9498, r9497, r9504);
        float r9506 = r9505 / r9493;
        float r9507 = 1.3313504726342534e+154f;
        bool r9508 = r9483 <= r9507;
        float r9509 = r9488 * r9501;
        float r9510 = r9486 * r9509;
        float r9511 = r9489 - r9504;
        float r9512 = r9493 * r9511;
        float r9513 = r9510 / r9512;
        float r9514 = -2.0f;
        float r9515 = r9500 / r9483;
        float r9516 = r9514 * r9515;
        float r9517 = r9516 / r9493;
        float r9518 = r9508 ? r9513 : r9517;
        float r9519 = r9496 ? r9506 : r9518;
        float r9520 = r9485 ? r9494 : r9519;
        return r9520;
}

double f_od(double a, double b, double c) {
        double r9521 = b;
        double r9522 = -1.1499229206927056e+81;
        bool r9523 = r9521 <= r9522;
        double r9524 = a;
        double r9525 = r9524 / r9521;
        double r9526 = c;
        double r9527 = -r9521;
        double r9528 = fma(r9525, r9526, r9527);
        double r9529 = 2.0;
        double r9530 = r9528 * r9529;
        double r9531 = r9529 * r9524;
        double r9532 = r9530 / r9531;
        double r9533 = 2.595698919133967e-94;
        bool r9534 = r9521 <= r9533;
        double r9535 = cbrt(r9527);
        double r9536 = r9535 * r9535;
        double r9537 = r9521 * r9521;
        double r9538 = r9524 * r9526;
        double r9539 = 4.0;
        double r9540 = r9538 * r9539;
        double r9541 = r9537 - r9540;
        double r9542 = sqrt(r9541);
        double r9543 = fma(r9536, r9535, r9542);
        double r9544 = r9543 / r9531;
        double r9545 = 1.3313504726342534e+154;
        bool r9546 = r9521 <= r9545;
        double r9547 = r9526 * r9539;
        double r9548 = r9524 * r9547;
        double r9549 = r9527 - r9542;
        double r9550 = r9531 * r9549;
        double r9551 = r9548 / r9550;
        double r9552 = -2.0;
        double r9553 = r9538 / r9521;
        double r9554 = r9552 * r9553;
        double r9555 = r9554 / r9531;
        double r9556 = r9546 ? r9551 : r9555;
        double r9557 = r9534 ? r9544 : r9556;
        double r9558 = r9523 ? r9532 : r9557;
        return r9558;
}

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 r9559, r9560, r9561, r9562, r9563, r9564, r9565, r9566, r9567, r9568, r9569, r9570, r9571, r9572;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3152);
        mpfr_init(r9559);
        mpfr_init(r9560);
        mpfr_init(r9561);
        mpfr_init_set_str(r9562, "4", 10, MPFR_RNDN);
        mpfr_init(r9563);
        mpfr_init(r9564);
        mpfr_init(r9565);
        mpfr_init(r9566);
        mpfr_init(r9567);
        mpfr_init(r9568);
        mpfr_init(r9569);
        mpfr_init_set_str(r9570, "2", 10, MPFR_RNDN);
        mpfr_init(r9571);
        mpfr_init(r9572);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r9559, b, MPFR_RNDN);
        mpfr_neg(r9560, r9559, MPFR_RNDN);
        mpfr_mul(r9561, r9559, r9559, MPFR_RNDN);
        ;
        mpfr_set_d(r9563, a, MPFR_RNDN);
        mpfr_set_d(r9564, c, MPFR_RNDN);
        mpfr_mul(r9565, r9563, r9564, MPFR_RNDN);
        mpfr_mul(r9566, r9562, r9565, MPFR_RNDN);
        mpfr_sub(r9567, r9561, r9566, MPFR_RNDN);
        mpfr_sqrt(r9568, r9567, MPFR_RNDN);
        mpfr_add(r9569, r9560, r9568, MPFR_RNDN);
        ;
        mpfr_mul(r9571, r9570, r9563, MPFR_RNDN);
        mpfr_div(r9572, r9569, r9571, MPFR_RNDN);
        return mpfr_get_d(r9572, MPFR_RNDN);
}

static mpfr_t r9573, r9574, r9575, r9576, r9577, r9578, r9579, r9580, r9581, r9582, r9583, r9584, r9585, r9586, r9587, r9588, r9589, r9590, r9591, r9592, r9593, r9594, r9595, r9596, r9597, r9598, r9599, r9600, r9601, r9602, r9603, r9604, r9605, r9606, r9607, r9608, r9609, r9610;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3152);
        mpfr_init(r9573);
        mpfr_init_set_str(r9574, "-1.1499229206927056e+81", 10, MPFR_RNDN);
        mpfr_init(r9575);
        mpfr_init(r9576);
        mpfr_init(r9577);
        mpfr_init(r9578);
        mpfr_init(r9579);
        mpfr_init(r9580);
        mpfr_init_set_str(r9581, "2", 10, MPFR_RNDN);
        mpfr_init(r9582);
        mpfr_init(r9583);
        mpfr_init(r9584);
        mpfr_init_set_str(r9585, "2.595698919133967e-94", 10, MPFR_RNDN);
        mpfr_init(r9586);
        mpfr_init(r9587);
        mpfr_init(r9588);
        mpfr_init(r9589);
        mpfr_init(r9590);
        mpfr_init_set_str(r9591, "4", 10, MPFR_RNDN);
        mpfr_init(r9592);
        mpfr_init(r9593);
        mpfr_init(r9594);
        mpfr_init(r9595);
        mpfr_init(r9596);
        mpfr_init_set_str(r9597, "1.3313504726342534e+154", 10, MPFR_RNDN);
        mpfr_init(r9598);
        mpfr_init(r9599);
        mpfr_init(r9600);
        mpfr_init(r9601);
        mpfr_init(r9602);
        mpfr_init(r9603);
        mpfr_init_set_str(r9604, "-2", 10, MPFR_RNDN);
        mpfr_init(r9605);
        mpfr_init(r9606);
        mpfr_init(r9607);
        mpfr_init(r9608);
        mpfr_init(r9609);
        mpfr_init(r9610);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r9573, b, MPFR_RNDN);
        ;
        mpfr_set_si(r9575, mpfr_cmp(r9573, r9574) <= 0, MPFR_RNDN);
        mpfr_set_d(r9576, a, MPFR_RNDN);
        mpfr_div(r9577, r9576, r9573, MPFR_RNDN);
        mpfr_set_d(r9578, c, MPFR_RNDN);
        mpfr_neg(r9579, r9573, MPFR_RNDN);
        mpfr_fma(r9580, r9577, r9578, r9579, MPFR_RNDN);
        ;
        mpfr_mul(r9582, r9580, r9581, MPFR_RNDN);
        mpfr_mul(r9583, r9581, r9576, MPFR_RNDN);
        mpfr_div(r9584, r9582, r9583, MPFR_RNDN);
        ;
        mpfr_set_si(r9586, mpfr_cmp(r9573, r9585) <= 0, MPFR_RNDN);
        mpfr_cbrt(r9587, r9579, MPFR_RNDN);
        mpfr_mul(r9588, r9587, r9587, MPFR_RNDN);
        mpfr_mul(r9589, r9573, r9573, MPFR_RNDN);
        mpfr_mul(r9590, r9576, r9578, MPFR_RNDN);
        ;
        mpfr_mul(r9592, r9590, r9591, MPFR_RNDN);
        mpfr_sub(r9593, r9589, r9592, MPFR_RNDN);
        mpfr_sqrt(r9594, r9593, MPFR_RNDN);
        mpfr_fma(r9595, r9588, r9587, r9594, MPFR_RNDN);
        mpfr_div(r9596, r9595, r9583, MPFR_RNDN);
        ;
        mpfr_set_si(r9598, mpfr_cmp(r9573, r9597) <= 0, MPFR_RNDN);
        mpfr_mul(r9599, r9578, r9591, MPFR_RNDN);
        mpfr_mul(r9600, r9576, r9599, MPFR_RNDN);
        mpfr_sub(r9601, r9579, r9594, MPFR_RNDN);
        mpfr_mul(r9602, r9583, r9601, MPFR_RNDN);
        mpfr_div(r9603, r9600, r9602, MPFR_RNDN);
        ;
        mpfr_div(r9605, r9590, r9573, MPFR_RNDN);
        mpfr_mul(r9606, r9604, r9605, MPFR_RNDN);
        mpfr_div(r9607, r9606, r9583, MPFR_RNDN);
        if (mpfr_get_si(r9598, MPFR_RNDN)) { mpfr_set(r9608, r9603, MPFR_RNDN); } else { mpfr_set(r9608, r9607, MPFR_RNDN); };
        if (mpfr_get_si(r9586, MPFR_RNDN)) { mpfr_set(r9609, r9596, MPFR_RNDN); } else { mpfr_set(r9609, r9608, MPFR_RNDN); };
        if (mpfr_get_si(r9575, MPFR_RNDN)) { mpfr_set(r9610, r9584, MPFR_RNDN); } else { mpfr_set(r9610, r9609, MPFR_RNDN); };
        return mpfr_get_d(r9610, MPFR_RNDN);
}

static mpfr_t r9611, r9612, r9613, r9614, r9615, r9616, r9617, r9618, r9619, r9620, r9621, r9622, r9623, r9624, r9625, r9626, r9627, r9628, r9629, r9630, r9631, r9632, r9633, r9634, r9635, r9636, r9637, r9638, r9639, r9640, r9641, r9642, r9643, r9644, r9645, r9646, r9647, r9648;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3152);
        mpfr_init(r9611);
        mpfr_init_set_str(r9612, "-1.1499229206927056e+81", 10, MPFR_RNDN);
        mpfr_init(r9613);
        mpfr_init(r9614);
        mpfr_init(r9615);
        mpfr_init(r9616);
        mpfr_init(r9617);
        mpfr_init(r9618);
        mpfr_init_set_str(r9619, "2", 10, MPFR_RNDN);
        mpfr_init(r9620);
        mpfr_init(r9621);
        mpfr_init(r9622);
        mpfr_init_set_str(r9623, "2.595698919133967e-94", 10, MPFR_RNDN);
        mpfr_init(r9624);
        mpfr_init(r9625);
        mpfr_init(r9626);
        mpfr_init(r9627);
        mpfr_init(r9628);
        mpfr_init_set_str(r9629, "4", 10, MPFR_RNDN);
        mpfr_init(r9630);
        mpfr_init(r9631);
        mpfr_init(r9632);
        mpfr_init(r9633);
        mpfr_init(r9634);
        mpfr_init_set_str(r9635, "1.3313504726342534e+154", 10, MPFR_RNDN);
        mpfr_init(r9636);
        mpfr_init(r9637);
        mpfr_init(r9638);
        mpfr_init(r9639);
        mpfr_init(r9640);
        mpfr_init(r9641);
        mpfr_init_set_str(r9642, "-2", 10, MPFR_RNDN);
        mpfr_init(r9643);
        mpfr_init(r9644);
        mpfr_init(r9645);
        mpfr_init(r9646);
        mpfr_init(r9647);
        mpfr_init(r9648);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r9611, b, MPFR_RNDN);
        ;
        mpfr_set_si(r9613, mpfr_cmp(r9611, r9612) <= 0, MPFR_RNDN);
        mpfr_set_d(r9614, a, MPFR_RNDN);
        mpfr_div(r9615, r9614, r9611, MPFR_RNDN);
        mpfr_set_d(r9616, c, MPFR_RNDN);
        mpfr_neg(r9617, r9611, MPFR_RNDN);
        mpfr_fma(r9618, r9615, r9616, r9617, MPFR_RNDN);
        ;
        mpfr_mul(r9620, r9618, r9619, MPFR_RNDN);
        mpfr_mul(r9621, r9619, r9614, MPFR_RNDN);
        mpfr_div(r9622, r9620, r9621, MPFR_RNDN);
        ;
        mpfr_set_si(r9624, mpfr_cmp(r9611, r9623) <= 0, MPFR_RNDN);
        mpfr_cbrt(r9625, r9617, MPFR_RNDN);
        mpfr_mul(r9626, r9625, r9625, MPFR_RNDN);
        mpfr_mul(r9627, r9611, r9611, MPFR_RNDN);
        mpfr_mul(r9628, r9614, r9616, MPFR_RNDN);
        ;
        mpfr_mul(r9630, r9628, r9629, MPFR_RNDN);
        mpfr_sub(r9631, r9627, r9630, MPFR_RNDN);
        mpfr_sqrt(r9632, r9631, MPFR_RNDN);
        mpfr_fma(r9633, r9626, r9625, r9632, MPFR_RNDN);
        mpfr_div(r9634, r9633, r9621, MPFR_RNDN);
        ;
        mpfr_set_si(r9636, mpfr_cmp(r9611, r9635) <= 0, MPFR_RNDN);
        mpfr_mul(r9637, r9616, r9629, MPFR_RNDN);
        mpfr_mul(r9638, r9614, r9637, MPFR_RNDN);
        mpfr_sub(r9639, r9617, r9632, MPFR_RNDN);
        mpfr_mul(r9640, r9621, r9639, MPFR_RNDN);
        mpfr_div(r9641, r9638, r9640, MPFR_RNDN);
        ;
        mpfr_div(r9643, r9628, r9611, MPFR_RNDN);
        mpfr_mul(r9644, r9642, r9643, MPFR_RNDN);
        mpfr_div(r9645, r9644, r9621, MPFR_RNDN);
        if (mpfr_get_si(r9636, MPFR_RNDN)) { mpfr_set(r9646, r9641, MPFR_RNDN); } else { mpfr_set(r9646, r9645, MPFR_RNDN); };
        if (mpfr_get_si(r9624, MPFR_RNDN)) { mpfr_set(r9647, r9634, MPFR_RNDN); } else { mpfr_set(r9647, r9646, MPFR_RNDN); };
        if (mpfr_get_si(r9613, MPFR_RNDN)) { mpfr_set(r9648, r9622, MPFR_RNDN); } else { mpfr_set(r9648, r9647, MPFR_RNDN); };
        return mpfr_get_d(r9648, MPFR_RNDN);
}

