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

char *name = "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2";

double f_if(float x, float y, float z, float t, float a, float b, float c) {
        float r9448 = x;
        float r9449 = y;
        float r9450 = 2.0;
        float r9451 = z;
        float r9452 = t;
        float r9453 = a;
        float r9454 = r9452 + r9453;
        float r9455 = sqrt(r9454);
        float r9456 = r9451 * r9455;
        float r9457 = r9456 / r9452;
        float r9458 = b;
        float r9459 = c;
        float r9460 = r9458 - r9459;
        float r9461 = 5.0;
        float r9462 = 6.0;
        float r9463 = r9461 / r9462;
        float r9464 = r9453 + r9463;
        float r9465 = 3.0;
        float r9466 = r9452 * r9465;
        float r9467 = r9450 / r9466;
        float r9468 = r9464 - r9467;
        float r9469 = r9460 * r9468;
        float r9470 = r9457 - r9469;
        float r9471 = r9450 * r9470;
        float r9472 = exp(r9471);
        float r9473 = r9449 * r9472;
        float r9474 = r9448 + r9473;
        float r9475 = r9448 / r9474;
        return r9475;
}

double f_id(double x, double y, double z, double t, double a, double b, double c) {
        double r9476 = x;
        double r9477 = y;
        double r9478 = 2.0;
        double r9479 = z;
        double r9480 = t;
        double r9481 = a;
        double r9482 = r9480 + r9481;
        double r9483 = sqrt(r9482);
        double r9484 = r9479 * r9483;
        double r9485 = r9484 / r9480;
        double r9486 = b;
        double r9487 = c;
        double r9488 = r9486 - r9487;
        double r9489 = 5.0;
        double r9490 = 6.0;
        double r9491 = r9489 / r9490;
        double r9492 = r9481 + r9491;
        double r9493 = 3.0;
        double r9494 = r9480 * r9493;
        double r9495 = r9478 / r9494;
        double r9496 = r9492 - r9495;
        double r9497 = r9488 * r9496;
        double r9498 = r9485 - r9497;
        double r9499 = r9478 * r9498;
        double r9500 = exp(r9499);
        double r9501 = r9477 * r9500;
        double r9502 = r9476 + r9501;
        double r9503 = r9476 / r9502;
        return r9503;
}


double f_of(float x, float y, float z, float t, float a, float b, float c) {
        float r9504 = z;
        float r9505 = -8.189924844974937e+178;
        bool r9506 = r9504 <= r9505;
        float r9507 = x;
        float r9508 = y;
        float r9509 = 2.0;
        float r9510 = 5.0;
        float r9511 = 6.0;
        float r9512 = r9510 / r9511;
        float r9513 = a;
        float r9514 = r9512 + r9513;
        float r9515 = 3.0;
        float r9516 = t;
        float r9517 = r9515 * r9516;
        float r9518 = r9509 / r9517;
        float r9519 = r9514 - r9518;
        float r9520 = c;
        float r9521 = b;
        float r9522 = r9520 - r9521;
        float r9523 = r9516 + r9513;
        float r9524 = sqrt(r9523);
        float r9525 = r9516 / r9504;
        float r9526 = r9524 / r9525;
        float r9527 = fma(r9519, r9522, r9526);
        float r9528 = r9509 * r9527;
        float r9529 = exp(r9528);
        float r9530 = r9508 * r9529;
        float r9531 = r9507 + r9530;
        float r9532 = r9507 / r9531;
        float r9533 = r9524 * r9504;
        float r9534 = 1;
        float r9535 = r9534 / r9516;
        float r9536 = r9519 * r9522;
        float r9537 = fma(r9533, r9535, r9536);
        float r9538 = r9537 * r9509;
        float r9539 = exp(r9538);
        float r9540 = r9539 * r9508;
        float r9541 = r9540 + r9507;
        float r9542 = r9507 / r9541;
        float r9543 = r9506 ? r9532 : r9542;
        return r9543;
}

