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

char *name = "jeff quadratic root 1";

double f_if(float a, float b, float c) {
        float r20941 = b;
        float r20942 = 0;
        bool r20943 = r20941 >= r20942;
        float r20944 = -r20941;
        float r20945 = r20941 * r20941;
        float r20946 = 4;
        float r20947 = a;
        float r20948 = r20946 * r20947;
        float r20949 = c;
        float r20950 = r20948 * r20949;
        float r20951 = r20945 - r20950;
        float r20952 = sqrt(r20951);
        float r20953 = r20944 - r20952;
        float r20954 = 2;
        float r20955 = r20954 * r20947;
        float r20956 = r20953 / r20955;
        float r20957 = r20954 * r20949;
        float r20958 = r20944 + r20952;
        float r20959 = r20957 / r20958;
        float r20960 = r20943 ? r20956 : r20959;
        return r20960;
}

double f_id(double a, double b, double c) {
        double r20961 = b;
        double r20962 = 0;
        bool r20963 = r20961 >= r20962;
        double r20964 = -r20961;
        double r20965 = r20961 * r20961;
        double r20966 = 4;
        double r20967 = a;
        double r20968 = r20966 * r20967;
        double r20969 = c;
        double r20970 = r20968 * r20969;
        double r20971 = r20965 - r20970;
        double r20972 = sqrt(r20971);
        double r20973 = r20964 - r20972;
        double r20974 = 2;
        double r20975 = r20974 * r20967;
        double r20976 = r20973 / r20975;
        double r20977 = r20974 * r20969;
        double r20978 = r20964 + r20972;
        double r20979 = r20977 / r20978;
        double r20980 = r20963 ? r20976 : r20979;
        return r20980;
}


double f_of(float a, float b, float c) {
        float r20981 = b;
        float r20982 = -7.853185861915354e+117;
        bool r20983 = r20981 <= r20982;
        float r20984 = 0;
        bool r20985 = r20981 >= r20984;
        float r20986 = -r20981;
        float r20987 = r20981 * r20981;
        float r20988 = c;
        float r20989 = a;
        float r20990 = 4;
        float r20991 = r20989 * r20990;
        float r20992 = r20988 * r20991;
        float r20993 = r20987 - r20992;
        float r20994 = sqrt(r20993);
        float r20995 = r20986 - r20994;
        float r20996 = r20989 + r20989;
        float r20997 = r20995 / r20996;
        float r20998 = r20989 / r20981;
        float r20999 = r20998 * r20988;
        float r21000 = r20999 - r20981;
        float r21001 = r20988 / r21000;
        float r21002 = r20985 ? r20997 : r21001;
        float r21003 = -4.086812811986243e-293;
        bool r21004 = r20981 <= r21003;
        float r21005 = r20988 / r20981;
        float r21006 = 1;
        float r21007 = r21005 / r21006;
        float r21008 = r20981 / r20989;
        float r21009 = r21007 - r21008;
        float r21010 = r20988 + r20988;
        float r21011 = r20994 + r20986;
        float r21012 = r21010 / r21011;
        float r21013 = r20985 ? r21009 : r21012;
        float r21014 = 1.8918781781269702e+105;
        bool r21015 = r20981 <= r21014;
        float r21016 = r20990 * r20989;
        float r21017 = r21016 * r20988;
        float r21018 = r20987 - r21017;
        float r21019 = sqrt(r21018);
        float r21020 = r20986 - r21019;
        float r21021 = 2;
        float r21022 = r21021 * r20989;
        float r21023 = r21020 / r21022;
        float r21024 = r21021 * r20988;
        float r21025 = r20990 * r20988;
        float r21026 = r20989 * r21025;
        float r21027 = r20987 - r21026;
        float r21028 = sqrt(r21027);
        float r21029 = r21028 * r21027;
        float r21030 = cbrt(r21029);
        float r21031 = r20986 + r21030;
        float r21032 = r21024 / r21031;
        float r21033 = r20985 ? r21023 : r21032;
        float r21034 = r21015 ? r21033 : r21013;
        float r21035 = r21004 ? r21013 : r21034;
        float r21036 = r20983 ? r21002 : r21035;
        return r21036;
}

