#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 r11220 = b;
        float r11221 = -r11220;
        float r11222 = r11220 * r11220;
        float r11223 = 4;
        float r11224 = a;
        float r11225 = r11223 * r11224;
        float r11226 = c;
        float r11227 = r11225 * r11226;
        float r11228 = r11222 - r11227;
        float r11229 = sqrt(r11228);
        float r11230 = r11221 + r11229;
        float r11231 = 2;
        float r11232 = r11231 * r11224;
        float r11233 = r11230 / r11232;
        return r11233;
}

double f_id(double a, double b, double c) {
        double r11234 = b;
        double r11235 = -r11234;
        double r11236 = r11234 * r11234;
        double r11237 = 4;
        double r11238 = a;
        double r11239 = r11237 * r11238;
        double r11240 = c;
        double r11241 = r11239 * r11240;
        double r11242 = r11236 - r11241;
        double r11243 = sqrt(r11242);
        double r11244 = r11235 + r11243;
        double r11245 = 2;
        double r11246 = r11245 * r11238;
        double r11247 = r11244 / r11246;
        return r11247;
}


double f_of(float a, float b, float c) {
        float r11248 = b;
        float r11249 = -4.480021572372691e+121;
        bool r11250 = r11248 <= r11249;
        float r11251 = -r11248;
        float r11252 = a;
        float r11253 = r11251 / r11252;
        float r11254 = c;
        float r11255 = r11254 / r11248;
        float r11256 = r11252 / r11252;
        float r11257 = r11255 / r11256;
        float r11258 = r11253 - r11257;
        float r11259 = 3.3274636606180965e-305;
        bool r11260 = r11248 <= r11259;
        float r11261 = 1;
        float r11262 = 2;
        float r11263 = r11252 * r11262;
        float r11264 = r11248 * r11248;
        float r11265 = 4;
        float r11266 = r11265 * r11252;
        float r11267 = r11254 * r11266;
        float r11268 = r11264 - r11267;
        float r11269 = sqrt(r11268);
        float r11270 = r11269 - r11248;
        float r11271 = r11263 / r11270;
        float r11272 = r11261 / r11271;
        float r11273 = 1.4399774592443239e+37;
        bool r11274 = r11248 <= r11273;
        float r11275 = r11261 / r11262;
        float r11276 = r11254 * r11265;
        float r11277 = r11252 * r11265;
        float r11278 = r11277 * r11254;
        float r11279 = r11264 - r11278;
        float r11280 = sqrt(r11279);
        float r11281 = r11251 - r11280;
        float r11282 = r11276 / r11281;
        float r11283 = r11275 * r11282;
        float r11284 = r11262 * r11262;
        float r11285 = r11254 / r11284;
        float r11286 = r11285 * r11265;
        float r11287 = r11252 / r11248;
        float r11288 = r11287 * r11254;
        float r11289 = r11288 - r11248;
        float r11290 = r11286 / r11289;
        float r11291 = r11274 ? r11283 : r11290;
        float r11292 = r11260 ? r11272 : r11291;
        float r11293 = r11250 ? r11258 : r11292;
        return r11293;
}

