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

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

double f_if(float alpha, float beta) {
        float r26121 = alpha;
        float r26122 = beta;
        float r26123 = r26121 + r26122;
        float r26124 = r26122 * r26121;
        float r26125 = r26123 + r26124;
        float r26126 = 1.0;
        float r26127 = r26125 + r26126;
        float r26128 = 2;
        float r26129 = 1;
        float r26130 = r26128 * r26129;
        float r26131 = r26123 + r26130;
        float r26132 = r26127 / r26131;
        float r26133 = r26132 / r26131;
        float r26134 = r26131 + r26126;
        float r26135 = r26133 / r26134;
        return r26135;
}

double f_id(double alpha, double beta) {
        double r26136 = alpha;
        double r26137 = beta;
        double r26138 = r26136 + r26137;
        double r26139 = r26137 * r26136;
        double r26140 = r26138 + r26139;
        double r26141 = 1.0;
        double r26142 = r26140 + r26141;
        double r26143 = 2;
        double r26144 = 1;
        double r26145 = r26143 * r26144;
        double r26146 = r26138 + r26145;
        double r26147 = r26142 / r26146;
        double r26148 = r26147 / r26146;
        double r26149 = r26146 + r26141;
        double r26150 = r26148 / r26149;
        return r26150;
}


double f_of(float alpha, float beta) {
        float r26151 = beta;
        float r26152 = alpha;
        float r26153 = r26151 * r26152;
        float r26154 = r26151 + r26152;
        float r26155 = r26153 + r26154;
        float r26156 = 1.0;
        float r26157 = r26155 + r26156;
        float r26158 = 2;
        float r26159 = r26154 + r26158;
        float r26160 = r26157 / r26159;
        float r26161 = r26160 / r26159;
        float r26162 = r26156 + r26159;
        float r26163 = r26161 / r26162;
        float r26164 = 1.092160144930618e+36;
        bool r26165 = r26163 <= r26164;
        float r26166 = r26151 + r26156;
        float r26167 = fma(r26152, r26151, r26152);
        float r26168 = r26166 + r26167;
        float r26169 = sqrt(r26168);
        float r26170 = fma(r26151, r26152, r26152);
        float r26171 = r26170 + r26166;
        float r26172 = sqrt(r26171);
        float r26173 = r26158 + r26154;
        float r26174 = r26172 / r26173;
        float r26175 = r26169 * r26174;
        float r26176 = r26175 / r26159;
        float r26177 = r26176 / r26162;
        float r26178 = 1;
        float r26179 = r26178 / r26152;
        float r26180 = 2.0;
        float r26181 = r26180 / r26152;
        float r26182 = r26181 - r26156;
        float r26183 = fma(r26179, r26182, r26178);
        float r26184 = r26152 + r26158;
        float r26185 = r26151 + r26184;
        float r26186 = r26156 + r26158;
        float r26187 = r26154 + r26186;
        float r26188 = r26185 * r26187;
        float r26189 = r26183 / r26188;
        float r26190 = r26165 ? r26177 : r26189;
        return r26190;
}

double f_od(double alpha, double beta) {
        double r26191 = beta;
        double r26192 = alpha;
        double r26193 = r26191 * r26192;
        double r26194 = r26191 + r26192;
        double r26195 = r26193 + r26194;
        double r26196 = 1.0;
        double r26197 = r26195 + r26196;
        double r26198 = 2;
        double r26199 = r26194 + r26198;
        double r26200 = r26197 / r26199;
        double r26201 = r26200 / r26199;
        double r26202 = r26196 + r26199;
        double r26203 = r26201 / r26202;
        double r26204 = 1.092160144930618e+36;
        bool r26205 = r26203 <= r26204;
        double r26206 = r26191 + r26196;
        double r26207 = fma(r26192, r26191, r26192);
        double r26208 = r26206 + r26207;
        double r26209 = sqrt(r26208);
        double r26210 = fma(r26191, r26192, r26192);
        double r26211 = r26210 + r26206;
        double r26212 = sqrt(r26211);
        double r26213 = r26198 + r26194;
        double r26214 = r26212 / r26213;
        double r26215 = r26209 * r26214;
        double r26216 = r26215 / r26199;
        double r26217 = r26216 / r26202;
        double r26218 = 1;
        double r26219 = r26218 / r26192;
        double r26220 = 2.0;
        double r26221 = r26220 / r26192;
        double r26222 = r26221 - r26196;
        double r26223 = fma(r26219, r26222, r26218);
        double r26224 = r26192 + r26198;
        double r26225 = r26191 + r26224;
        double r26226 = r26196 + r26198;
        double r26227 = r26194 + r26226;
        double r26228 = r26225 * r26227;
        double r26229 = r26223 / r26228;
        double r26230 = r26205 ? r26217 : r26229;
        return r26230;
}

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 r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238, r26239, r26240, r26241, r26242, r26243, r26244, r26245;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init_set_str(r26236, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26237);
        mpfr_init_set_str(r26238, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r26239, "1", 10, MPFR_RNDN);
        mpfr_init(r26240);
        mpfr_init(r26241);
        mpfr_init(r26242);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26231, alpha, MPFR_RNDN);
        mpfr_set_d(r26232, beta, MPFR_RNDN);
        mpfr_add(r26233, r26231, r26232, MPFR_RNDN);
        mpfr_mul(r26234, r26232, r26231, MPFR_RNDN);
        mpfr_add(r26235, r26233, r26234, MPFR_RNDN);
        ;
        mpfr_add(r26237, r26235, r26236, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r26240, r26238, r26239, MPFR_RNDN);
        mpfr_add(r26241, r26233, r26240, MPFR_RNDN);
        mpfr_div(r26242, r26237, r26241, MPFR_RNDN);
        mpfr_div(r26243, r26242, r26241, MPFR_RNDN);
        mpfr_add(r26244, r26241, r26236, MPFR_RNDN);
        mpfr_div(r26245, r26243, r26244, MPFR_RNDN);
        return mpfr_get_d(r26245, MPFR_RNDN);
}

