#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 r26268 = beta;
        float r26269 = alpha;
        float r26270 = r26268 - r26269;
        float r26271 = r26269 + r26268;
        float r26272 = 2.0;
        float r26273 = r26271 + r26272;
        float r26274 = r26270 / r26273;
        float r26275 = 1.0;
        float r26276 = r26274 + r26275;
        float r26277 = r26276 / r26272;
        return r26277;
}

double f_id(double alpha, double beta) {
        double r26278 = beta;
        double r26279 = alpha;
        double r26280 = r26278 - r26279;
        double r26281 = r26279 + r26278;
        double r26282 = 2.0;
        double r26283 = r26281 + r26282;
        double r26284 = r26280 / r26283;
        double r26285 = 1.0;
        double r26286 = r26284 + r26285;
        double r26287 = r26286 / r26282;
        return r26287;
}


double f_of(float alpha, float beta) {
        float r26288 = beta;
        float r26289 = alpha;
        float r26290 = r26288 - r26289;
        float r26291 = r26289 + r26288;
        float r26292 = 2.0;
        float r26293 = r26291 + r26292;
        float r26294 = r26290 / r26293;
        float r26295 = 1.0;
        float r26296 = r26294 + r26295;
        float r26297 = r26296 / r26292;
        float r26298 = 4.6629367034256575e-15;
        bool r26299 = r26297 <= r26298;
        float r26300 = r26288 / r26293;
        float r26301 = 4.0;
        float r26302 = 1;
        float r26303 = 2;
        float r26304 = pow(r26289, r26303);
        float r26305 = r26302 / r26304;
        float r26306 = r26301 * r26305;
        float r26307 = 8.0;
        float r26308 = 3;
        float r26309 = pow(r26289, r26308);
        float r26310 = r26302 / r26309;
        float r26311 = r26307 * r26310;
        float r26312 = r26302 / r26289;
        float r26313 = r26292 * r26312;
        float r26314 = r26311 + r26313;
        float r26315 = r26306 - r26314;
        float r26316 = r26300 - r26315;
        float r26317 = r26316 / r26292;
        float r26318 = r26302 / r26293;
        float r26319 = -r26295;
        float r26320 = fma(r26289, r26318, r26319);
        float r26321 = r26300 - r26320;
        float r26322 = r26321 / r26292;
        float r26323 = r26299 ? r26317 : r26322;
        return r26323;
}

double f_od(double alpha, double beta) {
        double r26324 = beta;
        double r26325 = alpha;
        double r26326 = r26324 - r26325;
        double r26327 = r26325 + r26324;
        double r26328 = 2.0;
        double r26329 = r26327 + r26328;
        double r26330 = r26326 / r26329;
        double r26331 = 1.0;
        double r26332 = r26330 + r26331;
        double r26333 = r26332 / r26328;
        double r26334 = 4.6629367034256575e-15;
        bool r26335 = r26333 <= r26334;
        double r26336 = r26324 / r26329;
        double r26337 = 4.0;
        double r26338 = 1;
        double r26339 = 2;
        double r26340 = pow(r26325, r26339);
        double r26341 = r26338 / r26340;
        double r26342 = r26337 * r26341;
        double r26343 = 8.0;
        double r26344 = 3;
        double r26345 = pow(r26325, r26344);
        double r26346 = r26338 / r26345;
        double r26347 = r26343 * r26346;
        double r26348 = r26338 / r26325;
        double r26349 = r26328 * r26348;
        double r26350 = r26347 + r26349;
        double r26351 = r26342 - r26350;
        double r26352 = r26336 - r26351;
        double r26353 = r26352 / r26328;
        double r26354 = r26338 / r26329;
        double r26355 = -r26331;
        double r26356 = fma(r26325, r26354, r26355);
        double r26357 = r26336 - r26356;
        double r26358 = r26357 / r26328;
        double r26359 = r26335 ? r26353 : r26358;
        return r26359;
}

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 r26360, r26361, r26362, r26363, r26364, r26365, r26366, r26367, r26368, r26369;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26360);
        mpfr_init(r26361);
        mpfr_init(r26362);
        mpfr_init(r26363);
        mpfr_init_set_str(r26364, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26365);
        mpfr_init(r26366);
        mpfr_init_set_str(r26367, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26368);
        mpfr_init(r26369);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26360, beta, MPFR_RNDN);
        mpfr_set_d(r26361, alpha, MPFR_RNDN);
        mpfr_sub(r26362, r26360, r26361, MPFR_RNDN);
        mpfr_add(r26363, r26361, r26360, MPFR_RNDN);
        ;
        mpfr_add(r26365, r26363, r26364, MPFR_RNDN);
        mpfr_div(r26366, r26362, r26365, MPFR_RNDN);
        ;
        mpfr_add(r26368, r26366, r26367, MPFR_RNDN);
        mpfr_div(r26369, r26368, r26364, MPFR_RNDN);
        return mpfr_get_d(r26369, MPFR_RNDN);
}

