#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 r9092 = x;
        float r9093 = y;
        float r9094 = 2.0;
        float r9095 = z;
        float r9096 = t;
        float r9097 = a;
        float r9098 = r9096 + r9097;
        float r9099 = sqrt(r9098);
        float r9100 = r9095 * r9099;
        float r9101 = r9100 / r9096;
        float r9102 = b;
        float r9103 = c;
        float r9104 = r9102 - r9103;
        float r9105 = 5.0;
        float r9106 = 6.0;
        float r9107 = r9105 / r9106;
        float r9108 = r9097 + r9107;
        float r9109 = 3.0;
        float r9110 = r9096 * r9109;
        float r9111 = r9094 / r9110;
        float r9112 = r9108 - r9111;
        float r9113 = r9104 * r9112;
        float r9114 = r9101 - r9113;
        float r9115 = r9094 * r9114;
        float r9116 = exp(r9115);
        float r9117 = r9093 * r9116;
        float r9118 = r9092 + r9117;
        float r9119 = r9092 / r9118;
        return r9119;
}

double f_id(double x, double y, double z, double t, double a, double b, double c) {
        double r9120 = x;
        double r9121 = y;
        double r9122 = 2.0;
        double r9123 = z;
        double r9124 = t;
        double r9125 = a;
        double r9126 = r9124 + r9125;
        double r9127 = sqrt(r9126);
        double r9128 = r9123 * r9127;
        double r9129 = r9128 / r9124;
        double r9130 = b;
        double r9131 = c;
        double r9132 = r9130 - r9131;
        double r9133 = 5.0;
        double r9134 = 6.0;
        double r9135 = r9133 / r9134;
        double r9136 = r9125 + r9135;
        double r9137 = 3.0;
        double r9138 = r9124 * r9137;
        double r9139 = r9122 / r9138;
        double r9140 = r9136 - r9139;
        double r9141 = r9132 * r9140;
        double r9142 = r9129 - r9141;
        double r9143 = r9122 * r9142;
        double r9144 = exp(r9143);
        double r9145 = r9121 * r9144;
        double r9146 = r9120 + r9145;
        double r9147 = r9120 / r9146;
        return r9147;
}


double f_of(float x, float y, float z, float t, float a, float b, float c) {
        float r9148 = b;
        float r9149 = c;
        float r9150 = r9148 - r9149;
        float r9151 = -1.3938528588734876e+246;
        bool r9152 = r9150 <= r9151;
        float r9153 = x;
        float r9154 = a;
        float r9155 = t;
        float r9156 = r9154 + r9155;
        float r9157 = sqrt(r9156);
        float r9158 = z;
        float r9159 = r9157 * r9158;
        float r9160 = 1;
        float r9161 = r9160 / r9155;
        float r9162 = r9149 - r9148;
        float r9163 = 5.0;
        float r9164 = 6.0;
        float r9165 = r9163 / r9164;
        float r9166 = r9165 + r9154;
        float r9167 = 2.0;
        float r9168 = 3.0;
        float r9169 = r9167 / r9168;
        float r9170 = r9169 / r9155;
        float r9171 = r9166 - r9170;
        float r9172 = r9162 * r9171;
        float r9173 = fma(r9159, r9161, r9172);
        float r9174 = r9173 * r9167;
        float r9175 = exp(r9174);
        float r9176 = y;
        float r9177 = r9175 * r9176;
        float r9178 = r9153 + r9177;
        float r9179 = r9153 / r9178;
        float r9180 = r9158 / r9155;
        float r9181 = r9180 * r9157;
        float r9182 = fma(r9171, r9162, r9181);
        float r9183 = r9182 * r9167;
        float r9184 = exp(r9183);
        float r9185 = r9184 * r9176;
        float r9186 = r9153 + r9185;
        float r9187 = r9153 / r9186;
        float r9188 = r9152 ? r9179 : r9187;
        return r9188;
}

