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

char *name = "FastMath test5";

double f_if(float d1) {
        float r11720 = d1;
        float r11721 = r11720 * r11720;
        float r11722 = r11720 * r11721;
        float r11723 = r11722 * r11720;
        float r11724 = r11723 * r11720;
        float r11725 = r11724 * r11721;
        float r11726 = r11725 * r11720;
        float r11727 = r11720 * r11726;
        float r11728 = r11727 * r11720;
        return r11728;
}

double f_id(double d1) {
        double r11729 = d1;
        double r11730 = r11729 * r11729;
        double r11731 = r11729 * r11730;
        double r11732 = r11731 * r11729;
        double r11733 = r11732 * r11729;
        double r11734 = r11733 * r11730;
        double r11735 = r11734 * r11729;
        double r11736 = r11729 * r11735;
        double r11737 = r11736 * r11729;
        return r11737;
}


double f_of(float d1) {
        float r11738 = d1;
        float r11739 = 10.0f;
        float r11740 = pow(r11738, r11739);
        return r11740;
}

double f_od(double d1) {
        double r11741 = d1;
        double r11742 = 10.0;
        double r11743 = pow(r11741, r11742);
        return r11743;
}

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 r11744, r11745, r11746, r11747, r11748, r11749, r11750, r11751, r11752;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init(r11744);
        mpfr_init(r11745);
        mpfr_init(r11746);
        mpfr_init(r11747);
        mpfr_init(r11748);
        mpfr_init(r11749);
        mpfr_init(r11750);
        mpfr_init(r11751);
        mpfr_init(r11752);
}

double f_im(double d1) {
        mpfr_set_d(r11744, d1, MPFR_RNDN);
        mpfr_mul(r11745, r11744, r11744, MPFR_RNDN);
        mpfr_mul(r11746, r11744, r11745, MPFR_RNDN);
        mpfr_mul(r11747, r11746, r11744, MPFR_RNDN);
        mpfr_mul(r11748, r11747, r11744, MPFR_RNDN);
        mpfr_mul(r11749, r11748, r11745, MPFR_RNDN);
        mpfr_mul(r11750, r11749, r11744, MPFR_RNDN);
        mpfr_mul(r11751, r11744, r11750, MPFR_RNDN);
        mpfr_mul(r11752, r11751, r11744, MPFR_RNDN);
        return mpfr_get_d(r11752, MPFR_RNDN);
}

static mpfr_t r11753, r11754, r11755;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r11753);
        mpfr_init_set_str(r11754, "10", 10, MPFR_RNDN);
        mpfr_init(r11755);
}

double f_fm(double d1) {
        mpfr_set_d(r11753, d1, MPFR_RNDN);
        ;
        mpfr_pow(r11755, r11753, r11754, MPFR_RNDN);
        return mpfr_get_d(r11755, MPFR_RNDN);
}

static mpfr_t r11756, r11757, r11758;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r11756);
        mpfr_init_set_str(r11757, "10", 10, MPFR_RNDN);
        mpfr_init(r11758);
}

double f_dm(double d1) {
        mpfr_set_d(r11756, d1, MPFR_RNDN);
        ;
        mpfr_pow(r11758, r11756, r11757, MPFR_RNDN);
        return mpfr_get_d(r11758, MPFR_RNDN);
}

