#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 r9486 = x;
        float r9487 = y;
        float r9488 = 2.0;
        float r9489 = z;
        float r9490 = t;
        float r9491 = a;
        float r9492 = r9490 + r9491;
        float r9493 = sqrt(r9492);
        float r9494 = r9489 * r9493;
        float r9495 = r9494 / r9490;
        float r9496 = b;
        float r9497 = c;
        float r9498 = r9496 - r9497;
        float r9499 = 5.0;
        float r9500 = 6.0;
        float r9501 = r9499 / r9500;
        float r9502 = r9491 + r9501;
        float r9503 = 3.0;
        float r9504 = r9490 * r9503;
        float r9505 = r9488 / r9504;
        float r9506 = r9502 - r9505;
        float r9507 = r9498 * r9506;
        float r9508 = r9495 - r9507;
        float r9509 = r9488 * r9508;
        float r9510 = exp(r9509);
        float r9511 = r9487 * r9510;
        float r9512 = r9486 + r9511;
        float r9513 = r9486 / r9512;
        return r9513;
}

double f_id(double x, double y, double z, double t, double a, double b, double c) {
        double r9514 = x;
        double r9515 = y;
        double r9516 = 2.0;
        double r9517 = z;
        double r9518 = t;
        double r9519 = a;
        double r9520 = r9518 + r9519;
        double r9521 = sqrt(r9520);
        double r9522 = r9517 * r9521;
        double r9523 = r9522 / r9518;
        double r9524 = b;
        double r9525 = c;
        double r9526 = r9524 - r9525;
        double r9527 = 5.0;
        double r9528 = 6.0;
        double r9529 = r9527 / r9528;
        double r9530 = r9519 + r9529;
        double r9531 = 3.0;
        double r9532 = r9518 * r9531;
        double r9533 = r9516 / r9532;
        double r9534 = r9530 - r9533;
        double r9535 = r9526 * r9534;
        double r9536 = r9523 - r9535;
        double r9537 = r9516 * r9536;
        double r9538 = exp(r9537);
        double r9539 = r9515 * r9538;
        double r9540 = r9514 + r9539;
        double r9541 = r9514 / r9540;
        return r9541;
}


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

double f_od(double x, double y, double z, double t, double a, double b, double c) {
        double r9582 = z;
        double r9583 = -8.189924844974937e+178;
        bool r9584 = r9582 <= r9583;
        double r9585 = x;
        double r9586 = y;
        double r9587 = 2.0;
        double r9588 = 5.0;
        double r9589 = 6.0;
        double r9590 = r9588 / r9589;
        double r9591 = a;
        double r9592 = r9590 + r9591;
        double r9593 = 3.0;
        double r9594 = t;
        double r9595 = r9593 * r9594;
        double r9596 = r9587 / r9595;
        double r9597 = r9592 - r9596;
        double r9598 = c;
        double r9599 = b;
        double r9600 = r9598 - r9599;
        double r9601 = r9594 + r9591;
        double r9602 = sqrt(r9601);
        double r9603 = r9594 / r9582;
        double r9604 = r9602 / r9603;
        double r9605 = fma(r9597, r9600, r9604);
        double r9606 = r9587 * r9605;
        double r9607 = exp(r9606);
        double r9608 = r9586 * r9607;
        double r9609 = r9585 + r9608;
        double r9610 = r9585 / r9609;
        double r9611 = r9602 * r9582;
        double r9612 = 1;
        double r9613 = r9612 / r9594;
        double r9614 = r9597 * r9600;
        double r9615 = fma(r9611, r9613, r9614);
        double r9616 = r9615 * r9587;
        double r9617 = exp(r9616);
        double r9618 = r9617 * r9586;
        double r9619 = r9618 + r9585;
        double r9620 = r9585 / r9619;
        double r9621 = r9584 ? r9610 : r9620;
        return r9621;
}

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

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r9622);
        mpfr_init(r9623);
        mpfr_init_set_str(r9624, "2.0", 10, MPFR_RNDN);
        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_set_str(r9635, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9636, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9637);
        mpfr_init(r9638);
        mpfr_init_set_str(r9639, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9640);
        mpfr_init(r9641);
        mpfr_init(r9642);
        mpfr_init(r9643);
        mpfr_init(r9644);
        mpfr_init(r9645);
        mpfr_init(r9646);
        mpfr_init(r9647);
        mpfr_init(r9648);
        mpfr_init(r9649);
}

