#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 r26446 = beta;
        float r26447 = alpha;
        float r26448 = r26446 - r26447;
        float r26449 = r26447 + r26446;
        float r26450 = 2.0;
        float r26451 = r26449 + r26450;
        float r26452 = r26448 / r26451;
        float r26453 = 1.0;
        float r26454 = r26452 + r26453;
        float r26455 = r26454 / r26450;
        return r26455;
}

double f_id(double alpha, double beta) {
        double r26456 = beta;
        double r26457 = alpha;
        double r26458 = r26456 - r26457;
        double r26459 = r26457 + r26456;
        double r26460 = 2.0;
        double r26461 = r26459 + r26460;
        double r26462 = r26458 / r26461;
        double r26463 = 1.0;
        double r26464 = r26462 + r26463;
        double r26465 = r26464 / r26460;
        return r26465;
}


double f_of(float alpha, float beta) {
        float r26466 = beta;
        float r26467 = alpha;
        float r26468 = r26466 - r26467;
        float r26469 = r26467 + r26466;
        float r26470 = 2.0;
        float r26471 = r26469 + r26470;
        float r26472 = r26468 / r26471;
        float r26473 = 1.0;
        float r26474 = r26472 + r26473;
        float r26475 = r26474 / r26470;
        float r26476 = 2.8139318808893574e-07;
        bool r26477 = r26475 <= r26476;
        float r26478 = r26466 / r26471;
        float r26479 = 4.0;
        float r26480 = 1;
        float r26481 = 2;
        float r26482 = pow(r26467, r26481);
        float r26483 = r26480 / r26482;
        float r26484 = r26479 * r26483;
        float r26485 = 8.0;
        float r26486 = 3;
        float r26487 = pow(r26467, r26486);
        float r26488 = r26480 / r26487;
        float r26489 = r26485 * r26488;
        float r26490 = r26480 / r26467;
        float r26491 = r26470 * r26490;
        float r26492 = r26489 + r26491;
        float r26493 = r26484 - r26492;
        float r26494 = r26478 - r26493;
        float r26495 = r26494 / r26470;
        float r26496 = r26480 / r26471;
        float r26497 = -r26473;
        float r26498 = fma(r26467, r26496, r26497);
        float r26499 = r26478 - r26498;
        float r26500 = r26499 / r26470;
        float r26501 = r26477 ? r26495 : r26500;
        return r26501;
}

double f_od(double alpha, double beta) {
        double r26502 = beta;
        double r26503 = alpha;
        double r26504 = r26502 - r26503;
        double r26505 = r26503 + r26502;
        double r26506 = 2.0;
        double r26507 = r26505 + r26506;
        double r26508 = r26504 / r26507;
        double r26509 = 1.0;
        double r26510 = r26508 + r26509;
        double r26511 = r26510 / r26506;
        double r26512 = 2.8139318808893574e-07;
        bool r26513 = r26511 <= r26512;
        double r26514 = r26502 / r26507;
        double r26515 = 4.0;
        double r26516 = 1;
        double r26517 = 2;
        double r26518 = pow(r26503, r26517);
        double r26519 = r26516 / r26518;
        double r26520 = r26515 * r26519;
        double r26521 = 8.0;
        double r26522 = 3;
        double r26523 = pow(r26503, r26522);
        double r26524 = r26516 / r26523;
        double r26525 = r26521 * r26524;
        double r26526 = r26516 / r26503;
        double r26527 = r26506 * r26526;
        double r26528 = r26525 + r26527;
        double r26529 = r26520 - r26528;
        double r26530 = r26514 - r26529;
        double r26531 = r26530 / r26506;
        double r26532 = r26516 / r26507;
        double r26533 = -r26509;
        double r26534 = fma(r26503, r26532, r26533);
        double r26535 = r26514 - r26534;
        double r26536 = r26535 / r26506;
        double r26537 = r26513 ? r26531 : r26536;
        return r26537;
}

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 r26538, r26539, r26540, r26541, r26542, r26543, r26544, r26545, r26546, r26547;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26538);
        mpfr_init(r26539);
        mpfr_init(r26540);
        mpfr_init(r26541);
        mpfr_init_set_str(r26542, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26543);
        mpfr_init(r26544);
        mpfr_init_set_str(r26545, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26546);
        mpfr_init(r26547);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26538, beta, MPFR_RNDN);
        mpfr_set_d(r26539, alpha, MPFR_RNDN);
        mpfr_sub(r26540, r26538, r26539, MPFR_RNDN);
        mpfr_add(r26541, r26539, r26538, MPFR_RNDN);
        ;
        mpfr_add(r26543, r26541, r26542, MPFR_RNDN);
        mpfr_div(r26544, r26540, r26543, MPFR_RNDN);
        ;
        mpfr_add(r26546, r26544, r26545, MPFR_RNDN);
        mpfr_div(r26547, r26546, r26542, MPFR_RNDN);
        return mpfr_get_d(r26547, MPFR_RNDN);
}

