#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 r26300 = beta;
        float r26301 = alpha;
        float r26302 = r26300 - r26301;
        float r26303 = r26301 + r26300;
        float r26304 = 2.0;
        float r26305 = r26303 + r26304;
        float r26306 = r26302 / r26305;
        float r26307 = 1.0;
        float r26308 = r26306 + r26307;
        float r26309 = r26308 / r26304;
        return r26309;
}

double f_id(double alpha, double beta) {
        double r26310 = beta;
        double r26311 = alpha;
        double r26312 = r26310 - r26311;
        double r26313 = r26311 + r26310;
        double r26314 = 2.0;
        double r26315 = r26313 + r26314;
        double r26316 = r26312 / r26315;
        double r26317 = 1.0;
        double r26318 = r26316 + r26317;
        double r26319 = r26318 / r26314;
        return r26319;
}


double f_of(float alpha, float beta) {
        float r26320 = beta;
        float r26321 = 2.0;
        float r26322 = alpha;
        float r26323 = r26322 + r26320;
        float r26324 = r26321 + r26323;
        float r26325 = r26320 / r26324;
        float r26326 = 1;
        float r26327 = 2;
        float r26328 = pow(r26322, r26327);
        float r26329 = r26326 / r26328;
        float r26330 = 4.0;
        float r26331 = r26329 * r26330;
        float r26332 = r26326 / r26322;
        float r26333 = r26321 * r26332;
        float r26334 = 3;
        float r26335 = pow(r26322, r26334);
        float r26336 = r26326 / r26335;
        float r26337 = 8.0;
        float r26338 = r26336 * r26337;
        float r26339 = r26333 + r26338;
        float r26340 = r26331 - r26339;
        float r26341 = r26325 - r26340;
        float r26342 = r26341 / r26321;
        float r26343 = 1.360984718392274e-305;
        bool r26344 = r26342 <= r26343;
        float r26345 = r26322 / r26324;
        float r26346 = r26345 * r26345;
        float r26347 = 1.0;
        float r26348 = r26345 * r26347;
        float r26349 = r26347 * r26347;
        float r26350 = r26348 + r26349;
        float r26351 = r26346 + r26350;
        float r26352 = r26320 * r26351;
        float r26353 = pow(r26345, r26334);
        float r26354 = pow(r26347, r26334);
        float r26355 = r26353 - r26354;
        float r26356 = r26355 * r26324;
        float r26357 = r26352 - r26356;
        float r26358 = r26324 * r26350;
        float r26359 = r26357 / r26358;
        float r26360 = r26359 / r26321;
        float r26361 = 3.2412261942033065e-10;
        bool r26362 = r26342 <= r26361;
        float r26363 = r26326 / r26324;
        float r26364 = -r26347;
        float r26365 = fma(r26322, r26363, r26364);
        float r26366 = r26325 - r26365;
        float r26367 = r26366 / r26321;
        float r26368 = r26362 ? r26342 : r26367;
        float r26369 = r26344 ? r26360 : r26368;
        return r26369;
}

