#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 r9294 = x;
        float r9295 = y;
        float r9296 = 2.0;
        float r9297 = z;
        float r9298 = t;
        float r9299 = a;
        float r9300 = r9298 + r9299;
        float r9301 = sqrt(r9300);
        float r9302 = r9297 * r9301;
        float r9303 = r9302 / r9298;
        float r9304 = b;
        float r9305 = c;
        float r9306 = r9304 - r9305;
        float r9307 = 5.0;
        float r9308 = 6.0;
        float r9309 = r9307 / r9308;
        float r9310 = r9299 + r9309;
        float r9311 = 3.0;
        float r9312 = r9298 * r9311;
        float r9313 = r9296 / r9312;
        float r9314 = r9310 - r9313;
        float r9315 = r9306 * r9314;
        float r9316 = r9303 - r9315;
        float r9317 = r9296 * r9316;
        float r9318 = exp(r9317);
        float r9319 = r9295 * r9318;
        float r9320 = r9294 + r9319;
        float r9321 = r9294 / r9320;
        return r9321;
}

double f_id(double x, double y, double z, double t, double a, double b, double c) {
        double r9322 = x;
        double r9323 = y;
        double r9324 = 2.0;
        double r9325 = z;
        double r9326 = t;
        double r9327 = a;
        double r9328 = r9326 + r9327;
        double r9329 = sqrt(r9328);
        double r9330 = r9325 * r9329;
        double r9331 = r9330 / r9326;
        double r9332 = b;
        double r9333 = c;
        double r9334 = r9332 - r9333;
        double r9335 = 5.0;
        double r9336 = 6.0;
        double r9337 = r9335 / r9336;
        double r9338 = r9327 + r9337;
        double r9339 = 3.0;
        double r9340 = r9326 * r9339;
        double r9341 = r9324 / r9340;
        double r9342 = r9338 - r9341;
        double r9343 = r9334 * r9342;
        double r9344 = r9331 - r9343;
        double r9345 = r9324 * r9344;
        double r9346 = exp(r9345);
        double r9347 = r9323 * r9346;
        double r9348 = r9322 + r9347;
        double r9349 = r9322 / r9348;
        return r9349;
}


double f_of(float x, float y, float z, float t, float a, float b, float c) {
        float r9350 = a;
        float r9351 = 5.0;
        float r9352 = 6.0;
        float r9353 = r9351 / r9352;
        float r9354 = r9350 + r9353;
        float r9355 = 2.0;
        float r9356 = 3.0;
        float r9357 = r9355 / r9356;
        float r9358 = t;
        float r9359 = r9357 / r9358;
        float r9360 = r9354 - r9359;
        float r9361 = c;
        float r9362 = b;
        float r9363 = r9361 - r9362;
        float r9364 = z;
        float r9365 = r9364 / r9358;
        float r9366 = r9350 + r9358;
        float r9367 = sqrt(r9366);
        float r9368 = r9365 * r9367;
        float r9369 = fma(r9360, r9363, r9368);
        float r9370 = r9369 * r9355;
        float r9371 = -1.2635193728348323e+275;
        bool r9372 = r9370 <= r9371;
        float r9373 = x;
        float r9374 = y;
        float r9375 = r9364 * r9367;
        float r9376 = 1;
        float r9377 = r9376 / r9358;
        float r9378 = r9360 * r9363;
        float r9379 = fma(r9375, r9377, r9378);
        float r9380 = r9379 * r9355;
        float r9381 = exp(r9380);
        float r9382 = r9374 * r9381;
        float r9383 = r9382 + r9373;
        float r9384 = r9373 / r9383;
        float r9385 = exp(r9370);
        float r9386 = r9385 * r9374;
        float r9387 = r9386 + r9373;
        float r9388 = r9373 / r9387;
        float r9389 = r9372 ? r9384 : r9388;
        return r9389;
}

