#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 r21010 = b;
        float r21011 = 0;
        bool r21012 = r21010 >= r21011;
        float r21013 = -r21010;
        float r21014 = r21010 * r21010;
        float r21015 = 4;
        float r21016 = a;
        float r21017 = r21015 * r21016;
        float r21018 = c;
        float r21019 = r21017 * r21018;
        float r21020 = r21014 - r21019;
        float r21021 = sqrt(r21020);
        float r21022 = r21013 - r21021;
        float r21023 = 2;
        float r21024 = r21023 * r21016;
        float r21025 = r21022 / r21024;
        float r21026 = r21023 * r21018;
        float r21027 = r21013 + r21021;
        float r21028 = r21026 / r21027;
        float r21029 = r21012 ? r21025 : r21028;
        return r21029;
}

double f_id(double a, double b, double c) {
        double r21030 = b;
        double r21031 = 0;
        bool r21032 = r21030 >= r21031;
        double r21033 = -r21030;
        double r21034 = r21030 * r21030;
        double r21035 = 4;
        double r21036 = a;
        double r21037 = r21035 * r21036;
        double r21038 = c;
        double r21039 = r21037 * r21038;
        double r21040 = r21034 - r21039;
        double r21041 = sqrt(r21040);
        double r21042 = r21033 - r21041;
        double r21043 = 2;
        double r21044 = r21043 * r21036;
        double r21045 = r21042 / r21044;
        double r21046 = r21043 * r21038;
        double r21047 = r21033 + r21041;
        double r21048 = r21046 / r21047;
        double r21049 = r21032 ? r21045 : r21048;
        return r21049;
}


double f_of(float a, float b, float c) {
        float r21050 = b;
        float r21051 = -3.4762518760867337e+130;
        bool r21052 = r21050 <= r21051;
        float r21053 = 0;
        bool r21054 = r21050 >= r21053;
        float r21055 = c;
        float r21056 = r21055 / r21050;
        float r21057 = a;
        float r21058 = r21050 / r21057;
        float r21059 = r21056 - r21058;
        float r21060 = 3;
        float r21061 = pow(r21059, r21060);
        float r21062 = cbrt(r21061);
        float r21063 = -r21050;
        float r21064 = r21055 / r21063;
        float r21065 = r21054 ? r21062 : r21064;
        float r21066 = 2.0378291826148502e+43;
        bool r21067 = r21050 <= r21066;
        float r21068 = r21050 * r21050;
        float r21069 = 4;
        float r21070 = r21069 * r21057;
        float r21071 = r21070 * r21055;
        float r21072 = r21068 - r21071;
        float r21073 = sqrt(r21072);
        float r21074 = sqrt(r21073);
        float r21075 = r21074 * r21074;
        float r21076 = r21063 - r21075;
        float r21077 = 2;
        float r21078 = r21077 * r21057;
        float r21079 = r21076 / r21078;
        float r21080 = r21077 * r21055;
        float r21081 = r21063 + r21073;
        float r21082 = r21080 / r21081;
        float r21083 = r21054 ? r21079 : r21082;
        float r21084 = 1;
        float r21085 = r21056 / r21084;
        float r21086 = r21085 - r21058;
        float r21087 = r21055 + r21055;
        float r21088 = r21057 * r21069;
        float r21089 = r21055 * r21088;
        float r21090 = r21068 - r21089;
        float r21091 = cbrt(r21090);
        float r21092 = r21091 * r21091;
        float r21093 = r21092 * r21091;
        float r21094 = sqrt(r21093);
        float r21095 = r21094 + r21063;
        float r21096 = r21087 / r21095;
        float r21097 = r21054 ? r21086 : r21096;
        float r21098 = r21067 ? r21083 : r21097;
        float r21099 = r21052 ? r21065 : r21098;
        return r21099;
}

