#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 r46527 = x;
        float r46528 = 1.0;
        float r46529 = r46527 + r46528;
        float r46530 = sqrt(r46529);
        float r46531 = sqrt(r46527);
        float r46532 = r46530 - r46531;
        return r46532;
}

double f_id(double x) {
        double r46533 = x;
        double r46534 = 1.0;
        double r46535 = r46533 + r46534;
        double r46536 = sqrt(r46535);
        double r46537 = sqrt(r46533);
        double r46538 = r46536 - r46537;
        return r46538;
}


double f_of(float x) {
        float r46539 = 1.0;
        float r46540 = x;
        float r46541 = r46540 + r46539;
        float r46542 = sqrt(r46541);
        float r46543 = sqrt(r46540);
        float r46544 = r46542 + r46543;
        float r46545 = r46539 / r46544;
        return r46545;
}

double f_od(double x) {
        double r46546 = 1.0;
        double r46547 = x;
        double r46548 = r46547 + r46546;
        double r46549 = sqrt(r46548);
        double r46550 = sqrt(r46547);
        double r46551 = r46549 + r46550;
        double r46552 = r46546 / r46551;
        return r46552;
}

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 r46553, r46554, r46555, r46556, r46557, r46558;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r46553);
        mpfr_init_set_str(r46554, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46555);
        mpfr_init(r46556);
        mpfr_init(r46557);
        mpfr_init(r46558);
}

double f_im(double x) {
        mpfr_set_d(r46553, x, MPFR_RNDN);
        ;
        mpfr_add(r46555, r46553, r46554, MPFR_RNDN);
        mpfr_sqrt(r46556, r46555, MPFR_RNDN);
        mpfr_sqrt(r46557, r46553, MPFR_RNDN);
        mpfr_sub(r46558, r46556, r46557, MPFR_RNDN);
        return mpfr_get_d(r46558, MPFR_RNDN);
}

static mpfr_t r46559, r46560, r46561, r46562, r46563, r46564, r46565;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r46559, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46560);
        mpfr_init(r46561);
        mpfr_init(r46562);
        mpfr_init(r46563);
        mpfr_init(r46564);
        mpfr_init(r46565);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r46560, x, MPFR_RNDN);
        mpfr_add(r46561, r46560, r46559, MPFR_RNDN);
        mpfr_sqrt(r46562, r46561, MPFR_RNDN);
        mpfr_sqrt(r46563, r46560, MPFR_RNDN);
        mpfr_add(r46564, r46562, r46563, MPFR_RNDN);
        mpfr_div(r46565, r46559, r46564, MPFR_RNDN);
        return mpfr_get_d(r46565, MPFR_RNDN);
}

static mpfr_t r46566, r46567, r46568, r46569, r46570, r46571, r46572;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r46566, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46567);
        mpfr_init(r46568);
        mpfr_init(r46569);
        mpfr_init(r46570);
        mpfr_init(r46571);
        mpfr_init(r46572);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r46567, x, MPFR_RNDN);
        mpfr_add(r46568, r46567, r46566, MPFR_RNDN);
        mpfr_sqrt(r46569, r46568, MPFR_RNDN);
        mpfr_sqrt(r46570, r46567, MPFR_RNDN);
        mpfr_add(r46571, r46569, r46570, MPFR_RNDN);
        mpfr_div(r46572, r46566, r46571, MPFR_RNDN);
        return mpfr_get_d(r46572, MPFR_RNDN);
}

