#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 r34268 = 1.0;
        float r34269 = 2.0;
        float r34270 = r34268 / r34269;
        float r34271 = x;
        float r34272 = y;
        float r34273 = z;
        float r34274 = sqrt(r34273);
        float r34275 = r34272 * r34274;
        float r34276 = r34271 + r34275;
        float r34277 = r34270 * r34276;
        return r34277;
}

double f_id(double x, double y, double z) {
        double r34278 = 1.0;
        double r34279 = 2.0;
        double r34280 = r34278 / r34279;
        double r34281 = x;
        double r34282 = y;
        double r34283 = z;
        double r34284 = sqrt(r34283);
        double r34285 = r34282 * r34284;
        double r34286 = r34281 + r34285;
        double r34287 = r34280 * r34286;
        return r34287;
}


double f_of(float x, float y, float z) {
        float r34288 = 1.0;
        float r34289 = 2.0;
        float r34290 = r34288 / r34289;
        float r34291 = x;
        float r34292 = y;
        float r34293 = z;
        float r34294 = sqrt(r34293);
        float r34295 = r34292 * r34294;
        float r34296 = r34291 + r34295;
        float r34297 = r34290 * r34296;
        return r34297;
}

double f_od(double x, double y, double z) {
        double r34298 = 1.0;
        double r34299 = 2.0;
        double r34300 = r34298 / r34299;
        double r34301 = x;
        double r34302 = y;
        double r34303 = z;
        double r34304 = sqrt(r34303);
        double r34305 = r34302 * r34304;
        double r34306 = r34301 + r34305;
        double r34307 = r34300 * r34306;
        return r34307;
}

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 r34308, r34309, r34310, r34311, r34312, r34313, r34314, r34315, r34316, r34317;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34308, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34309, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34310);
        mpfr_init(r34311);
        mpfr_init(r34312);
        mpfr_init(r34313);
        mpfr_init(r34314);
        mpfr_init(r34315);
        mpfr_init(r34316);
        mpfr_init(r34317);
}

double f_im(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34310, r34308, r34309, MPFR_RNDN);
        mpfr_set_d(r34311, x, MPFR_RNDN);
        mpfr_set_d(r34312, y, MPFR_RNDN);
        mpfr_set_d(r34313, z, MPFR_RNDN);
        mpfr_sqrt(r34314, r34313, MPFR_RNDN);
        mpfr_mul(r34315, r34312, r34314, MPFR_RNDN);
        mpfr_add(r34316, r34311, r34315, MPFR_RNDN);
        mpfr_mul(r34317, r34310, r34316, MPFR_RNDN);
        return mpfr_get_d(r34317, MPFR_RNDN);
}

static mpfr_t r34318, r34319, r34320, r34321, r34322, r34323, r34324, r34325, r34326, r34327;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34318, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34319, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34320);
        mpfr_init(r34321);
        mpfr_init(r34322);
        mpfr_init(r34323);
        mpfr_init(r34324);
        mpfr_init(r34325);
        mpfr_init(r34326);
        mpfr_init(r34327);
}

double f_fm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34320, r34318, r34319, MPFR_RNDN);
        mpfr_set_d(r34321, x, MPFR_RNDN);
        mpfr_set_d(r34322, y, MPFR_RNDN);
        mpfr_set_d(r34323, z, MPFR_RNDN);
        mpfr_sqrt(r34324, r34323, MPFR_RNDN);
        mpfr_mul(r34325, r34322, r34324, MPFR_RNDN);
        mpfr_add(r34326, r34321, r34325, MPFR_RNDN);
        mpfr_mul(r34327, r34320, r34326, MPFR_RNDN);
        return mpfr_get_d(r34327, MPFR_RNDN);
}

static mpfr_t r34328, r34329, r34330, r34331, r34332, r34333, r34334, r34335, r34336, r34337;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34328, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34329, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34330);
        mpfr_init(r34331);
        mpfr_init(r34332);
        mpfr_init(r34333);
        mpfr_init(r34334);
        mpfr_init(r34335);
        mpfr_init(r34336);
        mpfr_init(r34337);
}

double f_dm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34330, r34328, r34329, MPFR_RNDN);
        mpfr_set_d(r34331, x, MPFR_RNDN);
        mpfr_set_d(r34332, y, MPFR_RNDN);
        mpfr_set_d(r34333, z, MPFR_RNDN);
        mpfr_sqrt(r34334, r34333, MPFR_RNDN);
        mpfr_mul(r34335, r34332, r34334, MPFR_RNDN);
        mpfr_add(r34336, r34331, r34335, MPFR_RNDN);
        mpfr_mul(r34337, r34330, r34336, MPFR_RNDN);
        return mpfr_get_d(r34337, MPFR_RNDN);
}