double f_od(double a, double b, double c) {
        double r21100 = b;
        double r21101 = -3.4762518760867337e+130;
        bool r21102 = r21100 <= r21101;
        double r21103 = 0;
        bool r21104 = r21100 >= r21103;
        double r21105 = c;
        double r21106 = r21105 / r21100;
        double r21107 = a;
        double r21108 = r21100 / r21107;
        double r21109 = r21106 - r21108;
        double r21110 = 3;
        double r21111 = pow(r21109, r21110);
        double r21112 = cbrt(r21111);
        double r21113 = -r21100;
        double r21114 = r21105 / r21113;
        double r21115 = r21104 ? r21112 : r21114;
        double r21116 = 2.0378291826148502e+43;
        bool r21117 = r21100 <= r21116;
        double r21118 = r21100 * r21100;
        double r21119 = 4;
        double r21120 = r21119 * r21107;
        double r21121 = r21120 * r21105;
        double r21122 = r21118 - r21121;
        double r21123 = sqrt(r21122);
        double r21124 = sqrt(r21123);
        double r21125 = r21124 * r21124;
        double r21126 = r21113 - r21125;
        double r21127 = 2;
        double r21128 = r21127 * r21107;
        double r21129 = r21126 / r21128;
        double r21130 = r21127 * r21105;
        double r21131 = r21113 + r21123;
        double r21132 = r21130 / r21131;
        double r21133 = r21104 ? r21129 : r21132;
        double r21134 = 1;
        double r21135 = r21106 / r21134;
        double r21136 = r21135 - r21108;
        double r21137 = r21105 + r21105;
        double r21138 = r21107 * r21119;
        double r21139 = r21105 * r21138;
        double r21140 = r21118 - r21139;
        double r21141 = cbrt(r21140);
        double r21142 = r21141 * r21141;
        double r21143 = r21142 * r21141;
        double r21144 = sqrt(r21143);
        double r21145 = r21144 + r21113;
        double r21146 = r21137 / r21145;
        double r21147 = r21104 ? r21136 : r21146;
        double r21148 = r21117 ? r21133 : r21147;
        double r21149 = r21102 ? r21115 : r21148;
        return r21149;
}

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 r21150, r21151, r21152, r21153, r21154, r21155, r21156, r21157, r21158, r21159, r21160, r21161, r21162, r21163, r21164, r21165, r21166, r21167, r21168, r21169;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r21150);
        mpfr_init_set_str(r21151, "0", 10, MPFR_RNDN);
        mpfr_init(r21152);
        mpfr_init(r21153);
        mpfr_init(r21154);
        mpfr_init_set_str(r21155, "4", 10, MPFR_RNDN);
        mpfr_init(r21156);
        mpfr_init(r21157);
        mpfr_init(r21158);
        mpfr_init(r21159);
        mpfr_init(r21160);
        mpfr_init(r21161);
        mpfr_init(r21162);
        mpfr_init_set_str(r21163, "2", 10, MPFR_RNDN);
        mpfr_init(r21164);
        mpfr_init(r21165);
        mpfr_init(r21166);
        mpfr_init(r21167);
        mpfr_init(r21168);
        mpfr_init(r21169);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r21150, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21152, mpfr_cmp(r21150, r21151) >= 0, MPFR_RNDN);
        mpfr_neg(r21153, r21150, MPFR_RNDN);
        mpfr_mul(r21154, r21150, r21150, MPFR_RNDN);
        ;
        mpfr_set_d(r21156, a, MPFR_RNDN);
        mpfr_mul(r21157, r21155, r21156, MPFR_RNDN);
        mpfr_set_d(r21158, c, MPFR_RNDN);
        mpfr_mul(r21159, r21157, r21158, MPFR_RNDN);
        mpfr_sub(r21160, r21154, r21159, MPFR_RNDN);
        mpfr_sqrt(r21161, r21160, MPFR_RNDN);
        mpfr_sub(r21162, r21153, r21161, MPFR_RNDN);
        ;
        mpfr_mul(r21164, r21163, r21156, MPFR_RNDN);
        mpfr_div(r21165, r21162, r21164, MPFR_RNDN);
        mpfr_mul(r21166, r21163, r21158, MPFR_RNDN);
        mpfr_add(r21167, r21153, r21161, MPFR_RNDN);
        mpfr_div(r21168, r21166, r21167, MPFR_RNDN);
        if (mpfr_get_si(r21152, MPFR_RNDN)) { mpfr_set(r21169, r21165, MPFR_RNDN); } else { mpfr_set(r21169, r21168, MPFR_RNDN); };
        return mpfr_get_d(r21169, MPFR_RNDN);
}

