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

char *name = "Octave 3.8, jcobi/4, as called";

double f_if(float i) {
        float r26511 = i;
        float r26512 = r26511 * r26511;
        float r26513 = r26512 * r26512;
        float r26514 = 2;
        float r26515 = r26514 * r26511;
        float r26516 = r26515 * r26515;
        float r26517 = r26513 / r26516;
        float r26518 = 1.0;
        float r26519 = r26516 - r26518;
        float r26520 = r26517 / r26519;
        return r26520;
}

double f_id(double i) {
        double r26521 = i;
        double r26522 = r26521 * r26521;
        double r26523 = r26522 * r26522;
        double r26524 = 2;
        double r26525 = r26524 * r26521;
        double r26526 = r26525 * r26525;
        double r26527 = r26523 / r26526;
        double r26528 = 1.0;
        double r26529 = r26526 - r26528;
        double r26530 = r26527 / r26529;
        return r26530;
}


double f_of(float i) {
        float r26531 = i;
        float r26532 = 274.2521640110874;
        bool r26533 = r26531 <= r26532;
        float r26534 = 2;
        float r26535 = r26531 / r26534;
        float r26536 = r26535 * r26535;
        float r26537 = r26531 + r26531;
        float r26538 = r26537 * r26537;
        float r26539 = 1.0;
        float r26540 = r26538 - r26539;
        float r26541 = r26536 / r26540;
        float r26542 = 0.00390625;
        float r26543 = 4;
        float r26544 = pow(r26531, r26543);
        float r26545 = r26542 / r26544;
        float r26546 = 0.015625;
        float r26547 = r26546 / r26531;
        float r26548 = r26547 / r26531;
        float r26549 = r26545 + r26548;
        float r26550 = 1/16;
        float r26551 = r26549 + r26550;
        float r26552 = r26533 ? r26541 : r26551;
        return r26552;
}

double f_od(double i) {
        double r26553 = i;
        double r26554 = 274.2521640110874;
        bool r26555 = r26553 <= r26554;
        double r26556 = 2;
        double r26557 = r26553 / r26556;
        double r26558 = r26557 * r26557;
        double r26559 = r26553 + r26553;
        double r26560 = r26559 * r26559;
        double r26561 = 1.0;
        double r26562 = r26560 - r26561;
        double r26563 = r26558 / r26562;
        double r26564 = 0.00390625;
        double r26565 = 4;
        double r26566 = pow(r26553, r26565);
        double r26567 = r26564 / r26566;
        double r26568 = 0.015625;
        double r26569 = r26568 / r26553;
        double r26570 = r26569 / r26553;
        double r26571 = r26567 + r26570;
        double r26572 = 1/16;
        double r26573 = r26571 + r26572;
        double r26574 = r26555 ? r26563 : r26573;
        return r26574;
}

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 r26575, r26576, r26577, r26578, r26579, r26580, r26581, r26582, r26583, r26584;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r26575);
        mpfr_init(r26576);
        mpfr_init(r26577);
        mpfr_init_set_str(r26578, "2", 10, MPFR_RNDN);
        mpfr_init(r26579);
        mpfr_init(r26580);
        mpfr_init(r26581);
        mpfr_init_set_str(r26582, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26583);
        mpfr_init(r26584);
}

double f_im(double i) {
        mpfr_set_d(r26575, i, MPFR_RNDN);
        mpfr_mul(r26576, r26575, r26575, MPFR_RNDN);
        mpfr_mul(r26577, r26576, r26576, MPFR_RNDN);
        ;
        mpfr_mul(r26579, r26578, r26575, MPFR_RNDN);
        mpfr_mul(r26580, r26579, r26579, MPFR_RNDN);
        mpfr_div(r26581, r26577, r26580, MPFR_RNDN);
        ;
        mpfr_sub(r26583, r26580, r26582, MPFR_RNDN);
        mpfr_div(r26584, r26581, r26583, MPFR_RNDN);
        return mpfr_get_d(r26584, MPFR_RNDN);
}

static mpfr_t r26585, r26586, r26587, r26588, r26589, r26590, r26591, r26592, r26593, r26594, r26595, r26596, r26597, r26598, r26599, r26600, r26601, r26602, r26603, r26604, r26605, r26606;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26585);
        mpfr_init_set_str(r26586, "274.2521640110874", 10, MPFR_RNDN);
        mpfr_init(r26587);
        mpfr_init_set_str(r26588, "2", 10, MPFR_RNDN);
        mpfr_init(r26589);
        mpfr_init(r26590);
        mpfr_init(r26591);
        mpfr_init(r26592);
        mpfr_init_set_str(r26593, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26594);
        mpfr_init(r26595);
        mpfr_init_set_str(r26596, "0.00390625", 10, MPFR_RNDN);
        mpfr_init_set_str(r26597, "4", 10, MPFR_RNDN);
        mpfr_init(r26598);
        mpfr_init(r26599);
        mpfr_init_set_str(r26600, "0.015625", 10, MPFR_RNDN);
        mpfr_init(r26601);
        mpfr_init(r26602);
        mpfr_init(r26603);
        mpfr_init_set_str(r26604, "1/16", 10, MPFR_RNDN);
        mpfr_init(r26605);
        mpfr_init(r26606);
}