static mpfr_t r26246, r26247, r26248, r26249, r26250, r26251, r26252, r26253, r26254, r26255, r26256, r26257, r26258, r26259, r26260, r26261, r26262, r26263, r26264, r26265, r26266, r26267, r26268, r26269, r26270, r26271, r26272, r26273, r26274, r26275, r26276, r26277, r26278, r26279, r26280, r26281, r26282, r26283, r26284, r26285;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
        mpfr_init_set_str(r26251, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26252);
        mpfr_init_set_str(r26253, "2", 10, MPFR_RNDN);
        mpfr_init(r26254);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init(r26258);
        mpfr_init_set_str(r26259, "1.092160144930618e+36", 10, MPFR_RNDN);
        mpfr_init(r26260);
        mpfr_init(r26261);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init(r26271);
        mpfr_init(r26272);
        mpfr_init_set_str(r26273, "1", 10, MPFR_RNDN);
        mpfr_init(r26274);
        mpfr_init_set_str(r26275, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26276);
        mpfr_init(r26277);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init(r26282);
        mpfr_init(r26283);
        mpfr_init(r26284);
        mpfr_init(r26285);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26246, beta, MPFR_RNDN);
        mpfr_set_d(r26247, alpha, MPFR_RNDN);
        mpfr_mul(r26248, r26246, r26247, MPFR_RNDN);
        mpfr_add(r26249, r26246, r26247, MPFR_RNDN);
        mpfr_add(r26250, r26248, r26249, MPFR_RNDN);
        ;
        mpfr_add(r26252, r26250, r26251, MPFR_RNDN);
        ;
        mpfr_add(r26254, r26249, r26253, MPFR_RNDN);
        mpfr_div(r26255, r26252, r26254, MPFR_RNDN);
        mpfr_div(r26256, r26255, r26254, MPFR_RNDN);
        mpfr_add(r26257, r26251, r26254, MPFR_RNDN);
        mpfr_div(r26258, r26256, r26257, MPFR_RNDN);
        ;
        mpfr_set_si(r26260, mpfr_cmp(r26258, r26259) <= 0, MPFR_RNDN);
        mpfr_add(r26261, r26246, r26251, MPFR_RNDN);
        mpfr_fma(r26262, r26247, r26246, r26247, MPFR_RNDN);
        mpfr_add(r26263, r26261, r26262, MPFR_RNDN);
        mpfr_sqrt(r26264, r26263, MPFR_RNDN);
        mpfr_fma(r26265, r26246, r26247, r26247, MPFR_RNDN);
        mpfr_add(r26266, r26265, r26261, MPFR_RNDN);
        mpfr_sqrt(r26267, r26266, MPFR_RNDN);
        mpfr_add(r26268, r26253, r26249, MPFR_RNDN);
        mpfr_div(r26269, r26267, r26268, MPFR_RNDN);
        mpfr_mul(r26270, r26264, r26269, MPFR_RNDN);
        mpfr_div(r26271, r26270, r26254, MPFR_RNDN);
        mpfr_div(r26272, r26271, r26257, MPFR_RNDN);
        ;
        mpfr_div(r26274, r26273, r26247, MPFR_RNDN);
        ;
        mpfr_div(r26276, r26275, r26247, MPFR_RNDN);
        mpfr_sub(r26277, r26276, r26251, MPFR_RNDN);
        mpfr_fma(r26278, r26274, r26277, r26273, MPFR_RNDN);
        mpfr_add(r26279, r26247, r26253, MPFR_RNDN);
        mpfr_add(r26280, r26246, r26279, MPFR_RNDN);
        mpfr_add(r26281, r26251, r26253, MPFR_RNDN);
        mpfr_add(r26282, r26249, r26281, MPFR_RNDN);
        mpfr_mul(r26283, r26280, r26282, MPFR_RNDN);
        mpfr_div(r26284, r26278, r26283, MPFR_RNDN);
        if (mpfr_get_si(r26260, MPFR_RNDN)) { mpfr_set(r26285, r26272, MPFR_RNDN); } else { mpfr_set(r26285, r26284, MPFR_RNDN); };
        return mpfr_get_d(r26285, MPFR_RNDN);
}

