#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 r26523 = i;
        float r26524 = r26523 * r26523;
        float r26525 = r26524 * r26524;
        float r26526 = 2;
        float r26527 = r26526 * r26523;
        float r26528 = r26527 * r26527;
        float r26529 = r26525 / r26528;
        float r26530 = 1.0;
        float r26531 = r26528 - r26530;
        float r26532 = r26529 / r26531;
        return r26532;
}

double f_id(double i) {
        double r26533 = i;
        double r26534 = r26533 * r26533;
        double r26535 = r26534 * r26534;
        double r26536 = 2;
        double r26537 = r26536 * r26533;
        double r26538 = r26537 * r26537;
        double r26539 = r26535 / r26538;
        double r26540 = 1.0;
        double r26541 = r26538 - r26540;
        double r26542 = r26539 / r26541;
        return r26542;
}


double f_of(float i) {
        float r26543 = i;
        float r26544 = 133029.44563007404;
        bool r26545 = r26543 <= r26544;
        float r26546 = 2;
        float r26547 = r26543 / r26546;
        float r26548 = r26547 * r26547;
        float r26549 = r26543 + r26543;
        float r26550 = r26549 * r26549;
        float r26551 = 1.0;
        float r26552 = r26550 - r26551;
        float r26553 = r26548 / r26552;
        float r26554 = 0.00390625;
        float r26555 = 4;
        float r26556 = pow(r26543, r26555);
        float r26557 = r26554 / r26556;
        float r26558 = 0.015625;
        float r26559 = r26558 / r26543;
        float r26560 = r26559 / r26543;
        float r26561 = r26557 + r26560;
        float r26562 = 1/16;
        float r26563 = r26561 + r26562;
        float r26564 = r26545 ? r26553 : r26563;
        return r26564;
}

double f_od(double i) {
        double r26565 = i;
        double r26566 = 133029.44563007404;
        bool r26567 = r26565 <= r26566;
        double r26568 = 2;
        double r26569 = r26565 / r26568;
        double r26570 = r26569 * r26569;
        double r26571 = r26565 + r26565;
        double r26572 = r26571 * r26571;
        double r26573 = 1.0;
        double r26574 = r26572 - r26573;
        double r26575 = r26570 / r26574;
        double r26576 = 0.00390625;
        double r26577 = 4;
        double r26578 = pow(r26565, r26577);
        double r26579 = r26576 / r26578;
        double r26580 = 0.015625;
        double r26581 = r26580 / r26565;
        double r26582 = r26581 / r26565;
        double r26583 = r26579 + r26582;
        double r26584 = 1/16;
        double r26585 = r26583 + r26584;
        double r26586 = r26567 ? r26575 : r26585;
        return r26586;
}

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 r26587, r26588, r26589, r26590, r26591, r26592, r26593, r26594, r26595, r26596;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        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_set_str(r26594, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26595);
        mpfr_init(r26596);
}

double f_im(double i) {
        mpfr_set_d(r26587, i, MPFR_RNDN);
        mpfr_mul(r26588, r26587, r26587, MPFR_RNDN);
        mpfr_mul(r26589, r26588, r26588, MPFR_RNDN);
        ;
        mpfr_mul(r26591, r26590, r26587, MPFR_RNDN);
        mpfr_mul(r26592, r26591, r26591, MPFR_RNDN);
        mpfr_div(r26593, r26589, r26592, MPFR_RNDN);
        ;
        mpfr_sub(r26595, r26592, r26594, MPFR_RNDN);
        mpfr_div(r26596, r26593, r26595, MPFR_RNDN);
        return mpfr_get_d(r26596, MPFR_RNDN);
}

static mpfr_t r26597, r26598, r26599, r26600, r26601, r26602, r26603, r26604, r26605, r26606, r26607, r26608, r26609, r26610, r26611, r26612, r26613, r26614, r26615, r26616, r26617, r26618;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26597);
        mpfr_init_set_str(r26598, "133029.44563007404", 10, MPFR_RNDN);
        mpfr_init(r26599);
        mpfr_init_set_str(r26600, "2", 10, MPFR_RNDN);
        mpfr_init(r26601);
        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, "0.00390625", 10, MPFR_RNDN);
        mpfr_init_set_str(r26609, "4", 10, MPFR_RNDN);
        mpfr_init(r26610);
        mpfr_init(r26611);
        mpfr_init_set_str(r26612, "0.015625", 10, MPFR_RNDN);
        mpfr_init(r26613);
        mpfr_init(r26614);
        mpfr_init(r26615);
        mpfr_init_set_str(r26616, "1/16", 10, MPFR_RNDN);
        mpfr_init(r26617);
        mpfr_init(r26618);
}

