#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 r9506 = x;
        float r9507 = y;
        float r9508 = 2.0;
        float r9509 = z;
        float r9510 = t;
        float r9511 = a;
        float r9512 = r9510 + r9511;
        float r9513 = sqrt(r9512);
        float r9514 = r9509 * r9513;
        float r9515 = r9514 / r9510;
        float r9516 = b;
        float r9517 = c;
        float r9518 = r9516 - r9517;
        float r9519 = 5.0;
        float r9520 = 6.0;
        float r9521 = r9519 / r9520;
        float r9522 = r9511 + r9521;
        float r9523 = 3.0;
        float r9524 = r9510 * r9523;
        float r9525 = r9508 / r9524;
        float r9526 = r9522 - r9525;
        float r9527 = r9518 * r9526;
        float r9528 = r9515 - r9527;
        float r9529 = r9508 * r9528;
        float r9530 = exp(r9529);
        float r9531 = r9507 * r9530;
        float r9532 = r9506 + r9531;
        float r9533 = r9506 / r9532;
        return r9533;
}

double f_id(double x, double y, double z, double t, double a, double b, double c) {
        double r9534 = x;
        double r9535 = y;
        double r9536 = 2.0;
        double r9537 = z;
        double r9538 = t;
        double r9539 = a;
        double r9540 = r9538 + r9539;
        double r9541 = sqrt(r9540);
        double r9542 = r9537 * r9541;
        double r9543 = r9542 / r9538;
        double r9544 = b;
        double r9545 = c;
        double r9546 = r9544 - r9545;
        double r9547 = 5.0;
        double r9548 = 6.0;
        double r9549 = r9547 / r9548;
        double r9550 = r9539 + r9549;
        double r9551 = 3.0;
        double r9552 = r9538 * r9551;
        double r9553 = r9536 / r9552;
        double r9554 = r9550 - r9553;
        double r9555 = r9546 * r9554;
        double r9556 = r9543 - r9555;
        double r9557 = r9536 * r9556;
        double r9558 = exp(r9557);
        double r9559 = r9535 * r9558;
        double r9560 = r9534 + r9559;
        double r9561 = r9534 / r9560;
        return r9561;
}


double f_of(float x, float y, float z, float t, float a, float b, float c) {
        float r9562 = t;
        float r9563 = -7.143204630089784e-192;
        bool r9564 = r9562 <= r9563;
        float r9565 = 3.447325677184114e-177;
        bool r9566 = r9562 <= r9565;
        float r9567 = !r9566;
        bool r9568 = r9564 || r9567;
        float r9569 = x;
        float r9570 = y;
        float r9571 = z;
        float r9572 = a;
        float r9573 = r9562 + r9572;
        float r9574 = sqrt(r9573);
        float r9575 = r9562 / r9574;
        float r9576 = r9571 / r9575;
        float r9577 = b;
        float r9578 = c;
        float r9579 = r9577 - r9578;
        float r9580 = 5.0;
        float r9581 = 6.0;
        float r9582 = r9580 / r9581;
        float r9583 = r9582 + r9572;
        float r9584 = 2.0;
        float r9585 = 3.0;
        float r9586 = r9562 * r9585;
        float r9587 = r9584 / r9586;
        float r9588 = r9583 - r9587;
        float r9589 = r9579 * r9588;
        float r9590 = r9576 - r9589;
        float r9591 = r9590 * r9584;
        float r9592 = exp(r9591);
        float r9593 = r9570 * r9592;
        float r9594 = r9593 + r9569;
        float r9595 = r9569 / r9594;
        float r9596 = r9572 - r9582;
        float r9597 = r9571 * r9585;
        float r9598 = r9597 * r9562;
        float r9599 = r9596 * r9598;
        float r9600 = r9562 * r9579;
        float r9601 = r9600 / r9574;
        float r9602 = r9586 * r9583;
        float r9603 = r9602 - r9584;
        float r9604 = r9603 * r9596;
        float r9605 = r9601 * r9604;
        float r9606 = r9599 - r9605;
        float r9607 = r9596 * r9586;
        float r9608 = r9607 * r9575;
        float r9609 = r9606 / r9608;
        float r9610 = r9609 * r9584;
        float r9611 = exp(r9610);
        float r9612 = r9570 * r9611;
        float r9613 = r9569 + r9612;
        float r9614 = r9569 / r9613;
        float r9615 = r9568 ? r9595 : r9614;
        return r9615;
}

