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

char *name = "Octave 3.8, jcobi/4";

double f_if(float alpha, float beta, float i) {
        float r9115 = i;
        float r9116 = alpha;
        float r9117 = beta;
        float r9118 = r9116 + r9117;
        float r9119 = r9118 + r9115;
        float r9120 = r9115 * r9119;
        float r9121 = r9117 * r9116;
        float r9122 = r9121 + r9120;
        float r9123 = r9120 * r9122;
        float r9124 = 2.0f;
        float r9125 = r9124 * r9115;
        float r9126 = r9118 + r9125;
        float r9127 = r9126 * r9126;
        float r9128 = r9123 / r9127;
        float r9129 = 1.0f;
        float r9130 = r9127 - r9129;
        float r9131 = r9128 / r9130;
        return r9131;
}

double f_id(double alpha, double beta, double i) {
        double r9132 = i;
        double r9133 = alpha;
        double r9134 = beta;
        double r9135 = r9133 + r9134;
        double r9136 = r9135 + r9132;
        double r9137 = r9132 * r9136;
        double r9138 = r9134 * r9133;
        double r9139 = r9138 + r9137;
        double r9140 = r9137 * r9139;
        double r9141 = 2.0;
        double r9142 = r9141 * r9132;
        double r9143 = r9135 + r9142;
        double r9144 = r9143 * r9143;
        double r9145 = r9140 / r9144;
        double r9146 = 1.0;
        double r9147 = r9144 - r9146;
        double r9148 = r9145 / r9147;
        return r9148;
}


double f_of(float alpha, float beta, float i) {
        float r9149 = i;
        float r9150 = 2.0f;
        float r9151 = pow(r9149, r9150);
        float r9152 = 0.25f;
        float r9153 = r9151 * r9152;
        float r9154 = beta;
        float r9155 = alpha;
        float r9156 = r9149 + r9155;
        float r9157 = r9154 + r9156;
        float r9158 = 4.0f;
        float r9159 = r9149 * r9158;
        float r9160 = r9157 * r9159;
        float r9161 = 1.0f;
        float r9162 = r9160 - r9161;
        float r9163 = r9153 / r9162;
        float r9164 = 5.997738384260425e-131f;
        bool r9165 = r9163 <= r9164;
        float r9166 = 0.0f;
        float r9167 = r9149 + r9154;
        float r9168 = r9156 * r9167;
        float r9169 = fma(r9150, r9149, r9154);
        float r9170 = r9169 + r9155;
        float r9171 = r9168 / r9170;
        float r9172 = r9154 + r9155;
        float r9173 = r9172 + r9149;
        float r9174 = r9173 * r9149;
        float r9175 = r9150 * r9149;
        float r9176 = r9175 + r9172;
        float r9177 = r9174 / r9176;
        float r9178 = r9171 * r9177;
        float r9179 = r9176 * r9176;
        float r9180 = r9179 - r9161;
        float r9181 = r9178 / r9180;
        float r9182 = r9165 ? r9166 : r9181;
        return r9182;
}

double f_od(double alpha, double beta, double i) {
        double r9183 = i;
        double r9184 = 2.0;
        double r9185 = pow(r9183, r9184);
        double r9186 = 0.25;
        double r9187 = r9185 * r9186;
        double r9188 = beta;
        double r9189 = alpha;
        double r9190 = r9183 + r9189;
        double r9191 = r9188 + r9190;
        double r9192 = 4.0;
        double r9193 = r9183 * r9192;
        double r9194 = r9191 * r9193;
        double r9195 = 1.0;
        double r9196 = r9194 - r9195;
        double r9197 = r9187 / r9196;
        double r9198 = 5.997738384260425e-131;
        bool r9199 = r9197 <= r9198;
        double r9200 = 0.0;
        double r9201 = r9183 + r9188;
        double r9202 = r9190 * r9201;
        double r9203 = fma(r9184, r9183, r9188);
        double r9204 = r9203 + r9189;
        double r9205 = r9202 / r9204;
        double r9206 = r9188 + r9189;
        double r9207 = r9206 + r9183;
        double r9208 = r9207 * r9183;
        double r9209 = r9184 * r9183;
        double r9210 = r9209 + r9206;
        double r9211 = r9208 / r9210;
        double r9212 = r9205 * r9211;
        double r9213 = r9210 * r9210;
        double r9214 = r9213 - r9195;
        double r9215 = r9212 / r9214;
        double r9216 = r9199 ? r9200 : r9215;
        return r9216;
}

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 r9217, r9218, r9219, r9220, r9221, r9222, r9223, r9224, r9225, r9226, r9227, r9228, r9229, r9230, r9231, r9232, r9233;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r9217);
        mpfr_init(r9218);
        mpfr_init(r9219);
        mpfr_init(r9220);
        mpfr_init(r9221);
        mpfr_init(r9222);
        mpfr_init(r9223);
        mpfr_init(r9224);
        mpfr_init(r9225);
        mpfr_init_set_str(r9226, "2", 10, MPFR_RNDN);
        mpfr_init(r9227);
        mpfr_init(r9228);
        mpfr_init(r9229);
        mpfr_init(r9230);
        mpfr_init_set_str(r9231, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9232);
        mpfr_init(r9233);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r9217, i, MPFR_RNDN);
        mpfr_set_d(r9218, alpha, MPFR_RNDN);
        mpfr_set_d(r9219, beta, MPFR_RNDN);
        mpfr_add(r9220, r9218, r9219, MPFR_RNDN);
        mpfr_add(r9221, r9220, r9217, MPFR_RNDN);
        mpfr_mul(r9222, r9217, r9221, MPFR_RNDN);
        mpfr_mul(r9223, r9219, r9218, MPFR_RNDN);
        mpfr_add(r9224, r9223, r9222, MPFR_RNDN);
        mpfr_mul(r9225, r9222, r9224, MPFR_RNDN);
        ;
        mpfr_mul(r9227, r9226, r9217, MPFR_RNDN);
        mpfr_add(r9228, r9220, r9227, MPFR_RNDN);
        mpfr_mul(r9229, r9228, r9228, MPFR_RNDN);
        mpfr_div(r9230, r9225, r9229, MPFR_RNDN);
        ;
        mpfr_sub(r9232, r9229, r9231, MPFR_RNDN);
        mpfr_div(r9233, r9230, r9232, MPFR_RNDN);
        return mpfr_get_d(r9233, MPFR_RNDN);
}