double f_fm(double i) {
        mpfr_set_d(r26585, i, MPFR_RNDN);
        ;
        mpfr_set_si(r26587, mpfr_cmp(r26585, r26586) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26589, r26585, r26588, MPFR_RNDN);
        mpfr_mul(r26590, r26589, r26589, MPFR_RNDN);
        mpfr_add(r26591, r26585, r26585, MPFR_RNDN);
        mpfr_mul(r26592, r26591, r26591, MPFR_RNDN);
        ;
        mpfr_sub(r26594, r26592, r26593, MPFR_RNDN);
        mpfr_div(r26595, r26590, r26594, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26598, r26585, r26597, MPFR_RNDN);
        mpfr_div(r26599, r26596, r26598, MPFR_RNDN);
        ;
        mpfr_div(r26601, r26600, r26585, MPFR_RNDN);
        mpfr_div(r26602, r26601, r26585, MPFR_RNDN);
        mpfr_add(r26603, r26599, r26602, MPFR_RNDN);
        ;
        mpfr_add(r26605, r26603, r26604, MPFR_RNDN);
        if (mpfr_get_si(r26587, MPFR_RNDN)) { mpfr_set(r26606, r26595, MPFR_RNDN); } else { mpfr_set(r26606, r26605, MPFR_RNDN); };
        return mpfr_get_d(r26606, MPFR_RNDN);
}

static mpfr_t r26607, r26608, r26609, r26610, r26611, r26612, r26613, r26614, r26615, r26616, r26617, r26618, r26619, r26620, r26621, r26622, r26623, r26624, r26625, r26626, r26627, r26628;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26607);
        mpfr_init_set_str(r26608, "274.2521640110874", 10, MPFR_RNDN);
        mpfr_init(r26609);
        mpfr_init_set_str(r26610, "2", 10, MPFR_RNDN);
        mpfr_init(r26611);
        mpfr_init(r26612);
        mpfr_init(r26613);
        mpfr_init(r26614);
        mpfr_init_set_str(r26615, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26616);
        mpfr_init(r26617);
        mpfr_init_set_str(r26618, "0.00390625", 10, MPFR_RNDN);
        mpfr_init_set_str(r26619, "4", 10, MPFR_RNDN);
        mpfr_init(r26620);
        mpfr_init(r26621);
        mpfr_init_set_str(r26622, "0.015625", 10, MPFR_RNDN);
        mpfr_init(r26623);
        mpfr_init(r26624);
        mpfr_init(r26625);
        mpfr_init_set_str(r26626, "1/16", 10, MPFR_RNDN);
        mpfr_init(r26627);
        mpfr_init(r26628);
}

double f_dm(double i) {
        mpfr_set_d(r26607, i, MPFR_RNDN);
        ;
        mpfr_set_si(r26609, mpfr_cmp(r26607, r26608) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26611, r26607, r26610, MPFR_RNDN);
        mpfr_mul(r26612, r26611, r26611, MPFR_RNDN);
        mpfr_add(r26613, r26607, r26607, MPFR_RNDN);
        mpfr_mul(r26614, r26613, r26613, MPFR_RNDN);
        ;
        mpfr_sub(r26616, r26614, r26615, MPFR_RNDN);
        mpfr_div(r26617, r26612, r26616, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26620, r26607, r26619, MPFR_RNDN);
        mpfr_div(r26621, r26618, r26620, MPFR_RNDN);
        ;
        mpfr_div(r26623, r26622, r26607, MPFR_RNDN);
        mpfr_div(r26624, r26623, r26607, MPFR_RNDN);
        mpfr_add(r26625, r26621, r26624, MPFR_RNDN);
        ;
        mpfr_add(r26627, r26625, r26626, MPFR_RNDN);
        if (mpfr_get_si(r26609, MPFR_RNDN)) { mpfr_set(r26628, r26617, MPFR_RNDN); } else { mpfr_set(r26628, r26627, MPFR_RNDN); };
        return mpfr_get_d(r26628, MPFR_RNDN);
}