static mpfr_t 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r21170);
        mpfr_init_set_str(r21171, "-3.4762518760867337e+130", 10, MPFR_RNDN);
        mpfr_init(r21172);
        mpfr_init_set_str(r21173, "0", 10, MPFR_RNDN);
        mpfr_init(r21174);
        mpfr_init(r21175);
        mpfr_init(r21176);
        mpfr_init(r21177);
        mpfr_init(r21178);
        mpfr_init(r21179);
        mpfr_init_set_str(r21180, "3", 10, MPFR_RNDN);
        mpfr_init(r21181);
        mpfr_init(r21182);
        mpfr_init(r21183);
        mpfr_init(r21184);
        mpfr_init(r21185);
        mpfr_init_set_str(r21186, "2.0378291826148502e+43", 10, MPFR_RNDN);
        mpfr_init(r21187);
        mpfr_init(r21188);
        mpfr_init_set_str(r21189, "4", 10, MPFR_RNDN);
        mpfr_init(r21190);
        mpfr_init(r21191);
        mpfr_init(r21192);
        mpfr_init(r21193);
        mpfr_init(r21194);
        mpfr_init(r21195);
        mpfr_init(r21196);
        mpfr_init_set_str(r21197, "2", 10, MPFR_RNDN);
        mpfr_init(r21198);
        mpfr_init(r21199);
        mpfr_init(r21200);
        mpfr_init(r21201);
        mpfr_init(r21202);
        mpfr_init(r21203);
        mpfr_init_set_str(r21204, "1", 10, MPFR_RNDN);
        mpfr_init(r21205);
        mpfr_init(r21206);
        mpfr_init(r21207);
        mpfr_init(r21208);
        mpfr_init(r21209);
        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);
}

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