double f_od(double a, double b, double c) {
        double r11294 = b;
        double r11295 = -4.480021572372691e+121;
        bool r11296 = r11294 <= r11295;
        double r11297 = -r11294;
        double r11298 = a;
        double r11299 = r11297 / r11298;
        double r11300 = c;
        double r11301 = r11300 / r11294;
        double r11302 = r11298 / r11298;
        double r11303 = r11301 / r11302;
        double r11304 = r11299 - r11303;
        double r11305 = 3.3274636606180965e-305;
        bool r11306 = r11294 <= r11305;
        double r11307 = 1;
        double r11308 = 2;
        double r11309 = r11298 * r11308;
        double r11310 = r11294 * r11294;
        double r11311 = 4;
        double r11312 = r11311 * r11298;
        double r11313 = r11300 * r11312;
        double r11314 = r11310 - r11313;
        double r11315 = sqrt(r11314);
        double r11316 = r11315 - r11294;
        double r11317 = r11309 / r11316;
        double r11318 = r11307 / r11317;
        double r11319 = 1.4399774592443239e+37;
        bool r11320 = r11294 <= r11319;
        double r11321 = r11307 / r11308;
        double r11322 = r11300 * r11311;
        double r11323 = r11298 * r11311;
        double r11324 = r11323 * r11300;
        double r11325 = r11310 - r11324;
        double r11326 = sqrt(r11325);
        double r11327 = r11297 - r11326;
        double r11328 = r11322 / r11327;
        double r11329 = r11321 * r11328;
        double r11330 = r11308 * r11308;
        double r11331 = r11300 / r11330;
        double r11332 = r11331 * r11311;
        double r11333 = r11298 / r11294;
        double r11334 = r11333 * r11300;
        double r11335 = r11334 - r11294;
        double r11336 = r11332 / r11335;
        double r11337 = r11320 ? r11329 : r11336;
        double r11338 = r11306 ? r11318 : r11337;
        double r11339 = r11296 ? r11304 : r11338;
        return r11339;
}

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 r11340, r11341, r11342, r11343, r11344, r11345, r11346, r11347, r11348, r11349, r11350, r11351, r11352, r11353;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r11340);
        mpfr_init(r11341);
        mpfr_init(r11342);
        mpfr_init_set_str(r11343, "4", 10, MPFR_RNDN);
        mpfr_init(r11344);
        mpfr_init(r11345);
        mpfr_init(r11346);
        mpfr_init(r11347);
        mpfr_init(r11348);
        mpfr_init(r11349);
        mpfr_init(r11350);
        mpfr_init_set_str(r11351, "2", 10, MPFR_RNDN);
        mpfr_init(r11352);
        mpfr_init(r11353);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r11340, b, MPFR_RNDN);
        mpfr_neg(r11341, r11340, MPFR_RNDN);
        mpfr_mul(r11342, r11340, r11340, MPFR_RNDN);
        ;
        mpfr_set_d(r11344, a, MPFR_RNDN);
        mpfr_mul(r11345, r11343, r11344, MPFR_RNDN);
        mpfr_set_d(r11346, c, MPFR_RNDN);
        mpfr_mul(r11347, r11345, r11346, MPFR_RNDN);
        mpfr_sub(r11348, r11342, r11347, MPFR_RNDN);
        mpfr_sqrt(r11349, r11348, MPFR_RNDN);
        mpfr_add(r11350, r11341, r11349, MPFR_RNDN);
        ;
        mpfr_mul(r11352, r11351, r11344, MPFR_RNDN);
        mpfr_div(r11353, r11350, r11352, MPFR_RNDN);
        return mpfr_get_d(r11353, MPFR_RNDN);
}