double f_od(double a, double b, double c) {
        double r21037 = b;
        double r21038 = -7.853185861915354e+117;
        bool r21039 = r21037 <= r21038;
        double r21040 = 0;
        bool r21041 = r21037 >= r21040;
        double r21042 = -r21037;
        double r21043 = r21037 * r21037;
        double r21044 = c;
        double r21045 = a;
        double r21046 = 4;
        double r21047 = r21045 * r21046;
        double r21048 = r21044 * r21047;
        double r21049 = r21043 - r21048;
        double r21050 = sqrt(r21049);
        double r21051 = r21042 - r21050;
        double r21052 = r21045 + r21045;
        double r21053 = r21051 / r21052;
        double r21054 = r21045 / r21037;
        double r21055 = r21054 * r21044;
        double r21056 = r21055 - r21037;
        double r21057 = r21044 / r21056;
        double r21058 = r21041 ? r21053 : r21057;
        double r21059 = -4.086812811986243e-293;
        bool r21060 = r21037 <= r21059;
        double r21061 = r21044 / r21037;
        double r21062 = 1;
        double r21063 = r21061 / r21062;
        double r21064 = r21037 / r21045;
        double r21065 = r21063 - r21064;
        double r21066 = r21044 + r21044;
        double r21067 = r21050 + r21042;
        double r21068 = r21066 / r21067;
        double r21069 = r21041 ? r21065 : r21068;
        double r21070 = 1.8918781781269702e+105;
        bool r21071 = r21037 <= r21070;
        double r21072 = r21046 * r21045;
        double r21073 = r21072 * r21044;
        double r21074 = r21043 - r21073;
        double r21075 = sqrt(r21074);
        double r21076 = r21042 - r21075;
        double r21077 = 2;
        double r21078 = r21077 * r21045;
        double r21079 = r21076 / r21078;
        double r21080 = r21077 * r21044;
        double r21081 = r21046 * r21044;
        double r21082 = r21045 * r21081;
        double r21083 = r21043 - r21082;
        double r21084 = sqrt(r21083);
        double r21085 = r21084 * r21083;
        double r21086 = cbrt(r21085);
        double r21087 = r21042 + r21086;
        double r21088 = r21080 / r21087;
        double r21089 = r21041 ? r21079 : r21088;
        double r21090 = r21071 ? r21089 : r21069;
        double r21091 = r21060 ? r21069 : r21090;
        double r21092 = r21039 ? r21058 : r21091;
        return r21092;
}

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 r21093, r21094, r21095, r21096, r21097, r21098, r21099, r21100, r21101, r21102, r21103, r21104, r21105, r21106, r21107, r21108, r21109, r21110, r21111, r21112;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r21093);
        mpfr_init_set_str(r21094, "0", 10, MPFR_RNDN);
        mpfr_init(r21095);
        mpfr_init(r21096);
        mpfr_init(r21097);
        mpfr_init_set_str(r21098, "4", 10, MPFR_RNDN);
        mpfr_init(r21099);
        mpfr_init(r21100);
        mpfr_init(r21101);
        mpfr_init(r21102);
        mpfr_init(r21103);
        mpfr_init(r21104);
        mpfr_init(r21105);
        mpfr_init_set_str(r21106, "2", 10, MPFR_RNDN);
        mpfr_init(r21107);
        mpfr_init(r21108);
        mpfr_init(r21109);
        mpfr_init(r21110);
        mpfr_init(r21111);
        mpfr_init(r21112);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r21093, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21095, mpfr_cmp(r21093, r21094) >= 0, MPFR_RNDN);
        mpfr_neg(r21096, r21093, MPFR_RNDN);
        mpfr_mul(r21097, r21093, r21093, MPFR_RNDN);
        ;
        mpfr_set_d(r21099, a, MPFR_RNDN);
        mpfr_mul(r21100, r21098, r21099, MPFR_RNDN);
        mpfr_set_d(r21101, c, MPFR_RNDN);
        mpfr_mul(r21102, r21100, r21101, MPFR_RNDN);
        mpfr_sub(r21103, r21097, r21102, MPFR_RNDN);
        mpfr_sqrt(r21104, r21103, MPFR_RNDN);
        mpfr_sub(r21105, r21096, r21104, MPFR_RNDN);
        ;
        mpfr_mul(r21107, r21106, r21099, MPFR_RNDN);
        mpfr_div(r21108, r21105, r21107, MPFR_RNDN);
        mpfr_mul(r21109, r21106, r21101, MPFR_RNDN);
        mpfr_add(r21110, r21096, r21104, MPFR_RNDN);
        mpfr_div(r21111, r21109, r21110, MPFR_RNDN);
        if (mpfr_get_si(r21095, MPFR_RNDN)) { mpfr_set(r21112, r21108, MPFR_RNDN); } else { mpfr_set(r21112, r21111, MPFR_RNDN); };
        return mpfr_get_d(r21112, MPFR_RNDN);
}