static mpfr_t r26370, r26371, r26372, r26373, r26374, r26375, r26376, r26377, r26378, r26379, r26380, r26381, r26382, r26383, r26384, r26385, r26386, r26387, r26388, r26389, r26390, r26391, r26392, r26393, r26394, r26395, r26396, r26397, r26398, r26399, r26400, r26401, r26402, r26403, r26404, r26405;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26370);
        mpfr_init(r26371);
        mpfr_init(r26372);
        mpfr_init(r26373);
        mpfr_init_set_str(r26374, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26375);
        mpfr_init(r26376);
        mpfr_init_set_str(r26377, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26378);
        mpfr_init(r26379);
        mpfr_init_set_str(r26380, "4.6629367034256575e-15", 10, MPFR_RNDN);
        mpfr_init(r26381);
        mpfr_init(r26382);
        mpfr_init_set_str(r26383, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26384, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26385, "2", 10, MPFR_RNDN);
        mpfr_init(r26386);
        mpfr_init(r26387);
        mpfr_init(r26388);
        mpfr_init_set_str(r26389, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26390, "3", 10, MPFR_RNDN);
        mpfr_init(r26391);
        mpfr_init(r26392);
        mpfr_init(r26393);
        mpfr_init(r26394);
        mpfr_init(r26395);
        mpfr_init(r26396);
        mpfr_init(r26397);
        mpfr_init(r26398);
        mpfr_init(r26399);
        mpfr_init(r26400);
        mpfr_init(r26401);
        mpfr_init(r26402);
        mpfr_init(r26403);
        mpfr_init(r26404);
        mpfr_init(r26405);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26370, beta, MPFR_RNDN);
        mpfr_set_d(r26371, alpha, MPFR_RNDN);
        mpfr_sub(r26372, r26370, r26371, MPFR_RNDN);
        mpfr_add(r26373, r26371, r26370, MPFR_RNDN);
        ;
        mpfr_add(r26375, r26373, r26374, MPFR_RNDN);
        mpfr_div(r26376, r26372, r26375, MPFR_RNDN);
        ;
        mpfr_add(r26378, r26376, r26377, MPFR_RNDN);
        mpfr_div(r26379, r26378, r26374, MPFR_RNDN);
        ;
        mpfr_set_si(r26381, mpfr_cmp(r26379, r26380) <= 0, MPFR_RNDN);
        mpfr_div(r26382, r26370, r26375, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26386, r26371, r26385, MPFR_RNDN);
        mpfr_div(r26387, r26384, r26386, MPFR_RNDN);
        mpfr_mul(r26388, r26383, r26387, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26391, r26371, r26390, MPFR_RNDN);
        mpfr_div(r26392, r26384, r26391, MPFR_RNDN);
        mpfr_mul(r26393, r26389, r26392, MPFR_RNDN);
        mpfr_div(r26394, r26384, r26371, MPFR_RNDN);
        mpfr_mul(r26395, r26374, r26394, MPFR_RNDN);
        mpfr_add(r26396, r26393, r26395, MPFR_RNDN);
        mpfr_sub(r26397, r26388, r26396, MPFR_RNDN);
        mpfr_sub(r26398, r26382, r26397, MPFR_RNDN);
        mpfr_div(r26399, r26398, r26374, MPFR_RNDN);
        mpfr_div(r26400, r26384, r26375, MPFR_RNDN);
        mpfr_neg(r26401, r26377, MPFR_RNDN);
        mpfr_fma(r26402, r26371, r26400, r26401, MPFR_RNDN);
        mpfr_sub(r26403, r26382, r26402, MPFR_RNDN);
        mpfr_div(r26404, r26403, r26374, MPFR_RNDN);
        if (mpfr_get_si(r26381, MPFR_RNDN)) { mpfr_set(r26405, r26399, MPFR_RNDN); } else { mpfr_set(r26405, r26404, MPFR_RNDN); };
        return mpfr_get_d(r26405, MPFR_RNDN);
}