double f_od(double x, double y, double z, double t, double a, double b, double c) {
        double r9616 = t;
        double r9617 = -7.143204630089784e-192;
        bool r9618 = r9616 <= r9617;
        double r9619 = 3.447325677184114e-177;
        bool r9620 = r9616 <= r9619;
        double r9621 = !r9620;
        bool r9622 = r9618 || r9621;
        double r9623 = x;
        double r9624 = y;
        double r9625 = z;
        double r9626 = a;
        double r9627 = r9616 + r9626;
        double r9628 = sqrt(r9627);
        double r9629 = r9616 / r9628;
        double r9630 = r9625 / r9629;
        double r9631 = b;
        double r9632 = c;
        double r9633 = r9631 - r9632;
        double r9634 = 5.0;
        double r9635 = 6.0;
        double r9636 = r9634 / r9635;
        double r9637 = r9636 + r9626;
        double r9638 = 2.0;
        double r9639 = 3.0;
        double r9640 = r9616 * r9639;
        double r9641 = r9638 / r9640;
        double r9642 = r9637 - r9641;
        double r9643 = r9633 * r9642;
        double r9644 = r9630 - r9643;
        double r9645 = r9644 * r9638;
        double r9646 = exp(r9645);
        double r9647 = r9624 * r9646;
        double r9648 = r9647 + r9623;
        double r9649 = r9623 / r9648;
        double r9650 = r9626 - r9636;
        double r9651 = r9625 * r9639;
        double r9652 = r9651 * r9616;
        double r9653 = r9650 * r9652;
        double r9654 = r9616 * r9633;
        double r9655 = r9654 / r9628;
        double r9656 = r9640 * r9637;
        double r9657 = r9656 - r9638;
        double r9658 = r9657 * r9650;
        double r9659 = r9655 * r9658;
        double r9660 = r9653 - r9659;
        double r9661 = r9650 * r9640;
        double r9662 = r9661 * r9629;
        double r9663 = r9660 / r9662;
        double r9664 = r9663 * r9638;
        double r9665 = exp(r9664);
        double r9666 = r9624 * r9665;
        double r9667 = r9623 + r9666;
        double r9668 = r9623 / r9667;
        double r9669 = r9622 ? r9649 : r9668;
        return r9669;
}

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 r9670, r9671, r9672, r9673, r9674, r9675, r9676, r9677, r9678, r9679, r9680, r9681, r9682, r9683, r9684, r9685, r9686, r9687, r9688, r9689, r9690, r9691, r9692, r9693, r9694, r9695, r9696, r9697;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9670);
        mpfr_init(r9671);
        mpfr_init_set_str(r9672, "2.0", 10, MPFR_RNDN);
        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(r9682);
        mpfr_init_set_str(r9683, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9684, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9685);
        mpfr_init(r9686);
        mpfr_init_set_str(r9687, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9688);
        mpfr_init(r9689);
        mpfr_init(r9690);
        mpfr_init(r9691);
        mpfr_init(r9692);
        mpfr_init(r9693);
        mpfr_init(r9694);
        mpfr_init(r9695);
        mpfr_init(r9696);
        mpfr_init(r9697);
}