static mpfr_t 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, r21252, r21253, r21254, r21255, r21256, r21257, r21258, r21259, r21260, r21261, r21262, r21263, r21264, r21265, r21266, r21267, r21268, r21269;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r21220);
        mpfr_init_set_str(r21221, "-3.4762518760867337e+130", 10, MPFR_RNDN);
        mpfr_init(r21222);
        mpfr_init_set_str(r21223, "0", 10, MPFR_RNDN);
        mpfr_init(r21224);
        mpfr_init(r21225);
        mpfr_init(r21226);
        mpfr_init(r21227);
        mpfr_init(r21228);
        mpfr_init(r21229);
        mpfr_init_set_str(r21230, "3", 10, MPFR_RNDN);
        mpfr_init(r21231);
        mpfr_init(r21232);
        mpfr_init(r21233);
        mpfr_init(r21234);
        mpfr_init(r21235);
        mpfr_init_set_str(r21236, "2.0378291826148502e+43", 10, MPFR_RNDN);
        mpfr_init(r21237);
        mpfr_init(r21238);
        mpfr_init_set_str(r21239, "4", 10, MPFR_RNDN);
        mpfr_init(r21240);
        mpfr_init(r21241);
        mpfr_init(r21242);
        mpfr_init(r21243);
        mpfr_init(r21244);
        mpfr_init(r21245);
        mpfr_init(r21246);
        mpfr_init_set_str(r21247, "2", 10, MPFR_RNDN);
        mpfr_init(r21248);
        mpfr_init(r21249);
        mpfr_init(r21250);
        mpfr_init(r21251);
        mpfr_init(r21252);
        mpfr_init(r21253);
        mpfr_init_set_str(r21254, "1", 10, MPFR_RNDN);
        mpfr_init(r21255);
        mpfr_init(r21256);
        mpfr_init(r21257);
        mpfr_init(r21258);
        mpfr_init(r21259);
        mpfr_init(r21260);
        mpfr_init(r21261);
        mpfr_init(r21262);
        mpfr_init(r21263);
        mpfr_init(r21264);
        mpfr_init(r21265);
        mpfr_init(r21266);
        mpfr_init(r21267);
        mpfr_init(r21268);
        mpfr_init(r21269);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r21220, b, MPFR_RNDN);
        ;
        mpfr_set_si(r21222, mpfr_cmp(r21220, r21221) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21224, mpfr_cmp(r21220, r21223) >= 0, MPFR_RNDN);
        mpfr_set_d(r21225, c, MPFR_RNDN);
        mpfr_div(r21226, r21225, r21220, MPFR_RNDN);
        mpfr_set_d(r21227, a, MPFR_RNDN);
        mpfr_div(r21228, r21220, r21227, MPFR_RNDN);
        mpfr_sub(r21229, r21226, r21228, MPFR_RNDN);
        ;
        mpfr_pow(r21231, r21229, r21230, MPFR_RNDN);
        mpfr_cbrt(r21232, r21231, MPFR_RNDN);
        mpfr_neg(r21233, r21220, MPFR_RNDN);
        mpfr_div(r21234, r21225, r21233, MPFR_RNDN);
        if (mpfr_get_si(r21224, MPFR_RNDN)) { mpfr_set(r21235, r21232, MPFR_RNDN); } else { mpfr_set(r21235, r21234, MPFR_RNDN); };
        ;
        mpfr_set_si(r21237, mpfr_cmp(r21220, r21236) <= 0, MPFR_RNDN);
        mpfr_mul(r21238, r21220, r21220, MPFR_RNDN);
        ;
        mpfr_mul(r21240, r21239, r21227, MPFR_RNDN);
        mpfr_mul(r21241, r21240, r21225, MPFR_RNDN);
        mpfr_sub(r21242, r21238, r21241, MPFR_RNDN);
        mpfr_sqrt(r21243, r21242, MPFR_RNDN);
        mpfr_sqrt(r21244, r21243, MPFR_RNDN);
        mpfr_mul(r21245, r21244, r21244, MPFR_RNDN);
        mpfr_sub(r21246, r21233, r21245, MPFR_RNDN);
        ;
        mpfr_mul(r21248, r21247, r21227, MPFR_RNDN);
        mpfr_div(r21249, r21246, r21248, MPFR_RNDN);
        mpfr_mul(r21250, r21247, r21225, MPFR_RNDN);
        mpfr_add(r21251, r21233, r21243, MPFR_RNDN);
        mpfr_div(r21252, r21250, r21251, MPFR_RNDN);
        if (mpfr_get_si(r21224, MPFR_RNDN)) { mpfr_set(r21253, r21249, MPFR_RNDN); } else { mpfr_set(r21253, r21252, MPFR_RNDN); };
        ;
        mpfr_div(r21255, r21226, r21254, MPFR_RNDN);
        mpfr_sub(r21256, r21255, r21228, MPFR_RNDN);
        mpfr_add(r21257, r21225, r21225, MPFR_RNDN);
        mpfr_mul(r21258, r21227, r21239, MPFR_RNDN);
        mpfr_mul(r21259, r21225, r21258, MPFR_RNDN);
        mpfr_sub(r21260, r21238, r21259, MPFR_RNDN);
        mpfr_cbrt(r21261, r21260, MPFR_RNDN);
        mpfr_mul(r21262, r21261, r21261, MPFR_RNDN);
        mpfr_mul(r21263, r21262, r21261, MPFR_RNDN);
        mpfr_sqrt(r21264, r21263, MPFR_RNDN);
        mpfr_add(r21265, r21264, r21233, MPFR_RNDN);
        mpfr_div(r21266, r21257, r21265, MPFR_RNDN);
        if (mpfr_get_si(r21224, MPFR_RNDN)) { mpfr_set(r21267, r21256, MPFR_RNDN); } else { mpfr_set(r21267, r21266, MPFR_RNDN); };
        if (mpfr_get_si(r21237, MPFR_RNDN)) { mpfr_set(r21268, r21253, MPFR_RNDN); } else { mpfr_set(r21268, r21267, MPFR_RNDN); };
        if (mpfr_get_si(r21222, MPFR_RNDN)) { mpfr_set(r21269, r21235, MPFR_RNDN); } else { mpfr_set(r21269, r21268, MPFR_RNDN); };
        return mpfr_get_d(r21269, MPFR_RNDN);
}