double f_fm(double i) {
        mpfr_set_d(r26597, i, MPFR_RNDN);
        ;
        mpfr_set_si(r26599, mpfr_cmp(r26597, r26598) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26601, r26597, r26600, MPFR_RNDN);
        mpfr_mul(r26602, r26601, r26601, MPFR_RNDN);
        mpfr_add(r26603, r26597, r26597, MPFR_RNDN);
        mpfr_mul(r26604, r26603, r26603, MPFR_RNDN);
        ;
        mpfr_sub(r26606, r26604, r26605, MPFR_RNDN);
        mpfr_div(r26607, r26602, r26606, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26610, r26597, r26609, MPFR_RNDN);
        mpfr_div(r26611, r26608, r26610, MPFR_RNDN);
        ;
        mpfr_div(r26613, r26612, r26597, MPFR_RNDN);
        mpfr_div(r26614, r26613, r26597, MPFR_RNDN);
        mpfr_add(r26615, r26611, r26614, MPFR_RNDN);
        ;
        mpfr_add(r26617, r26615, r26616, MPFR_RNDN);
        if (mpfr_get_si(r26599, MPFR_RNDN)) { mpfr_set(r26618, r26607, MPFR_RNDN); } else { mpfr_set(r26618, r26617, MPFR_RNDN); };
        return mpfr_get_d(r26618, MPFR_RNDN);
}

static mpfr_t r26619, r26620, r26621, r26622, r26623, r26624, r26625, r26626, r26627, r26628, r26629, r26630, r26631, r26632, r26633, r26634, r26635, r26636, r26637, r26638, r26639, r26640;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26619);
        mpfr_init_set_str(r26620, "133029.44563007404", 10, MPFR_RNDN);
        mpfr_init(r26621);
        mpfr_init_set_str(r26622, "2", 10, MPFR_RNDN);
        mpfr_init(r26623);
        mpfr_init(r26624);
        mpfr_init(r26625);
        mpfr_init(r26626);
        mpfr_init_set_str(r26627, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26628);
        mpfr_init(r26629);
        mpfr_init_set_str(r26630, "0.00390625", 10, MPFR_RNDN);
        mpfr_init_set_str(r26631, "4", 10, MPFR_RNDN);
        mpfr_init(r26632);
        mpfr_init(r26633);
        mpfr_init_set_str(r26634, "0.015625", 10, MPFR_RNDN);
        mpfr_init(r26635);
        mpfr_init(r26636);
        mpfr_init(r26637);
        mpfr_init_set_str(r26638, "1/16", 10, MPFR_RNDN);
        mpfr_init(r26639);
        mpfr_init(r26640);
}

double f_dm(double i) {
        mpfr_set_d(r26619, i, MPFR_RNDN);
        ;
        mpfr_set_si(r26621, mpfr_cmp(r26619, r26620) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26623, r26619, r26622, MPFR_RNDN);
        mpfr_mul(r26624, r26623, r26623, MPFR_RNDN);
        mpfr_add(r26625, r26619, r26619, MPFR_RNDN);
        mpfr_mul(r26626, r26625, r26625, MPFR_RNDN);
        ;
        mpfr_sub(r26628, r26626, r26627, MPFR_RNDN);
        mpfr_div(r26629, r26624, r26628, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26632, r26619, r26631, MPFR_RNDN);
        mpfr_div(r26633, r26630, r26632, MPFR_RNDN);
        ;
        mpfr_div(r26635, r26634, r26619, MPFR_RNDN);
        mpfr_div(r26636, r26635, r26619, MPFR_RNDN);
        mpfr_add(r26637, r26633, r26636, MPFR_RNDN);
        ;
        mpfr_add(r26639, r26637, r26638, MPFR_RNDN);
        if (mpfr_get_si(r26621, MPFR_RNDN)) { mpfr_set(r26640, r26629, MPFR_RNDN); } else { mpfr_set(r26640, r26639, MPFR_RNDN); };
        return mpfr_get_d(r26640, MPFR_RNDN);
}