double f_od(double alpha, double beta) {
        double r26370 = beta;
        double r26371 = 2.0;
        double r26372 = alpha;
        double r26373 = r26372 + r26370;
        double r26374 = r26371 + r26373;
        double r26375 = r26370 / r26374;
        double r26376 = 1;
        double r26377 = 2;
        double r26378 = pow(r26372, r26377);
        double r26379 = r26376 / r26378;
        double r26380 = 4.0;
        double r26381 = r26379 * r26380;
        double r26382 = r26376 / r26372;
        double r26383 = r26371 * r26382;
        double r26384 = 3;
        double r26385 = pow(r26372, r26384);
        double r26386 = r26376 / r26385;
        double r26387 = 8.0;
        double r26388 = r26386 * r26387;
        double r26389 = r26383 + r26388;
        double r26390 = r26381 - r26389;
        double r26391 = r26375 - r26390;
        double r26392 = r26391 / r26371;
        double r26393 = 1.360984718392274e-305;
        bool r26394 = r26392 <= r26393;
        double r26395 = r26372 / r26374;
        double r26396 = r26395 * r26395;
        double r26397 = 1.0;
        double r26398 = r26395 * r26397;
        double r26399 = r26397 * r26397;
        double r26400 = r26398 + r26399;
        double r26401 = r26396 + r26400;
        double r26402 = r26370 * r26401;
        double r26403 = pow(r26395, r26384);
        double r26404 = pow(r26397, r26384);
        double r26405 = r26403 - r26404;
        double r26406 = r26405 * r26374;
        double r26407 = r26402 - r26406;
        double r26408 = r26374 * r26400;
        double r26409 = r26407 / r26408;
        double r26410 = r26409 / r26371;
        double r26411 = 3.2412261942033065e-10;
        bool r26412 = r26392 <= r26411;
        double r26413 = r26376 / r26374;
        double r26414 = -r26397;
        double r26415 = fma(r26372, r26413, r26414);
        double r26416 = r26375 - r26415;
        double r26417 = r26416 / r26371;
        double r26418 = r26412 ? r26392 : r26417;
        double r26419 = r26394 ? r26410 : r26418;
        return r26419;
}

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 r26420, r26421, r26422, r26423, r26424, r26425, r26426, r26427, r26428, r26429;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26420);
        mpfr_init(r26421);
        mpfr_init(r26422);
        mpfr_init(r26423);
        mpfr_init_set_str(r26424, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26425);
        mpfr_init(r26426);
        mpfr_init_set_str(r26427, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26428);
        mpfr_init(r26429);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26420, beta, MPFR_RNDN);
        mpfr_set_d(r26421, alpha, MPFR_RNDN);
        mpfr_sub(r26422, r26420, r26421, MPFR_RNDN);
        mpfr_add(r26423, r26421, r26420, MPFR_RNDN);
        ;
        mpfr_add(r26425, r26423, r26424, MPFR_RNDN);
        mpfr_div(r26426, r26422, r26425, MPFR_RNDN);
        ;
        mpfr_add(r26428, r26426, r26427, MPFR_RNDN);
        mpfr_div(r26429, r26428, r26424, MPFR_RNDN);
        return mpfr_get_d(r26429, MPFR_RNDN);
}