double f_od(double x, double y, double z, double t, double a, double b, double c) {
        double r9189 = b;
        double r9190 = c;
        double r9191 = r9189 - r9190;
        double r9192 = -1.3938528588734876e+246;
        bool r9193 = r9191 <= r9192;
        double r9194 = x;
        double r9195 = a;
        double r9196 = t;
        double r9197 = r9195 + r9196;
        double r9198 = sqrt(r9197);
        double r9199 = z;
        double r9200 = r9198 * r9199;
        double r9201 = 1;
        double r9202 = r9201 / r9196;
        double r9203 = r9190 - r9189;
        double r9204 = 5.0;
        double r9205 = 6.0;
        double r9206 = r9204 / r9205;
        double r9207 = r9206 + r9195;
        double r9208 = 2.0;
        double r9209 = 3.0;
        double r9210 = r9208 / r9209;
        double r9211 = r9210 / r9196;
        double r9212 = r9207 - r9211;
        double r9213 = r9203 * r9212;
        double r9214 = fma(r9200, r9202, r9213);
        double r9215 = r9214 * r9208;
        double r9216 = exp(r9215);
        double r9217 = y;
        double r9218 = r9216 * r9217;
        double r9219 = r9194 + r9218;
        double r9220 = r9194 / r9219;
        double r9221 = r9199 / r9196;
        double r9222 = r9221 * r9198;
        double r9223 = fma(r9212, r9203, r9222);
        double r9224 = r9223 * r9208;
        double r9225 = exp(r9224);
        double r9226 = r9225 * r9217;
        double r9227 = r9194 + r9226;
        double r9228 = r9194 / r9227;
        double r9229 = r9193 ? r9220 : r9228;
        return r9229;
}

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 r9230, r9231, r9232, r9233, r9234, r9235, r9236, r9237, r9238, r9239, r9240, r9241, r9242, r9243, r9244, r9245, r9246, r9247, r9248, r9249, r9250, r9251, r9252, r9253, r9254, r9255, r9256, r9257;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9230);
        mpfr_init(r9231);
        mpfr_init_set_str(r9232, "2.0", 10, MPFR_RNDN);
        mpfr_init(r9233);
        mpfr_init(r9234);
        mpfr_init(r9235);
        mpfr_init(r9236);
        mpfr_init(r9237);
        mpfr_init(r9238);
        mpfr_init(r9239);
        mpfr_init(r9240);
        mpfr_init(r9241);
        mpfr_init(r9242);
        mpfr_init_set_str(r9243, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9244, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9245);
        mpfr_init(r9246);
        mpfr_init_set_str(r9247, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9248);
        mpfr_init(r9249);
        mpfr_init(r9250);
        mpfr_init(r9251);
        mpfr_init(r9252);
        mpfr_init(r9253);
        mpfr_init(r9254);
        mpfr_init(r9255);
        mpfr_init(r9256);
        mpfr_init(r9257);
}

double f_im(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9230, x, MPFR_RNDN);
        mpfr_set_d(r9231, y, MPFR_RNDN);
        ;
        mpfr_set_d(r9233, z, MPFR_RNDN);
        mpfr_set_d(r9234, t, MPFR_RNDN);
        mpfr_set_d(r9235, a, MPFR_RNDN);
        mpfr_add(r9236, r9234, r9235, MPFR_RNDN);
        mpfr_sqrt(r9237, r9236, MPFR_RNDN);
        mpfr_mul(r9238, r9233, r9237, MPFR_RNDN);
        mpfr_div(r9239, r9238, r9234, MPFR_RNDN);
        mpfr_set_d(r9240, b, MPFR_RNDN);
        mpfr_set_d(r9241, c, MPFR_RNDN);
        mpfr_sub(r9242, r9240, r9241, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9245, r9243, r9244, MPFR_RNDN);
        mpfr_add(r9246, r9235, r9245, MPFR_RNDN);
        ;
        mpfr_mul(r9248, r9234, r9247, MPFR_RNDN);
        mpfr_div(r9249, r9232, r9248, MPFR_RNDN);
        mpfr_sub(r9250, r9246, r9249, MPFR_RNDN);
        mpfr_mul(r9251, r9242, r9250, MPFR_RNDN);
        mpfr_sub(r9252, r9239, r9251, MPFR_RNDN);
        mpfr_mul(r9253, r9232, r9252, MPFR_RNDN);
        mpfr_exp(r9254, r9253, MPFR_RNDN);
        mpfr_mul(r9255, r9231, r9254, MPFR_RNDN);
        mpfr_add(r9256, r9230, r9255, MPFR_RNDN);
        mpfr_div(r9257, r9230, r9256, MPFR_RNDN);
        return mpfr_get_d(r9257, MPFR_RNDN);
}

