#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 r52232 = 1.0f;
        float r52233 = 2.0f;
        float r52234 = r52232 / r52233;
        float r52235 = x;
        float r52236 = y;
        float r52237 = z;
        float r52238 = sqrt(r52237);
        float r52239 = r52236 * r52238;
        float r52240 = r52235 + r52239;
        float r52241 = r52234 * r52240;
        return r52241;
}

double f_id(double x, double y, double z) {
        double r52242 = 1.0;
        double r52243 = 2.0;
        double r52244 = r52242 / r52243;
        double r52245 = x;
        double r52246 = y;
        double r52247 = z;
        double r52248 = sqrt(r52247);
        double r52249 = r52246 * r52248;
        double r52250 = r52245 + r52249;
        double r52251 = r52244 * r52250;
        return r52251;
}


double f_of(float x, float y, float z) {
        float r52252 = 1.0f;
        float r52253 = 2.0f;
        float r52254 = r52252 / r52253;
        float r52255 = x;
        float r52256 = y;
        float r52257 = z;
        float r52258 = sqrt(r52257);
        float r52259 = r52256 * r52258;
        float r52260 = r52255 + r52259;
        float r52261 = r52254 * r52260;
        return r52261;
}

double f_od(double x, double y, double z) {
        double r52262 = 1.0;
        double r52263 = 2.0;
        double r52264 = r52262 / r52263;
        double r52265 = x;
        double r52266 = y;
        double r52267 = z;
        double r52268 = sqrt(r52267);
        double r52269 = r52266 * r52268;
        double r52270 = r52265 + r52269;
        double r52271 = r52264 * r52270;
        return r52271;
}

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 r52272, r52273, r52274, r52275, r52276, r52277, r52278, r52279, r52280, r52281;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r52272, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r52273, "2.0", 10, MPFR_RNDN);
        mpfr_init(r52274);
        mpfr_init(r52275);
        mpfr_init(r52276);
        mpfr_init(r52277);
        mpfr_init(r52278);
        mpfr_init(r52279);
        mpfr_init(r52280);
        mpfr_init(r52281);
}

double f_im(double x, double y, double z) {
        ;
        ;
        mpfr_div(r52274, r52272, r52273, MPFR_RNDN);
        mpfr_set_d(r52275, x, MPFR_RNDN);
        mpfr_set_d(r52276, y, MPFR_RNDN);
        mpfr_set_d(r52277, z, MPFR_RNDN);
        mpfr_sqrt(r52278, r52277, MPFR_RNDN);
        mpfr_mul(r52279, r52276, r52278, MPFR_RNDN);
        mpfr_add(r52280, r52275, r52279, MPFR_RNDN);
        mpfr_mul(r52281, r52274, r52280, MPFR_RNDN);
        return mpfr_get_d(r52281, MPFR_RNDN);
}

static mpfr_t r52282, r52283, r52284, r52285, r52286, r52287, r52288, r52289, r52290, r52291;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r52282, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r52283, "2.0", 10, MPFR_RNDN);
        mpfr_init(r52284);
        mpfr_init(r52285);
        mpfr_init(r52286);
        mpfr_init(r52287);
        mpfr_init(r52288);
        mpfr_init(r52289);
        mpfr_init(r52290);
        mpfr_init(r52291);
}

double f_fm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r52284, r52282, r52283, MPFR_RNDN);
        mpfr_set_d(r52285, x, MPFR_RNDN);
        mpfr_set_d(r52286, y, MPFR_RNDN);
        mpfr_set_d(r52287, z, MPFR_RNDN);
        mpfr_sqrt(r52288, r52287, MPFR_RNDN);
        mpfr_mul(r52289, r52286, r52288, MPFR_RNDN);
        mpfr_add(r52290, r52285, r52289, MPFR_RNDN);
        mpfr_mul(r52291, r52284, r52290, MPFR_RNDN);
        return mpfr_get_d(r52291, MPFR_RNDN);
}

static mpfr_t r52292, r52293, r52294, r52295, r52296, r52297, r52298, r52299, r52300, r52301;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r52292, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r52293, "2.0", 10, MPFR_RNDN);
        mpfr_init(r52294);
        mpfr_init(r52295);
        mpfr_init(r52296);
        mpfr_init(r52297);
        mpfr_init(r52298);
        mpfr_init(r52299);
        mpfr_init(r52300);
        mpfr_init(r52301);
}

double f_dm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r52294, r52292, r52293, MPFR_RNDN);
        mpfr_set_d(r52295, x, MPFR_RNDN);
        mpfr_set_d(r52296, y, MPFR_RNDN);
        mpfr_set_d(r52297, z, MPFR_RNDN);
        mpfr_sqrt(r52298, r52297, MPFR_RNDN);
        mpfr_mul(r52299, r52296, r52298, MPFR_RNDN);
        mpfr_add(r52300, r52295, r52299, MPFR_RNDN);
        mpfr_mul(r52301, r52294, r52300, MPFR_RNDN);
        return mpfr_get_d(r52301, MPFR_RNDN);
}

