#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 r20996 = b;
        float r20997 = 0;
        bool r20998 = r20996 >= r20997;
        float r20999 = -r20996;
        float r21000 = r20996 * r20996;
        float r21001 = 4;
        float r21002 = a;
        float r21003 = r21001 * r21002;
        float r21004 = c;
        float r21005 = r21003 * r21004;
        float r21006 = r21000 - r21005;
        float r21007 = sqrt(r21006);
        float r21008 = r20999 - r21007;
        float r21009 = 2;
        float r21010 = r21009 * r21002;
        float r21011 = r21008 / r21010;
        float r21012 = r21009 * r21004;
        float r21013 = r20999 + r21007;
        float r21014 = r21012 / r21013;
        float r21015 = r20998 ? r21011 : r21014;
        return r21015;
}

double f_id(double a, double b, double c) {
        double r21016 = b;
        double r21017 = 0;
        bool r21018 = r21016 >= r21017;
        double r21019 = -r21016;
        double r21020 = r21016 * r21016;
        double r21021 = 4;
        double r21022 = a;
        double r21023 = r21021 * r21022;
        double r21024 = c;
        double r21025 = r21023 * r21024;
        double r21026 = r21020 - r21025;
        double r21027 = sqrt(r21026);
        double r21028 = r21019 - r21027;
        double r21029 = 2;
        double r21030 = r21029 * r21022;
        double r21031 = r21028 / r21030;
        double r21032 = r21029 * r21024;
        double r21033 = r21019 + r21027;
        double r21034 = r21032 / r21033;
        double r21035 = r21018 ? r21031 : r21034;
        return r21035;
}


double f_of(float a, float b, float c) {
        float r21036 = b;
        float r21037 = -1.2993934856291524e+124;
        bool r21038 = r21036 <= r21037;
        float r21039 = 0;
        bool r21040 = r21036 >= r21039;
        float r21041 = -r21036;
        float r21042 = r21036 * r21036;
        float r21043 = c;
        float r21044 = a;
        float r21045 = 4;
        float r21046 = r21044 * r21045;
        float r21047 = r21043 * r21046;
        float r21048 = r21042 - r21047;
        float r21049 = sqrt(r21048);
        float r21050 = r21041 - r21049;
        float r21051 = r21044 + r21044;
        float r21052 = r21050 / r21051;
        float r21053 = 1;
        float r21054 = r21044 / r21036;
        float r21055 = r21036 / r21043;
        float r21056 = r21054 - r21055;
        float r21057 = r21053 / r21056;
        float r21058 = r21040 ? r21052 : r21057;
        float r21059 = 2.5678886608363547e+130;
        bool r21060 = r21036 <= r21059;
        float r21061 = r21045 * r21044;
        float r21062 = r21061 * r21043;
        float r21063 = r21042 - r21062;
        float r21064 = sqrt(r21063);
        float r21065 = r21041 - r21064;
        float r21066 = 2;
        float r21067 = r21066 * r21044;
        float r21068 = r21065 / r21067;
        float r21069 = r21066 * r21043;
        float r21070 = sqrt(r21064);
        float r21071 = r21070 * r21070;
        float r21072 = r21041 + r21071;
        float r21073 = r21069 / r21072;
        float r21074 = r21040 ? r21068 : r21073;
        float r21075 = r21043 / r21036;
        float r21076 = r21075 / r21053;
        float r21077 = r21036 / r21044;
        float r21078 = r21076 - r21077;
        float r21079 = r21043 + r21043;
        float r21080 = r21049 + r21041;
        float r21081 = r21079 / r21080;
        float r21082 = r21040 ? r21078 : r21081;
        float r21083 = r21060 ? r21074 : r21082;
        float r21084 = r21038 ? r21058 : r21083;
        return r21084;
}

