#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 r29092 = x;
        float r29093 = r29092 + r29092;
        float r29094 = r29093 + r29092;
        float r29095 = r29094 + r29092;
        float r29096 = r29095 + r29092;
        return r29096;
}

double f_id(double x) {
        double r29097 = x;
        double r29098 = r29097 + r29097;
        double r29099 = r29098 + r29097;
        double r29100 = r29099 + r29097;
        double r29101 = r29100 + r29097;
        return r29101;
}


double f_of(float x) {
        float r29102 = x;
        float r29103 = r29102 + r29102;
        float r29104 = r29103 + r29102;
        float r29105 = r29104 + r29102;
        float r29106 = r29105 + r29102;
        return r29106;
}

double f_od(double x) {
        double r29107 = x;
        double r29108 = r29107 + r29107;
        double r29109 = r29108 + r29107;
        double r29110 = r29109 + r29107;
        double r29111 = r29110 + r29107;
        return r29111;
}

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 r29112, r29113, r29114, r29115, r29116;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29112);
        mpfr_init(r29113);
        mpfr_init(r29114);
        mpfr_init(r29115);
        mpfr_init(r29116);
}

double f_im(double x) {
        mpfr_set_d(r29112, x, MPFR_RNDN);
        mpfr_add(r29113, r29112, r29112, MPFR_RNDN);
        mpfr_add(r29114, r29113, r29112, MPFR_RNDN);
        mpfr_add(r29115, r29114, r29112, MPFR_RNDN);
        mpfr_add(r29116, r29115, r29112, MPFR_RNDN);
        return mpfr_get_d(r29116, MPFR_RNDN);
}

static mpfr_t r29117, r29118, r29119, r29120, r29121;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29117);
        mpfr_init(r29118);
        mpfr_init(r29119);
        mpfr_init(r29120);
        mpfr_init(r29121);
}

double f_fm(double x) {
        mpfr_set_d(r29117, x, MPFR_RNDN);
        mpfr_add(r29118, r29117, r29117, MPFR_RNDN);
        mpfr_add(r29119, r29118, r29117, MPFR_RNDN);
        mpfr_add(r29120, r29119, r29117, MPFR_RNDN);
        mpfr_add(r29121, r29120, r29117, MPFR_RNDN);
        return mpfr_get_d(r29121, MPFR_RNDN);
}

static mpfr_t r29122, r29123, r29124, r29125, r29126;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29122);
        mpfr_init(r29123);
        mpfr_init(r29124);
        mpfr_init(r29125);
        mpfr_init(r29126);
}

double f_dm(double x) {
        mpfr_set_d(r29122, x, MPFR_RNDN);
        mpfr_add(r29123, r29122, r29122, MPFR_RNDN);
        mpfr_add(r29124, r29123, r29122, MPFR_RNDN);
        mpfr_add(r29125, r29124, r29122, MPFR_RNDN);
        mpfr_add(r29126, r29125, r29122, MPFR_RNDN);
        return mpfr_get_d(r29126, MPFR_RNDN);
}

