#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 r34710 = 1.0;
        float r34711 = 2.0;
        float r34712 = r34710 / r34711;
        float r34713 = x;
        float r34714 = y;
        float r34715 = z;
        float r34716 = sqrt(r34715);
        float r34717 = r34714 * r34716;
        float r34718 = r34713 + r34717;
        float r34719 = r34712 * r34718;
        return r34719;
}

double f_id(double x, double y, double z) {
        double r34720 = 1.0;
        double r34721 = 2.0;
        double r34722 = r34720 / r34721;
        double r34723 = x;
        double r34724 = y;
        double r34725 = z;
        double r34726 = sqrt(r34725);
        double r34727 = r34724 * r34726;
        double r34728 = r34723 + r34727;
        double r34729 = r34722 * r34728;
        return r34729;
}


double f_of(float x, float y, float z) {
        float r34730 = 1.0;
        float r34731 = 2.0;
        float r34732 = r34730 / r34731;
        float r34733 = x;
        float r34734 = y;
        float r34735 = z;
        float r34736 = sqrt(r34735);
        float r34737 = r34734 * r34736;
        float r34738 = r34733 + r34737;
        float r34739 = r34732 * r34738;
        return r34739;
}

double f_od(double x, double y, double z) {
        double r34740 = 1.0;
        double r34741 = 2.0;
        double r34742 = r34740 / r34741;
        double r34743 = x;
        double r34744 = y;
        double r34745 = z;
        double r34746 = sqrt(r34745);
        double r34747 = r34744 * r34746;
        double r34748 = r34743 + r34747;
        double r34749 = r34742 * r34748;
        return r34749;
}

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 r34750, r34751, r34752, r34753, r34754, r34755, r34756, r34757, r34758, r34759;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34750, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34751, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34752);
        mpfr_init(r34753);
        mpfr_init(r34754);
        mpfr_init(r34755);
        mpfr_init(r34756);
        mpfr_init(r34757);
        mpfr_init(r34758);
        mpfr_init(r34759);
}

double f_im(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34752, r34750, r34751, MPFR_RNDN);
        mpfr_set_d(r34753, x, MPFR_RNDN);
        mpfr_set_d(r34754, y, MPFR_RNDN);
        mpfr_set_d(r34755, z, MPFR_RNDN);
        mpfr_sqrt(r34756, r34755, MPFR_RNDN);
        mpfr_mul(r34757, r34754, r34756, MPFR_RNDN);
        mpfr_add(r34758, r34753, r34757, MPFR_RNDN);
        mpfr_mul(r34759, r34752, r34758, MPFR_RNDN);
        return mpfr_get_d(r34759, MPFR_RNDN);
}

static mpfr_t r34760, r34761, r34762, r34763, r34764, r34765, r34766, r34767, r34768, r34769;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34760, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34761, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34762);
        mpfr_init(r34763);
        mpfr_init(r34764);
        mpfr_init(r34765);
        mpfr_init(r34766);
        mpfr_init(r34767);
        mpfr_init(r34768);
        mpfr_init(r34769);
}

double f_fm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34762, r34760, r34761, MPFR_RNDN);
        mpfr_set_d(r34763, x, MPFR_RNDN);
        mpfr_set_d(r34764, y, MPFR_RNDN);
        mpfr_set_d(r34765, z, MPFR_RNDN);
        mpfr_sqrt(r34766, r34765, MPFR_RNDN);
        mpfr_mul(r34767, r34764, r34766, MPFR_RNDN);
        mpfr_add(r34768, r34763, r34767, MPFR_RNDN);
        mpfr_mul(r34769, r34762, r34768, MPFR_RNDN);
        return mpfr_get_d(r34769, MPFR_RNDN);
}

static mpfr_t r34770, r34771, r34772, r34773, r34774, r34775, r34776, r34777, r34778, r34779;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34770, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34771, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34772);
        mpfr_init(r34773);
        mpfr_init(r34774);
        mpfr_init(r34775);
        mpfr_init(r34776);
        mpfr_init(r34777);
        mpfr_init(r34778);
        mpfr_init(r34779);
}

double f_dm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34772, r34770, r34771, MPFR_RNDN);
        mpfr_set_d(r34773, x, MPFR_RNDN);
        mpfr_set_d(r34774, y, MPFR_RNDN);
        mpfr_set_d(r34775, z, MPFR_RNDN);
        mpfr_sqrt(r34776, r34775, MPFR_RNDN);
        mpfr_mul(r34777, r34774, r34776, MPFR_RNDN);
        mpfr_add(r34778, r34773, r34777, MPFR_RNDN);
        mpfr_mul(r34779, r34772, r34778, MPFR_RNDN);
        return mpfr_get_d(r34779, MPFR_RNDN);
}