double f_od(double x, double y, double z, double t, double a, double b, double c) {
        double r9544 = z;
        double r9545 = -8.189924844974937e+178;
        bool r9546 = r9544 <= r9545;
        double r9547 = x;
        double r9548 = y;
        double r9549 = 2.0;
        double r9550 = 5.0;
        double r9551 = 6.0;
        double r9552 = r9550 / r9551;
        double r9553 = a;
        double r9554 = r9552 + r9553;
        double r9555 = 3.0;
        double r9556 = t;
        double r9557 = r9555 * r9556;
        double r9558 = r9549 / r9557;
        double r9559 = r9554 - r9558;
        double r9560 = c;
        double r9561 = b;
        double r9562 = r9560 - r9561;
        double r9563 = r9556 + r9553;
        double r9564 = sqrt(r9563);
        double r9565 = r9556 / r9544;
        double r9566 = r9564 / r9565;
        double r9567 = fma(r9559, r9562, r9566);
        double r9568 = r9549 * r9567;
        double r9569 = exp(r9568);
        double r9570 = r9548 * r9569;
        double r9571 = r9547 + r9570;
        double r9572 = r9547 / r9571;
        double r9573 = r9564 * r9544;
        double r9574 = 1;
        double r9575 = r9574 / r9556;
        double r9576 = r9559 * r9562;
        double r9577 = fma(r9573, r9575, r9576);
        double r9578 = r9577 * r9549;
        double r9579 = exp(r9578);
        double r9580 = r9579 * r9548;
        double r9581 = r9580 + r9547;
        double r9582 = r9547 / r9581;
        double r9583 = r9546 ? r9572 : r9582;
        return r9583;
}

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 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, r9611;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r9584);
        mpfr_init(r9585);
        mpfr_init_set_str(r9586, "2.0", 10, MPFR_RNDN);
        mpfr_init(r9587);
        mpfr_init(r9588);
        mpfr_init(r9589);
        mpfr_init(r9590);
        mpfr_init(r9591);
        mpfr_init(r9592);
        mpfr_init(r9593);
        mpfr_init(r9594);
        mpfr_init(r9595);
        mpfr_init(r9596);
        mpfr_init_set_str(r9597, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9598, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9599);
        mpfr_init(r9600);
        mpfr_init_set_str(r9601, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9602);
        mpfr_init(r9603);
        mpfr_init(r9604);
        mpfr_init(r9605);
        mpfr_init(r9606);
        mpfr_init(r9607);
        mpfr_init(r9608);
        mpfr_init(r9609);
        mpfr_init(r9610);
        mpfr_init(r9611);
}

double f_im(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9584, x, MPFR_RNDN);
        mpfr_set_d(r9585, y, MPFR_RNDN);
        ;
        mpfr_set_d(r9587, z, MPFR_RNDN);
        mpfr_set_d(r9588, t, MPFR_RNDN);
        mpfr_set_d(r9589, a, MPFR_RNDN);
        mpfr_add(r9590, r9588, r9589, MPFR_RNDN);
        mpfr_sqrt(r9591, r9590, MPFR_RNDN);
        mpfr_mul(r9592, r9587, r9591, MPFR_RNDN);
        mpfr_div(r9593, r9592, r9588, MPFR_RNDN);
        mpfr_set_d(r9594, b, MPFR_RNDN);
        mpfr_set_d(r9595, c, MPFR_RNDN);
        mpfr_sub(r9596, r9594, r9595, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9599, r9597, r9598, MPFR_RNDN);
        mpfr_add(r9600, r9589, r9599, MPFR_RNDN);
        ;
        mpfr_mul(r9602, r9588, r9601, MPFR_RNDN);
        mpfr_div(r9603, r9586, r9602, MPFR_RNDN);
        mpfr_sub(r9604, r9600, r9603, MPFR_RNDN);
        mpfr_mul(r9605, r9596, r9604, MPFR_RNDN);
        mpfr_sub(r9606, r9593, r9605, MPFR_RNDN);
        mpfr_mul(r9607, r9586, r9606, MPFR_RNDN);
        mpfr_exp(r9608, r9607, MPFR_RNDN);
        mpfr_mul(r9609, r9585, r9608, MPFR_RNDN);
        mpfr_add(r9610, r9584, r9609, MPFR_RNDN);
        mpfr_div(r9611, r9584, r9610, MPFR_RNDN);
        return mpfr_get_d(r9611, MPFR_RNDN);
}

static mpfr_t 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, r9649, r9650, r9651;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9612);
        mpfr_init_set_str(r9613, "-8.189924844974937e+178", 10, MPFR_RNDN);
        mpfr_init(r9614);
        mpfr_init(r9615);
        mpfr_init(r9616);
        mpfr_init_set_str(r9617, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9618, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9619, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9620);
        mpfr_init(r9621);
        mpfr_init(r9622);
        mpfr_init_set_str(r9623, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9624);
        mpfr_init(r9625);
        mpfr_init(r9626);
        mpfr_init(r9627);
        mpfr_init(r9628);
        mpfr_init(r9629);
        mpfr_init(r9630);
        mpfr_init(r9631);
        mpfr_init(r9632);
        mpfr_init(r9633);
        mpfr_init(r9634);
        mpfr_init(r9635);
        mpfr_init(r9636);
        mpfr_init(r9637);
        mpfr_init(r9638);
        mpfr_init(r9639);
        mpfr_init(r9640);
        mpfr_init(r9641);
        mpfr_init_set_str(r9642, "1", 10, MPFR_RNDN);
        mpfr_init(r9643);
        mpfr_init(r9644);
        mpfr_init(r9645);
        mpfr_init(r9646);
        mpfr_init(r9647);
        mpfr_init(r9648);
        mpfr_init(r9649);
        mpfr_init(r9650);
        mpfr_init(r9651);
}

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

