#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 r26479 = i;
        float r26480 = r26479 * r26479;
        float r26481 = r26480 * r26480;
        float r26482 = 2;
        float r26483 = r26482 * r26479;
        float r26484 = r26483 * r26483;
        float r26485 = r26481 / r26484;
        float r26486 = 1.0;
        float r26487 = r26484 - r26486;
        float r26488 = r26485 / r26487;
        return r26488;
}

double f_id(double i) {
        double r26489 = i;
        double r26490 = r26489 * r26489;
        double r26491 = r26490 * r26490;
        double r26492 = 2;
        double r26493 = r26492 * r26489;
        double r26494 = r26493 * r26493;
        double r26495 = r26491 / r26494;
        double r26496 = 1.0;
        double r26497 = r26494 - r26496;
        double r26498 = r26495 / r26497;
        return r26498;
}


double f_of(float i) {
        float r26499 = i;
        float r26500 = 274.2521640110874;
        bool r26501 = r26499 <= r26500;
        float r26502 = 2;
        float r26503 = r26499 / r26502;
        float r26504 = r26503 * r26503;
        float r26505 = r26499 + r26499;
        float r26506 = r26505 * r26505;
        float r26507 = 1.0;
        float r26508 = r26506 - r26507;
        float r26509 = r26504 / r26508;
        float r26510 = 0.00390625;
        float r26511 = 4;
        float r26512 = pow(r26499, r26511);
        float r26513 = r26510 / r26512;
        float r26514 = 0.015625;
        float r26515 = r26514 / r26499;
        float r26516 = r26515 / r26499;
        float r26517 = r26513 + r26516;
        float r26518 = 1/16;
        float r26519 = r26517 + r26518;
        float r26520 = r26501 ? r26509 : r26519;
        return r26520;
}

double f_od(double i) {
        double r26521 = i;
        double r26522 = 274.2521640110874;
        bool r26523 = r26521 <= r26522;
        double r26524 = 2;
        double r26525 = r26521 / r26524;
        double r26526 = r26525 * r26525;
        double r26527 = r26521 + r26521;
        double r26528 = r26527 * r26527;
        double r26529 = 1.0;
        double r26530 = r26528 - r26529;
        double r26531 = r26526 / r26530;
        double r26532 = 0.00390625;
        double r26533 = 4;
        double r26534 = pow(r26521, r26533);
        double r26535 = r26532 / r26534;
        double r26536 = 0.015625;
        double r26537 = r26536 / r26521;
        double r26538 = r26537 / r26521;
        double r26539 = r26535 + r26538;
        double r26540 = 1/16;
        double r26541 = r26539 + r26540;
        double r26542 = r26523 ? r26531 : r26541;
        return r26542;
}

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 r26543, r26544, r26545, r26546, r26547, r26548, r26549, r26550, r26551, r26552;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r26543);
        mpfr_init(r26544);
        mpfr_init(r26545);
        mpfr_init_set_str(r26546, "2", 10, MPFR_RNDN);
        mpfr_init(r26547);
        mpfr_init(r26548);
        mpfr_init(r26549);
        mpfr_init_set_str(r26550, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26551);
        mpfr_init(r26552);
}

double f_im(double i) {
        mpfr_set_d(r26543, i, MPFR_RNDN);
        mpfr_mul(r26544, r26543, r26543, MPFR_RNDN);
        mpfr_mul(r26545, r26544, r26544, MPFR_RNDN);
        ;
        mpfr_mul(r26547, r26546, r26543, MPFR_RNDN);
        mpfr_mul(r26548, r26547, r26547, MPFR_RNDN);
        mpfr_div(r26549, r26545, r26548, MPFR_RNDN);
        ;
        mpfr_sub(r26551, r26548, r26550, MPFR_RNDN);
        mpfr_div(r26552, r26549, r26551, MPFR_RNDN);
        return mpfr_get_d(r26552, MPFR_RNDN);
}

static mpfr_t r26553, r26554, r26555, r26556, r26557, r26558, r26559, r26560, r26561, r26562, r26563, r26564, r26565, r26566, r26567, r26568, r26569, r26570, r26571, r26572, r26573, r26574;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26553);
        mpfr_init_set_str(r26554, "274.2521640110874", 10, MPFR_RNDN);
        mpfr_init(r26555);
        mpfr_init_set_str(r26556, "2", 10, MPFR_RNDN);
        mpfr_init(r26557);
        mpfr_init(r26558);
        mpfr_init(r26559);
        mpfr_init(r26560);
        mpfr_init_set_str(r26561, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26562);
        mpfr_init(r26563);
        mpfr_init_set_str(r26564, "0.00390625", 10, MPFR_RNDN);
        mpfr_init_set_str(r26565, "4", 10, MPFR_RNDN);
        mpfr_init(r26566);
        mpfr_init(r26567);
        mpfr_init_set_str(r26568, "0.015625", 10, MPFR_RNDN);
        mpfr_init(r26569);
        mpfr_init(r26570);
        mpfr_init(r26571);
        mpfr_init_set_str(r26572, "1/16", 10, MPFR_RNDN);
        mpfr_init(r26573);
        mpfr_init(r26574);
}

