#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 r26541 = d1;
        float r26542 = d2;
        float r26543 = r26541 * r26542;
        float r26544 = d3;
        float r26545 = 5;
        float r26546 = r26544 + r26545;
        float r26547 = r26546 * r26541;
        float r26548 = r26543 + r26547;
        float r26549 = 32;
        float r26550 = r26541 * r26549;
        float r26551 = r26548 + r26550;
        return r26551;
}

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


double f_of(float d1, float d2, float d3) {
        float r26563 = d1;
        float r26564 = d2;
        float r26565 = 5;
        float r26566 = r26564 + r26565;
        float r26567 = 32;
        float r26568 = d3;
        float r26569 = r26567 + r26568;
        float r26570 = r26566 + r26569;
        float r26571 = r26563 * r26570;
        return r26571;
}

double f_od(double d1, double d2, double d3) {
        double r26572 = d1;
        double r26573 = d2;
        double r26574 = 5;
        double r26575 = r26573 + r26574;
        double r26576 = 32;
        double r26577 = d3;
        double r26578 = r26576 + r26577;
        double r26579 = r26575 + r26578;
        double r26580 = r26572 * r26579;
        return r26580;
}

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 r26581, r26582, r26583, r26584, r26585, r26586, r26587, r26588, r26589, r26590, r26591;

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

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

static mpfr_t r26592, r26593, r26594, r26595, r26596, r26597, r26598, r26599, r26600;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r26592);
        mpfr_init(r26593);
        mpfr_init_set_str(r26594, "5", 10, MPFR_RNDN);
        mpfr_init(r26595);
        mpfr_init_set_str(r26596, "32", 10, MPFR_RNDN);
        mpfr_init(r26597);
        mpfr_init(r26598);
        mpfr_init(r26599);
        mpfr_init(r26600);
}

double f_fm(double d1, double d2, double d3) {
        mpfr_set_d(r26592, d1, MPFR_RNDN);
        mpfr_set_d(r26593, d2, MPFR_RNDN);
        ;
        mpfr_add(r26595, r26593, r26594, MPFR_RNDN);
        ;
        mpfr_set_d(r26597, d3, MPFR_RNDN);
        mpfr_add(r26598, r26596, r26597, MPFR_RNDN);
        mpfr_add(r26599, r26595, r26598, MPFR_RNDN);
        mpfr_mul(r26600, r26592, r26599, MPFR_RNDN);
        return mpfr_get_d(r26600, MPFR_RNDN);
}

static mpfr_t r26601, r26602, r26603, r26604, r26605, r26606, r26607, r26608, r26609;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r26601);
        mpfr_init(r26602);
        mpfr_init_set_str(r26603, "5", 10, MPFR_RNDN);
        mpfr_init(r26604);
        mpfr_init_set_str(r26605, "32", 10, MPFR_RNDN);
        mpfr_init(r26606);
        mpfr_init(r26607);
        mpfr_init(r26608);
        mpfr_init(r26609);
}

double f_dm(double d1, double d2, double d3) {
        mpfr_set_d(r26601, d1, MPFR_RNDN);
        mpfr_set_d(r26602, d2, MPFR_RNDN);
        ;
        mpfr_add(r26604, r26602, r26603, MPFR_RNDN);
        ;
        mpfr_set_d(r26606, d3, MPFR_RNDN);
        mpfr_add(r26607, r26605, r26606, MPFR_RNDN);
        mpfr_add(r26608, r26604, r26607, MPFR_RNDN);
        mpfr_mul(r26609, r26601, r26608, MPFR_RNDN);
        return mpfr_get_d(r26609, MPFR_RNDN);
}

