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

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

double f_if(float alpha, float beta, float i) {
        float r26463 = alpha;
        float r26464 = beta;
        float r26465 = r26463 + r26464;
        float r26466 = r26464 - r26463;
        float r26467 = r26465 * r26466;
        float r26468 = 2;
        float r26469 = i;
        float r26470 = r26468 * r26469;
        float r26471 = r26465 + r26470;
        float r26472 = r26467 / r26471;
        float r26473 = 2.0;
        float r26474 = r26471 + r26473;
        float r26475 = r26472 / r26474;
        float r26476 = 1.0;
        float r26477 = r26475 + r26476;
        float r26478 = r26477 / r26473;
        return r26478;
}

double f_id(double alpha, double beta, double i) {
        double r26479 = alpha;
        double r26480 = beta;
        double r26481 = r26479 + r26480;
        double r26482 = r26480 - r26479;
        double r26483 = r26481 * r26482;
        double r26484 = 2;
        double r26485 = i;
        double r26486 = r26484 * r26485;
        double r26487 = r26481 + r26486;
        double r26488 = r26483 / r26487;
        double r26489 = 2.0;
        double r26490 = r26487 + r26489;
        double r26491 = r26488 / r26490;
        double r26492 = 1.0;
        double r26493 = r26491 + r26492;
        double r26494 = r26493 / r26489;
        return r26494;
}


double f_of(float alpha, float beta, float i) {
        float r26495 = beta;
        float r26496 = alpha;
        float r26497 = r26495 + r26496;
        float r26498 = 2;
        float r26499 = i;
        float r26500 = r26498 * r26499;
        float r26501 = r26497 + r26500;
        float r26502 = sqrt(r26501);
        float r26503 = r26497 / r26502;
        float r26504 = r26495 - r26496;
        float r26505 = r26496 + r26495;
        float r26506 = r26505 + r26500;
        float r26507 = sqrt(r26506);
        float r26508 = r26504 / r26507;
        float r26509 = 2.0;
        float r26510 = r26506 + r26509;
        float r26511 = r26508 / r26510;
        float r26512 = r26503 * r26511;
        float r26513 = 1.0;
        float r26514 = r26512 + r26513;
        float r26515 = r26514 / r26509;
        float r26516 = 1.7733852100144107e-08;
        bool r26517 = r26515 <= r26516;
        float r26518 = r26509 / r26496;
        float r26519 = 8.0;
        float r26520 = r26519 / r26496;
        float r26521 = 4.0;
        float r26522 = r26520 - r26521;
        float r26523 = r26496 * r26496;
        float r26524 = r26522 / r26523;
        float r26525 = r26518 + r26524;
        float r26526 = r26525 / r26509;
        float r26527 = r26504 / r26506;
        float r26528 = r26527 / r26510;
        float r26529 = r26497 * r26528;
        float r26530 = r26529 + r26513;
        float r26531 = r26530 / r26509;
        float r26532 = r26517 ? r26526 : r26531;
        return r26532;
}

double f_od(double alpha, double beta, double i) {
        double r26533 = beta;
        double r26534 = alpha;
        double r26535 = r26533 + r26534;
        double r26536 = 2;
        double r26537 = i;
        double r26538 = r26536 * r26537;
        double r26539 = r26535 + r26538;
        double r26540 = sqrt(r26539);
        double r26541 = r26535 / r26540;
        double r26542 = r26533 - r26534;
        double r26543 = r26534 + r26533;
        double r26544 = r26543 + r26538;
        double r26545 = sqrt(r26544);
        double r26546 = r26542 / r26545;
        double r26547 = 2.0;
        double r26548 = r26544 + r26547;
        double r26549 = r26546 / r26548;
        double r26550 = r26541 * r26549;
        double r26551 = 1.0;
        double r26552 = r26550 + r26551;
        double r26553 = r26552 / r26547;
        double r26554 = 1.7733852100144107e-08;
        bool r26555 = r26553 <= r26554;
        double r26556 = r26547 / r26534;
        double r26557 = 8.0;
        double r26558 = r26557 / r26534;
        double r26559 = 4.0;
        double r26560 = r26558 - r26559;
        double r26561 = r26534 * r26534;
        double r26562 = r26560 / r26561;
        double r26563 = r26556 + r26562;
        double r26564 = r26563 / r26547;
        double r26565 = r26542 / r26544;
        double r26566 = r26565 / r26548;
        double r26567 = r26535 * r26566;
        double r26568 = r26567 + r26551;
        double r26569 = r26568 / r26547;
        double r26570 = r26555 ? r26564 : r26569;
        return r26570;
}

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 r26571, r26572, r26573, r26574, r26575, r26576, r26577, r26578, r26579, r26580, r26581, r26582, r26583, r26584, r26585, r26586;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26571);
        mpfr_init(r26572);
        mpfr_init(r26573);
        mpfr_init(r26574);
        mpfr_init(r26575);
        mpfr_init_set_str(r26576, "2", 10, MPFR_RNDN);
        mpfr_init(r26577);
        mpfr_init(r26578);
        mpfr_init(r26579);
        mpfr_init(r26580);
        mpfr_init_set_str(r26581, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26582);
        mpfr_init(r26583);
        mpfr_init_set_str(r26584, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26585);
        mpfr_init(r26586);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r26571, alpha, MPFR_RNDN);
        mpfr_set_d(r26572, beta, MPFR_RNDN);
        mpfr_add(r26573, r26571, r26572, MPFR_RNDN);
        mpfr_sub(r26574, r26572, r26571, MPFR_RNDN);
        mpfr_mul(r26575, r26573, r26574, MPFR_RNDN);
        ;
        mpfr_set_d(r26577, i, MPFR_RNDN);
        mpfr_mul(r26578, r26576, r26577, MPFR_RNDN);
        mpfr_add(r26579, r26573, r26578, MPFR_RNDN);
        mpfr_div(r26580, r26575, r26579, MPFR_RNDN);
        ;
        mpfr_add(r26582, r26579, r26581, MPFR_RNDN);
        mpfr_div(r26583, r26580, r26582, MPFR_RNDN);
        ;
        mpfr_add(r26585, r26583, r26584, MPFR_RNDN);
        mpfr_div(r26586, r26585, r26581, MPFR_RNDN);
        return mpfr_get_d(r26586, MPFR_RNDN);
}

