#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 r11419 = x;
        float r11420 = r11419 * r11419;
        float r11421 = r11420 * r11419;
        return r11421;
}

double f_id(double x) {
        double r11422 = x;
        double r11423 = r11422 * r11422;
        double r11424 = r11423 * r11422;
        return r11424;
}


double f_of(float x) {
        float r11425 = x;
        float r11426 = 3.0f;
        float r11427 = pow(r11425, r11426);
        return r11427;
}

double f_od(double x) {
        double r11428 = x;
        double r11429 = 3.0;
        double r11430 = pow(r11428, r11429);
        return r11430;
}

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 r11431, r11432, r11433;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r11431);
        mpfr_init(r11432);
        mpfr_init(r11433);
}

double f_im(double x) {
        mpfr_set_d(r11431, x, MPFR_RNDN);
        mpfr_mul(r11432, r11431, r11431, MPFR_RNDN);
        mpfr_mul(r11433, r11432, r11431, MPFR_RNDN);
        return mpfr_get_d(r11433, MPFR_RNDN);
}

static mpfr_t r11434, r11435, r11436;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11434);
        mpfr_init_set_str(r11435, "3", 10, MPFR_RNDN);
        mpfr_init(r11436);
}

double f_fm(double x) {
        mpfr_set_d(r11434, x, MPFR_RNDN);
        ;
        mpfr_pow(r11436, r11434, r11435, MPFR_RNDN);
        return mpfr_get_d(r11436, MPFR_RNDN);
}

static mpfr_t r11437, r11438, r11439;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11437);
        mpfr_init_set_str(r11438, "3", 10, MPFR_RNDN);
        mpfr_init(r11439);
}

double f_dm(double x) {
        mpfr_set_d(r11437, x, MPFR_RNDN);
        ;
        mpfr_pow(r11439, r11437, r11438, MPFR_RNDN);
        return mpfr_get_d(r11439, MPFR_RNDN);
}

