#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 r9089 = i;
        float r9090 = alpha;
        float r9091 = beta;
        float r9092 = r9090 + r9091;
        float r9093 = r9092 + r9089;
        float r9094 = r9089 * r9093;
        float r9095 = r9091 * r9090;
        float r9096 = r9095 + r9094;
        float r9097 = r9094 * r9096;
        float r9098 = 2.0f;
        float r9099 = r9098 * r9089;
        float r9100 = r9092 + r9099;
        float r9101 = r9100 * r9100;
        float r9102 = r9097 / r9101;
        float r9103 = 1.0f;
        float r9104 = r9101 - r9103;
        float r9105 = r9102 / r9104;
        return r9105;
}

double f_id(double alpha, double beta, double i) {
        double r9106 = i;
        double r9107 = alpha;
        double r9108 = beta;
        double r9109 = r9107 + r9108;
        double r9110 = r9109 + r9106;
        double r9111 = r9106 * r9110;
        double r9112 = r9108 * r9107;
        double r9113 = r9112 + r9111;
        double r9114 = r9111 * r9113;
        double r9115 = 2.0;
        double r9116 = r9115 * r9106;
        double r9117 = r9109 + r9116;
        double r9118 = r9117 * r9117;
        double r9119 = r9114 / r9118;
        double r9120 = 1.0;
        double r9121 = r9118 - r9120;
        double r9122 = r9119 / r9121;
        return r9122;
}


double f_of(float alpha, float beta, float i) {
        float r9123 = i;
        float r9124 = 9.964308556238813e+149f;
        bool r9125 = r9123 <= r9124;
        float r9126 = 2.0f;
        float r9127 = beta;
        float r9128 = fma(r9123, r9126, r9127);
        float r9129 = alpha;
        float r9130 = r9128 + r9129;
        float r9131 = r9123 / r9130;
        float r9132 = r9127 + r9123;
        float r9133 = r9129 + r9132;
        float r9134 = r9133 / r9130;
        float r9135 = r9131 * r9134;
        float r9136 = r9127 * r9129;
        float r9137 = fma(r9133, r9123, r9136);
        float r9138 = r9135 * r9137;
        float r9139 = sqrt(r9138);
        float r9140 = 1.0f;
        float r9141 = -r9140;
        float r9142 = fma(r9130, r9130, r9141);
        float r9143 = sqrt(r9142);
        float r9144 = r9139 / r9143;
        float r9145 = r9144 * r9144;
        float r9146 = 0.25f;
        float r9147 = r9146 / r9123;
        float r9148 = r9147 / r9123;
        float r9149 = 0.0625f;
        float r9150 = log(r9149);
        float r9151 = r9148 + r9150;
        float r9152 = exp(r9151);
        float r9153 = r9125 ? r9145 : r9152;
        return r9153;
}

double f_od(double alpha, double beta, double i) {
        double r9154 = i;
        double r9155 = 9.964308556238813e+149;
        bool r9156 = r9154 <= r9155;
        double r9157 = 2.0;
        double r9158 = beta;
        double r9159 = fma(r9154, r9157, r9158);
        double r9160 = alpha;
        double r9161 = r9159 + r9160;
        double r9162 = r9154 / r9161;
        double r9163 = r9158 + r9154;
        double r9164 = r9160 + r9163;
        double r9165 = r9164 / r9161;
        double r9166 = r9162 * r9165;
        double r9167 = r9158 * r9160;
        double r9168 = fma(r9164, r9154, r9167);
        double r9169 = r9166 * r9168;
        double r9170 = sqrt(r9169);
        double r9171 = 1.0;
        double r9172 = -r9171;
        double r9173 = fma(r9161, r9161, r9172);
        double r9174 = sqrt(r9173);
        double r9175 = r9170 / r9174;
        double r9176 = r9175 * r9175;
        double r9177 = 0.25;
        double r9178 = r9177 / r9154;
        double r9179 = r9178 / r9154;
        double r9180 = 0.0625;
        double r9181 = log(r9180);
        double r9182 = r9179 + r9181;
        double r9183 = exp(r9182);
        double r9184 = r9156 ? r9176 : r9183;
        return r9184;
}

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 r9185, r9186, r9187, r9188, r9189, r9190, r9191, r9192, r9193, r9194, r9195, r9196, r9197, r9198, r9199, r9200, r9201;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r9185);
        mpfr_init(r9186);
        mpfr_init(r9187);
        mpfr_init(r9188);
        mpfr_init(r9189);
        mpfr_init(r9190);
        mpfr_init(r9191);
        mpfr_init(r9192);
        mpfr_init(r9193);
        mpfr_init_set_str(r9194, "2", 10, MPFR_RNDN);
        mpfr_init(r9195);
        mpfr_init(r9196);
        mpfr_init(r9197);
        mpfr_init(r9198);
        mpfr_init_set_str(r9199, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9200);
        mpfr_init(r9201);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r9185, i, MPFR_RNDN);
        mpfr_set_d(r9186, alpha, MPFR_RNDN);
        mpfr_set_d(r9187, beta, MPFR_RNDN);
        mpfr_add(r9188, r9186, r9187, MPFR_RNDN);
        mpfr_add(r9189, r9188, r9185, MPFR_RNDN);
        mpfr_mul(r9190, r9185, r9189, MPFR_RNDN);
        mpfr_mul(r9191, r9187, r9186, MPFR_RNDN);
        mpfr_add(r9192, r9191, r9190, MPFR_RNDN);
        mpfr_mul(r9193, r9190, r9192, MPFR_RNDN);
        ;
        mpfr_mul(r9195, r9194, r9185, MPFR_RNDN);
        mpfr_add(r9196, r9188, r9195, MPFR_RNDN);
        mpfr_mul(r9197, r9196, r9196, MPFR_RNDN);
        mpfr_div(r9198, r9193, r9197, MPFR_RNDN);
        ;
        mpfr_sub(r9200, r9197, r9199, MPFR_RNDN);
        mpfr_div(r9201, r9198, r9200, MPFR_RNDN);
        return mpfr_get_d(r9201, MPFR_RNDN);
}