static mpfr_t r21113, r21114, r21115, r21116, r21117, r21118, r21119, r21120, r21121, r21122, r21123, r21124, r21125, r21126, r21127, r21128, r21129, r21130, r21131, r21132, r21133, r21134, r21135, r21136, r21137, r21138, r21139, r21140, r21141, r21142, r21143, r21144, r21145, r21146, r21147, r21148, r21149, r21150, r21151, r21152, r21153, r21154, r21155, r21156, r21157, r21158, r21159, r21160, r21161, r21162, r21163, r21164, r21165, r21166, r21167, r21168;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r21113);
        mpfr_init_set_str(r21114, "-7.853185861915354e+117", 10, MPFR_RNDN);
        mpfr_init(r21115);
        mpfr_init_set_str(r21116, "0", 10, MPFR_RNDN);
        mpfr_init(r21117);
        mpfr_init(r21118);
        mpfr_init(r21119);
        mpfr_init(r21120);
        mpfr_init(r21121);
        mpfr_init_set_str(r21122, "4", 10, MPFR_RNDN);
        mpfr_init(r21123);
        mpfr_init(r21124);
        mpfr_init(r21125);
        mpfr_init(r21126);
        mpfr_init(r21127);
        mpfr_init(r21128);
        mpfr_init(r21129);
        mpfr_init(r21130);
        mpfr_init(r21131);
        mpfr_init(r21132);
        mpfr_init(r21133);
        mpfr_init(r21134);
        mpfr_init_set_str(r21135, "-4.086812811986243e-293", 10, MPFR_RNDN);
        mpfr_init(r21136);
        mpfr_init(r21137);
        mpfr_init_set_str(r21138, "1", 10, MPFR_RNDN);
        mpfr_init(r21139);
        mpfr_init(r21140);
        mpfr_init(r21141);
        mpfr_init(r21142);
        mpfr_init(r21143);
        mpfr_init(r21144);
        mpfr_init(r21145);
        mpfr_init_set_str(r21146, "1.8918781781269702e+105", 10, MPFR_RNDN);
        mpfr_init(r21147);
        mpfr_init(r21148);
        mpfr_init(r21149);
        mpfr_init(r21150);
        mpfr_init(r21151);
        mpfr_init(r21152);
        mpfr_init_set_str(r21153, "2", 10, MPFR_RNDN);
        mpfr_init(r21154);
        mpfr_init(r21155);
        mpfr_init(r21156);
        mpfr_init(r21157);
        mpfr_init(r21158);
        mpfr_init(r21159);
        mpfr_init(r21160);
        mpfr_init(r21161);
        mpfr_init(r21162);
        mpfr_init(r21163);
        mpfr_init(r21164);
        mpfr_init(r21165);
        mpfr_init(r21166);
        mpfr_init(r21167);
        mpfr_init(r21168);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r21113, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21115, mpfr_cmp(r21113, r21114) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21117, mpfr_cmp(r21113, r21116) >= 0, MPFR_RNDN);
        mpfr_neg(r21118, r21113, MPFR_RNDN);
        mpfr_mul(r21119, r21113, r21113, MPFR_RNDN);
        mpfr_set_d(r21120, c, MPFR_RNDN);
        mpfr_set_d(r21121, a, MPFR_RNDN);
        ;
        mpfr_mul(r21123, r21121, r21122, MPFR_RNDN);
        mpfr_mul(r21124, r21120, r21123, MPFR_RNDN);
        mpfr_sub(r21125, r21119, r21124, MPFR_RNDN);
        mpfr_sqrt(r21126, r21125, MPFR_RNDN);
        mpfr_sub(r21127, r21118, r21126, MPFR_RNDN);
        mpfr_add(r21128, r21121, r21121, MPFR_RNDN);
        mpfr_div(r21129, r21127, r21128, MPFR_RNDN);
        mpfr_div(r21130, r21121, r21113, MPFR_RNDN);
        mpfr_mul(r21131, r21130, r21120, MPFR_RNDN);
        mpfr_sub(r21132, r21131, r21113, MPFR_RNDN);
        mpfr_div(r21133, r21120, r21132, MPFR_RNDN);
        if (mpfr_get_si(r21117, MPFR_RNDN)) { mpfr_set(r21134, r21129, MPFR_RNDN); } else { mpfr_set(r21134, r21133, MPFR_RNDN); };
        ;
        mpfr_set_si(r21136, mpfr_cmp(r21113, r21135) <= 0, MPFR_RNDN);
        mpfr_div(r21137, r21120, r21113, MPFR_RNDN);
        ;
        mpfr_div(r21139, r21137, r21138, MPFR_RNDN);
        mpfr_div(r21140, r21113, r21121, MPFR_RNDN);
        mpfr_sub(r21141, r21139, r21140, MPFR_RNDN);
        mpfr_add(r21142, r21120, r21120, MPFR_RNDN);
        mpfr_add(r21143, r21126, r21118, MPFR_RNDN);
        mpfr_div(r21144, r21142, r21143, MPFR_RNDN);
        if (mpfr_get_si(r21117, MPFR_RNDN)) { mpfr_set(r21145, r21141, MPFR_RNDN); } else { mpfr_set(r21145, r21144, MPFR_RNDN); };
        ;
        mpfr_set_si(r21147, mpfr_cmp(r21113, r21146) <= 0, MPFR_RNDN);
        mpfr_mul(r21148, r21122, r21121, MPFR_RNDN);
        mpfr_mul(r21149, r21148, r21120, MPFR_RNDN);
        mpfr_sub(r21150, r21119, r21149, MPFR_RNDN);
        mpfr_sqrt(r21151, r21150, MPFR_RNDN);
        mpfr_sub(r21152, r21118, r21151, MPFR_RNDN);
        ;
        mpfr_mul(r21154, r21153, r21121, MPFR_RNDN);
        mpfr_div(r21155, r21152, r21154, MPFR_RNDN);
        mpfr_mul(r21156, r21153, r21120, MPFR_RNDN);
        mpfr_mul(r21157, r21122, r21120, MPFR_RNDN);
        mpfr_mul(r21158, r21121, r21157, MPFR_RNDN);
        mpfr_sub(r21159, r21119, r21158, MPFR_RNDN);
        mpfr_sqrt(r21160, r21159, MPFR_RNDN);
        mpfr_mul(r21161, r21160, r21159, MPFR_RNDN);
        mpfr_cbrt(r21162, r21161, MPFR_RNDN);
        mpfr_add(r21163, r21118, r21162, MPFR_RNDN);
        mpfr_div(r21164, r21156, r21163, MPFR_RNDN);
        if (mpfr_get_si(r21117, MPFR_RNDN)) { mpfr_set(r21165, r21155, MPFR_RNDN); } else { mpfr_set(r21165, r21164, MPFR_RNDN); };
        if (mpfr_get_si(r21147, MPFR_RNDN)) { mpfr_set(r21166, r21165, MPFR_RNDN); } else { mpfr_set(r21166, r21145, MPFR_RNDN); };
        if (mpfr_get_si(r21136, MPFR_RNDN)) { mpfr_set(r21167, r21145, MPFR_RNDN); } else { mpfr_set(r21167, r21166, MPFR_RNDN); };
        if (mpfr_get_si(r21115, MPFR_RNDN)) { mpfr_set(r21168, r21134, MPFR_RNDN); } else { mpfr_set(r21168, r21167, MPFR_RNDN); };
        return mpfr_get_d(r21168, MPFR_RNDN);
}