double f_im(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9670, x, MPFR_RNDN);
        mpfr_set_d(r9671, y, MPFR_RNDN);
        ;
        mpfr_set_d(r9673, z, MPFR_RNDN);
        mpfr_set_d(r9674, t, MPFR_RNDN);
        mpfr_set_d(r9675, a, MPFR_RNDN);
        mpfr_add(r9676, r9674, r9675, MPFR_RNDN);
        mpfr_sqrt(r9677, r9676, MPFR_RNDN);
        mpfr_mul(r9678, r9673, r9677, MPFR_RNDN);
        mpfr_div(r9679, r9678, r9674, MPFR_RNDN);
        mpfr_set_d(r9680, b, MPFR_RNDN);
        mpfr_set_d(r9681, c, MPFR_RNDN);
        mpfr_sub(r9682, r9680, r9681, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9685, r9683, r9684, MPFR_RNDN);
        mpfr_add(r9686, r9675, r9685, MPFR_RNDN);
        ;
        mpfr_mul(r9688, r9674, r9687, MPFR_RNDN);
        mpfr_div(r9689, r9672, r9688, MPFR_RNDN);
        mpfr_sub(r9690, r9686, r9689, MPFR_RNDN);
        mpfr_mul(r9691, r9682, r9690, MPFR_RNDN);
        mpfr_sub(r9692, r9679, r9691, MPFR_RNDN);
        mpfr_mul(r9693, r9672, r9692, MPFR_RNDN);
        mpfr_exp(r9694, r9693, MPFR_RNDN);
        mpfr_mul(r9695, r9671, r9694, MPFR_RNDN);
        mpfr_add(r9696, r9670, r9695, MPFR_RNDN);
        mpfr_div(r9697, r9670, r9696, MPFR_RNDN);
        return mpfr_get_d(r9697, MPFR_RNDN);
}