double f_od(double x, double y, double z, double t, double a, double b, double c) {
        double r9390 = a;
        double r9391 = 5.0;
        double r9392 = 6.0;
        double r9393 = r9391 / r9392;
        double r9394 = r9390 + r9393;
        double r9395 = 2.0;
        double r9396 = 3.0;
        double r9397 = r9395 / r9396;
        double r9398 = t;
        double r9399 = r9397 / r9398;
        double r9400 = r9394 - r9399;
        double r9401 = c;
        double r9402 = b;
        double r9403 = r9401 - r9402;
        double r9404 = z;
        double r9405 = r9404 / r9398;
        double r9406 = r9390 + r9398;
        double r9407 = sqrt(r9406);
        double r9408 = r9405 * r9407;
        double r9409 = fma(r9400, r9403, r9408);
        double r9410 = r9409 * r9395;
        double r9411 = -1.2635193728348323e+275;
        bool r9412 = r9410 <= r9411;
        double r9413 = x;
        double r9414 = y;
        double r9415 = r9404 * r9407;
        double r9416 = 1;
        double r9417 = r9416 / r9398;
        double r9418 = r9400 * r9403;
        double r9419 = fma(r9415, r9417, r9418);
        double r9420 = r9419 * r9395;
        double r9421 = exp(r9420);
        double r9422 = r9414 * r9421;
        double r9423 = r9422 + r9413;
        double r9424 = r9413 / r9423;
        double r9425 = exp(r9410);
        double r9426 = r9425 * r9414;
        double r9427 = r9426 + r9413;
        double r9428 = r9413 / r9427;
        double r9429 = r9412 ? r9424 : r9428;
        return r9429;
}

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 r9430, r9431, r9432, r9433, r9434, r9435, r9436, r9437, r9438, r9439, r9440, r9441, r9442, r9443, r9444, r9445, r9446, r9447, r9448, r9449, r9450, r9451, r9452, r9453, r9454, r9455, r9456, r9457;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9430);
        mpfr_init(r9431);
        mpfr_init_set_str(r9432, "2.0", 10, MPFR_RNDN);
        mpfr_init(r9433);
        mpfr_init(r9434);
        mpfr_init(r9435);
        mpfr_init(r9436);
        mpfr_init(r9437);
        mpfr_init(r9438);
        mpfr_init(r9439);
        mpfr_init(r9440);
        mpfr_init(r9441);
        mpfr_init(r9442);
        mpfr_init_set_str(r9443, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9444, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9445);
        mpfr_init(r9446);
        mpfr_init_set_str(r9447, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9448);
        mpfr_init(r9449);
        mpfr_init(r9450);
        mpfr_init(r9451);
        mpfr_init(r9452);
        mpfr_init(r9453);
        mpfr_init(r9454);
        mpfr_init(r9455);
        mpfr_init(r9456);
        mpfr_init(r9457);
}

double f_im(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9430, x, MPFR_RNDN);
        mpfr_set_d(r9431, y, MPFR_RNDN);
        ;
        mpfr_set_d(r9433, z, MPFR_RNDN);
        mpfr_set_d(r9434, t, MPFR_RNDN);
        mpfr_set_d(r9435, a, MPFR_RNDN);
        mpfr_add(r9436, r9434, r9435, MPFR_RNDN);
        mpfr_sqrt(r9437, r9436, MPFR_RNDN);
        mpfr_mul(r9438, r9433, r9437, MPFR_RNDN);
        mpfr_div(r9439, r9438, r9434, MPFR_RNDN);
        mpfr_set_d(r9440, b, MPFR_RNDN);
        mpfr_set_d(r9441, c, MPFR_RNDN);
        mpfr_sub(r9442, r9440, r9441, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9445, r9443, r9444, MPFR_RNDN);
        mpfr_add(r9446, r9435, r9445, MPFR_RNDN);
        ;
        mpfr_mul(r9448, r9434, r9447, MPFR_RNDN);
        mpfr_div(r9449, r9432, r9448, MPFR_RNDN);
        mpfr_sub(r9450, r9446, r9449, MPFR_RNDN);
        mpfr_mul(r9451, r9442, r9450, MPFR_RNDN);
        mpfr_sub(r9452, r9439, r9451, MPFR_RNDN);
        mpfr_mul(r9453, r9432, r9452, MPFR_RNDN);
        mpfr_exp(r9454, r9453, MPFR_RNDN);
        mpfr_mul(r9455, r9431, r9454, MPFR_RNDN);
        mpfr_add(r9456, r9430, r9455, MPFR_RNDN);
        mpfr_div(r9457, r9430, r9456, MPFR_RNDN);
        return mpfr_get_d(r9457, MPFR_RNDN);
}