static mpfr_t r21169, r21170, r21171, r21172, r21173, r21174, r21175, r21176, r21177, r21178, r21179, r21180, r21181, r21182, r21183, r21184, r21185, r21186, r21187, r21188, r21189, r21190, r21191, r21192, r21193, r21194, r21195, r21196, r21197, r21198, r21199, r21200, r21201, r21202, r21203, r21204, r21205, r21206, r21207, r21208, r21209, r21210, r21211, r21212, r21213, r21214, r21215, r21216, r21217, r21218, r21219, r21220, r21221, r21222, r21223, r21224;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r21169);
        mpfr_init_set_str(r21170, "-7.853185861915354e+117", 10, MPFR_RNDN);
        mpfr_init(r21171);
        mpfr_init_set_str(r21172, "0", 10, MPFR_RNDN);
        mpfr_init(r21173);
        mpfr_init(r21174);
        mpfr_init(r21175);
        mpfr_init(r21176);
        mpfr_init(r21177);
        mpfr_init_set_str(r21178, "4", 10, MPFR_RNDN);
        mpfr_init(r21179);
        mpfr_init(r21180);
        mpfr_init(r21181);
        mpfr_init(r21182);
        mpfr_init(r21183);
        mpfr_init(r21184);
        mpfr_init(r21185);
        mpfr_init(r21186);
        mpfr_init(r21187);
        mpfr_init(r21188);
        mpfr_init(r21189);
        mpfr_init(r21190);
        mpfr_init_set_str(r21191, "-4.086812811986243e-293", 10, MPFR_RNDN);
        mpfr_init(r21192);
        mpfr_init(r21193);
        mpfr_init_set_str(r21194, "1", 10, MPFR_RNDN);
        mpfr_init(r21195);
        mpfr_init(r21196);
        mpfr_init(r21197);
        mpfr_init(r21198);
        mpfr_init(r21199);
        mpfr_init(r21200);
        mpfr_init(r21201);
        mpfr_init_set_str(r21202, "1.8918781781269702e+105", 10, MPFR_RNDN);
        mpfr_init(r21203);
        mpfr_init(r21204);
        mpfr_init(r21205);
        mpfr_init(r21206);
        mpfr_init(r21207);
        mpfr_init(r21208);
        mpfr_init_set_str(r21209, "2", 10, MPFR_RNDN);
        mpfr_init(r21210);
        mpfr_init(r21211);
        mpfr_init(r21212);
        mpfr_init(r21213);
        mpfr_init(r21214);
        mpfr_init(r21215);
        mpfr_init(r21216);
        mpfr_init(r21217);
        mpfr_init(r21218);
        mpfr_init(r21219);
        mpfr_init(r21220);
        mpfr_init(r21221);
        mpfr_init(r21222);
        mpfr_init(r21223);
        mpfr_init(r21224);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r21169, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21171, mpfr_cmp(r21169, r21170) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21173, mpfr_cmp(r21169, r21172) >= 0, MPFR_RNDN);
        mpfr_neg(r21174, r21169, MPFR_RNDN);
        mpfr_mul(r21175, r21169, r21169, MPFR_RNDN);
        mpfr_set_d(r21176, c, MPFR_RNDN);
        mpfr_set_d(r21177, a, MPFR_RNDN);
        ;
        mpfr_mul(r21179, r21177, r21178, MPFR_RNDN);
        mpfr_mul(r21180, r21176, r21179, MPFR_RNDN);
        mpfr_sub(r21181, r21175, r21180, MPFR_RNDN);
        mpfr_sqrt(r21182, r21181, MPFR_RNDN);
        mpfr_sub(r21183, r21174, r21182, MPFR_RNDN);
        mpfr_add(r21184, r21177, r21177, MPFR_RNDN);
        mpfr_div(r21185, r21183, r21184, MPFR_RNDN);
        mpfr_div(r21186, r21177, r21169, MPFR_RNDN);
        mpfr_mul(r21187, r21186, r21176, MPFR_RNDN);
        mpfr_sub(r21188, r21187, r21169, MPFR_RNDN);
        mpfr_div(r21189, r21176, r21188, MPFR_RNDN);
        if (mpfr_get_si(r21173, MPFR_RNDN)) { mpfr_set(r21190, r21185, MPFR_RNDN); } else { mpfr_set(r21190, r21189, MPFR_RNDN); };
        ;
        mpfr_set_si(r21192, mpfr_cmp(r21169, r21191) <= 0, MPFR_RNDN);
        mpfr_div(r21193, r21176, r21169, MPFR_RNDN);
        ;
        mpfr_div(r21195, r21193, r21194, MPFR_RNDN);
        mpfr_div(r21196, r21169, r21177, MPFR_RNDN);
        mpfr_sub(r21197, r21195, r21196, MPFR_RNDN);
        mpfr_add(r21198, r21176, r21176, MPFR_RNDN);
        mpfr_add(r21199, r21182, r21174, MPFR_RNDN);
        mpfr_div(r21200, r21198, r21199, MPFR_RNDN);
        if (mpfr_get_si(r21173, MPFR_RNDN)) { mpfr_set(r21201, r21197, MPFR_RNDN); } else { mpfr_set(r21201, r21200, MPFR_RNDN); };
        ;
        mpfr_set_si(r21203, mpfr_cmp(r21169, r21202) <= 0, MPFR_RNDN);
        mpfr_mul(r21204, r21178, r21177, MPFR_RNDN);
        mpfr_mul(r21205, r21204, r21176, MPFR_RNDN);
        mpfr_sub(r21206, r21175, r21205, MPFR_RNDN);
        mpfr_sqrt(r21207, r21206, MPFR_RNDN);
        mpfr_sub(r21208, r21174, r21207, MPFR_RNDN);
        ;
        mpfr_mul(r21210, r21209, r21177, MPFR_RNDN);
        mpfr_div(r21211, r21208, r21210, MPFR_RNDN);
        mpfr_mul(r21212, r21209, r21176, MPFR_RNDN);
        mpfr_mul(r21213, r21178, r21176, MPFR_RNDN);
        mpfr_mul(r21214, r21177, r21213, MPFR_RNDN);
        mpfr_sub(r21215, r21175, r21214, MPFR_RNDN);
        mpfr_sqrt(r21216, r21215, MPFR_RNDN);
        mpfr_mul(r21217, r21216, r21215, MPFR_RNDN);
        mpfr_cbrt(r21218, r21217, MPFR_RNDN);
        mpfr_add(r21219, r21174, r21218, MPFR_RNDN);
        mpfr_div(r21220, r21212, r21219, MPFR_RNDN);
        if (mpfr_get_si(r21173, MPFR_RNDN)) { mpfr_set(r21221, r21211, MPFR_RNDN); } else { mpfr_set(r21221, r21220, MPFR_RNDN); };
        if (mpfr_get_si(r21203, MPFR_RNDN)) { mpfr_set(r21222, r21221, MPFR_RNDN); } else { mpfr_set(r21222, r21201, MPFR_RNDN); };
        if (mpfr_get_si(r21192, MPFR_RNDN)) { mpfr_set(r21223, r21201, MPFR_RNDN); } else { mpfr_set(r21223, r21222, MPFR_RNDN); };
        if (mpfr_get_si(r21171, MPFR_RNDN)) { mpfr_set(r21224, r21190, MPFR_RNDN); } else { mpfr_set(r21224, r21223, MPFR_RNDN); };
        return mpfr_get_d(r21224, MPFR_RNDN);
}