double f_fm(double i) {
        mpfr_set_d(r26553, i, MPFR_RNDN);
        ;
        mpfr_set_si(r26555, mpfr_cmp(r26553, r26554) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26557, r26553, r26556, MPFR_RNDN);
        mpfr_mul(r26558, r26557, r26557, MPFR_RNDN);
        mpfr_add(r26559, r26553, r26553, MPFR_RNDN);
        mpfr_mul(r26560, r26559, r26559, MPFR_RNDN);
        ;
        mpfr_sub(r26562, r26560, r26561, MPFR_RNDN);
        mpfr_div(r26563, r26558, r26562, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26566, r26553, r26565, MPFR_RNDN);
        mpfr_div(r26567, r26564, r26566, MPFR_RNDN);
        ;
        mpfr_div(r26569, r26568, r26553, MPFR_RNDN);
        mpfr_div(r26570, r26569, r26553, MPFR_RNDN);
        mpfr_add(r26571, r26567, r26570, MPFR_RNDN);
        ;
        mpfr_add(r26573, r26571, r26572, MPFR_RNDN);
        if (mpfr_get_si(r26555, MPFR_RNDN)) { mpfr_set(r26574, r26563, MPFR_RNDN); } else { mpfr_set(r26574, r26573, MPFR_RNDN); };
        return mpfr_get_d(r26574, MPFR_RNDN);
}

static mpfr_t r26575, r26576, r26577, r26578, r26579, r26580, r26581, r26582, r26583, r26584, r26585, r26586, r26587, r26588, r26589, r26590, r26591, r26592, r26593, r26594, r26595, r26596;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26575);
        mpfr_init_set_str(r26576, "274.2521640110874", 10, MPFR_RNDN);
        mpfr_init(r26577);
        mpfr_init_set_str(r26578, "2", 10, MPFR_RNDN);
        mpfr_init(r26579);
        mpfr_init(r26580);
        mpfr_init(r26581);
        mpfr_init(r26582);
        mpfr_init_set_str(r26583, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26584);
        mpfr_init(r26585);
        mpfr_init_set_str(r26586, "0.00390625", 10, MPFR_RNDN);
        mpfr_init_set_str(r26587, "4", 10, MPFR_RNDN);
        mpfr_init(r26588);
        mpfr_init(r26589);
        mpfr_init_set_str(r26590, "0.015625", 10, MPFR_RNDN);
        mpfr_init(r26591);
        mpfr_init(r26592);
        mpfr_init(r26593);
        mpfr_init_set_str(r26594, "1/16", 10, MPFR_RNDN);
        mpfr_init(r26595);
        mpfr_init(r26596);
}

double f_dm(double i) {
        mpfr_set_d(r26575, i, MPFR_RNDN);
        ;
        mpfr_set_si(r26577, mpfr_cmp(r26575, r26576) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26579, r26575, r26578, MPFR_RNDN);
        mpfr_mul(r26580, r26579, r26579, MPFR_RNDN);
        mpfr_add(r26581, r26575, r26575, MPFR_RNDN);
        mpfr_mul(r26582, r26581, r26581, MPFR_RNDN);
        ;
        mpfr_sub(r26584, r26582, r26583, MPFR_RNDN);
        mpfr_div(r26585, r26580, r26584, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26588, r26575, r26587, MPFR_RNDN);
        mpfr_div(r26589, r26586, r26588, MPFR_RNDN);
        ;
        mpfr_div(r26591, r26590, r26575, MPFR_RNDN);
        mpfr_div(r26592, r26591, r26575, MPFR_RNDN);
        mpfr_add(r26593, r26589, r26592, MPFR_RNDN);
        ;
        mpfr_add(r26595, r26593, r26594, MPFR_RNDN);
        if (mpfr_get_si(r26577, MPFR_RNDN)) { mpfr_set(r26596, r26585, MPFR_RNDN); } else { mpfr_set(r26596, r26595, MPFR_RNDN); };
        return mpfr_get_d(r26596, MPFR_RNDN);
}