static mpfr_t r9234, r9235, r9236, r9237, r9238, r9239, r9240, r9241, r9242, r9243, r9244, r9245, r9246, r9247, r9248, r9249, r9250, r9251, r9252, r9253, r9254, r9255, r9256, r9257, r9258, r9259, r9260, r9261, r9262, r9263, r9264, r9265, r9266, r9267;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9234);
        mpfr_init_set_str(r9235, "2", 10, MPFR_RNDN);
        mpfr_init(r9236);
        mpfr_init_set_str(r9237, "1/4", 10, MPFR_RNDN);
        mpfr_init(r9238);
        mpfr_init(r9239);
        mpfr_init(r9240);
        mpfr_init(r9241);
        mpfr_init(r9242);
        mpfr_init_set_str(r9243, "4", 10, MPFR_RNDN);
        mpfr_init(r9244);
        mpfr_init(r9245);
        mpfr_init_set_str(r9246, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9247);
        mpfr_init(r9248);
        mpfr_init_set_str(r9249, "5.997738384260425e-131", 10, MPFR_RNDN);
        mpfr_init(r9250);
        mpfr_init_set_str(r9251, "0", 10, MPFR_RNDN);
        mpfr_init(r9252);
        mpfr_init(r9253);
        mpfr_init(r9254);
        mpfr_init(r9255);
        mpfr_init(r9256);
        mpfr_init(r9257);
        mpfr_init(r9258);
        mpfr_init(r9259);
        mpfr_init(r9260);
        mpfr_init(r9261);
        mpfr_init(r9262);
        mpfr_init(r9263);
        mpfr_init(r9264);
        mpfr_init(r9265);
        mpfr_init(r9266);
        mpfr_init(r9267);
}

double f_fm(double alpha, double beta, double i) {
        mpfr_set_d(r9234, i, MPFR_RNDN);
        ;
        mpfr_pow(r9236, r9234, r9235, MPFR_RNDN);
        ;
        mpfr_mul(r9238, r9236, r9237, MPFR_RNDN);
        mpfr_set_d(r9239, beta, MPFR_RNDN);
        mpfr_set_d(r9240, alpha, MPFR_RNDN);
        mpfr_add(r9241, r9234, r9240, MPFR_RNDN);
        mpfr_add(r9242, r9239, r9241, MPFR_RNDN);
        ;
        mpfr_mul(r9244, r9234, r9243, MPFR_RNDN);
        mpfr_mul(r9245, r9242, r9244, MPFR_RNDN);
        ;
        mpfr_sub(r9247, r9245, r9246, MPFR_RNDN);
        mpfr_div(r9248, r9238, r9247, MPFR_RNDN);
        ;
        mpfr_set_si(r9250, mpfr_cmp(r9248, r9249) <= 0, MPFR_RNDN);
        ;
        mpfr_add(r9252, r9234, r9239, MPFR_RNDN);
        mpfr_mul(r9253, r9241, r9252, MPFR_RNDN);
        mpfr_fma(r9254, r9235, r9234, r9239, MPFR_RNDN);
        mpfr_add(r9255, r9254, r9240, MPFR_RNDN);
        mpfr_div(r9256, r9253, r9255, MPFR_RNDN);
        mpfr_add(r9257, r9239, r9240, MPFR_RNDN);
        mpfr_add(r9258, r9257, r9234, MPFR_RNDN);
        mpfr_mul(r9259, r9258, r9234, MPFR_RNDN);
        mpfr_mul(r9260, r9235, r9234, MPFR_RNDN);
        mpfr_add(r9261, r9260, r9257, MPFR_RNDN);
        mpfr_div(r9262, r9259, r9261, MPFR_RNDN);
        mpfr_mul(r9263, r9256, r9262, MPFR_RNDN);
        mpfr_mul(r9264, r9261, r9261, MPFR_RNDN);
        mpfr_sub(r9265, r9264, r9246, MPFR_RNDN);
        mpfr_div(r9266, r9263, r9265, MPFR_RNDN);
        if (mpfr_get_si(r9250, MPFR_RNDN)) { mpfr_set(r9267, r9251, MPFR_RNDN); } else { mpfr_set(r9267, r9266, MPFR_RNDN); };
        return mpfr_get_d(r9267, MPFR_RNDN);
}

