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

char *name = "Diagrams.Solve.Polynomial:quadForm from diagrams-solve-0.1, B";

double f_if(float x, float y, float z) {
        float r34457 = 1.0;
        float r34458 = 2.0;
        float r34459 = r34457 / r34458;
        float r34460 = x;
        float r34461 = y;
        float r34462 = z;
        float r34463 = sqrt(r34462);
        float r34464 = r34461 * r34463;
        float r34465 = r34460 + r34464;
        float r34466 = r34459 * r34465;
        return r34466;
}

double f_id(double x, double y, double z) {
        double r34467 = 1.0;
        double r34468 = 2.0;
        double r34469 = r34467 / r34468;
        double r34470 = x;
        double r34471 = y;
        double r34472 = z;
        double r34473 = sqrt(r34472);
        double r34474 = r34471 * r34473;
        double r34475 = r34470 + r34474;
        double r34476 = r34469 * r34475;
        return r34476;
}


double f_of(float x, float y, float z) {
        float r34477 = 1.0;
        float r34478 = 2.0;
        float r34479 = r34477 / r34478;
        float r34480 = x;
        float r34481 = y;
        float r34482 = z;
        float r34483 = sqrt(r34482);
        float r34484 = r34481 * r34483;
        float r34485 = r34480 + r34484;
        float r34486 = r34479 * r34485;
        return r34486;
}

double f_od(double x, double y, double z) {
        double r34487 = 1.0;
        double r34488 = 2.0;
        double r34489 = r34487 / r34488;
        double r34490 = x;
        double r34491 = y;
        double r34492 = z;
        double r34493 = sqrt(r34492);
        double r34494 = r34491 * r34493;
        double r34495 = r34490 + r34494;
        double r34496 = r34489 * r34495;
        return r34496;
}

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 r34497, r34498, r34499, r34500, r34501, r34502, r34503, r34504, r34505, r34506;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34497, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34498, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34499);
        mpfr_init(r34500);
        mpfr_init(r34501);
        mpfr_init(r34502);
        mpfr_init(r34503);
        mpfr_init(r34504);
        mpfr_init(r34505);
        mpfr_init(r34506);
}

double f_im(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34499, r34497, r34498, MPFR_RNDN);
        mpfr_set_d(r34500, x, MPFR_RNDN);
        mpfr_set_d(r34501, y, MPFR_RNDN);
        mpfr_set_d(r34502, z, MPFR_RNDN);
        mpfr_sqrt(r34503, r34502, MPFR_RNDN);
        mpfr_mul(r34504, r34501, r34503, MPFR_RNDN);
        mpfr_add(r34505, r34500, r34504, MPFR_RNDN);
        mpfr_mul(r34506, r34499, r34505, MPFR_RNDN);
        return mpfr_get_d(r34506, MPFR_RNDN);
}

static mpfr_t r34507, r34508, r34509, r34510, r34511, r34512, r34513, r34514, r34515, r34516;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34507, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34508, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34509);
        mpfr_init(r34510);
        mpfr_init(r34511);
        mpfr_init(r34512);
        mpfr_init(r34513);
        mpfr_init(r34514);
        mpfr_init(r34515);
        mpfr_init(r34516);
}

double f_fm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34509, r34507, r34508, MPFR_RNDN);
        mpfr_set_d(r34510, x, MPFR_RNDN);
        mpfr_set_d(r34511, y, MPFR_RNDN);
        mpfr_set_d(r34512, z, MPFR_RNDN);
        mpfr_sqrt(r34513, r34512, MPFR_RNDN);
        mpfr_mul(r34514, r34511, r34513, MPFR_RNDN);
        mpfr_add(r34515, r34510, r34514, MPFR_RNDN);
        mpfr_mul(r34516, r34509, r34515, MPFR_RNDN);
        return mpfr_get_d(r34516, MPFR_RNDN);
}

static mpfr_t r34517, r34518, r34519, r34520, r34521, r34522, r34523, r34524, r34525, r34526;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34517, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34518, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34519);
        mpfr_init(r34520);
        mpfr_init(r34521);
        mpfr_init(r34522);
        mpfr_init(r34523);
        mpfr_init(r34524);
        mpfr_init(r34525);
        mpfr_init(r34526);
}

double f_dm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34519, r34517, r34518, MPFR_RNDN);
        mpfr_set_d(r34520, x, MPFR_RNDN);
        mpfr_set_d(r34521, y, MPFR_RNDN);
        mpfr_set_d(r34522, z, MPFR_RNDN);
        mpfr_sqrt(r34523, r34522, MPFR_RNDN);
        mpfr_mul(r34524, r34521, r34523, MPFR_RNDN);
        mpfr_add(r34525, r34520, r34524, MPFR_RNDN);
        mpfr_mul(r34526, r34519, r34525, MPFR_RNDN);
        return mpfr_get_d(r34526, MPFR_RNDN);
}