static mpfr_t 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, r9730, r9731, r9732, r9733, r9734, r9735, r9736, r9737, r9738, r9739, r9740, r9741, r9742, r9743, r9744, r9745, r9746, r9747, r9748, r9749, r9750, r9751;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9698);
        mpfr_init_set_str(r9699, "-7.143204630089784e-192", 10, MPFR_RNDN);
        mpfr_init(r9700);
        mpfr_init_set_str(r9701, "3.447325677184114e-177", 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_set_str(r9716, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9717, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9718);
        mpfr_init(r9719);
        mpfr_init_set_str(r9720, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9721, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9722);
        mpfr_init(r9723);
        mpfr_init(r9724);
        mpfr_init(r9725);
        mpfr_init(r9726);
        mpfr_init(r9727);
        mpfr_init(r9728);
        mpfr_init(r9729);
        mpfr_init(r9730);
        mpfr_init(r9731);
        mpfr_init(r9732);
        mpfr_init(r9733);
        mpfr_init(r9734);
        mpfr_init(r9735);
        mpfr_init(r9736);
        mpfr_init(r9737);
        mpfr_init(r9738);
        mpfr_init(r9739);
        mpfr_init(r9740);
        mpfr_init(r9741);
        mpfr_init(r9742);
        mpfr_init(r9743);
        mpfr_init(r9744);
        mpfr_init(r9745);
        mpfr_init(r9746);
        mpfr_init(r9747);
        mpfr_init(r9748);
        mpfr_init(r9749);
        mpfr_init(r9750);
        mpfr_init(r9751);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9698, t, MPFR_RNDN);
        ;
        mpfr_set_si(r9700, mpfr_cmp(r9698, r9699) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9702, mpfr_cmp(r9698, r9701) <= 0, MPFR_RNDN);
        mpfr_set_si(r9703, !mpfr_get_si(r9702, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r9704, mpfr_get_si(r9700, MPFR_RNDN) || mpfr_get_si(r9703, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_d(r9705, x, MPFR_RNDN);
        mpfr_set_d(r9706, y, MPFR_RNDN);
        mpfr_set_d(r9707, z, MPFR_RNDN);
        mpfr_set_d(r9708, a, MPFR_RNDN);
        mpfr_add(r9709, r9698, r9708, MPFR_RNDN);
        mpfr_sqrt(r9710, r9709, MPFR_RNDN);
        mpfr_div(r9711, r9698, r9710, MPFR_RNDN);
        mpfr_div(r9712, r9707, r9711, MPFR_RNDN);
        mpfr_set_d(r9713, b, MPFR_RNDN);
        mpfr_set_d(r9714, c, MPFR_RNDN);
        mpfr_sub(r9715, r9713, r9714, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9718, r9716, r9717, MPFR_RNDN);
        mpfr_add(r9719, r9718, r9708, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r9722, r9698, r9721, MPFR_RNDN);
        mpfr_div(r9723, r9720, r9722, MPFR_RNDN);
        mpfr_sub(r9724, r9719, r9723, MPFR_RNDN);
        mpfr_mul(r9725, r9715, r9724, MPFR_RNDN);
        mpfr_sub(r9726, r9712, r9725, MPFR_RNDN);
        mpfr_mul(r9727, r9726, r9720, MPFR_RNDN);
        mpfr_exp(r9728, r9727, MPFR_RNDN);
        mpfr_mul(r9729, r9706, r9728, MPFR_RNDN);
        mpfr_add(r9730, r9729, r9705, MPFR_RNDN);
        mpfr_div(r9731, r9705, r9730, MPFR_RNDN);
        mpfr_sub(r9732, r9708, r9718, MPFR_RNDN);
        mpfr_mul(r9733, r9707, r9721, MPFR_RNDN);
        mpfr_mul(r9734, r9733, r9698, MPFR_RNDN);
        mpfr_mul(r9735, r9732, r9734, MPFR_RNDN);
        mpfr_mul(r9736, r9698, r9715, MPFR_RNDN);
        mpfr_div(r9737, r9736, r9710, MPFR_RNDN);
        mpfr_mul(r9738, r9722, r9719, MPFR_RNDN);
        mpfr_sub(r9739, r9738, r9720, MPFR_RNDN);
        mpfr_mul(r9740, r9739, r9732, MPFR_RNDN);
        mpfr_mul(r9741, r9737, r9740, MPFR_RNDN);
        mpfr_sub(r9742, r9735, r9741, MPFR_RNDN);
        mpfr_mul(r9743, r9732, r9722, MPFR_RNDN);
        mpfr_mul(r9744, r9743, r9711, MPFR_RNDN);
        mpfr_div(r9745, r9742, r9744, MPFR_RNDN);
        mpfr_mul(r9746, r9745, r9720, MPFR_RNDN);
        mpfr_exp(r9747, r9746, MPFR_RNDN);
        mpfr_mul(r9748, r9706, r9747, MPFR_RNDN);
        mpfr_add(r9749, r9705, r9748, MPFR_RNDN);
        mpfr_div(r9750, r9705, r9749, MPFR_RNDN);
        if (mpfr_get_si(r9704, MPFR_RNDN)) { mpfr_set(r9751, r9731, MPFR_RNDN); } else { mpfr_set(r9751, r9750, MPFR_RNDN); };
        return mpfr_get_d(r9751, MPFR_RNDN);
}

static mpfr_t r9752, r9753, r9754, r9755, r9756, r9757, r9758, r9759, r9760, r9761, r9762, r9763, r9764, r9765, r9766, r9767, r9768, r9769, r9770, r9771, r9772, r9773, r9774, r9775, r9776, r9777, r9778, r9779, r9780, r9781, r9782, r9783, r9784, r9785, r9786, r9787, r9788, r9789, r9790, r9791, r9792, r9793, r9794, r9795, r9796, r9797, r9798, r9799, r9800, r9801, r9802, r9803, r9804, r9805;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9752);
        mpfr_init_set_str(r9753, "-7.143204630089784e-192", 10, MPFR_RNDN);
        mpfr_init(r9754);
        mpfr_init_set_str(r9755, "3.447325677184114e-177", 10, MPFR_RNDN);
        mpfr_init(r9756);
        mpfr_init(r9757);
        mpfr_init(r9758);
        mpfr_init(r9759);
        mpfr_init(r9760);
        mpfr_init(r9761);
        mpfr_init(r9762);
        mpfr_init(r9763);
        mpfr_init(r9764);
        mpfr_init(r9765);
        mpfr_init(r9766);
        mpfr_init(r9767);
        mpfr_init(r9768);
        mpfr_init(r9769);
        mpfr_init_set_str(r9770, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9771, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9772);
        mpfr_init(r9773);
        mpfr_init_set_str(r9774, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9775, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9776);
        mpfr_init(r9777);
        mpfr_init(r9778);
        mpfr_init(r9779);
        mpfr_init(r9780);
        mpfr_init(r9781);
        mpfr_init(r9782);
        mpfr_init(r9783);
        mpfr_init(r9784);
        mpfr_init(r9785);
        mpfr_init(r9786);
        mpfr_init(r9787);
        mpfr_init(r9788);
        mpfr_init(r9789);
        mpfr_init(r9790);
        mpfr_init(r9791);
        mpfr_init(r9792);
        mpfr_init(r9793);
        mpfr_init(r9794);
        mpfr_init(r9795);
        mpfr_init(r9796);
        mpfr_init(r9797);
        mpfr_init(r9798);
        mpfr_init(r9799);
        mpfr_init(r9800);
        mpfr_init(r9801);
        mpfr_init(r9802);
        mpfr_init(r9803);
        mpfr_init(r9804);
        mpfr_init(r9805);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9752, t, MPFR_RNDN);
        ;
        mpfr_set_si(r9754, mpfr_cmp(r9752, r9753) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9756, mpfr_cmp(r9752, r9755) <= 0, MPFR_RNDN);
        mpfr_set_si(r9757, !mpfr_get_si(r9756, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r9758, mpfr_get_si(r9754, MPFR_RNDN) || mpfr_get_si(r9757, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_d(r9759, x, MPFR_RNDN);
        mpfr_set_d(r9760, y, MPFR_RNDN);
        mpfr_set_d(r9761, z, MPFR_RNDN);
        mpfr_set_d(r9762, a, MPFR_RNDN);
        mpfr_add(r9763, r9752, r9762, MPFR_RNDN);
        mpfr_sqrt(r9764, r9763, MPFR_RNDN);
        mpfr_div(r9765, r9752, r9764, MPFR_RNDN);
        mpfr_div(r9766, r9761, r9765, MPFR_RNDN);
        mpfr_set_d(r9767, b, MPFR_RNDN);
        mpfr_set_d(r9768, c, MPFR_RNDN);
        mpfr_sub(r9769, r9767, r9768, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9772, r9770, r9771, MPFR_RNDN);
        mpfr_add(r9773, r9772, r9762, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r9776, r9752, r9775, MPFR_RNDN);
        mpfr_div(r9777, r9774, r9776, MPFR_RNDN);
        mpfr_sub(r9778, r9773, r9777, MPFR_RNDN);
        mpfr_mul(r9779, r9769, r9778, MPFR_RNDN);
        mpfr_sub(r9780, r9766, r9779, MPFR_RNDN);
        mpfr_mul(r9781, r9780, r9774, MPFR_RNDN);
        mpfr_exp(r9782, r9781, MPFR_RNDN);
        mpfr_mul(r9783, r9760, r9782, MPFR_RNDN);
        mpfr_add(r9784, r9783, r9759, MPFR_RNDN);
        mpfr_div(r9785, r9759, r9784, MPFR_RNDN);
        mpfr_sub(r9786, r9762, r9772, MPFR_RNDN);
        mpfr_mul(r9787, r9761, r9775, MPFR_RNDN);
        mpfr_mul(r9788, r9787, r9752, MPFR_RNDN);
        mpfr_mul(r9789, r9786, r9788, MPFR_RNDN);
        mpfr_mul(r9790, r9752, r9769, MPFR_RNDN);
        mpfr_div(r9791, r9790, r9764, MPFR_RNDN);
        mpfr_mul(r9792, r9776, r9773, MPFR_RNDN);
        mpfr_sub(r9793, r9792, r9774, MPFR_RNDN);
        mpfr_mul(r9794, r9793, r9786, MPFR_RNDN);
        mpfr_mul(r9795, r9791, r9794, MPFR_RNDN);
        mpfr_sub(r9796, r9789, r9795, MPFR_RNDN);
        mpfr_mul(r9797, r9786, r9776, MPFR_RNDN);
        mpfr_mul(r9798, r9797, r9765, MPFR_RNDN);
        mpfr_div(r9799, r9796, r9798, MPFR_RNDN);
        mpfr_mul(r9800, r9799, r9774, MPFR_RNDN);
        mpfr_exp(r9801, r9800, MPFR_RNDN);
        mpfr_mul(r9802, r9760, r9801, MPFR_RNDN);
        mpfr_add(r9803, r9759, r9802, MPFR_RNDN);
        mpfr_div(r9804, r9759, r9803, MPFR_RNDN);
        if (mpfr_get_si(r9758, MPFR_RNDN)) { mpfr_set(r9805, r9785, MPFR_RNDN); } else { mpfr_set(r9805, r9804, MPFR_RNDN); };
        return mpfr_get_d(r9805, MPFR_RNDN);
}