static mpfr_t r9258, r9259, r9260, r9261, r9262, r9263, r9264, r9265, r9266, r9267, r9268, r9269, r9270, r9271, r9272, r9273, r9274, r9275, r9276, r9277, r9278, r9279, r9280, r9281, r9282, r9283, r9284, r9285, r9286, r9287, r9288, r9289, r9290, r9291, r9292, r9293, r9294, r9295, r9296, r9297, r9298;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9258);
        mpfr_init(r9259);
        mpfr_init(r9260);
        mpfr_init_set_str(r9261, "-1.3938528588734876e+246", 10, MPFR_RNDN);
        mpfr_init(r9262);
        mpfr_init(r9263);
        mpfr_init(r9264);
        mpfr_init(r9265);
        mpfr_init(r9266);
        mpfr_init(r9267);
        mpfr_init(r9268);
        mpfr_init(r9269);
        mpfr_init_set_str(r9270, "1", 10, MPFR_RNDN);
        mpfr_init(r9271);
        mpfr_init(r9272);
        mpfr_init_set_str(r9273, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9274, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9275);
        mpfr_init(r9276);
        mpfr_init_set_str(r9277, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9278, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9279);
        mpfr_init(r9280);
        mpfr_init(r9281);
        mpfr_init(r9282);
        mpfr_init(r9283);
        mpfr_init(r9284);
        mpfr_init(r9285);
        mpfr_init(r9286);
        mpfr_init(r9287);
        mpfr_init(r9288);
        mpfr_init(r9289);
        mpfr_init(r9290);
        mpfr_init(r9291);
        mpfr_init(r9292);
        mpfr_init(r9293);
        mpfr_init(r9294);
        mpfr_init(r9295);
        mpfr_init(r9296);
        mpfr_init(r9297);
        mpfr_init(r9298);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9258, b, MPFR_RNDN);
        mpfr_set_d(r9259, c, MPFR_RNDN);
        mpfr_sub(r9260, r9258, r9259, MPFR_RNDN);
        ;
        mpfr_set_si(r9262, mpfr_cmp(r9260, r9261) <= 0, MPFR_RNDN);
        mpfr_set_d(r9263, x, MPFR_RNDN);
        mpfr_set_d(r9264, a, MPFR_RNDN);
        mpfr_set_d(r9265, t, MPFR_RNDN);
        mpfr_add(r9266, r9264, r9265, MPFR_RNDN);
        mpfr_sqrt(r9267, r9266, MPFR_RNDN);
        mpfr_set_d(r9268, z, MPFR_RNDN);
        mpfr_mul(r9269, r9267, r9268, MPFR_RNDN);
        ;
        mpfr_div(r9271, r9270, r9265, MPFR_RNDN);
        mpfr_sub(r9272, r9259, r9258, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9275, r9273, r9274, MPFR_RNDN);
        mpfr_add(r9276, r9275, r9264, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9279, r9277, r9278, MPFR_RNDN);
        mpfr_div(r9280, r9279, r9265, MPFR_RNDN);
        mpfr_sub(r9281, r9276, r9280, MPFR_RNDN);
        mpfr_mul(r9282, r9272, r9281, MPFR_RNDN);
        mpfr_fma(r9283, r9269, r9271, r9282, MPFR_RNDN);
        mpfr_mul(r9284, r9283, r9277, MPFR_RNDN);
        mpfr_exp(r9285, r9284, MPFR_RNDN);
        mpfr_set_d(r9286, y, MPFR_RNDN);
        mpfr_mul(r9287, r9285, r9286, MPFR_RNDN);
        mpfr_add(r9288, r9263, r9287, MPFR_RNDN);
        mpfr_div(r9289, r9263, r9288, MPFR_RNDN);
        mpfr_div(r9290, r9268, r9265, MPFR_RNDN);
        mpfr_mul(r9291, r9290, r9267, MPFR_RNDN);
        mpfr_fma(r9292, r9281, r9272, r9291, MPFR_RNDN);
        mpfr_mul(r9293, r9292, r9277, MPFR_RNDN);
        mpfr_exp(r9294, r9293, MPFR_RNDN);
        mpfr_mul(r9295, r9294, r9286, MPFR_RNDN);
        mpfr_add(r9296, r9263, r9295, MPFR_RNDN);
        mpfr_div(r9297, r9263, r9296, MPFR_RNDN);
        if (mpfr_get_si(r9262, MPFR_RNDN)) { mpfr_set(r9298, r9289, MPFR_RNDN); } else { mpfr_set(r9298, r9297, MPFR_RNDN); };
        return mpfr_get_d(r9298, MPFR_RNDN);
}

