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

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

double f_if(float alpha, float beta) {
        float r10230 = beta;
        float r10231 = alpha;
        float r10232 = r10230 - r10231;
        float r10233 = r10231 + r10230;
        float r10234 = 2.0f;
        float r10235 = r10233 + r10234;
        float r10236 = r10232 / r10235;
        float r10237 = 1.0f;
        float r10238 = r10236 + r10237;
        float r10239 = r10238 / r10234;
        return r10239;
}

double f_id(double alpha, double beta) {
        double r10240 = beta;
        double r10241 = alpha;
        double r10242 = r10240 - r10241;
        double r10243 = r10241 + r10240;
        double r10244 = 2.0;
        double r10245 = r10243 + r10244;
        double r10246 = r10242 / r10245;
        double r10247 = 1.0;
        double r10248 = r10246 + r10247;
        double r10249 = r10248 / r10244;
        return r10249;
}


double f_of(float alpha, float beta) {
        float r10250 = 1.0f;
        float r10251 = beta;
        float r10252 = alpha;
        float r10253 = r10251 - r10252;
        float r10254 = r10252 + r10251;
        float r10255 = 2.0f;
        float r10256 = r10254 + r10255;
        float r10257 = r10253 / r10256;
        float r10258 = r10250 + r10257;
        float r10259 = r10258 / r10255;
        float r10260 = 1.9938043602110306e-09f;
        bool r10261 = r10259 <= r10260;
        float r10262 = r10251 / r10256;
        float r10263 = 1.0f;
        float r10264 = r10252 * r10252;
        float r10265 = r10263 / r10264;
        float r10266 = 4.0f;
        float r10267 = 8.0f;
        float r10268 = r10267 / r10252;
        float r10269 = r10266 - r10268;
        float r10270 = r10265 * r10269;
        float r10271 = r10255 / r10252;
        float r10272 = r10270 - r10271;
        float r10273 = r10262 - r10272;
        float r10274 = r10273 / r10255;
        float r10275 = 0.5000001989457653f;
        bool r10276 = r10259 <= r10275;
        float r10277 = log(r10256);
        float r10278 = exp(r10277);
        float r10279 = r10251 / r10278;
        float r10280 = r10252 / r10256;
        float r10281 = r10280 - r10250;
        float r10282 = r10279 - r10281;
        float r10283 = r10282 / r10255;
        float r10284 = log(r10262);
        float r10285 = r10284 * r10284;
        float r10286 = r10285 * r10284;
        float r10287 = cbrt(r10286);
        float r10288 = exp(r10287);
        float r10289 = r10288 - r10281;
        float r10290 = r10289 / r10255;
        float r10291 = r10276 ? r10283 : r10290;
        float r10292 = r10261 ? r10274 : r10291;
        return r10292;
}

