#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 r23177 = 2;
        float r23178 = 1;
        float r23179 = 9;
        float r23180 = r23178 / r23179;
        float r23181 = r23178 * r23180;
        float r23182 = r23180 * r23180;
        float r23183 = r23181 + r23182;
        float r23184 = r23180 * r23178;
        float r23185 = r23183 + r23184;
        float r23186 = r23177 * r23185;
        return r23186;
}

double f_id() {
        double r23187 = 2;
        double r23188 = 1;
        double r23189 = 9;
        double r23190 = r23188 / r23189;
        double r23191 = r23188 * r23190;
        double r23192 = r23190 * r23190;
        double r23193 = r23191 + r23192;
        double r23194 = r23190 * r23188;
        double r23195 = r23193 + r23194;
        double r23196 = r23187 * r23195;
        return r23196;
}


double f_of() {
        float r23197 = 2;
        float r23198 = 1;
        float r23199 = 9;
        float r23200 = r23198 / r23199;
        float r23201 = r23200 * r23200;
        float r23202 = r23200 + r23201;
        float r23203 = r23200 + r23202;
        float r23204 = r23197 * r23203;
        return r23204;
}

double f_od() {
        double r23205 = 2;
        double r23206 = 1;
        double r23207 = 9;
        double r23208 = r23206 / r23207;
        double r23209 = r23208 * r23208;
        double r23210 = r23208 + r23209;
        double r23211 = r23208 + r23210;
        double r23212 = r23205 * r23211;
        return r23212;
}

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 r23213, r23214, r23215, r23216, r23217, r23218, r23219, r23220, r23221, r23222;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23213, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23214, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23215, "9", 10, MPFR_RNDN);
        mpfr_init(r23216);
        mpfr_init(r23217);
        mpfr_init(r23218);
        mpfr_init(r23219);
        mpfr_init(r23220);
        mpfr_init(r23221);
        mpfr_init(r23222);
}

double f_im() {
        ;
        ;
        ;
        mpfr_div(r23216, r23214, r23215, MPFR_RNDN);
        mpfr_mul(r23217, r23214, r23216, MPFR_RNDN);
        mpfr_mul(r23218, r23216, r23216, MPFR_RNDN);
        mpfr_add(r23219, r23217, r23218, MPFR_RNDN);
        mpfr_mul(r23220, r23216, r23214, MPFR_RNDN);
        mpfr_add(r23221, r23219, r23220, MPFR_RNDN);
        mpfr_mul(r23222, r23213, r23221, MPFR_RNDN);
        return mpfr_get_d(r23222, MPFR_RNDN);
}

static mpfr_t r23223, r23224, r23225, r23226, r23227, r23228, r23229, r23230;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23223, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23224, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23225, "9", 10, MPFR_RNDN);
        mpfr_init(r23226);
        mpfr_init(r23227);
        mpfr_init(r23228);
        mpfr_init(r23229);
        mpfr_init(r23230);
}

double f_fm() {
        ;
        ;
        ;
        mpfr_div(r23226, r23224, r23225, MPFR_RNDN);
        mpfr_mul(r23227, r23226, r23226, MPFR_RNDN);
        mpfr_add(r23228, r23226, r23227, MPFR_RNDN);
        mpfr_add(r23229, r23226, r23228, MPFR_RNDN);
        mpfr_mul(r23230, r23223, r23229, MPFR_RNDN);
        return mpfr_get_d(r23230, MPFR_RNDN);
}

static mpfr_t r23231, r23232, r23233, r23234, r23235, r23236, r23237, r23238;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23231, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r23232, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r23233, "9", 10, MPFR_RNDN);
        mpfr_init(r23234);
        mpfr_init(r23235);
        mpfr_init(r23236);
        mpfr_init(r23237);
        mpfr_init(r23238);
}

double f_dm() {
        ;
        ;
        ;
        mpfr_div(r23234, r23232, r23233, MPFR_RNDN);
        mpfr_mul(r23235, r23234, r23234, MPFR_RNDN);
        mpfr_add(r23236, r23234, r23235, MPFR_RNDN);
        mpfr_add(r23237, r23234, r23236, MPFR_RNDN);
        mpfr_mul(r23238, r23231, r23237, MPFR_RNDN);
        return mpfr_get_d(r23238, MPFR_RNDN);
}

