#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 r48613 = d1;
        float r48614 = r48613 * r48613;
        float r48615 = r48613 * r48614;
        float r48616 = r48615 * r48613;
        float r48617 = r48616 * r48613;
        float r48618 = r48617 * r48614;
        float r48619 = r48618 * r48613;
        float r48620 = r48613 * r48619;
        float r48621 = r48620 * r48613;
        return r48621;
}

double f_id(double d1) {
        double r48622 = d1;
        double r48623 = r48622 * r48622;
        double r48624 = r48622 * r48623;
        double r48625 = r48624 * r48622;
        double r48626 = r48625 * r48622;
        double r48627 = r48626 * r48623;
        double r48628 = r48627 * r48622;
        double r48629 = r48622 * r48628;
        double r48630 = r48629 * r48622;
        return r48630;
}


double f_of(float d1) {
        float r48631 = d1;
        float r48632 = 10.0f;
        float r48633 = pow(r48631, r48632);
        return r48633;
}

double f_od(double d1) {
        double r48634 = d1;
        double r48635 = 10.0;
        double r48636 = pow(r48634, r48635);
        return r48636;
}

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 r48637, r48638, r48639, r48640, r48641, r48642, r48643, r48644, r48645;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r48637);
        mpfr_init(r48638);
        mpfr_init(r48639);
        mpfr_init(r48640);
        mpfr_init(r48641);
        mpfr_init(r48642);
        mpfr_init(r48643);
        mpfr_init(r48644);
        mpfr_init(r48645);
}

double f_im(double d1) {
        mpfr_set_d(r48637, d1, MPFR_RNDN);
        mpfr_mul(r48638, r48637, r48637, MPFR_RNDN);
        mpfr_mul(r48639, r48637, r48638, MPFR_RNDN);
        mpfr_mul(r48640, r48639, r48637, MPFR_RNDN);
        mpfr_mul(r48641, r48640, r48637, MPFR_RNDN);
        mpfr_mul(r48642, r48641, r48638, MPFR_RNDN);
        mpfr_mul(r48643, r48642, r48637, MPFR_RNDN);
        mpfr_mul(r48644, r48637, r48643, MPFR_RNDN);
        mpfr_mul(r48645, r48644, r48637, MPFR_RNDN);
        return mpfr_get_d(r48645, MPFR_RNDN);
}

static mpfr_t r48646, r48647, r48648;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r48646);
        mpfr_init_set_str(r48647, "10", 10, MPFR_RNDN);
        mpfr_init(r48648);
}

double f_fm(double d1) {
        mpfr_set_d(r48646, d1, MPFR_RNDN);
        ;
        mpfr_pow(r48648, r48646, r48647, MPFR_RNDN);
        return mpfr_get_d(r48648, MPFR_RNDN);
}

static mpfr_t r48649, r48650, r48651;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r48649);
        mpfr_init_set_str(r48650, "10", 10, MPFR_RNDN);
        mpfr_init(r48651);
}

double f_dm(double d1) {
        mpfr_set_d(r48649, d1, MPFR_RNDN);
        ;
        mpfr_pow(r48651, r48649, r48650, MPFR_RNDN);
        return mpfr_get_d(r48651, MPFR_RNDN);
}

