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

char *name = "math.cube on real";

double f_if(float x) {
        float r38809 = x;
        float r38810 = r38809 * r38809;
        float r38811 = r38810 * r38809;
        return r38811;
}

double f_id(double x) {
        double r38812 = x;
        double r38813 = r38812 * r38812;
        double r38814 = r38813 * r38812;
        return r38814;
}


double f_of(float x) {
        float r38815 = x;
        float r38816 = 3;
        float r38817 = pow(r38815, r38816);
        return r38817;
}

double f_od(double x) {
        double r38818 = x;
        double r38819 = 3;
        double r38820 = pow(r38818, r38819);
        return r38820;
}

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 r38821, r38822, r38823;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r38821);
        mpfr_init(r38822);
        mpfr_init(r38823);
}

double f_im(double x) {
        mpfr_set_d(r38821, x, MPFR_RNDN);
        mpfr_mul(r38822, r38821, r38821, MPFR_RNDN);
        mpfr_mul(r38823, r38822, r38821, MPFR_RNDN);
        return mpfr_get_d(r38823, MPFR_RNDN);
}

static mpfr_t r38824, r38825, r38826;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r38824);
        mpfr_init_set_str(r38825, "3", 10, MPFR_RNDN);
        mpfr_init(r38826);
}

double f_fm(double x) {
        mpfr_set_d(r38824, x, MPFR_RNDN);
        ;
        mpfr_pow(r38826, r38824, r38825, MPFR_RNDN);
        return mpfr_get_d(r38826, MPFR_RNDN);
}

static mpfr_t r38827, r38828, r38829;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r38827);
        mpfr_init_set_str(r38828, "3", 10, MPFR_RNDN);
        mpfr_init(r38829);
}

double f_dm(double x) {
        mpfr_set_d(r38827, x, MPFR_RNDN);
        ;
        mpfr_pow(r38829, r38827, r38828, MPFR_RNDN);
        return mpfr_get_d(r38829, MPFR_RNDN);
}