static mpfr_t r9202, r9203, r9204, r9205, r9206, r9207, r9208, r9209, r9210, r9211, r9212, r9213, r9214, r9215, r9216, r9217, r9218, r9219, r9220, r9221, r9222, r9223, r9224, r9225, r9226, r9227, r9228, r9229, r9230, r9231, r9232;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9202);
        mpfr_init_set_str(r9203, "9.964308556238813e+149", 10, MPFR_RNDN);
        mpfr_init(r9204);
        mpfr_init_set_str(r9205, "2", 10, MPFR_RNDN);
        mpfr_init(r9206);
        mpfr_init(r9207);
        mpfr_init(r9208);
        mpfr_init(r9209);
        mpfr_init(r9210);
        mpfr_init(r9211);
        mpfr_init(r9212);
        mpfr_init(r9213);
        mpfr_init(r9214);
        mpfr_init(r9215);
        mpfr_init(r9216);
        mpfr_init(r9217);
        mpfr_init(r9218);
        mpfr_init_set_str(r9219, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9220);
        mpfr_init(r9221);
        mpfr_init(r9222);
        mpfr_init(r9223);
        mpfr_init(r9224);
        mpfr_init_set_str(r9225, "0.25", 10, MPFR_RNDN);
        mpfr_init(r9226);
        mpfr_init(r9227);
        mpfr_init_set_str(r9228, "1/16", 10, MPFR_RNDN);
        mpfr_init(r9229);
        mpfr_init(r9230);
        mpfr_init(r9231);
        mpfr_init(r9232);
}

double f_fm(double alpha, double beta, double i) {
        mpfr_set_d(r9202, i, MPFR_RNDN);
        ;
        mpfr_set_si(r9204, mpfr_cmp(r9202, r9203) <= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r9206, beta, MPFR_RNDN);
        mpfr_fma(r9207, r9202, r9205, r9206, MPFR_RNDN);
        mpfr_set_d(r9208, alpha, MPFR_RNDN);
        mpfr_add(r9209, r9207, r9208, MPFR_RNDN);
        mpfr_div(r9210, r9202, r9209, MPFR_RNDN);
        mpfr_add(r9211, r9206, r9202, MPFR_RNDN);
        mpfr_add(r9212, r9208, r9211, MPFR_RNDN);
        mpfr_div(r9213, r9212, r9209, MPFR_RNDN);
        mpfr_mul(r9214, r9210, r9213, MPFR_RNDN);
        mpfr_mul(r9215, r9206, r9208, MPFR_RNDN);
        mpfr_fma(r9216, r9212, r9202, r9215, MPFR_RNDN);
        mpfr_mul(r9217, r9214, r9216, MPFR_RNDN);
        mpfr_sqrt(r9218, r9217, MPFR_RNDN);
        ;
        mpfr_neg(r9220, r9219, MPFR_RNDN);
        mpfr_fma(r9221, r9209, r9209, r9220, MPFR_RNDN);
        mpfr_sqrt(r9222, r9221, MPFR_RNDN);
        mpfr_div(r9223, r9218, r9222, MPFR_RNDN);
        mpfr_mul(r9224, r9223, r9223, MPFR_RNDN);
        ;
        mpfr_div(r9226, r9225, r9202, MPFR_RNDN);
        mpfr_div(r9227, r9226, r9202, MPFR_RNDN);
        ;
        mpfr_log(r9229, r9228, MPFR_RNDN);
        mpfr_add(r9230, r9227, r9229, MPFR_RNDN);
        mpfr_exp(r9231, r9230, MPFR_RNDN);
        if (mpfr_get_si(r9204, MPFR_RNDN)) { mpfr_set(r9232, r9224, MPFR_RNDN); } else { mpfr_set(r9232, r9231, MPFR_RNDN); };
        return mpfr_get_d(r9232, MPFR_RNDN);
}

static mpfr_t 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, r9258, r9259, r9260, r9261, r9262, r9263;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r9233);
        mpfr_init_set_str(r9234, "9.964308556238813e+149", 10, MPFR_RNDN);
        mpfr_init(r9235);
        mpfr_init_set_str(r9236, "2", 10, MPFR_RNDN);
        mpfr_init(r9237);
        mpfr_init(r9238);
        mpfr_init(r9239);
        mpfr_init(r9240);
        mpfr_init(r9241);
        mpfr_init(r9242);
        mpfr_init(r9243);
        mpfr_init(r9244);
        mpfr_init(r9245);
        mpfr_init(r9246);
        mpfr_init(r9247);
        mpfr_init(r9248);
        mpfr_init(r9249);
        mpfr_init_set_str(r9250, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9251);
        mpfr_init(r9252);
        mpfr_init(r9253);
        mpfr_init(r9254);
        mpfr_init(r9255);
        mpfr_init_set_str(r9256, "0.25", 10, MPFR_RNDN);
        mpfr_init(r9257);
        mpfr_init(r9258);
        mpfr_init_set_str(r9259, "1/16", 10, MPFR_RNDN);
        mpfr_init(r9260);
        mpfr_init(r9261);
        mpfr_init(r9262);
        mpfr_init(r9263);
}

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

