#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 r37453 = 2.0f;
        float r37454 = 1.0f;
        float r37455 = 9.0f;
        float r37456 = r37454 / r37455;
        float r37457 = r37454 * r37456;
        float r37458 = r37456 * r37456;
        float r37459 = r37457 + r37458;
        float r37460 = r37456 * r37454;
        float r37461 = r37459 + r37460;
        float r37462 = r37453 * r37461;
        return r37462;
}

double f_id() {
        double r37463 = 2.0;
        double r37464 = 1.0;
        double r37465 = 9.0;
        double r37466 = r37464 / r37465;
        double r37467 = r37464 * r37466;
        double r37468 = r37466 * r37466;
        double r37469 = r37467 + r37468;
        double r37470 = r37466 * r37464;
        double r37471 = r37469 + r37470;
        double r37472 = r37463 * r37471;
        return r37472;
}


double f_of() {
        float r37473 = 2.0f;
        float r37474 = 9.0f;
        float r37475 = r37473 / r37474;
        float r37476 = r37475 / r37474;
        float r37477 = r37475 + r37475;
        float r37478 = r37476 + r37477;
        return r37478;
}

double f_od() {
        double r37479 = 2.0;
        double r37480 = 9.0;
        double r37481 = r37479 / r37480;
        double r37482 = r37481 / r37480;
        double r37483 = r37481 + r37481;
        double r37484 = r37482 + r37483;
        return r37484;
}

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 r37485, r37486, r37487, r37488, r37489, r37490, r37491, r37492, r37493, r37494;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r37485, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r37486, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r37487, "9", 10, MPFR_RNDN);
        mpfr_init(r37488);
        mpfr_init(r37489);
        mpfr_init(r37490);
        mpfr_init(r37491);
        mpfr_init(r37492);
        mpfr_init(r37493);
        mpfr_init(r37494);
}

double f_im() {
        ;
        ;
        ;
        mpfr_div(r37488, r37486, r37487, MPFR_RNDN);
        mpfr_mul(r37489, r37486, r37488, MPFR_RNDN);
        mpfr_mul(r37490, r37488, r37488, MPFR_RNDN);
        mpfr_add(r37491, r37489, r37490, MPFR_RNDN);
        mpfr_mul(r37492, r37488, r37486, MPFR_RNDN);
        mpfr_add(r37493, r37491, r37492, MPFR_RNDN);
        mpfr_mul(r37494, r37485, r37493, MPFR_RNDN);
        return mpfr_get_d(r37494, MPFR_RNDN);
}

static mpfr_t r37495, r37496, r37497, r37498, r37499, r37500;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r37495, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r37496, "9", 10, MPFR_RNDN);
        mpfr_init(r37497);
        mpfr_init(r37498);
        mpfr_init(r37499);
        mpfr_init(r37500);
}

double f_fm() {
        ;
        ;
        mpfr_div(r37497, r37495, r37496, MPFR_RNDN);
        mpfr_div(r37498, r37497, r37496, MPFR_RNDN);
        mpfr_add(r37499, r37497, r37497, MPFR_RNDN);
        mpfr_add(r37500, r37498, r37499, MPFR_RNDN);
        return mpfr_get_d(r37500, MPFR_RNDN);
}

static mpfr_t r37501, r37502, r37503, r37504, r37505, r37506;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r37501, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r37502, "9", 10, MPFR_RNDN);
        mpfr_init(r37503);
        mpfr_init(r37504);
        mpfr_init(r37505);
        mpfr_init(r37506);
}

double f_dm() {
        ;
        ;
        mpfr_div(r37503, r37501, r37502, MPFR_RNDN);
        mpfr_div(r37504, r37503, r37502, MPFR_RNDN);
        mpfr_add(r37505, r37503, r37503, MPFR_RNDN);
        mpfr_add(r37506, r37504, r37505, MPFR_RNDN);
        return mpfr_get_d(r37506, MPFR_RNDN);
}

