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

char *name = "FastMath test1";

double f_if(float d) {
        float r11768 = d;
        float r11769 = 10.0f;
        float r11770 = r11768 * r11769;
        float r11771 = 20.0f;
        float r11772 = r11768 * r11771;
        float r11773 = r11770 + r11772;
        return r11773;
}

double f_id(double d) {
        double r11774 = d;
        double r11775 = 10.0;
        double r11776 = r11774 * r11775;
        double r11777 = 20.0;
        double r11778 = r11774 * r11777;
        double r11779 = r11776 + r11778;
        return r11779;
}


double f_of(float d) {
        float r11780 = 20.0f;
        float r11781 = 10.0f;
        float r11782 = r11780 + r11781;
        float r11783 = d;
        float r11784 = r11782 * r11783;
        return r11784;
}

double f_od(double d) {
        double r11785 = 20.0;
        double r11786 = 10.0;
        double r11787 = r11785 + r11786;
        double r11788 = d;
        double r11789 = r11787 * r11788;
        return r11789;
}

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 r11790, r11791, r11792, r11793, r11794, r11795;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r11790);
        mpfr_init_set_str(r11791, "10", 10, MPFR_RNDN);
        mpfr_init(r11792);
        mpfr_init_set_str(r11793, "20", 10, MPFR_RNDN);
        mpfr_init(r11794);
        mpfr_init(r11795);
}

double f_im(double d) {
        mpfr_set_d(r11790, d, MPFR_RNDN);
        ;
        mpfr_mul(r11792, r11790, r11791, MPFR_RNDN);
        ;
        mpfr_mul(r11794, r11790, r11793, MPFR_RNDN);
        mpfr_add(r11795, r11792, r11794, MPFR_RNDN);
        return mpfr_get_d(r11795, MPFR_RNDN);
}

static mpfr_t r11796, r11797, r11798, r11799, r11800;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r11796, "20", 10, MPFR_RNDN);
        mpfr_init_set_str(r11797, "10", 10, MPFR_RNDN);
        mpfr_init(r11798);
        mpfr_init(r11799);
        mpfr_init(r11800);
}

double f_fm(double d) {
        ;
        ;
        mpfr_add(r11798, r11796, r11797, MPFR_RNDN);
        mpfr_set_d(r11799, d, MPFR_RNDN);
        mpfr_mul(r11800, r11798, r11799, MPFR_RNDN);
        return mpfr_get_d(r11800, MPFR_RNDN);
}

static mpfr_t r11801, r11802, r11803, r11804, r11805;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r11801, "20", 10, MPFR_RNDN);
        mpfr_init_set_str(r11802, "10", 10, MPFR_RNDN);
        mpfr_init(r11803);
        mpfr_init(r11804);
        mpfr_init(r11805);
}

double f_dm(double d) {
        ;
        ;
        mpfr_add(r11803, r11801, r11802, MPFR_RNDN);
        mpfr_set_d(r11804, d, MPFR_RNDN);
        mpfr_mul(r11805, r11803, r11804, MPFR_RNDN);
        return mpfr_get_d(r11805, MPFR_RNDN);
}