double f_od(double alpha, double beta) {
        double r10293 = 1.0;
        double r10294 = beta;
        double r10295 = alpha;
        double r10296 = r10294 - r10295;
        double r10297 = r10295 + r10294;
        double r10298 = 2.0;
        double r10299 = r10297 + r10298;
        double r10300 = r10296 / r10299;
        double r10301 = r10293 + r10300;
        double r10302 = r10301 / r10298;
        double r10303 = 1.9938043602110306e-09;
        bool r10304 = r10302 <= r10303;
        double r10305 = r10294 / r10299;
        double r10306 = 1.0;
        double r10307 = r10295 * r10295;
        double r10308 = r10306 / r10307;
        double r10309 = 4.0;
        double r10310 = 8.0;
        double r10311 = r10310 / r10295;
        double r10312 = r10309 - r10311;
        double r10313 = r10308 * r10312;
        double r10314 = r10298 / r10295;
        double r10315 = r10313 - r10314;
        double r10316 = r10305 - r10315;
        double r10317 = r10316 / r10298;
        double r10318 = 0.5000001989457653;
        bool r10319 = r10302 <= r10318;
        double r10320 = log(r10299);
        double r10321 = exp(r10320);
        double r10322 = r10294 / r10321;
        double r10323 = r10295 / r10299;
        double r10324 = r10323 - r10293;
        double r10325 = r10322 - r10324;
        double r10326 = r10325 / r10298;
        double r10327 = log(r10305);
        double r10328 = r10327 * r10327;
        double r10329 = r10328 * r10327;
        double r10330 = cbrt(r10329);
        double r10331 = exp(r10330);
        double r10332 = r10331 - r10324;
        double r10333 = r10332 / r10298;
        double r10334 = r10319 ? r10326 : r10333;
        double r10335 = r10304 ? r10317 : r10334;
        return r10335;
}

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 r10336, r10337, r10338, r10339, r10340, r10341, r10342, r10343, r10344, r10345;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10336);
        mpfr_init(r10337);
        mpfr_init(r10338);
        mpfr_init(r10339);
        mpfr_init_set_str(r10340, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10341);
        mpfr_init(r10342);
        mpfr_init_set_str(r10343, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10344);
        mpfr_init(r10345);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r10336, beta, MPFR_RNDN);
        mpfr_set_d(r10337, alpha, MPFR_RNDN);
        mpfr_sub(r10338, r10336, r10337, MPFR_RNDN);
        mpfr_add(r10339, r10337, r10336, MPFR_RNDN);
        ;
        mpfr_add(r10341, r10339, r10340, MPFR_RNDN);
        mpfr_div(r10342, r10338, r10341, MPFR_RNDN);
        ;
        mpfr_add(r10344, r10342, r10343, MPFR_RNDN);
        mpfr_div(r10345, r10344, r10340, MPFR_RNDN);
        return mpfr_get_d(r10345, MPFR_RNDN);
}

static mpfr_t r10346, r10347, r10348, r10349, r10350, r10351, r10352, r10353, r10354, r10355, r10356, r10357, r10358, r10359, r10360, r10361, r10362, r10363, r10364, r10365, r10366, r10367, r10368, r10369, r10370, r10371, r10372, r10373, r10374, r10375, r10376, r10377, r10378, r10379, r10380, r10381, r10382, r10383, r10384, r10385, r10386, r10387, r10388;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r10346, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10347);
        mpfr_init(r10348);
        mpfr_init(r10349);
        mpfr_init(r10350);
        mpfr_init_set_str(r10351, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10352);
        mpfr_init(r10353);
        mpfr_init(r10354);
        mpfr_init(r10355);
        mpfr_init_set_str(r10356, "1.9938043602110306e-09", 10, MPFR_RNDN);
        mpfr_init(r10357);
        mpfr_init(r10358);
        mpfr_init_set_str(r10359, "1", 10, MPFR_RNDN);
        mpfr_init(r10360);
        mpfr_init(r10361);
        mpfr_init_set_str(r10362, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10363, "8.0", 10, MPFR_RNDN);
        mpfr_init(r10364);
        mpfr_init(r10365);
        mpfr_init(r10366);
        mpfr_init(r10367);
        mpfr_init(r10368);
        mpfr_init(r10369);
        mpfr_init(r10370);
        mpfr_init_set_str(r10371, "0.5000001989457653", 10, MPFR_RNDN);
        mpfr_init(r10372);
        mpfr_init(r10373);
        mpfr_init(r10374);
        mpfr_init(r10375);
        mpfr_init(r10376);
        mpfr_init(r10377);
        mpfr_init(r10378);
        mpfr_init(r10379);
        mpfr_init(r10380);
        mpfr_init(r10381);
        mpfr_init(r10382);
        mpfr_init(r10383);
        mpfr_init(r10384);
        mpfr_init(r10385);
        mpfr_init(r10386);
        mpfr_init(r10387);
        mpfr_init(r10388);
}

