#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 r20069 = b;
        float r20070 = 0;
        bool r20071 = r20069 >= r20070;
        float r20072 = -r20069;
        float r20073 = r20069 * r20069;
        float r20074 = 4;
        float r20075 = a;
        float r20076 = r20074 * r20075;
        float r20077 = c;
        float r20078 = r20076 * r20077;
        float r20079 = r20073 - r20078;
        float r20080 = sqrt(r20079);
        float r20081 = r20072 - r20080;
        float r20082 = 2;
        float r20083 = r20082 * r20075;
        float r20084 = r20081 / r20083;
        float r20085 = r20082 * r20077;
        float r20086 = r20072 + r20080;
        float r20087 = r20085 / r20086;
        float r20088 = r20071 ? r20084 : r20087;
        return r20088;
}

double f_id(double a, double b, double c) {
        double r20089 = b;
        double r20090 = 0;
        bool r20091 = r20089 >= r20090;
        double r20092 = -r20089;
        double r20093 = r20089 * r20089;
        double r20094 = 4;
        double r20095 = a;
        double r20096 = r20094 * r20095;
        double r20097 = c;
        double r20098 = r20096 * r20097;
        double r20099 = r20093 - r20098;
        double r20100 = sqrt(r20099);
        double r20101 = r20092 - r20100;
        double r20102 = 2;
        double r20103 = r20102 * r20095;
        double r20104 = r20101 / r20103;
        double r20105 = r20102 * r20097;
        double r20106 = r20092 + r20100;
        double r20107 = r20105 / r20106;
        double r20108 = r20091 ? r20104 : r20107;
        return r20108;
}


double f_of(float a, float b, float c) {
        float r20109 = b;
        float r20110 = -3.9482035560034934e+125;
        bool r20111 = r20109 <= r20110;
        float r20112 = 0;
        bool r20113 = r20109 >= r20112;
        float r20114 = -r20109;
        float r20115 = r20109 * r20109;
        float r20116 = c;
        float r20117 = a;
        float r20118 = 4;
        float r20119 = r20117 * r20118;
        float r20120 = r20116 * r20119;
        float r20121 = r20115 - r20120;
        float r20122 = sqrt(r20121);
        float r20123 = r20114 - r20122;
        float r20124 = r20117 + r20117;
        float r20125 = r20123 / r20124;
        float r20126 = r20117 / r20109;
        float r20127 = r20126 * r20116;
        float r20128 = r20127 - r20109;
        float r20129 = r20116 / r20128;
        float r20130 = r20113 ? r20125 : r20129;
        float r20131 = 3.1746500024866854e+75;
        bool r20132 = r20109 <= r20131;
        float r20133 = r20118 * r20117;
        float r20134 = r20133 * r20116;
        float r20135 = r20115 - r20134;
        float r20136 = sqrt(r20135);
        float r20137 = r20114 - r20136;
        float r20138 = 2;
        float r20139 = r20138 * r20117;
        float r20140 = r20137 / r20139;
        float r20141 = r20138 * r20116;
        float r20142 = sqrt(r20136);
        float r20143 = r20142 * r20142;
        float r20144 = r20114 + r20143;
        float r20145 = r20141 / r20144;
        float r20146 = r20113 ? r20140 : r20145;
        float r20147 = r20116 / r20109;
        float r20148 = r20109 / r20117;
        float r20149 = r20147 - r20148;
        float r20150 = r20116 + r20116;
        float r20151 = r20122 + r20114;
        float r20152 = r20150 / r20151;
        float r20153 = r20113 ? r20149 : r20152;
        float r20154 = r20132 ? r20146 : r20153;
        float r20155 = r20111 ? r20130 : r20154;
        return r20155;
}

