#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 r11786 = d;
        float r11787 = 10.0f;
        float r11788 = r11786 * r11787;
        float r11789 = 20.0f;
        float r11790 = r11786 * r11789;
        float r11791 = r11788 + r11790;
        return r11791;
}

double f_id(double d) {
        double r11792 = d;
        double r11793 = 10.0;
        double r11794 = r11792 * r11793;
        double r11795 = 20.0;
        double r11796 = r11792 * r11795;
        double r11797 = r11794 + r11796;
        return r11797;
}


double f_of(float d) {
        float r11798 = 10.0f;
        float r11799 = 20.0f;
        float r11800 = r11798 + r11799;
        float r11801 = d;
        float r11802 = r11800 * r11801;
        return r11802;
}

double f_od(double d) {
        double r11803 = 10.0;
        double r11804 = 20.0;
        double r11805 = r11803 + r11804;
        double r11806 = d;
        double r11807 = r11805 * r11806;
        return r11807;
}

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 r11808, r11809, r11810, r11811, r11812, r11813;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r11808);
        mpfr_init_set_str(r11809, "10", 10, MPFR_RNDN);
        mpfr_init(r11810);
        mpfr_init_set_str(r11811, "20", 10, MPFR_RNDN);
        mpfr_init(r11812);
        mpfr_init(r11813);
}

double f_im(double d) {
        mpfr_set_d(r11808, d, MPFR_RNDN);
        ;
        mpfr_mul(r11810, r11808, r11809, MPFR_RNDN);
        ;
        mpfr_mul(r11812, r11808, r11811, MPFR_RNDN);
        mpfr_add(r11813, r11810, r11812, MPFR_RNDN);
        return mpfr_get_d(r11813, MPFR_RNDN);
}

static mpfr_t r11814, r11815, r11816, r11817, r11818;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r11814, "10", 10, MPFR_RNDN);
        mpfr_init_set_str(r11815, "20", 10, MPFR_RNDN);
        mpfr_init(r11816);
        mpfr_init(r11817);
        mpfr_init(r11818);
}

double f_fm(double d) {
        ;
        ;
        mpfr_add(r11816, r11814, r11815, MPFR_RNDN);
        mpfr_set_d(r11817, d, MPFR_RNDN);
        mpfr_mul(r11818, r11816, r11817, MPFR_RNDN);
        return mpfr_get_d(r11818, MPFR_RNDN);
}

static mpfr_t r11819, r11820, r11821, r11822, r11823;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r11819, "10", 10, MPFR_RNDN);
        mpfr_init_set_str(r11820, "20", 10, MPFR_RNDN);
        mpfr_init(r11821);
        mpfr_init(r11822);
        mpfr_init(r11823);
}

double f_dm(double d) {
        ;
        ;
        mpfr_add(r11821, r11819, r11820, MPFR_RNDN);
        mpfr_set_d(r11822, d, MPFR_RNDN);
        mpfr_mul(r11823, r11821, r11822, MPFR_RNDN);
        return mpfr_get_d(r11823, MPFR_RNDN);
}