static mpfr_t r11354, r11355, r11356, r11357, r11358, r11359, r11360, r11361, r11362, r11363, r11364, r11365, r11366, r11367, r11368, r11369, r11370, r11371, r11372, r11373, r11374, r11375, r11376, r11377, r11378, r11379, r11380, r11381, r11382, r11383, r11384, r11385, r11386, r11387, r11388, r11389, r11390, r11391, r11392, r11393, r11394, r11395, r11396, r11397, r11398, r11399;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r11354);
        mpfr_init_set_str(r11355, "-4.480021572372691e+121", 10, MPFR_RNDN);
        mpfr_init(r11356);
        mpfr_init(r11357);
        mpfr_init(r11358);
        mpfr_init(r11359);
        mpfr_init(r11360);
        mpfr_init(r11361);
        mpfr_init(r11362);
        mpfr_init(r11363);
        mpfr_init(r11364);
        mpfr_init_set_str(r11365, "3.3274636606180965e-305", 10, MPFR_RNDN);
        mpfr_init(r11366);
        mpfr_init_set_str(r11367, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11368, "2", 10, MPFR_RNDN);
        mpfr_init(r11369);
        mpfr_init(r11370);
        mpfr_init_set_str(r11371, "4", 10, MPFR_RNDN);
        mpfr_init(r11372);
        mpfr_init(r11373);
        mpfr_init(r11374);
        mpfr_init(r11375);
        mpfr_init(r11376);
        mpfr_init(r11377);
        mpfr_init(r11378);
        mpfr_init_set_str(r11379, "1.4399774592443239e+37", 10, MPFR_RNDN);
        mpfr_init(r11380);
        mpfr_init(r11381);
        mpfr_init(r11382);
        mpfr_init(r11383);
        mpfr_init(r11384);
        mpfr_init(r11385);
        mpfr_init(r11386);
        mpfr_init(r11387);
        mpfr_init(r11388);
        mpfr_init(r11389);
        mpfr_init(r11390);
        mpfr_init(r11391);
        mpfr_init(r11392);
        mpfr_init(r11393);
        mpfr_init(r11394);
        mpfr_init(r11395);
        mpfr_init(r11396);
        mpfr_init(r11397);
        mpfr_init(r11398);
        mpfr_init(r11399);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r11354, b, MPFR_RNDN);
        ;
        mpfr_set_si(r11356, mpfr_cmp(r11354, r11355) <= 0, MPFR_RNDN);
        mpfr_neg(r11357, r11354, MPFR_RNDN);
        mpfr_set_d(r11358, a, MPFR_RNDN);
        mpfr_div(r11359, r11357, r11358, MPFR_RNDN);
        mpfr_set_d(r11360, c, MPFR_RNDN);
        mpfr_div(r11361, r11360, r11354, MPFR_RNDN);
        mpfr_div(r11362, r11358, r11358, MPFR_RNDN);
        mpfr_div(r11363, r11361, r11362, MPFR_RNDN);
        mpfr_sub(r11364, r11359, r11363, MPFR_RNDN);
        ;
        mpfr_set_si(r11366, mpfr_cmp(r11354, r11365) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r11369, r11358, r11368, MPFR_RNDN);
        mpfr_mul(r11370, r11354, r11354, MPFR_RNDN);
        ;
        mpfr_mul(r11372, r11371, r11358, MPFR_RNDN);
        mpfr_mul(r11373, r11360, r11372, MPFR_RNDN);
        mpfr_sub(r11374, r11370, r11373, MPFR_RNDN);
        mpfr_sqrt(r11375, r11374, MPFR_RNDN);
        mpfr_sub(r11376, r11375, r11354, MPFR_RNDN);
        mpfr_div(r11377, r11369, r11376, MPFR_RNDN);
        mpfr_div(r11378, r11367, r11377, MPFR_RNDN);
        ;
        mpfr_set_si(r11380, mpfr_cmp(r11354, r11379) <= 0, MPFR_RNDN);
        mpfr_div(r11381, r11367, r11368, MPFR_RNDN);
        mpfr_mul(r11382, r11360, r11371, MPFR_RNDN);
        mpfr_mul(r11383, r11358, r11371, MPFR_RNDN);
        mpfr_mul(r11384, r11383, r11360, MPFR_RNDN);
        mpfr_sub(r11385, r11370, r11384, MPFR_RNDN);
        mpfr_sqrt(r11386, r11385, MPFR_RNDN);
        mpfr_sub(r11387, r11357, r11386, MPFR_RNDN);
        mpfr_div(r11388, r11382, r11387, MPFR_RNDN);
        mpfr_mul(r11389, r11381, r11388, MPFR_RNDN);
        mpfr_mul(r11390, r11368, r11368, MPFR_RNDN);
        mpfr_div(r11391, r11360, r11390, MPFR_RNDN);
        mpfr_mul(r11392, r11391, r11371, MPFR_RNDN);
        mpfr_div(r11393, r11358, r11354, MPFR_RNDN);
        mpfr_mul(r11394, r11393, r11360, MPFR_RNDN);
        mpfr_sub(r11395, r11394, r11354, MPFR_RNDN);
        mpfr_div(r11396, r11392, r11395, MPFR_RNDN);
        if (mpfr_get_si(r11380, MPFR_RNDN)) { mpfr_set(r11397, r11389, MPFR_RNDN); } else { mpfr_set(r11397, r11396, MPFR_RNDN); };
        if (mpfr_get_si(r11366, MPFR_RNDN)) { mpfr_set(r11398, r11378, MPFR_RNDN); } else { mpfr_set(r11398, r11397, MPFR_RNDN); };
        if (mpfr_get_si(r11356, MPFR_RNDN)) { mpfr_set(r11399, r11364, MPFR_RNDN); } else { mpfr_set(r11399, r11398, MPFR_RNDN); };
        return mpfr_get_d(r11399, MPFR_RNDN);
}

