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

char *name = "The quadratic formula (r1)";

double f_if(float a, float b, float c) {
        float r26113 = b;
        float r26114 = -r26113;
        float r26115 = r26113 * r26113;
        float r26116 = 4;
        float r26117 = a;
        float r26118 = r26116 * r26117;
        float r26119 = c;
        float r26120 = r26118 * r26119;
        float r26121 = r26115 - r26120;
        float r26122 = sqrt(r26121);
        float r26123 = r26114 + r26122;
        float r26124 = 2;
        float r26125 = r26124 * r26117;
        float r26126 = r26123 / r26125;
        return r26126;
}

double f_id(double a, double b, double c) {
        double r26127 = b;
        double r26128 = -r26127;
        double r26129 = r26127 * r26127;
        double r26130 = 4;
        double r26131 = a;
        double r26132 = r26130 * r26131;
        double r26133 = c;
        double r26134 = r26132 * r26133;
        double r26135 = r26129 - r26134;
        double r26136 = sqrt(r26135);
        double r26137 = r26128 + r26136;
        double r26138 = 2;
        double r26139 = r26138 * r26131;
        double r26140 = r26137 / r26139;
        return r26140;
}


double f_of(float a, float b, float c) {
        float r26141 = b;
        float r26142 = -r26141;
        float r26143 = -1.5500608302667455e-06;
        bool r26144 = r26142 <= r26143;
        float r26145 = c;
        float r26146 = -r26145;
        float r26147 = r26146 / r26141;
        float r26148 = -1.7952682963255895e-118;
        bool r26149 = r26142 <= r26148;
        float r26150 = a;
        float r26151 = 4;
        float r26152 = r26150 * r26151;
        float r26153 = r26152 * r26145;
        float r26154 = r26141 * r26141;
        float r26155 = r26154 - r26153;
        float r26156 = sqrt(r26155);
        float r26157 = r26142 - r26156;
        float r26158 = r26153 / r26157;
        float r26159 = 2;
        float r26160 = r26150 * r26159;
        float r26161 = r26158 / r26160;
        float r26162 = -9.361907925007997e-142;
        bool r26163 = r26142 <= r26162;
        float r26164 = 5.695046886160253e+97;
        bool r26165 = r26142 <= r26164;
        float r26166 = r26142 + r26156;
        float r26167 = r26166 / r26160;
        float r26168 = r26142 / r26150;
        float r26169 = r26165 ? r26167 : r26168;
        float r26170 = r26163 ? r26147 : r26169;
        float r26171 = r26149 ? r26161 : r26170;
        float r26172 = r26144 ? r26147 : r26171;
        return r26172;
}

double f_od(double a, double b, double c) {
        double r26173 = b;
        double r26174 = -r26173;
        double r26175 = -1.5500608302667455e-06;
        bool r26176 = r26174 <= r26175;
        double r26177 = c;
        double r26178 = -r26177;
        double r26179 = r26178 / r26173;
        double r26180 = -1.7952682963255895e-118;
        bool r26181 = r26174 <= r26180;
        double r26182 = a;
        double r26183 = 4;
        double r26184 = r26182 * r26183;
        double r26185 = r26184 * r26177;
        double r26186 = r26173 * r26173;
        double r26187 = r26186 - r26185;
        double r26188 = sqrt(r26187);
        double r26189 = r26174 - r26188;
        double r26190 = r26185 / r26189;
        double r26191 = 2;
        double r26192 = r26182 * r26191;
        double r26193 = r26190 / r26192;
        double r26194 = -9.361907925007997e-142;
        bool r26195 = r26174 <= r26194;
        double r26196 = 5.695046886160253e+97;
        bool r26197 = r26174 <= r26196;
        double r26198 = r26174 + r26188;
        double r26199 = r26198 / r26192;
        double r26200 = r26174 / r26182;
        double r26201 = r26197 ? r26199 : r26200;
        double r26202 = r26195 ? r26179 : r26201;
        double r26203 = r26181 ? r26193 : r26202;
        double r26204 = r26176 ? r26179 : r26203;
        return r26204;
}

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 r26205, r26206, r26207, r26208, r26209, r26210, r26211, r26212, r26213, r26214, r26215, r26216, r26217, r26218;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26205);
        mpfr_init(r26206);
        mpfr_init(r26207);
        mpfr_init_set_str(r26208, "4", 10, MPFR_RNDN);
        mpfr_init(r26209);
        mpfr_init(r26210);
        mpfr_init(r26211);
        mpfr_init(r26212);
        mpfr_init(r26213);
        mpfr_init(r26214);
        mpfr_init(r26215);
        mpfr_init_set_str(r26216, "2", 10, MPFR_RNDN);
        mpfr_init(r26217);
        mpfr_init(r26218);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26205, b, MPFR_RNDN);
        mpfr_neg(r26206, r26205, MPFR_RNDN);
        mpfr_mul(r26207, r26205, r26205, MPFR_RNDN);
        ;
        mpfr_set_d(r26209, a, MPFR_RNDN);
        mpfr_mul(r26210, r26208, r26209, MPFR_RNDN);
        mpfr_set_d(r26211, c, MPFR_RNDN);
        mpfr_mul(r26212, r26210, r26211, MPFR_RNDN);
        mpfr_sub(r26213, r26207, r26212, MPFR_RNDN);
        mpfr_sqrt(r26214, r26213, MPFR_RNDN);
        mpfr_add(r26215, r26206, r26214, MPFR_RNDN);
        ;
        mpfr_mul(r26217, r26216, r26209, MPFR_RNDN);
        mpfr_div(r26218, r26215, r26217, MPFR_RNDN);
        return mpfr_get_d(r26218, MPFR_RNDN);
}