double f_od(double a, double b, double c) {
        double r20156 = b;
        double r20157 = -3.9482035560034934e+125;
        bool r20158 = r20156 <= r20157;
        double r20159 = 0;
        bool r20160 = r20156 >= r20159;
        double r20161 = -r20156;
        double r20162 = r20156 * r20156;
        double r20163 = c;
        double r20164 = a;
        double r20165 = 4;
        double r20166 = r20164 * r20165;
        double r20167 = r20163 * r20166;
        double r20168 = r20162 - r20167;
        double r20169 = sqrt(r20168);
        double r20170 = r20161 - r20169;
        double r20171 = r20164 + r20164;
        double r20172 = r20170 / r20171;
        double r20173 = r20164 / r20156;
        double r20174 = r20173 * r20163;
        double r20175 = r20174 - r20156;
        double r20176 = r20163 / r20175;
        double r20177 = r20160 ? r20172 : r20176;
        double r20178 = 3.1746500024866854e+75;
        bool r20179 = r20156 <= r20178;
        double r20180 = r20165 * r20164;
        double r20181 = r20180 * r20163;
        double r20182 = r20162 - r20181;
        double r20183 = sqrt(r20182);
        double r20184 = r20161 - r20183;
        double r20185 = 2;
        double r20186 = r20185 * r20164;
        double r20187 = r20184 / r20186;
        double r20188 = r20185 * r20163;
        double r20189 = sqrt(r20183);
        double r20190 = r20189 * r20189;
        double r20191 = r20161 + r20190;
        double r20192 = r20188 / r20191;
        double r20193 = r20160 ? r20187 : r20192;
        double r20194 = r20163 / r20156;
        double r20195 = r20156 / r20164;
        double r20196 = r20194 - r20195;
        double r20197 = r20163 + r20163;
        double r20198 = r20169 + r20161;
        double r20199 = r20197 / r20198;
        double r20200 = r20160 ? r20196 : r20199;
        double r20201 = r20179 ? r20193 : r20200;
        double r20202 = r20158 ? r20177 : r20201;
        return r20202;
}

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 r20203, r20204, r20205, r20206, r20207, r20208, r20209, r20210, r20211, r20212, r20213, r20214, r20215, r20216, r20217, r20218, r20219, r20220, r20221, r20222;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r20203);
        mpfr_init_set_str(r20204, "0", 10, MPFR_RNDN);
        mpfr_init(r20205);
        mpfr_init(r20206);
        mpfr_init(r20207);
        mpfr_init_set_str(r20208, "4", 10, MPFR_RNDN);
        mpfr_init(r20209);
        mpfr_init(r20210);
        mpfr_init(r20211);
        mpfr_init(r20212);
        mpfr_init(r20213);
        mpfr_init(r20214);
        mpfr_init(r20215);
        mpfr_init_set_str(r20216, "2", 10, MPFR_RNDN);
        mpfr_init(r20217);
        mpfr_init(r20218);
        mpfr_init(r20219);
        mpfr_init(r20220);
        mpfr_init(r20221);
        mpfr_init(r20222);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r20203, b, MPFR_RNDN);
        ;
        mpfr_set_si(r20205, mpfr_cmp(r20203, r20204) >= 0, MPFR_RNDN);
        mpfr_neg(r20206, r20203, MPFR_RNDN);
        mpfr_mul(r20207, r20203, r20203, MPFR_RNDN);
        ;
        mpfr_set_d(r20209, a, MPFR_RNDN);
        mpfr_mul(r20210, r20208, r20209, MPFR_RNDN);
        mpfr_set_d(r20211, c, MPFR_RNDN);
        mpfr_mul(r20212, r20210, r20211, MPFR_RNDN);
        mpfr_sub(r20213, r20207, r20212, MPFR_RNDN);
        mpfr_sqrt(r20214, r20213, MPFR_RNDN);
        mpfr_sub(r20215, r20206, r20214, MPFR_RNDN);
        ;
        mpfr_mul(r20217, r20216, r20209, MPFR_RNDN);
        mpfr_div(r20218, r20215, r20217, MPFR_RNDN);
        mpfr_mul(r20219, r20216, r20211, MPFR_RNDN);
        mpfr_add(r20220, r20206, r20214, MPFR_RNDN);
        mpfr_div(r20221, r20219, r20220, MPFR_RNDN);
        if (mpfr_get_si(r20205, MPFR_RNDN)) { mpfr_set(r20222, r20218, MPFR_RNDN); } else { mpfr_set(r20222, r20221, MPFR_RNDN); };
        return mpfr_get_d(r20222, MPFR_RNDN);
}

