#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 r23165 = 2;
        float r23166 = 1;
        float r23167 = 9;
        float r23168 = r23166 / r23167;
        float r23169 = r23166 * r23168;
        float r23170 = r23168 * r23168;
        float r23171 = r23169 + r23170;
        float r23172 = r23168 * r23166;
        float r23173 = r23171 + r23172;
        float r23174 = r23165 * r23173;
        return r23174;
}

double f_id() {
        double r23175 = 2;
        double r23176 = 1;
        double r23177 = 9;
        double r23178 = r23176 / r23177;
        double r23179 = r23176 * r23178;
        double r23180 = r23178 * r23178;
        double r23181 = r23179 + r23180;
        double r23182 = r23178 * r23176;
        double r23183 = r23181 + r23182;
        double r23184 = r23175 * r23183;
        return r23184;
}


double f_of() {
        float r23185 = 2;
        float r23186 = 1;
        float r23187 = 9;
        float r23188 = r23186 / r23187;
        float r23189 = r23188 * r23188;
        float r23190 = r23188 + r23189;
        float r23191 = r23188 + r23190;
        float r23192 = r23185 * r23191;
        return r23192;
}

double f_od() {
        double r23193 = 2;
        double r23194 = 1;
        double r23195 = 9;
        double r23196 = r23194 / r23195;
        double r23197 = r23196 * r23196;
        double r23198 = r23196 + r23197;
        double r23199 = r23196 + r23198;
        double r23200 = r23193 * r23199;
        return r23200;
}

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 r23201, r23202, r23203, r23204, r23205, r23206, r23207, r23208, r23209, r23210;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r23201, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23202, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23203, "9", 10, MPFR_RNDN);
        mpfr_init(r23204);
        mpfr_init(r23205);
        mpfr_init(r23206);
        mpfr_init(r23207);
        mpfr_init(r23208);
        mpfr_init(r23209);
        mpfr_init(r23210);
}

double f_im() {
        ;
        ;
        ;
        mpfr_div(r23204, r23202, r23203, MPFR_RNDN);
        mpfr_mul(r23205, r23202, r23204, MPFR_RNDN);
        mpfr_mul(r23206, r23204, r23204, MPFR_RNDN);
        mpfr_add(r23207, r23205, r23206, MPFR_RNDN);
        mpfr_mul(r23208, r23204, r23202, MPFR_RNDN);
        mpfr_add(r23209, r23207, r23208, MPFR_RNDN);
        mpfr_mul(r23210, r23201, r23209, MPFR_RNDN);
        return mpfr_get_d(r23210, MPFR_RNDN);
}

static mpfr_t r23211, r23212, r23213, r23214, r23215, r23216, r23217, r23218;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r23211, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23212, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23213, "9", 10, MPFR_RNDN);
        mpfr_init(r23214);
        mpfr_init(r23215);
        mpfr_init(r23216);
        mpfr_init(r23217);
        mpfr_init(r23218);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_div(r23214, r23212, r23213, MPFR_RNDN);
        mpfr_mul(r23215, r23214, r23214, MPFR_RNDN);
        mpfr_add(r23216, r23214, r23215, MPFR_RNDN);
        mpfr_add(r23217, r23214, r23216, MPFR_RNDN);
        mpfr_mul(r23218, r23211, r23217, MPFR_RNDN);
        return mpfr_get_d(r23218, MPFR_RNDN);
}

static mpfr_t r23219, r23220, r23221, r23222, r23223, r23224, r23225, r23226;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r23219, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23220, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23221, "9", 10, MPFR_RNDN);
        mpfr_init(r23222);
        mpfr_init(r23223);
        mpfr_init(r23224);
        mpfr_init(r23225);
        mpfr_init(r23226);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_div(r23222, r23220, r23221, MPFR_RNDN);
        mpfr_mul(r23223, r23222, r23222, MPFR_RNDN);
        mpfr_add(r23224, r23222, r23223, MPFR_RNDN);
        mpfr_add(r23225, r23222, r23224, MPFR_RNDN);
        mpfr_mul(r23226, r23219, r23225, MPFR_RNDN);
        return mpfr_get_d(r23226, MPFR_RNDN);
}

