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

char *name = "FastMath dist3";

double f_if(float d1, float d2, float d3) {
        float r26522 = d1;
        float r26523 = d2;
        float r26524 = r26522 * r26523;
        float r26525 = d3;
        float r26526 = 5;
        float r26527 = r26525 + r26526;
        float r26528 = r26527 * r26522;
        float r26529 = r26524 + r26528;
        float r26530 = 32;
        float r26531 = r26522 * r26530;
        float r26532 = r26529 + r26531;
        return r26532;
}

double f_id(double d1, double d2, double d3) {
        double r26533 = d1;
        double r26534 = d2;
        double r26535 = r26533 * r26534;
        double r26536 = d3;
        double r26537 = 5;
        double r26538 = r26536 + r26537;
        double r26539 = r26538 * r26533;
        double r26540 = r26535 + r26539;
        double r26541 = 32;
        double r26542 = r26533 * r26541;
        double r26543 = r26540 + r26542;
        return r26543;
}


double f_of(float d1, float d2, float d3) {
        float r26544 = d1;
        float r26545 = d2;
        float r26546 = 5;
        float r26547 = r26545 + r26546;
        float r26548 = 32;
        float r26549 = d3;
        float r26550 = r26548 + r26549;
        float r26551 = r26547 + r26550;
        float r26552 = r26544 * r26551;
        return r26552;
}

double f_od(double d1, double d2, double d3) {
        double r26553 = d1;
        double r26554 = d2;
        double r26555 = 5;
        double r26556 = r26554 + r26555;
        double r26557 = 32;
        double r26558 = d3;
        double r26559 = r26557 + r26558;
        double r26560 = r26556 + r26559;
        double r26561 = r26553 * r26560;
        return r26561;
}

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 r26562, r26563, r26564, r26565, r26566, r26567, r26568, r26569, r26570, r26571, r26572;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1168);
        mpfr_init(r26562);
        mpfr_init(r26563);
        mpfr_init(r26564);
        mpfr_init(r26565);
        mpfr_init_set_str(r26566, "5", 10, MPFR_RNDN);
        mpfr_init(r26567);
        mpfr_init(r26568);
        mpfr_init(r26569);
        mpfr_init_set_str(r26570, "32", 10, MPFR_RNDN);
        mpfr_init(r26571);
        mpfr_init(r26572);
}

double f_im(double d1, double d2, double d3) {
        mpfr_set_d(r26562, d1, MPFR_RNDN);
        mpfr_set_d(r26563, d2, MPFR_RNDN);
        mpfr_mul(r26564, r26562, r26563, MPFR_RNDN);
        mpfr_set_d(r26565, d3, MPFR_RNDN);
        ;
        mpfr_add(r26567, r26565, r26566, MPFR_RNDN);
        mpfr_mul(r26568, r26567, r26562, MPFR_RNDN);
        mpfr_add(r26569, r26564, r26568, MPFR_RNDN);
        ;
        mpfr_mul(r26571, r26562, r26570, MPFR_RNDN);
        mpfr_add(r26572, r26569, r26571, MPFR_RNDN);
        return mpfr_get_d(r26572, MPFR_RNDN);
}

static mpfr_t r26573, r26574, r26575, r26576, r26577, r26578, r26579, r26580, r26581;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1168);
        mpfr_init(r26573);
        mpfr_init(r26574);
        mpfr_init_set_str(r26575, "5", 10, MPFR_RNDN);
        mpfr_init(r26576);
        mpfr_init_set_str(r26577, "32", 10, MPFR_RNDN);
        mpfr_init(r26578);
        mpfr_init(r26579);
        mpfr_init(r26580);
        mpfr_init(r26581);
}

double f_fm(double d1, double d2, double d3) {
        mpfr_set_d(r26573, d1, MPFR_RNDN);
        mpfr_set_d(r26574, d2, MPFR_RNDN);
        ;
        mpfr_add(r26576, r26574, r26575, MPFR_RNDN);
        ;
        mpfr_set_d(r26578, d3, MPFR_RNDN);
        mpfr_add(r26579, r26577, r26578, MPFR_RNDN);
        mpfr_add(r26580, r26576, r26579, MPFR_RNDN);
        mpfr_mul(r26581, r26573, r26580, MPFR_RNDN);
        return mpfr_get_d(r26581, MPFR_RNDN);
}

static mpfr_t r26582, r26583, r26584, r26585, r26586, r26587, r26588, r26589, r26590;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1168);
        mpfr_init(r26582);
        mpfr_init(r26583);
        mpfr_init_set_str(r26584, "5", 10, MPFR_RNDN);
        mpfr_init(r26585);
        mpfr_init_set_str(r26586, "32", 10, MPFR_RNDN);
        mpfr_init(r26587);
        mpfr_init(r26588);
        mpfr_init(r26589);
        mpfr_init(r26590);
}

double f_dm(double d1, double d2, double d3) {
        mpfr_set_d(r26582, d1, MPFR_RNDN);
        mpfr_set_d(r26583, d2, MPFR_RNDN);
        ;
        mpfr_add(r26585, r26583, r26584, MPFR_RNDN);
        ;
        mpfr_set_d(r26587, d3, MPFR_RNDN);
        mpfr_add(r26588, r26586, r26587, MPFR_RNDN);
        mpfr_add(r26589, r26585, r26588, MPFR_RNDN);
        mpfr_mul(r26590, r26582, r26589, MPFR_RNDN);
        return mpfr_get_d(r26590, MPFR_RNDN);
}