static mpfr_t r20223, r20224, r20225, r20226, r20227, r20228, r20229, r20230, r20231, r20232, r20233, r20234, r20235, r20236, r20237, r20238, r20239, r20240, r20241, r20242, r20243, r20244, r20245, r20246, r20247, r20248, r20249, r20250, r20251, r20252, r20253, r20254, r20255, r20256, r20257, r20258, r20259, r20260, r20261, r20262, r20263, r20264, r20265, r20266, r20267, r20268, r20269;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r20223);
        mpfr_init_set_str(r20224, "-3.9482035560034934e+125", 10, MPFR_RNDN);
        mpfr_init(r20225);
        mpfr_init_set_str(r20226, "0", 10, MPFR_RNDN);
        mpfr_init(r20227);
        mpfr_init(r20228);
        mpfr_init(r20229);
        mpfr_init(r20230);
        mpfr_init(r20231);
        mpfr_init_set_str(r20232, "4", 10, MPFR_RNDN);
        mpfr_init(r20233);
        mpfr_init(r20234);
        mpfr_init(r20235);
        mpfr_init(r20236);
        mpfr_init(r20237);
        mpfr_init(r20238);
        mpfr_init(r20239);
        mpfr_init(r20240);
        mpfr_init(r20241);
        mpfr_init(r20242);
        mpfr_init(r20243);
        mpfr_init(r20244);
        mpfr_init_set_str(r20245, "3.1746500024866854e+75", 10, MPFR_RNDN);
        mpfr_init(r20246);
        mpfr_init(r20247);
        mpfr_init(r20248);
        mpfr_init(r20249);
        mpfr_init(r20250);
        mpfr_init(r20251);
        mpfr_init_set_str(r20252, "2", 10, MPFR_RNDN);
        mpfr_init(r20253);
        mpfr_init(r20254);
        mpfr_init(r20255);
        mpfr_init(r20256);
        mpfr_init(r20257);
        mpfr_init(r20258);
        mpfr_init(r20259);
        mpfr_init(r20260);
        mpfr_init(r20261);
        mpfr_init(r20262);
        mpfr_init(r20263);
        mpfr_init(r20264);
        mpfr_init(r20265);
        mpfr_init(r20266);
        mpfr_init(r20267);
        mpfr_init(r20268);
        mpfr_init(r20269);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r20223, b, MPFR_RNDN);
        ;
        mpfr_set_si(r20225, mpfr_cmp(r20223, r20224) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r20227, mpfr_cmp(r20223, r20226) >= 0, MPFR_RNDN);
        mpfr_neg(r20228, r20223, MPFR_RNDN);
        mpfr_mul(r20229, r20223, r20223, MPFR_RNDN);
        mpfr_set_d(r20230, c, MPFR_RNDN);
        mpfr_set_d(r20231, a, MPFR_RNDN);
        ;
        mpfr_mul(r20233, r20231, r20232, MPFR_RNDN);
        mpfr_mul(r20234, r20230, r20233, MPFR_RNDN);
        mpfr_sub(r20235, r20229, r20234, MPFR_RNDN);
        mpfr_sqrt(r20236, r20235, MPFR_RNDN);
        mpfr_sub(r20237, r20228, r20236, MPFR_RNDN);
        mpfr_add(r20238, r20231, r20231, MPFR_RNDN);
        mpfr_div(r20239, r20237, r20238, MPFR_RNDN);
        mpfr_div(r20240, r20231, r20223, MPFR_RNDN);
        mpfr_mul(r20241, r20240, r20230, MPFR_RNDN);
        mpfr_sub(r20242, r20241, r20223, MPFR_RNDN);
        mpfr_div(r20243, r20230, r20242, MPFR_RNDN);
        if (mpfr_get_si(r20227, MPFR_RNDN)) { mpfr_set(r20244, r20239, MPFR_RNDN); } else { mpfr_set(r20244, r20243, MPFR_RNDN); };
        ;
        mpfr_set_si(r20246, mpfr_cmp(r20223, r20245) <= 0, MPFR_RNDN);
        mpfr_mul(r20247, r20232, r20231, MPFR_RNDN);
        mpfr_mul(r20248, r20247, r20230, MPFR_RNDN);
        mpfr_sub(r20249, r20229, r20248, MPFR_RNDN);
        mpfr_sqrt(r20250, r20249, MPFR_RNDN);
        mpfr_sub(r20251, r20228, r20250, MPFR_RNDN);
        ;
        mpfr_mul(r20253, r20252, r20231, MPFR_RNDN);
        mpfr_div(r20254, r20251, r20253, MPFR_RNDN);
        mpfr_mul(r20255, r20252, r20230, MPFR_RNDN);
        mpfr_sqrt(r20256, r20250, MPFR_RNDN);
        mpfr_mul(r20257, r20256, r20256, MPFR_RNDN);
        mpfr_add(r20258, r20228, r20257, MPFR_RNDN);
        mpfr_div(r20259, r20255, r20258, MPFR_RNDN);
        if (mpfr_get_si(r20227, MPFR_RNDN)) { mpfr_set(r20260, r20254, MPFR_RNDN); } else { mpfr_set(r20260, r20259, MPFR_RNDN); };
        mpfr_div(r20261, r20230, r20223, MPFR_RNDN);
        mpfr_div(r20262, r20223, r20231, MPFR_RNDN);
        mpfr_sub(r20263, r20261, r20262, MPFR_RNDN);
        mpfr_add(r20264, r20230, r20230, MPFR_RNDN);
        mpfr_add(r20265, r20236, r20228, MPFR_RNDN);
        mpfr_div(r20266, r20264, r20265, MPFR_RNDN);
        if (mpfr_get_si(r20227, MPFR_RNDN)) { mpfr_set(r20267, r20263, MPFR_RNDN); } else { mpfr_set(r20267, r20266, MPFR_RNDN); };
        if (mpfr_get_si(r20246, MPFR_RNDN)) { mpfr_set(r20268, r20260, MPFR_RNDN); } else { mpfr_set(r20268, r20267, MPFR_RNDN); };
        if (mpfr_get_si(r20225, MPFR_RNDN)) { mpfr_set(r20269, r20244, MPFR_RNDN); } else { mpfr_set(r20269, r20268, MPFR_RNDN); };
        return mpfr_get_d(r20269, MPFR_RNDN);
}