double f_od(double a, double b, double c) {
        double r21085 = b;
        double r21086 = -1.2993934856291524e+124;
        bool r21087 = r21085 <= r21086;
        double r21088 = 0;
        bool r21089 = r21085 >= r21088;
        double r21090 = -r21085;
        double r21091 = r21085 * r21085;
        double r21092 = c;
        double r21093 = a;
        double r21094 = 4;
        double r21095 = r21093 * r21094;
        double r21096 = r21092 * r21095;
        double r21097 = r21091 - r21096;
        double r21098 = sqrt(r21097);
        double r21099 = r21090 - r21098;
        double r21100 = r21093 + r21093;
        double r21101 = r21099 / r21100;
        double r21102 = 1;
        double r21103 = r21093 / r21085;
        double r21104 = r21085 / r21092;
        double r21105 = r21103 - r21104;
        double r21106 = r21102 / r21105;
        double r21107 = r21089 ? r21101 : r21106;
        double r21108 = 2.5678886608363547e+130;
        bool r21109 = r21085 <= r21108;
        double r21110 = r21094 * r21093;
        double r21111 = r21110 * r21092;
        double r21112 = r21091 - r21111;
        double r21113 = sqrt(r21112);
        double r21114 = r21090 - r21113;
        double r21115 = 2;
        double r21116 = r21115 * r21093;
        double r21117 = r21114 / r21116;
        double r21118 = r21115 * r21092;
        double r21119 = sqrt(r21113);
        double r21120 = r21119 * r21119;
        double r21121 = r21090 + r21120;
        double r21122 = r21118 / r21121;
        double r21123 = r21089 ? r21117 : r21122;
        double r21124 = r21092 / r21085;
        double r21125 = r21124 / r21102;
        double r21126 = r21085 / r21093;
        double r21127 = r21125 - r21126;
        double r21128 = r21092 + r21092;
        double r21129 = r21098 + r21090;
        double r21130 = r21128 / r21129;
        double r21131 = r21089 ? r21127 : r21130;
        double r21132 = r21109 ? r21123 : r21131;
        double r21133 = r21087 ? r21107 : r21132;
        return r21133;
}

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 r21134, r21135, r21136, r21137, r21138, r21139, r21140, r21141, r21142, r21143, r21144, r21145, r21146, r21147, r21148, r21149, r21150, r21151, r21152, r21153;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r21134);
        mpfr_init_set_str(r21135, "0", 10, MPFR_RNDN);
        mpfr_init(r21136);
        mpfr_init(r21137);
        mpfr_init(r21138);
        mpfr_init_set_str(r21139, "4", 10, MPFR_RNDN);
        mpfr_init(r21140);
        mpfr_init(r21141);
        mpfr_init(r21142);
        mpfr_init(r21143);
        mpfr_init(r21144);
        mpfr_init(r21145);
        mpfr_init(r21146);
        mpfr_init_set_str(r21147, "2", 10, MPFR_RNDN);
        mpfr_init(r21148);
        mpfr_init(r21149);
        mpfr_init(r21150);
        mpfr_init(r21151);
        mpfr_init(r21152);
        mpfr_init(r21153);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r21134, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21136, mpfr_cmp(r21134, r21135) >= 0, MPFR_RNDN);
        mpfr_neg(r21137, r21134, MPFR_RNDN);
        mpfr_mul(r21138, r21134, r21134, MPFR_RNDN);
        ;
        mpfr_set_d(r21140, a, MPFR_RNDN);
        mpfr_mul(r21141, r21139, r21140, MPFR_RNDN);
        mpfr_set_d(r21142, c, MPFR_RNDN);
        mpfr_mul(r21143, r21141, r21142, MPFR_RNDN);
        mpfr_sub(r21144, r21138, r21143, MPFR_RNDN);
        mpfr_sqrt(r21145, r21144, MPFR_RNDN);
        mpfr_sub(r21146, r21137, r21145, MPFR_RNDN);
        ;
        mpfr_mul(r21148, r21147, r21140, MPFR_RNDN);
        mpfr_div(r21149, r21146, r21148, MPFR_RNDN);
        mpfr_mul(r21150, r21147, r21142, MPFR_RNDN);
        mpfr_add(r21151, r21137, r21145, MPFR_RNDN);
        mpfr_div(r21152, r21150, r21151, MPFR_RNDN);
        if (mpfr_get_si(r21136, MPFR_RNDN)) { mpfr_set(r21153, r21149, MPFR_RNDN); } else { mpfr_set(r21153, r21152, MPFR_RNDN); };
        return mpfr_get_d(r21153, MPFR_RNDN);
}