static mpfr_t r26286, r26287, r26288, r26289, r26290, r26291, r26292, r26293, r26294, r26295, r26296, r26297, r26298, r26299, r26300, r26301, r26302, r26303, r26304, r26305, r26306, r26307, r26308, r26309, r26310, r26311, r26312, r26313, r26314, r26315, r26316, r26317, r26318, r26319, r26320, r26321, r26322, r26323, r26324, r26325;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r26286);
        mpfr_init(r26287);
        mpfr_init(r26288);
        mpfr_init(r26289);
        mpfr_init(r26290);
        mpfr_init_set_str(r26291, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26292);
        mpfr_init_set_str(r26293, "2", 10, MPFR_RNDN);
        mpfr_init(r26294);
        mpfr_init(r26295);
        mpfr_init(r26296);
        mpfr_init(r26297);
        mpfr_init(r26298);
        mpfr_init_set_str(r26299, "1.092160144930618e+36", 10, MPFR_RNDN);
        mpfr_init(r26300);
        mpfr_init(r26301);
        mpfr_init(r26302);
        mpfr_init(r26303);
        mpfr_init(r26304);
        mpfr_init(r26305);
        mpfr_init(r26306);
        mpfr_init(r26307);
        mpfr_init(r26308);
        mpfr_init(r26309);
        mpfr_init(r26310);
        mpfr_init(r26311);
        mpfr_init(r26312);
        mpfr_init_set_str(r26313, "1", 10, MPFR_RNDN);
        mpfr_init(r26314);
        mpfr_init_set_str(r26315, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26316);
        mpfr_init(r26317);
        mpfr_init(r26318);
        mpfr_init(r26319);
        mpfr_init(r26320);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init(r26323);
        mpfr_init(r26324);
        mpfr_init(r26325);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26286, beta, MPFR_RNDN);
        mpfr_set_d(r26287, alpha, MPFR_RNDN);
        mpfr_mul(r26288, r26286, r26287, MPFR_RNDN);
        mpfr_add(r26289, r26286, r26287, MPFR_RNDN);
        mpfr_add(r26290, r26288, r26289, MPFR_RNDN);
        ;
        mpfr_add(r26292, r26290, r26291, MPFR_RNDN);
        ;
        mpfr_add(r26294, r26289, r26293, MPFR_RNDN);
        mpfr_div(r26295, r26292, r26294, MPFR_RNDN);
        mpfr_div(r26296, r26295, r26294, MPFR_RNDN);
        mpfr_add(r26297, r26291, r26294, MPFR_RNDN);
        mpfr_div(r26298, r26296, r26297, MPFR_RNDN);
        ;
        mpfr_set_si(r26300, mpfr_cmp(r26298, r26299) <= 0, MPFR_RNDN);
        mpfr_add(r26301, r26286, r26291, MPFR_RNDN);
        mpfr_fma(r26302, r26287, r26286, r26287, MPFR_RNDN);
        mpfr_add(r26303, r26301, r26302, MPFR_RNDN);
        mpfr_sqrt(r26304, r26303, MPFR_RNDN);
        mpfr_fma(r26305, r26286, r26287, r26287, MPFR_RNDN);
        mpfr_add(r26306, r26305, r26301, MPFR_RNDN);
        mpfr_sqrt(r26307, r26306, MPFR_RNDN);
        mpfr_add(r26308, r26293, r26289, MPFR_RNDN);
        mpfr_div(r26309, r26307, r26308, MPFR_RNDN);
        mpfr_mul(r26310, r26304, r26309, MPFR_RNDN);
        mpfr_div(r26311, r26310, r26294, MPFR_RNDN);
        mpfr_div(r26312, r26311, r26297, MPFR_RNDN);
        ;
        mpfr_div(r26314, r26313, r26287, MPFR_RNDN);
        ;
        mpfr_div(r26316, r26315, r26287, MPFR_RNDN);
        mpfr_sub(r26317, r26316, r26291, MPFR_RNDN);
        mpfr_fma(r26318, r26314, r26317, r26313, MPFR_RNDN);
        mpfr_add(r26319, r26287, r26293, MPFR_RNDN);
        mpfr_add(r26320, r26286, r26319, MPFR_RNDN);
        mpfr_add(r26321, r26291, r26293, MPFR_RNDN);
        mpfr_add(r26322, r26289, r26321, MPFR_RNDN);
        mpfr_mul(r26323, r26320, r26322, MPFR_RNDN);
        mpfr_div(r26324, r26318, r26323, MPFR_RNDN);
        if (mpfr_get_si(r26300, MPFR_RNDN)) { mpfr_set(r26325, r26312, MPFR_RNDN); } else { mpfr_set(r26325, r26324, MPFR_RNDN); };
        return mpfr_get_d(r26325, MPFR_RNDN);
}