static mpfr_t r26430, r26431, r26432, r26433, r26434, r26435, r26436, r26437, r26438, r26439, r26440, r26441, r26442, r26443, r26444, r26445, r26446, r26447, r26448, r26449, r26450, r26451, r26452, r26453, r26454, r26455, r26456, r26457, r26458, r26459, r26460, r26461, r26462, r26463, r26464, r26465, r26466, r26467, r26468, r26469, r26470, r26471, r26472, r26473, r26474, r26475, r26476, r26477, r26478, r26479;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26430);
        mpfr_init_set_str(r26431, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26432);
        mpfr_init(r26433);
        mpfr_init(r26434);
        mpfr_init(r26435);
        mpfr_init_set_str(r26436, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26437, "2", 10, MPFR_RNDN);
        mpfr_init(r26438);
        mpfr_init(r26439);
        mpfr_init_set_str(r26440, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26441);
        mpfr_init(r26442);
        mpfr_init(r26443);
        mpfr_init_set_str(r26444, "3", 10, MPFR_RNDN);
        mpfr_init(r26445);
        mpfr_init(r26446);
        mpfr_init_set_str(r26447, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26448);
        mpfr_init(r26449);
        mpfr_init(r26450);
        mpfr_init(r26451);
        mpfr_init(r26452);
        mpfr_init_set_str(r26453, "1.360984718392274e-305", 10, MPFR_RNDN);
        mpfr_init(r26454);
        mpfr_init(r26455);
        mpfr_init(r26456);
        mpfr_init_set_str(r26457, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26458);
        mpfr_init(r26459);
        mpfr_init(r26460);
        mpfr_init(r26461);
        mpfr_init(r26462);
        mpfr_init(r26463);
        mpfr_init(r26464);
        mpfr_init(r26465);
        mpfr_init(r26466);
        mpfr_init(r26467);
        mpfr_init(r26468);
        mpfr_init(r26469);
        mpfr_init(r26470);
        mpfr_init_set_str(r26471, "3.2412261942033065e-10", 10, MPFR_RNDN);
        mpfr_init(r26472);
        mpfr_init(r26473);
        mpfr_init(r26474);
        mpfr_init(r26475);
        mpfr_init(r26476);
        mpfr_init(r26477);
        mpfr_init(r26478);
        mpfr_init(r26479);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26430, beta, MPFR_RNDN);
        ;
        mpfr_set_d(r26432, alpha, MPFR_RNDN);
        mpfr_add(r26433, r26432, r26430, MPFR_RNDN);
        mpfr_add(r26434, r26431, r26433, MPFR_RNDN);
        mpfr_div(r26435, r26430, r26434, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26438, r26432, r26437, MPFR_RNDN);
        mpfr_div(r26439, r26436, r26438, MPFR_RNDN);
        ;
        mpfr_mul(r26441, r26439, r26440, MPFR_RNDN);
        mpfr_div(r26442, r26436, r26432, MPFR_RNDN);
        mpfr_mul(r26443, r26431, r26442, MPFR_RNDN);
        ;
        mpfr_pow(r26445, r26432, r26444, MPFR_RNDN);
        mpfr_div(r26446, r26436, r26445, MPFR_RNDN);
        ;
        mpfr_mul(r26448, r26446, r26447, MPFR_RNDN);
        mpfr_add(r26449, r26443, r26448, MPFR_RNDN);
        mpfr_sub(r26450, r26441, r26449, MPFR_RNDN);
        mpfr_sub(r26451, r26435, r26450, MPFR_RNDN);
        mpfr_div(r26452, r26451, r26431, MPFR_RNDN);
        ;
        mpfr_set_si(r26454, mpfr_cmp(r26452, r26453) <= 0, MPFR_RNDN);
        mpfr_div(r26455, r26432, r26434, MPFR_RNDN);
        mpfr_mul(r26456, r26455, r26455, MPFR_RNDN);
        ;
        mpfr_mul(r26458, r26455, r26457, MPFR_RNDN);
        mpfr_mul(r26459, r26457, r26457, MPFR_RNDN);
        mpfr_add(r26460, r26458, r26459, MPFR_RNDN);
        mpfr_add(r26461, r26456, r26460, MPFR_RNDN);
        mpfr_mul(r26462, r26430, r26461, MPFR_RNDN);
        mpfr_pow(r26463, r26455, r26444, MPFR_RNDN);
        mpfr_pow(r26464, r26457, r26444, MPFR_RNDN);
        mpfr_sub(r26465, r26463, r26464, MPFR_RNDN);
        mpfr_mul(r26466, r26465, r26434, MPFR_RNDN);
        mpfr_sub(r26467, r26462, r26466, MPFR_RNDN);
        mpfr_mul(r26468, r26434, r26460, MPFR_RNDN);
        mpfr_div(r26469, r26467, r26468, MPFR_RNDN);
        mpfr_div(r26470, r26469, r26431, MPFR_RNDN);
        ;
        mpfr_set_si(r26472, mpfr_cmp(r26452, r26471) <= 0, MPFR_RNDN);
        mpfr_div(r26473, r26436, r26434, MPFR_RNDN);
        mpfr_neg(r26474, r26457, MPFR_RNDN);
        mpfr_fma(r26475, r26432, r26473, r26474, MPFR_RNDN);
        mpfr_sub(r26476, r26435, r26475, MPFR_RNDN);
        mpfr_div(r26477, r26476, r26431, MPFR_RNDN);
        if (mpfr_get_si(r26472, MPFR_RNDN)) { mpfr_set(r26478, r26452, MPFR_RNDN); } else { mpfr_set(r26478, r26477, MPFR_RNDN); };
        if (mpfr_get_si(r26454, MPFR_RNDN)) { mpfr_set(r26479, r26470, MPFR_RNDN); } else { mpfr_set(r26479, r26478, MPFR_RNDN); };
        return mpfr_get_d(r26479, MPFR_RNDN);
}

