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

char *name = "Rectangular parallelepiped of dimension a×b×c";

double f_if() {
        float r22966 = 2;
        float r22967 = 1;
        float r22968 = 9;
        float r22969 = r22967 / r22968;
        float r22970 = r22967 * r22969;
        float r22971 = r22969 * r22969;
        float r22972 = r22970 + r22971;
        float r22973 = r22969 * r22967;
        float r22974 = r22972 + r22973;
        float r22975 = r22966 * r22974;
        return r22975;
}

double f_id() {
        double r22976 = 2;
        double r22977 = 1;
        double r22978 = 9;
        double r22979 = r22977 / r22978;
        double r22980 = r22977 * r22979;
        double r22981 = r22979 * r22979;
        double r22982 = r22980 + r22981;
        double r22983 = r22979 * r22977;
        double r22984 = r22982 + r22983;
        double r22985 = r22976 * r22984;
        return r22985;
}


double f_of() {
        float r22986 = 2;
        float r22987 = 1;
        float r22988 = 9;
        float r22989 = r22987 / r22988;
        float r22990 = r22989 * r22989;
        float r22991 = r22989 + r22990;
        float r22992 = r22989 + r22991;
        float r22993 = r22986 * r22992;
        return r22993;
}

double f_od() {
        double r22994 = 2;
        double r22995 = 1;
        double r22996 = 9;
        double r22997 = r22995 / r22996;
        double r22998 = r22997 * r22997;
        double r22999 = r22997 + r22998;
        double r23000 = r22997 + r22999;
        double r23001 = r22994 * r23000;
        return r23001;
}

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 r23002, r23003, r23004, r23005, r23006, r23007, r23008, r23009, r23010, r23011;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23002, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23003, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23004, "9", 10, MPFR_RNDN);
        mpfr_init(r23005);
        mpfr_init(r23006);
        mpfr_init(r23007);
        mpfr_init(r23008);
        mpfr_init(r23009);
        mpfr_init(r23010);
        mpfr_init(r23011);
}

double f_im() {
        ;
        ;
        ;
        mpfr_div(r23005, r23003, r23004, MPFR_RNDN);
        mpfr_mul(r23006, r23003, r23005, MPFR_RNDN);
        mpfr_mul(r23007, r23005, r23005, MPFR_RNDN);
        mpfr_add(r23008, r23006, r23007, MPFR_RNDN);
        mpfr_mul(r23009, r23005, r23003, MPFR_RNDN);
        mpfr_add(r23010, r23008, r23009, MPFR_RNDN);
        mpfr_mul(r23011, r23002, r23010, MPFR_RNDN);
        return mpfr_get_d(r23011, MPFR_RNDN);
}

static mpfr_t r23012, r23013, r23014, r23015, r23016, r23017, r23018, r23019;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23012, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23013, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23014, "9", 10, MPFR_RNDN);
        mpfr_init(r23015);
        mpfr_init(r23016);
        mpfr_init(r23017);
        mpfr_init(r23018);
        mpfr_init(r23019);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_div(r23015, r23013, r23014, MPFR_RNDN);
        mpfr_mul(r23016, r23015, r23015, MPFR_RNDN);
        mpfr_add(r23017, r23015, r23016, MPFR_RNDN);
        mpfr_add(r23018, r23015, r23017, MPFR_RNDN);
        mpfr_mul(r23019, r23012, r23018, MPFR_RNDN);
        return mpfr_get_d(r23019, MPFR_RNDN);
}

static mpfr_t r23020, r23021, r23022, r23023, r23024, r23025, r23026, r23027;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23020, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23021, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23022, "9", 10, MPFR_RNDN);
        mpfr_init(r23023);
        mpfr_init(r23024);
        mpfr_init(r23025);
        mpfr_init(r23026);
        mpfr_init(r23027);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_div(r23023, r23021, r23022, MPFR_RNDN);
        mpfr_mul(r23024, r23023, r23023, MPFR_RNDN);
        mpfr_add(r23025, r23023, r23024, MPFR_RNDN);
        mpfr_add(r23026, r23023, r23025, MPFR_RNDN);
        mpfr_mul(r23027, r23020, r23026, MPFR_RNDN);
        return mpfr_get_d(r23027, MPFR_RNDN);
}