static mpfr_t r21154, r21155, r21156, r21157, r21158, r21159, r21160, r21161, r21162, r21163, r21164, r21165, r21166, r21167, r21168, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r21154);
        mpfr_init_set_str(r21155, "-1.2993934856291524e+124", 10, MPFR_RNDN);
        mpfr_init(r21156);
        mpfr_init_set_str(r21157, "0", 10, MPFR_RNDN);
        mpfr_init(r21158);
        mpfr_init(r21159);
        mpfr_init(r21160);
        mpfr_init(r21161);
        mpfr_init(r21162);
        mpfr_init_set_str(r21163, "4", 10, MPFR_RNDN);
        mpfr_init(r21164);
        mpfr_init(r21165);
        mpfr_init(r21166);
        mpfr_init(r21167);
        mpfr_init(r21168);
        mpfr_init(r21169);
        mpfr_init(r21170);
        mpfr_init_set_str(r21171, "1", 10, MPFR_RNDN);
        mpfr_init(r21172);
        mpfr_init(r21173);
        mpfr_init(r21174);
        mpfr_init(r21175);
        mpfr_init(r21176);
        mpfr_init_set_str(r21177, "2.5678886608363547e+130", 10, MPFR_RNDN);
        mpfr_init(r21178);
        mpfr_init(r21179);
        mpfr_init(r21180);
        mpfr_init(r21181);
        mpfr_init(r21182);
        mpfr_init(r21183);
        mpfr_init_set_str(r21184, "2", 10, MPFR_RNDN);
        mpfr_init(r21185);
        mpfr_init(r21186);
        mpfr_init(r21187);
        mpfr_init(r21188);
        mpfr_init(r21189);
        mpfr_init(r21190);
        mpfr_init(r21191);
        mpfr_init(r21192);
        mpfr_init(r21193);
        mpfr_init(r21194);
        mpfr_init(r21195);
        mpfr_init(r21196);
        mpfr_init(r21197);
        mpfr_init(r21198);
        mpfr_init(r21199);
        mpfr_init(r21200);
        mpfr_init(r21201);
        mpfr_init(r21202);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r21154, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21156, mpfr_cmp(r21154, r21155) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21158, mpfr_cmp(r21154, r21157) >= 0, MPFR_RNDN);
        mpfr_neg(r21159, r21154, MPFR_RNDN);
        mpfr_mul(r21160, r21154, r21154, MPFR_RNDN);
        mpfr_set_d(r21161, c, MPFR_RNDN);
        mpfr_set_d(r21162, a, MPFR_RNDN);
        ;
        mpfr_mul(r21164, r21162, r21163, MPFR_RNDN);
        mpfr_mul(r21165, r21161, r21164, MPFR_RNDN);
        mpfr_sub(r21166, r21160, r21165, MPFR_RNDN);
        mpfr_sqrt(r21167, r21166, MPFR_RNDN);
        mpfr_sub(r21168, r21159, r21167, MPFR_RNDN);
        mpfr_add(r21169, r21162, r21162, MPFR_RNDN);
        mpfr_div(r21170, r21168, r21169, MPFR_RNDN);
        ;
        mpfr_div(r21172, r21162, r21154, MPFR_RNDN);
        mpfr_div(r21173, r21154, r21161, MPFR_RNDN);
        mpfr_sub(r21174, r21172, r21173, MPFR_RNDN);
        mpfr_div(r21175, r21171, r21174, MPFR_RNDN);
        if (mpfr_get_si(r21158, MPFR_RNDN)) { mpfr_set(r21176, r21170, MPFR_RNDN); } else { mpfr_set(r21176, r21175, MPFR_RNDN); };
        ;
        mpfr_set_si(r21178, mpfr_cmp(r21154, r21177) <= 0, MPFR_RNDN);
        mpfr_mul(r21179, r21163, r21162, MPFR_RNDN);
        mpfr_mul(r21180, r21179, r21161, MPFR_RNDN);
        mpfr_sub(r21181, r21160, r21180, MPFR_RNDN);
        mpfr_sqrt(r21182, r21181, MPFR_RNDN);
        mpfr_sub(r21183, r21159, r21182, MPFR_RNDN);
        ;
        mpfr_mul(r21185, r21184, r21162, MPFR_RNDN);
        mpfr_div(r21186, r21183, r21185, MPFR_RNDN);
        mpfr_mul(r21187, r21184, r21161, MPFR_RNDN);
        mpfr_sqrt(r21188, r21182, MPFR_RNDN);
        mpfr_mul(r21189, r21188, r21188, MPFR_RNDN);
        mpfr_add(r21190, r21159, r21189, MPFR_RNDN);
        mpfr_div(r21191, r21187, r21190, MPFR_RNDN);
        if (mpfr_get_si(r21158, MPFR_RNDN)) { mpfr_set(r21192, r21186, MPFR_RNDN); } else { mpfr_set(r21192, r21191, MPFR_RNDN); };
        mpfr_div(r21193, r21161, r21154, MPFR_RNDN);
        mpfr_div(r21194, r21193, r21171, MPFR_RNDN);
        mpfr_div(r21195, r21154, r21162, MPFR_RNDN);
        mpfr_sub(r21196, r21194, r21195, MPFR_RNDN);
        mpfr_add(r21197, r21161, r21161, MPFR_RNDN);
        mpfr_add(r21198, r21167, r21159, MPFR_RNDN);
        mpfr_div(r21199, r21197, r21198, MPFR_RNDN);
        if (mpfr_get_si(r21158, MPFR_RNDN)) { mpfr_set(r21200, r21196, MPFR_RNDN); } else { mpfr_set(r21200, r21199, MPFR_RNDN); };
        if (mpfr_get_si(r21178, MPFR_RNDN)) { mpfr_set(r21201, r21192, MPFR_RNDN); } else { mpfr_set(r21201, r21200, MPFR_RNDN); };
        if (mpfr_get_si(r21156, MPFR_RNDN)) { mpfr_set(r21202, r21176, MPFR_RNDN); } else { mpfr_set(r21202, r21201, MPFR_RNDN); };
        return mpfr_get_d(r21202, MPFR_RNDN);
}

