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

char *name = "Main:bigenough3 from C";

double f_if(float x) {
        float r46707 = x;
        float r46708 = 1.0;
        float r46709 = r46707 + r46708;
        float r46710 = sqrt(r46709);
        float r46711 = sqrt(r46707);
        float r46712 = r46710 - r46711;
        return r46712;
}

double f_id(double x) {
        double r46713 = x;
        double r46714 = 1.0;
        double r46715 = r46713 + r46714;
        double r46716 = sqrt(r46715);
        double r46717 = sqrt(r46713);
        double r46718 = r46716 - r46717;
        return r46718;
}


double f_of(float x) {
        float r46719 = 1.0;
        float r46720 = x;
        float r46721 = r46720 + r46719;
        float r46722 = sqrt(r46721);
        float r46723 = sqrt(r46720);
        float r46724 = r46722 + r46723;
        float r46725 = r46719 / r46724;
        return r46725;
}

double f_od(double x) {
        double r46726 = 1.0;
        double r46727 = x;
        double r46728 = r46727 + r46726;
        double r46729 = sqrt(r46728);
        double r46730 = sqrt(r46727);
        double r46731 = r46729 + r46730;
        double r46732 = r46726 / r46731;
        return r46732;
}

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 r46733, r46734, r46735, r46736, r46737, r46738;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46733);
        mpfr_init_set_str(r46734, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46735);
        mpfr_init(r46736);
        mpfr_init(r46737);
        mpfr_init(r46738);
}

double f_im(double x) {
        mpfr_set_d(r46733, x, MPFR_RNDN);
        ;
        mpfr_add(r46735, r46733, r46734, MPFR_RNDN);
        mpfr_sqrt(r46736, r46735, MPFR_RNDN);
        mpfr_sqrt(r46737, r46733, MPFR_RNDN);
        mpfr_sub(r46738, r46736, r46737, MPFR_RNDN);
        return mpfr_get_d(r46738, MPFR_RNDN);
}

static mpfr_t r46739, r46740, r46741, r46742, r46743, r46744, r46745;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r46739, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46740);
        mpfr_init(r46741);
        mpfr_init(r46742);
        mpfr_init(r46743);
        mpfr_init(r46744);
        mpfr_init(r46745);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r46740, x, MPFR_RNDN);
        mpfr_add(r46741, r46740, r46739, MPFR_RNDN);
        mpfr_sqrt(r46742, r46741, MPFR_RNDN);
        mpfr_sqrt(r46743, r46740, MPFR_RNDN);
        mpfr_add(r46744, r46742, r46743, MPFR_RNDN);
        mpfr_div(r46745, r46739, r46744, MPFR_RNDN);
        return mpfr_get_d(r46745, MPFR_RNDN);
}

static mpfr_t r46746, r46747, r46748, r46749, r46750, r46751, r46752;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r46746, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46747);
        mpfr_init(r46748);
        mpfr_init(r46749);
        mpfr_init(r46750);
        mpfr_init(r46751);
        mpfr_init(r46752);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r46747, x, MPFR_RNDN);
        mpfr_add(r46748, r46747, r46746, MPFR_RNDN);
        mpfr_sqrt(r46749, r46748, MPFR_RNDN);
        mpfr_sqrt(r46750, r46747, MPFR_RNDN);
        mpfr_add(r46751, r46749, r46750, MPFR_RNDN);
        mpfr_div(r46752, r46746, r46751, MPFR_RNDN);
        return mpfr_get_d(r46752, MPFR_RNDN);
}