static mpfr_t r26480, r26481, r26482, r26483, r26484, r26485, r26486, r26487, r26488, r26489, r26490, r26491, r26492, r26493, r26494, r26495, r26496, r26497, r26498, r26499, r26500, r26501, r26502, r26503, r26504, r26505, r26506, r26507, r26508, r26509, r26510, r26511, r26512, r26513, r26514, r26515, r26516, r26517, r26518, r26519, r26520, r26521, r26522, r26523, r26524, r26525, r26526, r26527, r26528, r26529;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26480);
        mpfr_init_set_str(r26481, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26482);
        mpfr_init(r26483);
        mpfr_init(r26484);
        mpfr_init(r26485);
        mpfr_init_set_str(r26486, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26487, "2", 10, MPFR_RNDN);
        mpfr_init(r26488);
        mpfr_init(r26489);
        mpfr_init_set_str(r26490, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26491);
        mpfr_init(r26492);
        mpfr_init(r26493);
        mpfr_init_set_str(r26494, "3", 10, MPFR_RNDN);
        mpfr_init(r26495);
        mpfr_init(r26496);
        mpfr_init_set_str(r26497, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26498);
        mpfr_init(r26499);
        mpfr_init(r26500);
        mpfr_init(r26501);
        mpfr_init(r26502);
        mpfr_init_set_str(r26503, "1.360984718392274e-305", 10, MPFR_RNDN);
        mpfr_init(r26504);
        mpfr_init(r26505);
        mpfr_init(r26506);
        mpfr_init_set_str(r26507, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26508);
        mpfr_init(r26509);
        mpfr_init(r26510);
        mpfr_init(r26511);
        mpfr_init(r26512);
        mpfr_init(r26513);
        mpfr_init(r26514);
        mpfr_init(r26515);
        mpfr_init(r26516);
        mpfr_init(r26517);
        mpfr_init(r26518);
        mpfr_init(r26519);
        mpfr_init(r26520);
        mpfr_init_set_str(r26521, "3.2412261942033065e-10", 10, MPFR_RNDN);
        mpfr_init(r26522);
        mpfr_init(r26523);
        mpfr_init(r26524);
        mpfr_init(r26525);
        mpfr_init(r26526);
        mpfr_init(r26527);
        mpfr_init(r26528);
        mpfr_init(r26529);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26480, beta, MPFR_RNDN);
        ;
        mpfr_set_d(r26482, alpha, MPFR_RNDN);
        mpfr_add(r26483, r26482, r26480, MPFR_RNDN);
        mpfr_add(r26484, r26481, r26483, MPFR_RNDN);
        mpfr_div(r26485, r26480, r26484, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26488, r26482, r26487, MPFR_RNDN);
        mpfr_div(r26489, r26486, r26488, MPFR_RNDN);
        ;
        mpfr_mul(r26491, r26489, r26490, MPFR_RNDN);
        mpfr_div(r26492, r26486, r26482, MPFR_RNDN);
        mpfr_mul(r26493, r26481, r26492, MPFR_RNDN);
        ;
        mpfr_pow(r26495, r26482, r26494, MPFR_RNDN);
        mpfr_div(r26496, r26486, r26495, MPFR_RNDN);
        ;
        mpfr_mul(r26498, r26496, r26497, MPFR_RNDN);
        mpfr_add(r26499, r26493, r26498, MPFR_RNDN);
        mpfr_sub(r26500, r26491, r26499, MPFR_RNDN);
        mpfr_sub(r26501, r26485, r26500, MPFR_RNDN);
        mpfr_div(r26502, r26501, r26481, MPFR_RNDN);
        ;
        mpfr_set_si(r26504, mpfr_cmp(r26502, r26503) <= 0, MPFR_RNDN);
        mpfr_div(r26505, r26482, r26484, MPFR_RNDN);
        mpfr_mul(r26506, r26505, r26505, MPFR_RNDN);
        ;
        mpfr_mul(r26508, r26505, r26507, MPFR_RNDN);
        mpfr_mul(r26509, r26507, r26507, MPFR_RNDN);
        mpfr_add(r26510, r26508, r26509, MPFR_RNDN);
        mpfr_add(r26511, r26506, r26510, MPFR_RNDN);
        mpfr_mul(r26512, r26480, r26511, MPFR_RNDN);
        mpfr_pow(r26513, r26505, r26494, MPFR_RNDN);
        mpfr_pow(r26514, r26507, r26494, MPFR_RNDN);
        mpfr_sub(r26515, r26513, r26514, MPFR_RNDN);
        mpfr_mul(r26516, r26515, r26484, MPFR_RNDN);
        mpfr_sub(r26517, r26512, r26516, MPFR_RNDN);
        mpfr_mul(r26518, r26484, r26510, MPFR_RNDN);
        mpfr_div(r26519, r26517, r26518, MPFR_RNDN);
        mpfr_div(r26520, r26519, r26481, MPFR_RNDN);
        ;
        mpfr_set_si(r26522, mpfr_cmp(r26502, r26521) <= 0, MPFR_RNDN);
        mpfr_div(r26523, r26486, r26484, MPFR_RNDN);
        mpfr_neg(r26524, r26507, MPFR_RNDN);
        mpfr_fma(r26525, r26482, r26523, r26524, MPFR_RNDN);
        mpfr_sub(r26526, r26485, r26525, MPFR_RNDN);
        mpfr_div(r26527, r26526, r26481, MPFR_RNDN);
        if (mpfr_get_si(r26522, MPFR_RNDN)) { mpfr_set(r26528, r26502, MPFR_RNDN); } else { mpfr_set(r26528, r26527, MPFR_RNDN); };
        if (mpfr_get_si(r26504, MPFR_RNDN)) { mpfr_set(r26529, r26520, MPFR_RNDN); } else { mpfr_set(r26529, r26528, MPFR_RNDN); };
        return mpfr_get_d(r26529, MPFR_RNDN);
}