static mpfr_t 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(592);
        mpfr_init(r9458);
        mpfr_init_set_str(r9459, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9460, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9461);
        mpfr_init(r9462);
        mpfr_init_set_str(r9463, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9464, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9465);
        mpfr_init(r9466);
        mpfr_init(r9467);
        mpfr_init(r9468);
        mpfr_init(r9469);
        mpfr_init(r9470);
        mpfr_init(r9471);
        mpfr_init(r9472);
        mpfr_init(r9473);
        mpfr_init(r9474);
        mpfr_init(r9475);
        mpfr_init(r9476);
        mpfr_init(r9477);
        mpfr_init(r9478);
        mpfr_init_set_str(r9479, "-1.2635193728348323e+275", 10, MPFR_RNDN);
        mpfr_init(r9480);
        mpfr_init(r9481);
        mpfr_init(r9482);
        mpfr_init(r9483);
        mpfr_init_set_str(r9484, "1", 10, MPFR_RNDN);
        mpfr_init(r9485);
        mpfr_init(r9486);
        mpfr_init(r9487);
        mpfr_init(r9488);
        mpfr_init(r9489);
        mpfr_init(r9490);
        mpfr_init(r9491);
        mpfr_init(r9492);
        mpfr_init(r9493);
        mpfr_init(r9494);
        mpfr_init(r9495);
        mpfr_init(r9496);
        mpfr_init(r9497);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9458, a, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9461, r9459, r9460, MPFR_RNDN);
        mpfr_add(r9462, r9458, r9461, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9465, r9463, r9464, MPFR_RNDN);
        mpfr_set_d(r9466, t, MPFR_RNDN);
        mpfr_div(r9467, r9465, r9466, MPFR_RNDN);
        mpfr_sub(r9468, r9462, r9467, MPFR_RNDN);
        mpfr_set_d(r9469, c, MPFR_RNDN);
        mpfr_set_d(r9470, b, MPFR_RNDN);
        mpfr_sub(r9471, r9469, r9470, MPFR_RNDN);
        mpfr_set_d(r9472, z, MPFR_RNDN);
        mpfr_div(r9473, r9472, r9466, MPFR_RNDN);
        mpfr_add(r9474, r9458, r9466, MPFR_RNDN);
        mpfr_sqrt(r9475, r9474, MPFR_RNDN);
        mpfr_mul(r9476, r9473, r9475, MPFR_RNDN);
        mpfr_fma(r9477, r9468, r9471, r9476, MPFR_RNDN);
        mpfr_mul(r9478, r9477, r9463, MPFR_RNDN);
        ;
        mpfr_set_si(r9480, mpfr_cmp(r9478, r9479) <= 0, MPFR_RNDN);
        mpfr_set_d(r9481, x, MPFR_RNDN);
        mpfr_set_d(r9482, y, MPFR_RNDN);
        mpfr_mul(r9483, r9472, r9475, MPFR_RNDN);
        ;
        mpfr_div(r9485, r9484, r9466, MPFR_RNDN);
        mpfr_mul(r9486, r9468, r9471, MPFR_RNDN);
        mpfr_fma(r9487, r9483, r9485, r9486, MPFR_RNDN);
        mpfr_mul(r9488, r9487, r9463, MPFR_RNDN);
        mpfr_exp(r9489, r9488, MPFR_RNDN);
        mpfr_mul(r9490, r9482, r9489, MPFR_RNDN);
        mpfr_add(r9491, r9490, r9481, MPFR_RNDN);
        mpfr_div(r9492, r9481, r9491, MPFR_RNDN);
        mpfr_exp(r9493, r9478, MPFR_RNDN);
        mpfr_mul(r9494, r9493, r9482, MPFR_RNDN);
        mpfr_add(r9495, r9494, r9481, MPFR_RNDN);
        mpfr_div(r9496, r9481, r9495, MPFR_RNDN);
        if (mpfr_get_si(r9480, MPFR_RNDN)) { mpfr_set(r9497, r9492, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9498);
        mpfr_init_set_str(r9499, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9500, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9501);
        mpfr_init(r9502);
        mpfr_init_set_str(r9503, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9504, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9505);
        mpfr_init(r9506);
        mpfr_init(r9507);
        mpfr_init(r9508);
        mpfr_init(r9509);
        mpfr_init(r9510);
        mpfr_init(r9511);
        mpfr_init(r9512);
        mpfr_init(r9513);
        mpfr_init(r9514);
        mpfr_init(r9515);
        mpfr_init(r9516);
        mpfr_init(r9517);
        mpfr_init(r9518);
        mpfr_init_set_str(r9519, "-1.2635193728348323e+275", 10, MPFR_RNDN);
        mpfr_init(r9520);
        mpfr_init(r9521);
        mpfr_init(r9522);
        mpfr_init(r9523);
        mpfr_init_set_str(r9524, "1", 10, MPFR_RNDN);
        mpfr_init(r9525);
        mpfr_init(r9526);
        mpfr_init(r9527);
        mpfr_init(r9528);
        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);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9498, a, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9501, r9499, r9500, MPFR_RNDN);
        mpfr_add(r9502, r9498, r9501, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9505, r9503, r9504, MPFR_RNDN);
        mpfr_set_d(r9506, t, MPFR_RNDN);
        mpfr_div(r9507, r9505, r9506, MPFR_RNDN);
        mpfr_sub(r9508, r9502, r9507, MPFR_RNDN);
        mpfr_set_d(r9509, c, MPFR_RNDN);
        mpfr_set_d(r9510, b, MPFR_RNDN);
        mpfr_sub(r9511, r9509, r9510, MPFR_RNDN);
        mpfr_set_d(r9512, z, MPFR_RNDN);
        mpfr_div(r9513, r9512, r9506, MPFR_RNDN);
        mpfr_add(r9514, r9498, r9506, MPFR_RNDN);
        mpfr_sqrt(r9515, r9514, MPFR_RNDN);
        mpfr_mul(r9516, r9513, r9515, MPFR_RNDN);
        mpfr_fma(r9517, r9508, r9511, r9516, MPFR_RNDN);
        mpfr_mul(r9518, r9517, r9503, MPFR_RNDN);
        ;
        mpfr_set_si(r9520, mpfr_cmp(r9518, r9519) <= 0, MPFR_RNDN);
        mpfr_set_d(r9521, x, MPFR_RNDN);
        mpfr_set_d(r9522, y, MPFR_RNDN);
        mpfr_mul(r9523, r9512, r9515, MPFR_RNDN);
        ;
        mpfr_div(r9525, r9524, r9506, MPFR_RNDN);
        mpfr_mul(r9526, r9508, r9511, MPFR_RNDN);
        mpfr_fma(r9527, r9523, r9525, r9526, MPFR_RNDN);
        mpfr_mul(r9528, r9527, r9503, MPFR_RNDN);
        mpfr_exp(r9529, r9528, MPFR_RNDN);
        mpfr_mul(r9530, r9522, r9529, MPFR_RNDN);
        mpfr_add(r9531, r9530, r9521, MPFR_RNDN);
        mpfr_div(r9532, r9521, r9531, MPFR_RNDN);
        mpfr_exp(r9533, r9518, MPFR_RNDN);
        mpfr_mul(r9534, r9533, r9522, MPFR_RNDN);
        mpfr_add(r9535, r9534, r9521, MPFR_RNDN);
        mpfr_div(r9536, r9521, r9535, MPFR_RNDN);
        if (mpfr_get_si(r9520, MPFR_RNDN)) { mpfr_set(r9537, r9532, MPFR_RNDN); } else { mpfr_set(r9537, r9536, MPFR_RNDN); };
        return mpfr_get_d(r9537, MPFR_RNDN);
}