double f_im(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9622, x, MPFR_RNDN);
        mpfr_set_d(r9623, y, MPFR_RNDN);
        ;
        mpfr_set_d(r9625, z, MPFR_RNDN);
        mpfr_set_d(r9626, t, MPFR_RNDN);
        mpfr_set_d(r9627, a, MPFR_RNDN);
        mpfr_add(r9628, r9626, r9627, MPFR_RNDN);
        mpfr_sqrt(r9629, r9628, MPFR_RNDN);
        mpfr_mul(r9630, r9625, r9629, MPFR_RNDN);
        mpfr_div(r9631, r9630, r9626, MPFR_RNDN);
        mpfr_set_d(r9632, b, MPFR_RNDN);
        mpfr_set_d(r9633, c, MPFR_RNDN);
        mpfr_sub(r9634, r9632, r9633, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9637, r9635, r9636, MPFR_RNDN);
        mpfr_add(r9638, r9627, r9637, MPFR_RNDN);
        ;
        mpfr_mul(r9640, r9626, r9639, MPFR_RNDN);
        mpfr_div(r9641, r9624, r9640, MPFR_RNDN);
        mpfr_sub(r9642, r9638, r9641, MPFR_RNDN);
        mpfr_mul(r9643, r9634, r9642, MPFR_RNDN);
        mpfr_sub(r9644, r9631, r9643, MPFR_RNDN);
        mpfr_mul(r9645, r9624, r9644, MPFR_RNDN);
        mpfr_exp(r9646, r9645, MPFR_RNDN);
        mpfr_mul(r9647, r9623, r9646, MPFR_RNDN);
        mpfr_add(r9648, r9622, r9647, MPFR_RNDN);
        mpfr_div(r9649, r9622, r9648, MPFR_RNDN);
        return mpfr_get_d(r9649, MPFR_RNDN);
}

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

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9650);
        mpfr_init_set_str(r9651, "-8.189924844974937e+178", 10, MPFR_RNDN);
        mpfr_init(r9652);
        mpfr_init(r9653);
        mpfr_init(r9654);
        mpfr_init_set_str(r9655, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9656, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9657, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9658);
        mpfr_init(r9659);
        mpfr_init(r9660);
        mpfr_init_set_str(r9661, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9662);
        mpfr_init(r9663);
        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_set_str(r9680, "1", 10, MPFR_RNDN);
        mpfr_init(r9681);
        mpfr_init(r9682);
        mpfr_init(r9683);
        mpfr_init(r9684);
        mpfr_init(r9685);
        mpfr_init(r9686);
        mpfr_init(r9687);
        mpfr_init(r9688);
        mpfr_init(r9689);
}

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