static mpfr_t r26219, r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238, r26239, r26240, r26241, r26242, r26243, r26244, r26245, r26246, r26247, r26248, r26249, r26250;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26219);
        mpfr_init(r26220);
        mpfr_init_set_str(r26221, "-1.5500608302667455e-06", 10, MPFR_RNDN);
        mpfr_init(r26222);
        mpfr_init(r26223);
        mpfr_init(r26224);
        mpfr_init(r26225);
        mpfr_init_set_str(r26226, "-1.7952682963255895e-118", 10, MPFR_RNDN);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init_set_str(r26229, "4", 10, MPFR_RNDN);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init(r26236);
        mpfr_init_set_str(r26237, "2", 10, MPFR_RNDN);
        mpfr_init(r26238);
        mpfr_init(r26239);
        mpfr_init_set_str(r26240, "-9.361907925007997e-142", 10, MPFR_RNDN);
        mpfr_init(r26241);
        mpfr_init_set_str(r26242, "5.695046886160253e+97", 10, MPFR_RNDN);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r26219, b, MPFR_RNDN);
        mpfr_neg(r26220, r26219, MPFR_RNDN);
        ;
        mpfr_set_si(r26222, mpfr_cmp(r26220, r26221) <= 0, MPFR_RNDN);
        mpfr_set_d(r26223, c, MPFR_RNDN);
        mpfr_neg(r26224, r26223, MPFR_RNDN);
        mpfr_div(r26225, r26224, r26219, MPFR_RNDN);
        ;
        mpfr_set_si(r26227, mpfr_cmp(r26220, r26226) <= 0, MPFR_RNDN);
        mpfr_set_d(r26228, a, MPFR_RNDN);
        ;
        mpfr_mul(r26230, r26228, r26229, MPFR_RNDN);
        mpfr_mul(r26231, r26230, r26223, MPFR_RNDN);
        mpfr_mul(r26232, r26219, r26219, MPFR_RNDN);
        mpfr_sub(r26233, r26232, r26231, MPFR_RNDN);
        mpfr_sqrt(r26234, r26233, MPFR_RNDN);
        mpfr_sub(r26235, r26220, r26234, MPFR_RNDN);
        mpfr_div(r26236, r26231, r26235, MPFR_RNDN);
        ;
        mpfr_mul(r26238, r26228, r26237, MPFR_RNDN);
        mpfr_div(r26239, r26236, r26238, MPFR_RNDN);
        ;
        mpfr_set_si(r26241, mpfr_cmp(r26220, r26240) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26243, mpfr_cmp(r26220, r26242) <= 0, MPFR_RNDN);
        mpfr_add(r26244, r26220, r26234, MPFR_RNDN);
        mpfr_div(r26245, r26244, r26238, MPFR_RNDN);
        mpfr_div(r26246, r26220, r26228, MPFR_RNDN);
        if (mpfr_get_si(r26243, MPFR_RNDN)) { mpfr_set(r26247, r26245, MPFR_RNDN); } else { mpfr_set(r26247, r26246, MPFR_RNDN); };
        if (mpfr_get_si(r26241, MPFR_RNDN)) { mpfr_set(r26248, r26225, MPFR_RNDN); } else { mpfr_set(r26248, r26247, MPFR_RNDN); };
        if (mpfr_get_si(r26227, MPFR_RNDN)) { mpfr_set(r26249, r26239, MPFR_RNDN); } else { mpfr_set(r26249, r26248, MPFR_RNDN); };
        if (mpfr_get_si(r26222, MPFR_RNDN)) { mpfr_set(r26250, r26225, MPFR_RNDN); } else { mpfr_set(r26250, r26249, MPFR_RNDN); };
        return mpfr_get_d(r26250, MPFR_RNDN);
}

