#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 r38419 = x;
        float r38420 = r38419 * r38419;
        float r38421 = r38420 * r38419;
        return r38421;
}

double f_id(double x) {
        double r38422 = x;
        double r38423 = r38422 * r38422;
        double r38424 = r38423 * r38422;
        return r38424;
}


double f_of(float x) {
        float r38425 = x;
        float r38426 = 3;
        float r38427 = pow(r38425, r38426);
        return r38427;
}

double f_od(double x) {
        double r38428 = x;
        double r38429 = 3;
        double r38430 = pow(r38428, r38429);
        return r38430;
}

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 r38431, r38432, r38433;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r38431);
        mpfr_init(r38432);
        mpfr_init(r38433);
}

double f_im(double x) {
        mpfr_set_d(r38431, x, MPFR_RNDN);
        mpfr_mul(r38432, r38431, r38431, MPFR_RNDN);
        mpfr_mul(r38433, r38432, r38431, MPFR_RNDN);
        return mpfr_get_d(r38433, MPFR_RNDN);
}

static mpfr_t r38434, r38435, r38436;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r38434);
        mpfr_init_set_str(r38435, "3", 10, MPFR_RNDN);
        mpfr_init(r38436);
}

double f_fm(double x) {
        mpfr_set_d(r38434, x, MPFR_RNDN);
        ;
        mpfr_pow(r38436, r38434, r38435, MPFR_RNDN);
        return mpfr_get_d(r38436, MPFR_RNDN);
}

static mpfr_t r38437, r38438, r38439;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r38437);
        mpfr_init_set_str(r38438, "3", 10, MPFR_RNDN);
        mpfr_init(r38439);
}

double f_dm(double x) {
        mpfr_set_d(r38437, x, MPFR_RNDN);
        ;
        mpfr_pow(r38439, r38437, r38438, MPFR_RNDN);
        return mpfr_get_d(r38439, MPFR_RNDN);
}