static mpfr_t r9690, r9691, r9692, r9693, r9694, r9695, r9696, r9697, r9698, r9699, r9700, r9701, r9702, r9703, r9704, r9705, r9706, r9707, r9708, r9709, r9710, r9711, r9712, r9713, r9714, r9715, r9716, r9717, r9718, r9719, r9720, r9721, r9722, r9723, r9724, r9725, r9726, r9727, r9728, r9729;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9690);
        mpfr_init_set_str(r9691, "-8.189924844974937e+178", 10, MPFR_RNDN);
        mpfr_init(r9692);
        mpfr_init(r9693);
        mpfr_init(r9694);
        mpfr_init_set_str(r9695, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9696, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9697, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9698);
        mpfr_init(r9699);
        mpfr_init(r9700);
        mpfr_init_set_str(r9701, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9702);
        mpfr_init(r9703);
        mpfr_init(r9704);
        mpfr_init(r9705);
        mpfr_init(r9706);
        mpfr_init(r9707);
        mpfr_init(r9708);
        mpfr_init(r9709);
        mpfr_init(r9710);
        mpfr_init(r9711);
        mpfr_init(r9712);
        mpfr_init(r9713);
        mpfr_init(r9714);
        mpfr_init(r9715);
        mpfr_init(r9716);
        mpfr_init(r9717);
        mpfr_init(r9718);
        mpfr_init(r9719);
        mpfr_init_set_str(r9720, "1", 10, MPFR_RNDN);
        mpfr_init(r9721);
        mpfr_init(r9722);
        mpfr_init(r9723);
        mpfr_init(r9724);
        mpfr_init(r9725);
        mpfr_init(r9726);
        mpfr_init(r9727);
        mpfr_init(r9728);
        mpfr_init(r9729);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9690, z, MPFR_RNDN);
        ;
        mpfr_set_si(r9692, mpfr_cmp(r9690, r9691) <= 0, MPFR_RNDN);
        mpfr_set_d(r9693, x, MPFR_RNDN);
        mpfr_set_d(r9694, y, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_div(r9698, r9696, r9697, MPFR_RNDN);
        mpfr_set_d(r9699, a, MPFR_RNDN);
        mpfr_add(r9700, r9698, r9699, MPFR_RNDN);
        ;
        mpfr_set_d(r9702, t, MPFR_RNDN);
        mpfr_mul(r9703, r9701, r9702, MPFR_RNDN);
        mpfr_div(r9704, r9695, r9703, MPFR_RNDN);
        mpfr_sub(r9705, r9700, r9704, MPFR_RNDN);
        mpfr_set_d(r9706, c, MPFR_RNDN);
        mpfr_set_d(r9707, b, MPFR_RNDN);
        mpfr_sub(r9708, r9706, r9707, MPFR_RNDN);
        mpfr_add(r9709, r9702, r9699, MPFR_RNDN);
        mpfr_sqrt(r9710, r9709, MPFR_RNDN);
        mpfr_div(r9711, r9702, r9690, MPFR_RNDN);
        mpfr_div(r9712, r9710, r9711, MPFR_RNDN);
        mpfr_fma(r9713, r9705, r9708, r9712, MPFR_RNDN);
        mpfr_mul(r9714, r9695, r9713, MPFR_RNDN);
        mpfr_exp(r9715, r9714, MPFR_RNDN);
        mpfr_mul(r9716, r9694, r9715, MPFR_RNDN);
        mpfr_add(r9717, r9693, r9716, MPFR_RNDN);
        mpfr_div(r9718, r9693, r9717, MPFR_RNDN);
        mpfr_mul(r9719, r9710, r9690, MPFR_RNDN);
        ;
        mpfr_div(r9721, r9720, r9702, MPFR_RNDN);
        mpfr_mul(r9722, r9705, r9708, MPFR_RNDN);
        mpfr_fma(r9723, r9719, r9721, r9722, MPFR_RNDN);
        mpfr_mul(r9724, r9723, r9695, MPFR_RNDN);
        mpfr_exp(r9725, r9724, MPFR_RNDN);
        mpfr_mul(r9726, r9725, r9694, MPFR_RNDN);
        mpfr_add(r9727, r9726, r9693, MPFR_RNDN);
        mpfr_div(r9728, r9693, r9727, MPFR_RNDN);
        if (mpfr_get_si(r9692, MPFR_RNDN)) { mpfr_set(r9729, r9718, MPFR_RNDN); } else { mpfr_set(r9729, r9728, MPFR_RNDN); };
        return mpfr_get_d(r9729, MPFR_RNDN);
}