static mpfr_t r21203, r21204, r21205, r21206, r21207, r21208, r21209, r21210, r21211, r21212, r21213, r21214, r21215, r21216, r21217, r21218, r21219, r21220, r21221, r21222, r21223, r21224, r21225, r21226, r21227, r21228, r21229, r21230, r21231, r21232, r21233, r21234, r21235, r21236, r21237, r21238, r21239, r21240, r21241, r21242, r21243, r21244, r21245, r21246, r21247, r21248, r21249, r21250, r21251;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r21203);
        mpfr_init_set_str(r21204, "-1.2993934856291524e+124", 10, MPFR_RNDN);
        mpfr_init(r21205);
        mpfr_init_set_str(r21206, "0", 10, MPFR_RNDN);
        mpfr_init(r21207);
        mpfr_init(r21208);
        mpfr_init(r21209);
        mpfr_init(r21210);
        mpfr_init(r21211);
        mpfr_init_set_str(r21212, "4", 10, MPFR_RNDN);
        mpfr_init(r21213);
        mpfr_init(r21214);
        mpfr_init(r21215);
        mpfr_init(r21216);
        mpfr_init(r21217);
        mpfr_init(r21218);
        mpfr_init(r21219);
        mpfr_init_set_str(r21220, "1", 10, MPFR_RNDN);
        mpfr_init(r21221);
        mpfr_init(r21222);
        mpfr_init(r21223);
        mpfr_init(r21224);
        mpfr_init(r21225);
        mpfr_init_set_str(r21226, "2.5678886608363547e+130", 10, MPFR_RNDN);
        mpfr_init(r21227);
        mpfr_init(r21228);
        mpfr_init(r21229);
        mpfr_init(r21230);
        mpfr_init(r21231);
        mpfr_init(r21232);
        mpfr_init_set_str(r21233, "2", 10, MPFR_RNDN);
        mpfr_init(r21234);
        mpfr_init(r21235);
        mpfr_init(r21236);
        mpfr_init(r21237);
        mpfr_init(r21238);
        mpfr_init(r21239);
        mpfr_init(r21240);
        mpfr_init(r21241);
        mpfr_init(r21242);
        mpfr_init(r21243);
        mpfr_init(r21244);
        mpfr_init(r21245);
        mpfr_init(r21246);
        mpfr_init(r21247);
        mpfr_init(r21248);
        mpfr_init(r21249);
        mpfr_init(r21250);
        mpfr_init(r21251);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r21203, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21205, mpfr_cmp(r21203, r21204) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21207, mpfr_cmp(r21203, r21206) >= 0, MPFR_RNDN);
        mpfr_neg(r21208, r21203, MPFR_RNDN);
        mpfr_mul(r21209, r21203, r21203, MPFR_RNDN);
        mpfr_set_d(r21210, c, MPFR_RNDN);
        mpfr_set_d(r21211, a, MPFR_RNDN);
        ;
        mpfr_mul(r21213, r21211, r21212, MPFR_RNDN);
        mpfr_mul(r21214, r21210, r21213, MPFR_RNDN);
        mpfr_sub(r21215, r21209, r21214, MPFR_RNDN);
        mpfr_sqrt(r21216, r21215, MPFR_RNDN);
        mpfr_sub(r21217, r21208, r21216, MPFR_RNDN);
        mpfr_add(r21218, r21211, r21211, MPFR_RNDN);
        mpfr_div(r21219, r21217, r21218, MPFR_RNDN);
        ;
        mpfr_div(r21221, r21211, r21203, MPFR_RNDN);
        mpfr_div(r21222, r21203, r21210, MPFR_RNDN);
        mpfr_sub(r21223, r21221, r21222, MPFR_RNDN);
        mpfr_div(r21224, r21220, r21223, MPFR_RNDN);
        if (mpfr_get_si(r21207, MPFR_RNDN)) { mpfr_set(r21225, r21219, MPFR_RNDN); } else { mpfr_set(r21225, r21224, MPFR_RNDN); };
        ;
        mpfr_set_si(r21227, mpfr_cmp(r21203, r21226) <= 0, MPFR_RNDN);
        mpfr_mul(r21228, r21212, r21211, MPFR_RNDN);
        mpfr_mul(r21229, r21228, r21210, MPFR_RNDN);
        mpfr_sub(r21230, r21209, r21229, MPFR_RNDN);
        mpfr_sqrt(r21231, r21230, MPFR_RNDN);
        mpfr_sub(r21232, r21208, r21231, MPFR_RNDN);
        ;
        mpfr_mul(r21234, r21233, r21211, MPFR_RNDN);
        mpfr_div(r21235, r21232, r21234, MPFR_RNDN);
        mpfr_mul(r21236, r21233, r21210, MPFR_RNDN);
        mpfr_sqrt(r21237, r21231, MPFR_RNDN);
        mpfr_mul(r21238, r21237, r21237, MPFR_RNDN);
        mpfr_add(r21239, r21208, r21238, MPFR_RNDN);
        mpfr_div(r21240, r21236, r21239, MPFR_RNDN);
        if (mpfr_get_si(r21207, MPFR_RNDN)) { mpfr_set(r21241, r21235, MPFR_RNDN); } else { mpfr_set(r21241, r21240, MPFR_RNDN); };
        mpfr_div(r21242, r21210, r21203, MPFR_RNDN);
        mpfr_div(r21243, r21242, r21220, MPFR_RNDN);
        mpfr_div(r21244, r21203, r21211, MPFR_RNDN);
        mpfr_sub(r21245, r21243, r21244, MPFR_RNDN);
        mpfr_add(r21246, r21210, r21210, MPFR_RNDN);
        mpfr_add(r21247, r21216, r21208, MPFR_RNDN);
        mpfr_div(r21248, r21246, r21247, MPFR_RNDN);
        if (mpfr_get_si(r21207, MPFR_RNDN)) { mpfr_set(r21249, r21245, MPFR_RNDN); } else { mpfr_set(r21249, r21248, MPFR_RNDN); };
        if (mpfr_get_si(r21227, MPFR_RNDN)) { mpfr_set(r21250, r21241, MPFR_RNDN); } else { mpfr_set(r21250, r21249, MPFR_RNDN); };
        if (mpfr_get_si(r21205, MPFR_RNDN)) { mpfr_set(r21251, r21225, MPFR_RNDN); } else { mpfr_set(r21251, r21250, MPFR_RNDN); };
        return mpfr_get_d(r21251, MPFR_RNDN);
}

