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

char *name = "Main:bigenough1 from B";

double f_if(float x) {
        float r43530 = x;
        float r43531 = r43530 * r43530;
        float r43532 = r43530 + r43531;
        return r43532;
}

double f_id(double x) {
        double r43533 = x;
        double r43534 = r43533 * r43533;
        double r43535 = r43533 + r43534;
        return r43535;
}


double f_of(float x) {
        float r43536 = x;
        float r43537 = r43536 * r43536;
        float r43538 = r43536 + r43537;
        return r43538;
}

double f_od(double x) {
        double r43539 = x;
        double r43540 = r43539 * r43539;
        double r43541 = r43539 + r43540;
        return r43541;
}

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 r43542, r43543, r43544;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r43542);
        mpfr_init(r43543);
        mpfr_init(r43544);
}

double f_im(double x) {
        mpfr_set_d(r43542, x, MPFR_RNDN);
        mpfr_mul(r43543, r43542, r43542, MPFR_RNDN);
        mpfr_add(r43544, r43542, r43543, MPFR_RNDN);
        return mpfr_get_d(r43544, MPFR_RNDN);
}

static mpfr_t r43545, r43546, r43547;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r43545);
        mpfr_init(r43546);
        mpfr_init(r43547);
}

double f_fm(double x) {
        mpfr_set_d(r43545, x, MPFR_RNDN);
        mpfr_mul(r43546, r43545, r43545, MPFR_RNDN);
        mpfr_add(r43547, r43545, r43546, MPFR_RNDN);
        return mpfr_get_d(r43547, MPFR_RNDN);
}

static mpfr_t r43548, r43549, r43550;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r43548);
        mpfr_init(r43549);
        mpfr_init(r43550);
}

double f_dm(double x) {
        mpfr_set_d(r43548, x, MPFR_RNDN);
        mpfr_mul(r43549, r43548, r43548, MPFR_RNDN);
        mpfr_add(r43550, r43548, r43549, MPFR_RNDN);
        return mpfr_get_d(r43550, MPFR_RNDN);
}