double f_fm(double alpha, double beta) {
        ;
        mpfr_set_d(r10347, beta, MPFR_RNDN);
        mpfr_set_d(r10348, alpha, MPFR_RNDN);
        mpfr_sub(r10349, r10347, r10348, MPFR_RNDN);
        mpfr_add(r10350, r10348, r10347, MPFR_RNDN);
        ;
        mpfr_add(r10352, r10350, r10351, MPFR_RNDN);
        mpfr_div(r10353, r10349, r10352, MPFR_RNDN);
        mpfr_add(r10354, r10346, r10353, MPFR_RNDN);
        mpfr_div(r10355, r10354, r10351, MPFR_RNDN);
        ;
        mpfr_set_si(r10357, mpfr_cmp(r10355, r10356) <= 0, MPFR_RNDN);
        mpfr_div(r10358, r10347, r10352, MPFR_RNDN);
        ;
        mpfr_mul(r10360, r10348, r10348, MPFR_RNDN);
        mpfr_div(r10361, r10359, r10360, MPFR_RNDN);
        ;
        ;
        mpfr_div(r10364, r10363, r10348, MPFR_RNDN);
        mpfr_sub(r10365, r10362, r10364, MPFR_RNDN);
        mpfr_mul(r10366, r10361, r10365, MPFR_RNDN);
        mpfr_div(r10367, r10351, r10348, MPFR_RNDN);
        mpfr_sub(r10368, r10366, r10367, MPFR_RNDN);
        mpfr_sub(r10369, r10358, r10368, MPFR_RNDN);
        mpfr_div(r10370, r10369, r10351, MPFR_RNDN);
        ;
        mpfr_set_si(r10372, mpfr_cmp(r10355, r10371) <= 0, MPFR_RNDN);
        mpfr_log(r10373, r10352, MPFR_RNDN);
        mpfr_exp(r10374, r10373, MPFR_RNDN);
        mpfr_div(r10375, r10347, r10374, MPFR_RNDN);
        mpfr_div(r10376, r10348, r10352, MPFR_RNDN);
        mpfr_sub(r10377, r10376, r10346, MPFR_RNDN);
        mpfr_sub(r10378, r10375, r10377, MPFR_RNDN);
        mpfr_div(r10379, r10378, r10351, MPFR_RNDN);
        mpfr_log(r10380, r10358, MPFR_RNDN);
        mpfr_mul(r10381, r10380, r10380, MPFR_RNDN);
        mpfr_mul(r10382, r10381, r10380, MPFR_RNDN);
        mpfr_cbrt(r10383, r10382, MPFR_RNDN);
        mpfr_exp(r10384, r10383, MPFR_RNDN);
        mpfr_sub(r10385, r10384, r10377, MPFR_RNDN);
        mpfr_div(r10386, r10385, r10351, MPFR_RNDN);
        if (mpfr_get_si(r10372, MPFR_RNDN)) { mpfr_set(r10387, r10379, MPFR_RNDN); } else { mpfr_set(r10387, r10386, MPFR_RNDN); };
        if (mpfr_get_si(r10357, MPFR_RNDN)) { mpfr_set(r10388, r10370, MPFR_RNDN); } else { mpfr_set(r10388, r10387, MPFR_RNDN); };
        return mpfr_get_d(r10388, MPFR_RNDN);
}

static mpfr_t r10389, r10390, r10391, r10392, r10393, r10394, r10395, r10396, r10397, r10398, r10399, r10400, r10401, r10402, r10403, r10404, r10405, r10406, r10407, r10408, r10409, r10410, r10411, r10412, r10413, r10414, r10415, r10416, r10417, r10418, r10419, r10420, r10421, r10422, r10423, r10424, r10425, r10426, r10427, r10428, r10429, r10430, r10431;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r10389, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10390);
        mpfr_init(r10391);
        mpfr_init(r10392);
        mpfr_init(r10393);
        mpfr_init_set_str(r10394, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10395);
        mpfr_init(r10396);
        mpfr_init(r10397);
        mpfr_init(r10398);
        mpfr_init_set_str(r10399, "1.9938043602110306e-09", 10, MPFR_RNDN);
        mpfr_init(r10400);
        mpfr_init(r10401);
        mpfr_init_set_str(r10402, "1", 10, MPFR_RNDN);
        mpfr_init(r10403);
        mpfr_init(r10404);
        mpfr_init_set_str(r10405, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10406, "8.0", 10, MPFR_RNDN);
        mpfr_init(r10407);
        mpfr_init(r10408);
        mpfr_init(r10409);
        mpfr_init(r10410);
        mpfr_init(r10411);
        mpfr_init(r10412);
        mpfr_init(r10413);
        mpfr_init_set_str(r10414, "0.5000001989457653", 10, MPFR_RNDN);
        mpfr_init(r10415);
        mpfr_init(r10416);
        mpfr_init(r10417);
        mpfr_init(r10418);
        mpfr_init(r10419);
        mpfr_init(r10420);
        mpfr_init(r10421);
        mpfr_init(r10422);
        mpfr_init(r10423);
        mpfr_init(r10424);
        mpfr_init(r10425);
        mpfr_init(r10426);
        mpfr_init(r10427);
        mpfr_init(r10428);
        mpfr_init(r10429);
        mpfr_init(r10430);
        mpfr_init(r10431);
}

