#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 r34926 = 1.0;
        float r34927 = 2.0;
        float r34928 = r34926 / r34927;
        float r34929 = x;
        float r34930 = y;
        float r34931 = z;
        float r34932 = sqrt(r34931);
        float r34933 = r34930 * r34932;
        float r34934 = r34929 + r34933;
        float r34935 = r34928 * r34934;
        return r34935;
}

double f_id(double x, double y, double z) {
        double r34936 = 1.0;
        double r34937 = 2.0;
        double r34938 = r34936 / r34937;
        double r34939 = x;
        double r34940 = y;
        double r34941 = z;
        double r34942 = sqrt(r34941);
        double r34943 = r34940 * r34942;
        double r34944 = r34939 + r34943;
        double r34945 = r34938 * r34944;
        return r34945;
}


double f_of(float x, float y, float z) {
        float r34946 = 1.0;
        float r34947 = 2.0;
        float r34948 = r34946 / r34947;
        float r34949 = x;
        float r34950 = y;
        float r34951 = z;
        float r34952 = sqrt(r34951);
        float r34953 = r34950 * r34952;
        float r34954 = r34949 + r34953;
        float r34955 = r34948 * r34954;
        return r34955;
}

double f_od(double x, double y, double z) {
        double r34956 = 1.0;
        double r34957 = 2.0;
        double r34958 = r34956 / r34957;
        double r34959 = x;
        double r34960 = y;
        double r34961 = z;
        double r34962 = sqrt(r34961);
        double r34963 = r34960 * r34962;
        double r34964 = r34959 + r34963;
        double r34965 = r34958 * r34964;
        return r34965;
}

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 r34966, r34967, r34968, r34969, r34970, r34971, r34972, r34973, r34974, r34975;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34966, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34967, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34968);
        mpfr_init(r34969);
        mpfr_init(r34970);
        mpfr_init(r34971);
        mpfr_init(r34972);
        mpfr_init(r34973);
        mpfr_init(r34974);
        mpfr_init(r34975);
}

double f_im(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34968, r34966, r34967, MPFR_RNDN);
        mpfr_set_d(r34969, x, MPFR_RNDN);
        mpfr_set_d(r34970, y, MPFR_RNDN);
        mpfr_set_d(r34971, z, MPFR_RNDN);
        mpfr_sqrt(r34972, r34971, MPFR_RNDN);
        mpfr_mul(r34973, r34970, r34972, MPFR_RNDN);
        mpfr_add(r34974, r34969, r34973, MPFR_RNDN);
        mpfr_mul(r34975, r34968, r34974, MPFR_RNDN);
        return mpfr_get_d(r34975, MPFR_RNDN);
}

static mpfr_t r34976, r34977, r34978, r34979, r34980, r34981, r34982, r34983, r34984, r34985;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34976, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34977, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34978);
        mpfr_init(r34979);
        mpfr_init(r34980);
        mpfr_init(r34981);
        mpfr_init(r34982);
        mpfr_init(r34983);
        mpfr_init(r34984);
        mpfr_init(r34985);
}

double f_fm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34978, r34976, r34977, MPFR_RNDN);
        mpfr_set_d(r34979, x, MPFR_RNDN);
        mpfr_set_d(r34980, y, MPFR_RNDN);
        mpfr_set_d(r34981, z, MPFR_RNDN);
        mpfr_sqrt(r34982, r34981, MPFR_RNDN);
        mpfr_mul(r34983, r34980, r34982, MPFR_RNDN);
        mpfr_add(r34984, r34979, r34983, MPFR_RNDN);
        mpfr_mul(r34985, r34978, r34984, MPFR_RNDN);
        return mpfr_get_d(r34985, MPFR_RNDN);
}

static mpfr_t r34986, r34987, r34988, r34989, r34990, r34991, r34992, r34993, r34994, r34995;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r34986, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r34987, "2.0", 10, MPFR_RNDN);
        mpfr_init(r34988);
        mpfr_init(r34989);
        mpfr_init(r34990);
        mpfr_init(r34991);
        mpfr_init(r34992);
        mpfr_init(r34993);
        mpfr_init(r34994);
        mpfr_init(r34995);
}

double f_dm(double x, double y, double z) {
        ;
        ;
        mpfr_div(r34988, r34986, r34987, MPFR_RNDN);
        mpfr_set_d(r34989, x, MPFR_RNDN);
        mpfr_set_d(r34990, y, MPFR_RNDN);
        mpfr_set_d(r34991, z, MPFR_RNDN);
        mpfr_sqrt(r34992, r34991, MPFR_RNDN);
        mpfr_mul(r34993, r34990, r34992, MPFR_RNDN);
        mpfr_add(r34994, r34989, r34993, MPFR_RNDN);
        mpfr_mul(r34995, r34988, r34994, MPFR_RNDN);
        return mpfr_get_d(r34995, MPFR_RNDN);
}