static mpfr_t r26251, r26252, r26253, r26254, r26255, r26256, r26257, r26258, r26259, r26260, r26261, r26262, r26263, r26264, r26265, r26266, r26267, r26268, r26269, r26270, r26271, r26272, r26273, r26274, r26275, r26276, r26277, r26278, r26279, r26280, r26281, r26282;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26251);
        mpfr_init(r26252);
        mpfr_init_set_str(r26253, "-1.5500608302667455e-06", 10, MPFR_RNDN);
        mpfr_init(r26254);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init_set_str(r26258, "-1.7952682963255895e-118", 10, MPFR_RNDN);
        mpfr_init(r26259);
        mpfr_init(r26260);
        mpfr_init_set_str(r26261, "4", 10, MPFR_RNDN);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init_set_str(r26269, "2", 10, MPFR_RNDN);
        mpfr_init(r26270);
        mpfr_init(r26271);
        mpfr_init_set_str(r26272, "-9.361907925007997e-142", 10, MPFR_RNDN);
        mpfr_init(r26273);
        mpfr_init_set_str(r26274, "5.695046886160253e+97", 10, MPFR_RNDN);
        mpfr_init(r26275);
        mpfr_init(r26276);
        mpfr_init(r26277);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init(r26282);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r26251, b, MPFR_RNDN);
        mpfr_neg(r26252, r26251, MPFR_RNDN);
        ;
        mpfr_set_si(r26254, mpfr_cmp(r26252, r26253) <= 0, MPFR_RNDN);
        mpfr_set_d(r26255, c, MPFR_RNDN);
        mpfr_neg(r26256, r26255, MPFR_RNDN);
        mpfr_div(r26257, r26256, r26251, MPFR_RNDN);
        ;
        mpfr_set_si(r26259, mpfr_cmp(r26252, r26258) <= 0, MPFR_RNDN);
        mpfr_set_d(r26260, a, MPFR_RNDN);
        ;
        mpfr_mul(r26262, r26260, r26261, MPFR_RNDN);
        mpfr_mul(r26263, r26262, r26255, MPFR_RNDN);
        mpfr_mul(r26264, r26251, r26251, MPFR_RNDN);
        mpfr_sub(r26265, r26264, r26263, MPFR_RNDN);
        mpfr_sqrt(r26266, r26265, MPFR_RNDN);
        mpfr_sub(r26267, r26252, r26266, MPFR_RNDN);
        mpfr_div(r26268, r26263, r26267, MPFR_RNDN);
        ;
        mpfr_mul(r26270, r26260, r26269, MPFR_RNDN);
        mpfr_div(r26271, r26268, r26270, MPFR_RNDN);
        ;
        mpfr_set_si(r26273, mpfr_cmp(r26252, r26272) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26275, mpfr_cmp(r26252, r26274) <= 0, MPFR_RNDN);
        mpfr_add(r26276, r26252, r26266, MPFR_RNDN);
        mpfr_div(r26277, r26276, r26270, MPFR_RNDN);
        mpfr_div(r26278, r26252, r26260, MPFR_RNDN);
        if (mpfr_get_si(r26275, MPFR_RNDN)) { mpfr_set(r26279, r26277, MPFR_RNDN); } else { mpfr_set(r26279, r26278, MPFR_RNDN); };
        if (mpfr_get_si(r26273, MPFR_RNDN)) { mpfr_set(r26280, r26257, MPFR_RNDN); } else { mpfr_set(r26280, r26279, MPFR_RNDN); };
        if (mpfr_get_si(r26259, MPFR_RNDN)) { mpfr_set(r26281, r26271, MPFR_RNDN); } else { mpfr_set(r26281, r26280, MPFR_RNDN); };
        if (mpfr_get_si(r26254, MPFR_RNDN)) { mpfr_set(r26282, r26257, MPFR_RNDN); } else { mpfr_set(r26282, r26281, MPFR_RNDN); };
        return mpfr_get_d(r26282, MPFR_RNDN);
}