static mpfr_t r9299, r9300, r9301, r9302, r9303, r9304, r9305, r9306, r9307, r9308, r9309, r9310, r9311, r9312, r9313, r9314, r9315, r9316, r9317, r9318, r9319, r9320, r9321, r9322, r9323, r9324, r9325, r9326, r9327, r9328, r9329, r9330, r9331, r9332, r9333, r9334, r9335, r9336, r9337, r9338, r9339;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9299);
        mpfr_init(r9300);
        mpfr_init(r9301);
        mpfr_init_set_str(r9302, "-1.3938528588734876e+246", 10, MPFR_RNDN);
        mpfr_init(r9303);
        mpfr_init(r9304);
        mpfr_init(r9305);
        mpfr_init(r9306);
        mpfr_init(r9307);
        mpfr_init(r9308);
        mpfr_init(r9309);
        mpfr_init(r9310);
        mpfr_init_set_str(r9311, "1", 10, MPFR_RNDN);
        mpfr_init(r9312);
        mpfr_init(r9313);
        mpfr_init_set_str(r9314, "5.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9315, "6.0", 10, MPFR_RNDN);
        mpfr_init(r9316);
        mpfr_init(r9317);
        mpfr_init_set_str(r9318, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r9319, "3.0", 10, MPFR_RNDN);
        mpfr_init(r9320);
        mpfr_init(r9321);
        mpfr_init(r9322);
        mpfr_init(r9323);
        mpfr_init(r9324);
        mpfr_init(r9325);
        mpfr_init(r9326);
        mpfr_init(r9327);
        mpfr_init(r9328);
        mpfr_init(r9329);
        mpfr_init(r9330);
        mpfr_init(r9331);
        mpfr_init(r9332);
        mpfr_init(r9333);
        mpfr_init(r9334);
        mpfr_init(r9335);
        mpfr_init(r9336);
        mpfr_init(r9337);
        mpfr_init(r9338);
        mpfr_init(r9339);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c) {
        mpfr_set_d(r9299, b, MPFR_RNDN);
        mpfr_set_d(r9300, c, MPFR_RNDN);
        mpfr_sub(r9301, r9299, r9300, MPFR_RNDN);
        ;
        mpfr_set_si(r9303, mpfr_cmp(r9301, r9302) <= 0, MPFR_RNDN);
        mpfr_set_d(r9304, x, MPFR_RNDN);
        mpfr_set_d(r9305, a, MPFR_RNDN);
        mpfr_set_d(r9306, t, MPFR_RNDN);
        mpfr_add(r9307, r9305, r9306, MPFR_RNDN);
        mpfr_sqrt(r9308, r9307, MPFR_RNDN);
        mpfr_set_d(r9309, z, MPFR_RNDN);
        mpfr_mul(r9310, r9308, r9309, MPFR_RNDN);
        ;
        mpfr_div(r9312, r9311, r9306, MPFR_RNDN);
        mpfr_sub(r9313, r9300, r9299, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9316, r9314, r9315, MPFR_RNDN);
        mpfr_add(r9317, r9316, r9305, MPFR_RNDN);
        ;
        ;
        mpfr_div(r9320, r9318, r9319, MPFR_RNDN);
        mpfr_div(r9321, r9320, r9306, MPFR_RNDN);
        mpfr_sub(r9322, r9317, r9321, MPFR_RNDN);
        mpfr_mul(r9323, r9313, r9322, MPFR_RNDN);
        mpfr_fma(r9324, r9310, r9312, r9323, MPFR_RNDN);
        mpfr_mul(r9325, r9324, r9318, MPFR_RNDN);
        mpfr_exp(r9326, r9325, MPFR_RNDN);
        mpfr_set_d(r9327, y, MPFR_RNDN);
        mpfr_mul(r9328, r9326, r9327, MPFR_RNDN);
        mpfr_add(r9329, r9304, r9328, MPFR_RNDN);
        mpfr_div(r9330, r9304, r9329, MPFR_RNDN);
        mpfr_div(r9331, r9309, r9306, MPFR_RNDN);
        mpfr_mul(r9332, r9331, r9308, MPFR_RNDN);
        mpfr_fma(r9333, r9322, r9313, r9332, MPFR_RNDN);
        mpfr_mul(r9334, r9333, r9318, MPFR_RNDN);
        mpfr_exp(r9335, r9334, MPFR_RNDN);
        mpfr_mul(r9336, r9335, r9327, MPFR_RNDN);
        mpfr_add(r9337, r9304, r9336, MPFR_RNDN);
        mpfr_div(r9338, r9304, r9337, MPFR_RNDN);
        if (mpfr_get_si(r9303, MPFR_RNDN)) { mpfr_set(r9339, r9330, MPFR_RNDN); } else { mpfr_set(r9339, r9338, MPFR_RNDN); };
        return mpfr_get_d(r9339, MPFR_RNDN);
}

