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

char *name = "Main:i from ";

double f_if(float x) {
        float r43407 = x;
        float r43408 = r43407 + r43407;
        float r43409 = r43408 + r43407;
        float r43410 = r43409 + r43407;
        float r43411 = r43410 + r43407;
        return r43411;
}

double f_id(double x) {
        double r43412 = x;
        double r43413 = r43412 + r43412;
        double r43414 = r43413 + r43412;
        double r43415 = r43414 + r43412;
        double r43416 = r43415 + r43412;
        return r43416;
}


double f_of(float x) {
        float r43417 = x;
        float r43418 = r43417 + r43417;
        float r43419 = r43418 + r43417;
        float r43420 = r43419 + r43417;
        float r43421 = r43420 + r43417;
        return r43421;
}

double f_od(double x) {
        double r43422 = x;
        double r43423 = r43422 + r43422;
        double r43424 = r43423 + r43422;
        double r43425 = r43424 + r43422;
        double r43426 = r43425 + r43422;
        return r43426;
}

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 r43427, r43428, r43429, r43430, r43431;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r43427);
        mpfr_init(r43428);
        mpfr_init(r43429);
        mpfr_init(r43430);
        mpfr_init(r43431);
}

double f_im(double x) {
        mpfr_set_d(r43427, x, MPFR_RNDN);
        mpfr_add(r43428, r43427, r43427, MPFR_RNDN);
        mpfr_add(r43429, r43428, r43427, MPFR_RNDN);
        mpfr_add(r43430, r43429, r43427, MPFR_RNDN);
        mpfr_add(r43431, r43430, r43427, MPFR_RNDN);
        return mpfr_get_d(r43431, MPFR_RNDN);
}

static mpfr_t r43432, r43433, r43434, r43435, r43436;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r43432);
        mpfr_init(r43433);
        mpfr_init(r43434);
        mpfr_init(r43435);
        mpfr_init(r43436);
}

double f_fm(double x) {
        mpfr_set_d(r43432, x, MPFR_RNDN);
        mpfr_add(r43433, r43432, r43432, MPFR_RNDN);
        mpfr_add(r43434, r43433, r43432, MPFR_RNDN);
        mpfr_add(r43435, r43434, r43432, MPFR_RNDN);
        mpfr_add(r43436, r43435, r43432, MPFR_RNDN);
        return mpfr_get_d(r43436, MPFR_RNDN);
}

static mpfr_t r43437, r43438, r43439, r43440, r43441;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r43437);
        mpfr_init(r43438);
        mpfr_init(r43439);
        mpfr_init(r43440);
        mpfr_init(r43441);
}

double f_dm(double x) {
        mpfr_set_d(r43437, x, MPFR_RNDN);
        mpfr_add(r43438, r43437, r43437, MPFR_RNDN);
        mpfr_add(r43439, r43438, r43437, MPFR_RNDN);
        mpfr_add(r43440, r43439, r43437, MPFR_RNDN);
        mpfr_add(r43441, r43440, r43437, MPFR_RNDN);
        return mpfr_get_d(r43441, MPFR_RNDN);
}