static mpfr_t r20270, r20271, r20272, r20273, r20274, r20275, r20276, r20277, r20278, r20279, r20280, r20281, r20282, r20283, r20284, r20285, r20286, r20287, r20288, r20289, r20290, r20291, r20292, r20293, r20294, r20295, r20296, r20297, r20298, r20299, r20300, r20301, r20302, r20303, r20304, r20305, r20306, r20307, r20308, r20309, r20310, r20311, r20312, r20313, r20314, r20315, r20316;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r20270);
        mpfr_init_set_str(r20271, "-3.9482035560034934e+125", 10, MPFR_RNDN);
        mpfr_init(r20272);
        mpfr_init_set_str(r20273, "0", 10, MPFR_RNDN);
        mpfr_init(r20274);
        mpfr_init(r20275);
        mpfr_init(r20276);
        mpfr_init(r20277);
        mpfr_init(r20278);
        mpfr_init_set_str(r20279, "4", 10, MPFR_RNDN);
        mpfr_init(r20280);
        mpfr_init(r20281);
        mpfr_init(r20282);
        mpfr_init(r20283);
        mpfr_init(r20284);
        mpfr_init(r20285);
        mpfr_init(r20286);
        mpfr_init(r20287);
        mpfr_init(r20288);
        mpfr_init(r20289);
        mpfr_init(r20290);
        mpfr_init(r20291);
        mpfr_init_set_str(r20292, "3.1746500024866854e+75", 10, MPFR_RNDN);
        mpfr_init(r20293);
        mpfr_init(r20294);
        mpfr_init(r20295);
        mpfr_init(r20296);
        mpfr_init(r20297);
        mpfr_init(r20298);
        mpfr_init_set_str(r20299, "2", 10, MPFR_RNDN);
        mpfr_init(r20300);
        mpfr_init(r20301);
        mpfr_init(r20302);
        mpfr_init(r20303);
        mpfr_init(r20304);
        mpfr_init(r20305);
        mpfr_init(r20306);
        mpfr_init(r20307);
        mpfr_init(r20308);
        mpfr_init(r20309);
        mpfr_init(r20310);
        mpfr_init(r20311);
        mpfr_init(r20312);
        mpfr_init(r20313);
        mpfr_init(r20314);
        mpfr_init(r20315);
        mpfr_init(r20316);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r20270, b, MPFR_RNDN);
        ;
        mpfr_set_si(r20272, mpfr_cmp(r20270, r20271) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r20274, mpfr_cmp(r20270, r20273) >= 0, MPFR_RNDN);
        mpfr_neg(r20275, r20270, MPFR_RNDN);
        mpfr_mul(r20276, r20270, r20270, MPFR_RNDN);
        mpfr_set_d(r20277, c, MPFR_RNDN);
        mpfr_set_d(r20278, a, MPFR_RNDN);
        ;
        mpfr_mul(r20280, r20278, r20279, MPFR_RNDN);
        mpfr_mul(r20281, r20277, r20280, MPFR_RNDN);
        mpfr_sub(r20282, r20276, r20281, MPFR_RNDN);
        mpfr_sqrt(r20283, r20282, MPFR_RNDN);
        mpfr_sub(r20284, r20275, r20283, MPFR_RNDN);
        mpfr_add(r20285, r20278, r20278, MPFR_RNDN);
        mpfr_div(r20286, r20284, r20285, MPFR_RNDN);
        mpfr_div(r20287, r20278, r20270, MPFR_RNDN);
        mpfr_mul(r20288, r20287, r20277, MPFR_RNDN);
        mpfr_sub(r20289, r20288, r20270, MPFR_RNDN);
        mpfr_div(r20290, r20277, r20289, MPFR_RNDN);
        if (mpfr_get_si(r20274, MPFR_RNDN)) { mpfr_set(r20291, r20286, MPFR_RNDN); } else { mpfr_set(r20291, r20290, MPFR_RNDN); };
        ;
        mpfr_set_si(r20293, mpfr_cmp(r20270, r20292) <= 0, MPFR_RNDN);
        mpfr_mul(r20294, r20279, r20278, MPFR_RNDN);
        mpfr_mul(r20295, r20294, r20277, MPFR_RNDN);
        mpfr_sub(r20296, r20276, r20295, MPFR_RNDN);
        mpfr_sqrt(r20297, r20296, MPFR_RNDN);
        mpfr_sub(r20298, r20275, r20297, MPFR_RNDN);
        ;
        mpfr_mul(r20300, r20299, r20278, MPFR_RNDN);
        mpfr_div(r20301, r20298, r20300, MPFR_RNDN);
        mpfr_mul(r20302, r20299, r20277, MPFR_RNDN);
        mpfr_sqrt(r20303, r20297, MPFR_RNDN);
        mpfr_mul(r20304, r20303, r20303, MPFR_RNDN);
        mpfr_add(r20305, r20275, r20304, MPFR_RNDN);
        mpfr_div(r20306, r20302, r20305, MPFR_RNDN);
        if (mpfr_get_si(r20274, MPFR_RNDN)) { mpfr_set(r20307, r20301, MPFR_RNDN); } else { mpfr_set(r20307, r20306, MPFR_RNDN); };
        mpfr_div(r20308, r20277, r20270, MPFR_RNDN);
        mpfr_div(r20309, r20270, r20278, MPFR_RNDN);
        mpfr_sub(r20310, r20308, r20309, MPFR_RNDN);
        mpfr_add(r20311, r20277, r20277, MPFR_RNDN);
        mpfr_add(r20312, r20283, r20275, MPFR_RNDN);
        mpfr_div(r20313, r20311, r20312, MPFR_RNDN);
        if (mpfr_get_si(r20274, MPFR_RNDN)) { mpfr_set(r20314, r20310, MPFR_RNDN); } else { mpfr_set(r20314, r20313, MPFR_RNDN); };
        if (mpfr_get_si(r20293, MPFR_RNDN)) { mpfr_set(r20315, r20307, MPFR_RNDN); } else { mpfr_set(r20315, r20314, MPFR_RNDN); };
        if (mpfr_get_si(r20272, MPFR_RNDN)) { mpfr_set(r20316, r20291, MPFR_RNDN); } else { mpfr_set(r20316, r20315, MPFR_RNDN); };
        return mpfr_get_d(r20316, MPFR_RNDN);
}