static mpfr_t r26548, r26549, r26550, r26551, r26552, r26553, r26554, r26555, r26556, r26557, r26558, r26559, r26560, r26561, r26562, r26563, r26564, r26565, r26566, r26567, r26568, r26569, r26570, r26571, r26572, r26573, r26574, r26575, r26576, r26577, r26578, r26579, r26580, r26581, r26582, r26583;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26548);
        mpfr_init(r26549);
        mpfr_init(r26550);
        mpfr_init(r26551);
        mpfr_init_set_str(r26552, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26553);
        mpfr_init(r26554);
        mpfr_init_set_str(r26555, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26556);
        mpfr_init(r26557);
        mpfr_init_set_str(r26558, "2.8139318808893574e-07", 10, MPFR_RNDN);
        mpfr_init(r26559);
        mpfr_init(r26560);
        mpfr_init_set_str(r26561, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26562, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26563, "2", 10, MPFR_RNDN);
        mpfr_init(r26564);
        mpfr_init(r26565);
        mpfr_init(r26566);
        mpfr_init_set_str(r26567, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26568, "3", 10, MPFR_RNDN);
        mpfr_init(r26569);
        mpfr_init(r26570);
        mpfr_init(r26571);
        mpfr_init(r26572);
        mpfr_init(r26573);
        mpfr_init(r26574);
        mpfr_init(r26575);
        mpfr_init(r26576);
        mpfr_init(r26577);
        mpfr_init(r26578);
        mpfr_init(r26579);
        mpfr_init(r26580);
        mpfr_init(r26581);
        mpfr_init(r26582);
        mpfr_init(r26583);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26548, beta, MPFR_RNDN);
        mpfr_set_d(r26549, alpha, MPFR_RNDN);
        mpfr_sub(r26550, r26548, r26549, MPFR_RNDN);
        mpfr_add(r26551, r26549, r26548, MPFR_RNDN);
        ;
        mpfr_add(r26553, r26551, r26552, MPFR_RNDN);
        mpfr_div(r26554, r26550, r26553, MPFR_RNDN);
        ;
        mpfr_add(r26556, r26554, r26555, MPFR_RNDN);
        mpfr_div(r26557, r26556, r26552, MPFR_RNDN);
        ;
        mpfr_set_si(r26559, mpfr_cmp(r26557, r26558) <= 0, MPFR_RNDN);
        mpfr_div(r26560, r26548, r26553, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26564, r26549, r26563, MPFR_RNDN);
        mpfr_div(r26565, r26562, r26564, MPFR_RNDN);
        mpfr_mul(r26566, r26561, r26565, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26569, r26549, r26568, MPFR_RNDN);
        mpfr_div(r26570, r26562, r26569, MPFR_RNDN);
        mpfr_mul(r26571, r26567, r26570, MPFR_RNDN);
        mpfr_div(r26572, r26562, r26549, MPFR_RNDN);
        mpfr_mul(r26573, r26552, r26572, MPFR_RNDN);
        mpfr_add(r26574, r26571, r26573, MPFR_RNDN);
        mpfr_sub(r26575, r26566, r26574, MPFR_RNDN);
        mpfr_sub(r26576, r26560, r26575, MPFR_RNDN);
        mpfr_div(r26577, r26576, r26552, MPFR_RNDN);
        mpfr_div(r26578, r26562, r26553, MPFR_RNDN);
        mpfr_neg(r26579, r26555, MPFR_RNDN);
        mpfr_fma(r26580, r26549, r26578, r26579, MPFR_RNDN);
        mpfr_sub(r26581, r26560, r26580, MPFR_RNDN);
        mpfr_div(r26582, r26581, r26552, MPFR_RNDN);
        if (mpfr_get_si(r26559, MPFR_RNDN)) { mpfr_set(r26583, r26577, MPFR_RNDN); } else { mpfr_set(r26583, r26582, MPFR_RNDN); };
        return mpfr_get_d(r26583, MPFR_RNDN);
}