static mpfr_t r11400, r11401, r11402, r11403, r11404, r11405, r11406, r11407, r11408, r11409, r11410, r11411, r11412, r11413, r11414, r11415, r11416, r11417, r11418, r11419, r11420, r11421, r11422, r11423, r11424, r11425, r11426, r11427, r11428, r11429, r11430, r11431, r11432, r11433, r11434, r11435, r11436, r11437, r11438, r11439, r11440, r11441, r11442, r11443, r11444, r11445;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r11400);
        mpfr_init_set_str(r11401, "-4.480021572372691e+121", 10, MPFR_RNDN);
        mpfr_init(r11402);
        mpfr_init(r11403);
        mpfr_init(r11404);
        mpfr_init(r11405);
        mpfr_init(r11406);
        mpfr_init(r11407);
        mpfr_init(r11408);
        mpfr_init(r11409);
        mpfr_init(r11410);
        mpfr_init_set_str(r11411, "3.3274636606180965e-305", 10, MPFR_RNDN);
        mpfr_init(r11412);
        mpfr_init_set_str(r11413, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11414, "2", 10, MPFR_RNDN);
        mpfr_init(r11415);
        mpfr_init(r11416);
        mpfr_init_set_str(r11417, "4", 10, MPFR_RNDN);
        mpfr_init(r11418);
        mpfr_init(r11419);
        mpfr_init(r11420);
        mpfr_init(r11421);
        mpfr_init(r11422);
        mpfr_init(r11423);
        mpfr_init(r11424);
        mpfr_init_set_str(r11425, "1.4399774592443239e+37", 10, MPFR_RNDN);
        mpfr_init(r11426);
        mpfr_init(r11427);
        mpfr_init(r11428);
        mpfr_init(r11429);
        mpfr_init(r11430);
        mpfr_init(r11431);
        mpfr_init(r11432);
        mpfr_init(r11433);
        mpfr_init(r11434);
        mpfr_init(r11435);
        mpfr_init(r11436);
        mpfr_init(r11437);
        mpfr_init(r11438);
        mpfr_init(r11439);
        mpfr_init(r11440);
        mpfr_init(r11441);
        mpfr_init(r11442);
        mpfr_init(r11443);
        mpfr_init(r11444);
        mpfr_init(r11445);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r11400, b, MPFR_RNDN);
        ;
        mpfr_set_si(r11402, mpfr_cmp(r11400, r11401) <= 0, MPFR_RNDN);
        mpfr_neg(r11403, r11400, MPFR_RNDN);
        mpfr_set_d(r11404, a, MPFR_RNDN);
        mpfr_div(r11405, r11403, r11404, MPFR_RNDN);
        mpfr_set_d(r11406, c, MPFR_RNDN);
        mpfr_div(r11407, r11406, r11400, MPFR_RNDN);
        mpfr_div(r11408, r11404, r11404, MPFR_RNDN);
        mpfr_div(r11409, r11407, r11408, MPFR_RNDN);
        mpfr_sub(r11410, r11405, r11409, MPFR_RNDN);
        ;
        mpfr_set_si(r11412, mpfr_cmp(r11400, r11411) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r11415, r11404, r11414, MPFR_RNDN);
        mpfr_mul(r11416, r11400, r11400, MPFR_RNDN);
        ;
        mpfr_mul(r11418, r11417, r11404, MPFR_RNDN);
        mpfr_mul(r11419, r11406, r11418, MPFR_RNDN);
        mpfr_sub(r11420, r11416, r11419, MPFR_RNDN);
        mpfr_sqrt(r11421, r11420, MPFR_RNDN);
        mpfr_sub(r11422, r11421, r11400, MPFR_RNDN);
        mpfr_div(r11423, r11415, r11422, MPFR_RNDN);
        mpfr_div(r11424, r11413, r11423, MPFR_RNDN);
        ;
        mpfr_set_si(r11426, mpfr_cmp(r11400, r11425) <= 0, MPFR_RNDN);
        mpfr_div(r11427, r11413, r11414, MPFR_RNDN);
        mpfr_mul(r11428, r11406, r11417, MPFR_RNDN);
        mpfr_mul(r11429, r11404, r11417, MPFR_RNDN);
        mpfr_mul(r11430, r11429, r11406, MPFR_RNDN);
        mpfr_sub(r11431, r11416, r11430, MPFR_RNDN);
        mpfr_sqrt(r11432, r11431, MPFR_RNDN);
        mpfr_sub(r11433, r11403, r11432, MPFR_RNDN);
        mpfr_div(r11434, r11428, r11433, MPFR_RNDN);
        mpfr_mul(r11435, r11427, r11434, MPFR_RNDN);
        mpfr_mul(r11436, r11414, r11414, MPFR_RNDN);
        mpfr_div(r11437, r11406, r11436, MPFR_RNDN);
        mpfr_mul(r11438, r11437, r11417, MPFR_RNDN);
        mpfr_div(r11439, r11404, r11400, MPFR_RNDN);
        mpfr_mul(r11440, r11439, r11406, MPFR_RNDN);
        mpfr_sub(r11441, r11440, r11400, MPFR_RNDN);
        mpfr_div(r11442, r11438, r11441, MPFR_RNDN);
        if (mpfr_get_si(r11426, MPFR_RNDN)) { mpfr_set(r11443, r11435, MPFR_RNDN); } else { mpfr_set(r11443, r11442, MPFR_RNDN); };
        if (mpfr_get_si(r11412, MPFR_RNDN)) { mpfr_set(r11444, r11424, MPFR_RNDN); } else { mpfr_set(r11444, r11443, MPFR_RNDN); };
        if (mpfr_get_si(r11402, MPFR_RNDN)) { mpfr_set(r11445, r11410, MPFR_RNDN); } else { mpfr_set(r11445, r11444, MPFR_RNDN); };
        return mpfr_get_d(r11445, MPFR_RNDN);
}