static mpfr_t 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, r9299, r9300, r9301;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9268);
        mpfr_init_set_str(r9269, "2", 10, MPFR_RNDN);
        mpfr_init(r9270);
        mpfr_init_set_str(r9271, "1/4", 10, MPFR_RNDN);
        mpfr_init(r9272);
        mpfr_init(r9273);
        mpfr_init(r9274);
        mpfr_init(r9275);
        mpfr_init(r9276);
        mpfr_init_set_str(r9277, "4", 10, MPFR_RNDN);
        mpfr_init(r9278);
        mpfr_init(r9279);
        mpfr_init_set_str(r9280, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9281);
        mpfr_init(r9282);
        mpfr_init_set_str(r9283, "5.997738384260425e-131", 10, MPFR_RNDN);
        mpfr_init(r9284);
        mpfr_init_set_str(r9285, "0", 10, MPFR_RNDN);
        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);
        mpfr_init(r9299);
        mpfr_init(r9300);
        mpfr_init(r9301);
}

double f_dm(double alpha, double beta, double i) {
        mpfr_set_d(r9268, i, MPFR_RNDN);
        ;
        mpfr_pow(r9270, r9268, r9269, MPFR_RNDN);
        ;
        mpfr_mul(r9272, r9270, r9271, MPFR_RNDN);
        mpfr_set_d(r9273, beta, MPFR_RNDN);
        mpfr_set_d(r9274, alpha, MPFR_RNDN);
        mpfr_add(r9275, r9268, r9274, MPFR_RNDN);
        mpfr_add(r9276, r9273, r9275, MPFR_RNDN);
        ;
        mpfr_mul(r9278, r9268, r9277, MPFR_RNDN);
        mpfr_mul(r9279, r9276, r9278, MPFR_RNDN);
        ;
        mpfr_sub(r9281, r9279, r9280, MPFR_RNDN);
        mpfr_div(r9282, r9272, r9281, MPFR_RNDN);
        ;
        mpfr_set_si(r9284, mpfr_cmp(r9282, r9283) <= 0, MPFR_RNDN);
        ;
        mpfr_add(r9286, r9268, r9273, MPFR_RNDN);
        mpfr_mul(r9287, r9275, r9286, MPFR_RNDN);
        mpfr_fma(r9288, r9269, r9268, r9273, MPFR_RNDN);
        mpfr_add(r9289, r9288, r9274, MPFR_RNDN);
        mpfr_div(r9290, r9287, r9289, MPFR_RNDN);
        mpfr_add(r9291, r9273, r9274, MPFR_RNDN);
        mpfr_add(r9292, r9291, r9268, MPFR_RNDN);
        mpfr_mul(r9293, r9292, r9268, MPFR_RNDN);
        mpfr_mul(r9294, r9269, r9268, MPFR_RNDN);
        mpfr_add(r9295, r9294, r9291, MPFR_RNDN);
        mpfr_div(r9296, r9293, r9295, MPFR_RNDN);
        mpfr_mul(r9297, r9290, r9296, MPFR_RNDN);
        mpfr_mul(r9298, r9295, r9295, MPFR_RNDN);
        mpfr_sub(r9299, r9298, r9280, MPFR_RNDN);
        mpfr_div(r9300, r9297, r9299, MPFR_RNDN);
        if (mpfr_get_si(r9284, MPFR_RNDN)) { mpfr_set(r9301, r9285, MPFR_RNDN); } else { mpfr_set(r9301, r9300, MPFR_RNDN); };
        return mpfr_get_d(r9301, MPFR_RNDN);
}