static mpfr_t r9652, r9653, r9654, r9655, r9656, r9657, r9658, r9659, r9660, r9661, r9662, r9663, r9664, r9665, r9666, r9667, r9668, r9669, r9670, r9671, r9672, r9673, r9674, r9675, r9676, r9677, r9678, r9679, r9680, r9681, r9682, r9683, r9684, r9685, r9686, r9687, r9688, r9689, r9690, r9691;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9652);
        mpfr_init_set_str(r9653, "-8.189924844974937e+178", 10, MPFR_RNDN);
        mpfr_init(r9654);
        mpfr_init(r9655);
        mpfr_init(r9656);
        mpfr_init_set_str(r9657, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9658, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9659, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9660);
        mpfr_init(r9661);
        mpfr_init(r9662);
        mpfr_init_set_str(r9663, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9664);
        mpfr_init(r9665);
        mpfr_init(r9666);
        mpfr_init(r9667);
        mpfr_init(r9668);
        mpfr_init(r9669);
        mpfr_init(r9670);
        mpfr_init(r9671);
        mpfr_init(r9672);
        mpfr_init(r9673);
        mpfr_init(r9674);
        mpfr_init(r9675);
        mpfr_init(r9676);
        mpfr_init(r9677);
        mpfr_init(r9678);
        mpfr_init(r9679);
        mpfr_init(r9680);
        mpfr_init(r9681);
        mpfr_init_set_str(r9682, "1", 10, MPFR_RNDN);
        mpfr_init(r9683);
        mpfr_init(r9684);
        mpfr_init(r9685);
        mpfr_init(r9686);
        mpfr_init(r9687);
        mpfr_init(r9688);
        mpfr_init(r9689);
        mpfr_init(r9690);
        mpfr_init(r9691);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9652, z, MPFR_RNDN);
        ;
        mpfr_set_si(r9654, mpfr_cmp(r9652, r9653) <= 0, MPFR_RNDN);
        mpfr_set_d(r9655, x, MPFR_RNDN);
        mpfr_set_d(r9656, y, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r9660, r9658, r9659, MPFR_RNDN);
        mpfr_set_d(r9661, a, MPFR_RNDN);
        mpfr_add(r9662, r9660, r9661, MPFR_RNDN);
        ;
        mpfr_set_d(r9664, t, MPFR_RNDN);
        mpfr_mul(r9665, r9663, r9664, MPFR_RNDN);
        mpfr_div(r9666, r9657, r9665, MPFR_RNDN);
        mpfr_sub(r9667, r9662, r9666, MPFR_RNDN);
        mpfr_set_d(r9668, c, MPFR_RNDN);
        mpfr_set_d(r9669, b, MPFR_RNDN);
        mpfr_sub(r9670, r9668, r9669, MPFR_RNDN);
        mpfr_add(r9671, r9664, r9661, MPFR_RNDN);
        mpfr_sqrt(r9672, r9671, MPFR_RNDN);
        mpfr_div(r9673, r9664, r9652, MPFR_RNDN);
        mpfr_div(r9674, r9672, r9673, MPFR_RNDN);
        mpfr_fma(r9675, r9667, r9670, r9674, MPFR_RNDN);
        mpfr_mul(r9676, r9657, r9675, MPFR_RNDN);
        mpfr_exp(r9677, r9676, MPFR_RNDN);
        mpfr_mul(r9678, r9656, r9677, MPFR_RNDN);
        mpfr_add(r9679, r9655, r9678, MPFR_RNDN);
        mpfr_div(r9680, r9655, r9679, MPFR_RNDN);
        mpfr_mul(r9681, r9672, r9652, MPFR_RNDN);
        ;
        mpfr_div(r9683, r9682, r9664, MPFR_RNDN);
        mpfr_mul(r9684, r9667, r9670, MPFR_RNDN);
        mpfr_fma(r9685, r9681, r9683, r9684, MPFR_RNDN);
        mpfr_mul(r9686, r9685, r9657, MPFR_RNDN);
        mpfr_exp(r9687, r9686, MPFR_RNDN);
        mpfr_mul(r9688, r9687, r9656, MPFR_RNDN);
        mpfr_add(r9689, r9688, r9655, MPFR_RNDN);
        mpfr_div(r9690, r9655, r9689, MPFR_RNDN);
        if (mpfr_get_si(r9654, MPFR_RNDN)) { mpfr_set(r9691, r9680, MPFR_RNDN); } else { mpfr_set(r9691, r9690, MPFR_RNDN); };
        return mpfr_get_d(r9691, MPFR_RNDN);
}