double f_dm(double alpha, double beta) {
        ;
        mpfr_set_d(r10390, beta, MPFR_RNDN);
        mpfr_set_d(r10391, alpha, MPFR_RNDN);
        mpfr_sub(r10392, r10390, r10391, MPFR_RNDN);
        mpfr_add(r10393, r10391, r10390, MPFR_RNDN);
        ;
        mpfr_add(r10395, r10393, r10394, MPFR_RNDN);
        mpfr_div(r10396, r10392, r10395, MPFR_RNDN);
        mpfr_add(r10397, r10389, r10396, MPFR_RNDN);
        mpfr_div(r10398, r10397, r10394, MPFR_RNDN);
        ;
        mpfr_set_si(r10400, mpfr_cmp(r10398, r10399) <= 0, MPFR_RNDN);
        mpfr_div(r10401, r10390, r10395, MPFR_RNDN);
        ;
        mpfr_mul(r10403, r10391, r10391, MPFR_RNDN);
        mpfr_div(r10404, r10402, r10403, MPFR_RNDN);
        ;
        ;
        mpfr_div(r10407, r10406, r10391, MPFR_RNDN);
        mpfr_sub(r10408, r10405, r10407, MPFR_RNDN);
        mpfr_mul(r10409, r10404, r10408, MPFR_RNDN);
        mpfr_div(r10410, r10394, r10391, MPFR_RNDN);
        mpfr_sub(r10411, r10409, r10410, MPFR_RNDN);
        mpfr_sub(r10412, r10401, r10411, MPFR_RNDN);
        mpfr_div(r10413, r10412, r10394, MPFR_RNDN);
        ;
        mpfr_set_si(r10415, mpfr_cmp(r10398, r10414) <= 0, MPFR_RNDN);
        mpfr_log(r10416, r10395, MPFR_RNDN);
        mpfr_exp(r10417, r10416, MPFR_RNDN);
        mpfr_div(r10418, r10390, r10417, MPFR_RNDN);
        mpfr_div(r10419, r10391, r10395, MPFR_RNDN);
        mpfr_sub(r10420, r10419, r10389, MPFR_RNDN);
        mpfr_sub(r10421, r10418, r10420, MPFR_RNDN);
        mpfr_div(r10422, r10421, r10394, MPFR_RNDN);
        mpfr_log(r10423, r10401, MPFR_RNDN);
        mpfr_mul(r10424, r10423, r10423, MPFR_RNDN);
        mpfr_mul(r10425, r10424, r10423, MPFR_RNDN);
        mpfr_cbrt(r10426, r10425, MPFR_RNDN);
        mpfr_exp(r10427, r10426, MPFR_RNDN);
        mpfr_sub(r10428, r10427, r10420, MPFR_RNDN);
        mpfr_div(r10429, r10428, r10394, MPFR_RNDN);
        if (mpfr_get_si(r10415, MPFR_RNDN)) { mpfr_set(r10430, r10422, MPFR_RNDN); } else { mpfr_set(r10430, r10429, MPFR_RNDN); };
        if (mpfr_get_si(r10400, MPFR_RNDN)) { mpfr_set(r10431, r10413, MPFR_RNDN); } else { mpfr_set(r10431, r10430, MPFR_RNDN); };
        return mpfr_get_d(r10431, MPFR_RNDN);
}