static mpfr_t 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, r26620, r26621, r26622, r26623, r26624;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26587);
        mpfr_init(r26588);
        mpfr_init(r26589);
        mpfr_init_set_str(r26590, "2", 10, MPFR_RNDN);
        mpfr_init(r26591);
        mpfr_init(r26592);
        mpfr_init(r26593);
        mpfr_init(r26594);
        mpfr_init(r26595);
        mpfr_init(r26596);
        mpfr_init(r26597);
        mpfr_init(r26598);
        mpfr_init(r26599);
        mpfr_init(r26600);
        mpfr_init_set_str(r26601, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26602);
        mpfr_init(r26603);
        mpfr_init(r26604);
        mpfr_init_set_str(r26605, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26606);
        mpfr_init(r26607);
        mpfr_init_set_str(r26608, "1.7733852100144107e-08", 10, MPFR_RNDN);
        mpfr_init(r26609);
        mpfr_init(r26610);
        mpfr_init_set_str(r26611, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26612);
        mpfr_init_set_str(r26613, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26614);
        mpfr_init(r26615);
        mpfr_init(r26616);
        mpfr_init(r26617);
        mpfr_init(r26618);
        mpfr_init(r26619);
        mpfr_init(r26620);
        mpfr_init(r26621);
        mpfr_init(r26622);
        mpfr_init(r26623);
        mpfr_init(r26624);
}

double f_fm(double alpha, double beta, double i) {
        mpfr_set_d(r26587, beta, MPFR_RNDN);
        mpfr_set_d(r26588, alpha, MPFR_RNDN);
        mpfr_add(r26589, r26587, r26588, MPFR_RNDN);
        ;
        mpfr_set_d(r26591, i, MPFR_RNDN);
        mpfr_mul(r26592, r26590, r26591, MPFR_RNDN);
        mpfr_add(r26593, r26589, r26592, MPFR_RNDN);
        mpfr_sqrt(r26594, r26593, MPFR_RNDN);
        mpfr_div(r26595, r26589, r26594, MPFR_RNDN);
        mpfr_sub(r26596, r26587, r26588, MPFR_RNDN);
        mpfr_add(r26597, r26588, r26587, MPFR_RNDN);
        mpfr_add(r26598, r26597, r26592, MPFR_RNDN);
        mpfr_sqrt(r26599, r26598, MPFR_RNDN);
        mpfr_div(r26600, r26596, r26599, MPFR_RNDN);
        ;
        mpfr_add(r26602, r26598, r26601, MPFR_RNDN);
        mpfr_div(r26603, r26600, r26602, MPFR_RNDN);
        mpfr_mul(r26604, r26595, r26603, MPFR_RNDN);
        ;
        mpfr_add(r26606, r26604, r26605, MPFR_RNDN);
        mpfr_div(r26607, r26606, r26601, MPFR_RNDN);
        ;
        mpfr_set_si(r26609, mpfr_cmp(r26607, r26608) <= 0, MPFR_RNDN);
        mpfr_div(r26610, r26601, r26588, MPFR_RNDN);
        ;
        mpfr_div(r26612, r26611, r26588, MPFR_RNDN);
        ;
        mpfr_sub(r26614, r26612, r26613, MPFR_RNDN);
        mpfr_mul(r26615, r26588, r26588, MPFR_RNDN);
        mpfr_div(r26616, r26614, r26615, MPFR_RNDN);
        mpfr_add(r26617, r26610, r26616, MPFR_RNDN);
        mpfr_div(r26618, r26617, r26601, MPFR_RNDN);
        mpfr_div(r26619, r26596, r26598, MPFR_RNDN);
        mpfr_div(r26620, r26619, r26602, MPFR_RNDN);
        mpfr_mul(r26621, r26589, r26620, MPFR_RNDN);
        mpfr_add(r26622, r26621, r26605, MPFR_RNDN);
        mpfr_div(r26623, r26622, r26601, MPFR_RNDN);
        if (mpfr_get_si(r26609, MPFR_RNDN)) { mpfr_set(r26624, r26618, MPFR_RNDN); } else { mpfr_set(r26624, r26623, MPFR_RNDN); };
        return mpfr_get_d(r26624, MPFR_RNDN);
}