static mpfr_t r26584, r26585, r26586, r26587, r26588, r26589, r26590, r26591, r26592, r26593, r26594, r26595, r26596, r26597, r26598, r26599, r26600, r26601, r26602, r26603, r26604, r26605, r26606, r26607, r26608, r26609, r26610, r26611, r26612, r26613, r26614, r26615, r26616, r26617, r26618, r26619;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26584);
        mpfr_init(r26585);
        mpfr_init(r26586);
        mpfr_init(r26587);
        mpfr_init_set_str(r26588, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26589);
        mpfr_init(r26590);
        mpfr_init_set_str(r26591, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26592);
        mpfr_init(r26593);
        mpfr_init_set_str(r26594, "2.8139318808893574e-07", 10, MPFR_RNDN);
        mpfr_init(r26595);
        mpfr_init(r26596);
        mpfr_init_set_str(r26597, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26598, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26599, "2", 10, MPFR_RNDN);
        mpfr_init(r26600);
        mpfr_init(r26601);
        mpfr_init(r26602);
        mpfr_init_set_str(r26603, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26604, "3", 10, MPFR_RNDN);
        mpfr_init(r26605);
        mpfr_init(r26606);
        mpfr_init(r26607);
        mpfr_init(r26608);
        mpfr_init(r26609);
        mpfr_init(r26610);
        mpfr_init(r26611);
        mpfr_init(r26612);
        mpfr_init(r26613);
        mpfr_init(r26614);
        mpfr_init(r26615);
        mpfr_init(r26616);
        mpfr_init(r26617);
        mpfr_init(r26618);
        mpfr_init(r26619);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26584, beta, MPFR_RNDN);
        mpfr_set_d(r26585, alpha, MPFR_RNDN);
        mpfr_sub(r26586, r26584, r26585, MPFR_RNDN);
        mpfr_add(r26587, r26585, r26584, MPFR_RNDN);
        ;
        mpfr_add(r26589, r26587, r26588, MPFR_RNDN);
        mpfr_div(r26590, r26586, r26589, MPFR_RNDN);
        ;
        mpfr_add(r26592, r26590, r26591, MPFR_RNDN);
        mpfr_div(r26593, r26592, r26588, MPFR_RNDN);
        ;
        mpfr_set_si(r26595, mpfr_cmp(r26593, r26594) <= 0, MPFR_RNDN);
        mpfr_div(r26596, r26584, r26589, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26600, r26585, r26599, MPFR_RNDN);
        mpfr_div(r26601, r26598, r26600, MPFR_RNDN);
        mpfr_mul(r26602, r26597, r26601, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26605, r26585, r26604, MPFR_RNDN);
        mpfr_div(r26606, r26598, r26605, MPFR_RNDN);
        mpfr_mul(r26607, r26603, r26606, MPFR_RNDN);
        mpfr_div(r26608, r26598, r26585, MPFR_RNDN);
        mpfr_mul(r26609, r26588, r26608, MPFR_RNDN);
        mpfr_add(r26610, r26607, r26609, MPFR_RNDN);
        mpfr_sub(r26611, r26602, r26610, MPFR_RNDN);
        mpfr_sub(r26612, r26596, r26611, MPFR_RNDN);
        mpfr_div(r26613, r26612, r26588, MPFR_RNDN);
        mpfr_div(r26614, r26598, r26589, MPFR_RNDN);
        mpfr_neg(r26615, r26591, MPFR_RNDN);
        mpfr_fma(r26616, r26585, r26614, r26615, MPFR_RNDN);
        mpfr_sub(r26617, r26596, r26616, MPFR_RNDN);
        mpfr_div(r26618, r26617, r26588, MPFR_RNDN);
        if (mpfr_get_si(r26595, MPFR_RNDN)) { mpfr_set(r26619, r26613, MPFR_RNDN); } else { mpfr_set(r26619, r26618, MPFR_RNDN); };
        return mpfr_get_d(r26619, MPFR_RNDN);
}