static mpfr_t r26406, r26407, r26408, r26409, r26410, r26411, r26412, r26413, r26414, r26415, r26416, r26417, r26418, r26419, r26420, r26421, r26422, r26423, r26424, r26425, r26426, r26427, r26428, r26429, r26430, r26431, r26432, r26433, r26434, r26435, r26436, r26437, r26438, r26439, r26440, r26441;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26406);
        mpfr_init(r26407);
        mpfr_init(r26408);
        mpfr_init(r26409);
        mpfr_init_set_str(r26410, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26411);
        mpfr_init(r26412);
        mpfr_init_set_str(r26413, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26414);
        mpfr_init(r26415);
        mpfr_init_set_str(r26416, "4.6629367034256575e-15", 10, MPFR_RNDN);
        mpfr_init(r26417);
        mpfr_init(r26418);
        mpfr_init_set_str(r26419, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26420, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26421, "2", 10, MPFR_RNDN);
        mpfr_init(r26422);
        mpfr_init(r26423);
        mpfr_init(r26424);
        mpfr_init_set_str(r26425, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26426, "3", 10, MPFR_RNDN);
        mpfr_init(r26427);
        mpfr_init(r26428);
        mpfr_init(r26429);
        mpfr_init(r26430);
        mpfr_init(r26431);
        mpfr_init(r26432);
        mpfr_init(r26433);
        mpfr_init(r26434);
        mpfr_init(r26435);
        mpfr_init(r26436);
        mpfr_init(r26437);
        mpfr_init(r26438);
        mpfr_init(r26439);
        mpfr_init(r26440);
        mpfr_init(r26441);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26406, beta, MPFR_RNDN);
        mpfr_set_d(r26407, alpha, MPFR_RNDN);
        mpfr_sub(r26408, r26406, r26407, MPFR_RNDN);
        mpfr_add(r26409, r26407, r26406, MPFR_RNDN);
        ;
        mpfr_add(r26411, r26409, r26410, MPFR_RNDN);
        mpfr_div(r26412, r26408, r26411, MPFR_RNDN);
        ;
        mpfr_add(r26414, r26412, r26413, MPFR_RNDN);
        mpfr_div(r26415, r26414, r26410, MPFR_RNDN);
        ;
        mpfr_set_si(r26417, mpfr_cmp(r26415, r26416) <= 0, MPFR_RNDN);
        mpfr_div(r26418, r26406, r26411, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26422, r26407, r26421, MPFR_RNDN);
        mpfr_div(r26423, r26420, r26422, MPFR_RNDN);
        mpfr_mul(r26424, r26419, r26423, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26427, r26407, r26426, MPFR_RNDN);
        mpfr_div(r26428, r26420, r26427, MPFR_RNDN);
        mpfr_mul(r26429, r26425, r26428, MPFR_RNDN);
        mpfr_div(r26430, r26420, r26407, MPFR_RNDN);
        mpfr_mul(r26431, r26410, r26430, MPFR_RNDN);
        mpfr_add(r26432, r26429, r26431, MPFR_RNDN);
        mpfr_sub(r26433, r26424, r26432, MPFR_RNDN);
        mpfr_sub(r26434, r26418, r26433, MPFR_RNDN);
        mpfr_div(r26435, r26434, r26410, MPFR_RNDN);
        mpfr_div(r26436, r26420, r26411, MPFR_RNDN);
        mpfr_neg(r26437, r26413, MPFR_RNDN);
        mpfr_fma(r26438, r26407, r26436, r26437, MPFR_RNDN);
        mpfr_sub(r26439, r26418, r26438, MPFR_RNDN);
        mpfr_div(r26440, r26439, r26410, MPFR_RNDN);
        if (mpfr_get_si(r26417, MPFR_RNDN)) { mpfr_set(r26441, r26435, MPFR_RNDN); } else { mpfr_set(r26441, r26440, MPFR_RNDN); };
        return mpfr_get_d(r26441, MPFR_RNDN);
}