static mpfr_t r26625, r26626, r26627, r26628, r26629, r26630, r26631, r26632, r26633, r26634, r26635, r26636, r26637, r26638, r26639, r26640, r26641, r26642, r26643, r26644, r26645, r26646, r26647, r26648, r26649, r26650, r26651, r26652, r26653, r26654, r26655, r26656, r26657, r26658, r26659, r26660, r26661, r26662;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26625);
        mpfr_init(r26626);
        mpfr_init(r26627);
        mpfr_init_set_str(r26628, "2", 10, MPFR_RNDN);
        mpfr_init(r26629);
        mpfr_init(r26630);
        mpfr_init(r26631);
        mpfr_init(r26632);
        mpfr_init(r26633);
        mpfr_init(r26634);
        mpfr_init(r26635);
        mpfr_init(r26636);
        mpfr_init(r26637);
        mpfr_init(r26638);
        mpfr_init_set_str(r26639, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26640);
        mpfr_init(r26641);
        mpfr_init(r26642);
        mpfr_init_set_str(r26643, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26644);
        mpfr_init(r26645);
        mpfr_init_set_str(r26646, "1.7733852100144107e-08", 10, MPFR_RNDN);
        mpfr_init(r26647);
        mpfr_init(r26648);
        mpfr_init_set_str(r26649, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26650);
        mpfr_init_set_str(r26651, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26652);
        mpfr_init(r26653);
        mpfr_init(r26654);
        mpfr_init(r26655);
        mpfr_init(r26656);
        mpfr_init(r26657);
        mpfr_init(r26658);
        mpfr_init(r26659);
        mpfr_init(r26660);
        mpfr_init(r26661);
        mpfr_init(r26662);
}

double f_dm(double alpha, double beta, double i) {
        mpfr_set_d(r26625, beta, MPFR_RNDN);
        mpfr_set_d(r26626, alpha, MPFR_RNDN);
        mpfr_add(r26627, r26625, r26626, MPFR_RNDN);
        ;
        mpfr_set_d(r26629, i, MPFR_RNDN);
        mpfr_mul(r26630, r26628, r26629, MPFR_RNDN);
        mpfr_add(r26631, r26627, r26630, MPFR_RNDN);
        mpfr_sqrt(r26632, r26631, MPFR_RNDN);
        mpfr_div(r26633, r26627, r26632, MPFR_RNDN);
        mpfr_sub(r26634, r26625, r26626, MPFR_RNDN);
        mpfr_add(r26635, r26626, r26625, MPFR_RNDN);
        mpfr_add(r26636, r26635, r26630, MPFR_RNDN);
        mpfr_sqrt(r26637, r26636, MPFR_RNDN);
        mpfr_div(r26638, r26634, r26637, MPFR_RNDN);
        ;
        mpfr_add(r26640, r26636, r26639, MPFR_RNDN);
        mpfr_div(r26641, r26638, r26640, MPFR_RNDN);
        mpfr_mul(r26642, r26633, r26641, MPFR_RNDN);
        ;
        mpfr_add(r26644, r26642, r26643, MPFR_RNDN);
        mpfr_div(r26645, r26644, r26639, MPFR_RNDN);
        ;
        mpfr_set_si(r26647, mpfr_cmp(r26645, r26646) <= 0, MPFR_RNDN);
        mpfr_div(r26648, r26639, r26626, MPFR_RNDN);
        ;
        mpfr_div(r26650, r26649, r26626, MPFR_RNDN);
        ;
        mpfr_sub(r26652, r26650, r26651, MPFR_RNDN);
        mpfr_mul(r26653, r26626, r26626, MPFR_RNDN);
        mpfr_div(r26654, r26652, r26653, MPFR_RNDN);
        mpfr_add(r26655, r26648, r26654, MPFR_RNDN);
        mpfr_div(r26656, r26655, r26639, MPFR_RNDN);
        mpfr_div(r26657, r26634, r26636, MPFR_RNDN);
        mpfr_div(r26658, r26657, r26640, MPFR_RNDN);
        mpfr_mul(r26659, r26627, r26658, MPFR_RNDN);
        mpfr_add(r26660, r26659, r26643, MPFR_RNDN);
        mpfr_div(r26661, r26660, r26639, MPFR_RNDN);
        if (mpfr_get_si(r26647, MPFR_RNDN)) { mpfr_set(r26662, r26656, MPFR_RNDN); } else { mpfr_set(r26662, r26661, MPFR_RNDN); };
        return mpfr_get_d(r26662, MPFR_RNDN);
}

