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

char *name = "quadm (p42, negative)";

double f_if(float a, float b, float c) {
        float r26202 = b;
        float r26203 = -r26202;
        float r26204 = r26202 * r26202;
        float r26205 = 4;
        float r26206 = a;
        float r26207 = c;
        float r26208 = r26206 * r26207;
        float r26209 = r26205 * r26208;
        float r26210 = r26204 - r26209;
        float r26211 = sqrt(r26210);
        float r26212 = r26203 - r26211;
        float r26213 = 2;
        float r26214 = r26213 * r26206;
        float r26215 = r26212 / r26214;
        return r26215;
}

double f_id(double a, double b, double c) {
        double r26216 = b;
        double r26217 = -r26216;
        double r26218 = r26216 * r26216;
        double r26219 = 4;
        double r26220 = a;
        double r26221 = c;
        double r26222 = r26220 * r26221;
        double r26223 = r26219 * r26222;
        double r26224 = r26218 - r26223;
        double r26225 = sqrt(r26224);
        double r26226 = r26217 - r26225;
        double r26227 = 2;
        double r26228 = r26227 * r26220;
        double r26229 = r26226 / r26228;
        return r26229;
}


double f_of(float a, float b, float c) {
        float r26230 = b;
        float r26231 = -1.7581975230643e+93;
        bool r26232 = r26230 <= r26231;
        float r26233 = c;
        float r26234 = -r26233;
        float r26235 = r26234 / r26230;
        float r26236 = -1.3023743998422597e-272;
        bool r26237 = r26230 <= r26236;
        float r26238 = 2;
        float r26239 = r26233 / r26238;
        float r26240 = 4;
        float r26241 = r26239 * r26240;
        float r26242 = 1;
        float r26243 = a;
        float r26244 = r26233 * r26243;
        float r26245 = -r26240;
        float r26246 = r26230 * r26230;
        float r26247 = fma(r26244, r26245, r26246);
        float r26248 = sqrt(r26247);
        float r26249 = r26248 - r26230;
        float r26250 = r26242 / r26249;
        float r26251 = r26241 * r26250;
        float r26252 = 1.1540544437409996e+66;
        bool r26253 = r26230 <= r26252;
        float r26254 = -r26230;
        float r26255 = r26240 * r26243;
        float r26256 = fma(r26255, r26234, r26246);
        float r26257 = sqrt(r26256);
        float r26258 = r26254 - r26257;
        float r26259 = r26238 * r26243;
        float r26260 = r26258 / r26259;
        float r26261 = r26233 / r26230;
        float r26262 = r26230 / r26243;
        float r26263 = r26261 - r26262;
        float r26264 = r26253 ? r26260 : r26263;
        float r26265 = r26237 ? r26251 : r26264;
        float r26266 = r26232 ? r26235 : r26265;
        return r26266;
}

double f_od(double a, double b, double c) {
        double r26267 = b;
        double r26268 = -1.7581975230643e+93;
        bool r26269 = r26267 <= r26268;
        double r26270 = c;
        double r26271 = -r26270;
        double r26272 = r26271 / r26267;
        double r26273 = -1.3023743998422597e-272;
        bool r26274 = r26267 <= r26273;
        double r26275 = 2;
        double r26276 = r26270 / r26275;
        double r26277 = 4;
        double r26278 = r26276 * r26277;
        double r26279 = 1;
        double r26280 = a;
        double r26281 = r26270 * r26280;
        double r26282 = -r26277;
        double r26283 = r26267 * r26267;
        double r26284 = fma(r26281, r26282, r26283);
        double r26285 = sqrt(r26284);
        double r26286 = r26285 - r26267;
        double r26287 = r26279 / r26286;
        double r26288 = r26278 * r26287;
        double r26289 = 1.1540544437409996e+66;
        bool r26290 = r26267 <= r26289;
        double r26291 = -r26267;
        double r26292 = r26277 * r26280;
        double r26293 = fma(r26292, r26271, r26283);
        double r26294 = sqrt(r26293);
        double r26295 = r26291 - r26294;
        double r26296 = r26275 * r26280;
        double r26297 = r26295 / r26296;
        double r26298 = r26270 / r26267;
        double r26299 = r26267 / r26280;
        double r26300 = r26298 - r26299;
        double r26301 = r26290 ? r26297 : r26300;
        double r26302 = r26274 ? r26288 : r26301;
        double r26303 = r26269 ? r26272 : r26302;
        return r26303;
}

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 r26304, r26305, r26306, r26307, r26308, r26309, r26310, r26311, r26312, r26313, r26314, r26315, r26316, r26317;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26304);
        mpfr_init(r26305);
        mpfr_init(r26306);
        mpfr_init_set_str(r26307, "4", 10, MPFR_RNDN);
        mpfr_init(r26308);
        mpfr_init(r26309);
        mpfr_init(r26310);
        mpfr_init(r26311);
        mpfr_init(r26312);
        mpfr_init(r26313);
        mpfr_init(r26314);
        mpfr_init_set_str(r26315, "2", 10, MPFR_RNDN);
        mpfr_init(r26316);
        mpfr_init(r26317);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26304, b, MPFR_RNDN);
        mpfr_neg(r26305, r26304, MPFR_RNDN);
        mpfr_mul(r26306, r26304, r26304, MPFR_RNDN);
        ;
        mpfr_set_d(r26308, a, MPFR_RNDN);
        mpfr_set_d(r26309, c, MPFR_RNDN);
        mpfr_mul(r26310, r26308, r26309, MPFR_RNDN);
        mpfr_mul(r26311, r26307, r26310, MPFR_RNDN);
        mpfr_sub(r26312, r26306, r26311, MPFR_RNDN);
        mpfr_sqrt(r26313, r26312, MPFR_RNDN);
        mpfr_sub(r26314, r26305, r26313, MPFR_RNDN);
        ;
        mpfr_mul(r26316, r26315, r26308, MPFR_RNDN);
        mpfr_div(r26317, r26314, r26316, MPFR_RNDN);
        return mpfr_get_d(r26317, MPFR_RNDN);
}

static mpfr_t r26318, r26319, r26320, r26321, r26322, r26323, r26324, r26325, r26326, r26327, r26328, r26329, r26330, r26331, r26332, r26333, r26334, r26335, r26336, r26337, r26338, r26339, r26340, r26341, r26342, r26343, r26344, r26345, r26346, r26347, r26348, r26349, r26350, r26351, r26352, r26353, r26354;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26318);
        mpfr_init_set_str(r26319, "-1.7581975230643e+93", 10, MPFR_RNDN);
        mpfr_init(r26320);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init(r26323);
        mpfr_init_set_str(r26324, "-1.3023743998422597e-272", 10, MPFR_RNDN);
        mpfr_init(r26325);
        mpfr_init_set_str(r26326, "2", 10, MPFR_RNDN);
        mpfr_init(r26327);
        mpfr_init_set_str(r26328, "4", 10, MPFR_RNDN);
        mpfr_init(r26329);
        mpfr_init_set_str(r26330, "1", 10, MPFR_RNDN);
        mpfr_init(r26331);
        mpfr_init(r26332);
        mpfr_init(r26333);
        mpfr_init(r26334);
        mpfr_init(r26335);
        mpfr_init(r26336);
        mpfr_init(r26337);
        mpfr_init(r26338);
        mpfr_init(r26339);
        mpfr_init_set_str(r26340, "1.1540544437409996e+66", 10, MPFR_RNDN);
        mpfr_init(r26341);
        mpfr_init(r26342);
        mpfr_init(r26343);
        mpfr_init(r26344);
        mpfr_init(r26345);
        mpfr_init(r26346);
        mpfr_init(r26347);
        mpfr_init(r26348);
        mpfr_init(r26349);
        mpfr_init(r26350);
        mpfr_init(r26351);
        mpfr_init(r26352);
        mpfr_init(r26353);
        mpfr_init(r26354);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r26318, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26320, mpfr_cmp(r26318, r26319) <= 0, MPFR_RNDN);
        mpfr_set_d(r26321, c, MPFR_RNDN);
        mpfr_neg(r26322, r26321, MPFR_RNDN);
        mpfr_div(r26323, r26322, r26318, MPFR_RNDN);
        ;
        mpfr_set_si(r26325, mpfr_cmp(r26318, r26324) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26327, r26321, r26326, MPFR_RNDN);
        ;
        mpfr_mul(r26329, r26327, r26328, MPFR_RNDN);
        ;
        mpfr_set_d(r26331, a, MPFR_RNDN);
        mpfr_mul(r26332, r26321, r26331, MPFR_RNDN);
        mpfr_neg(r26333, r26328, MPFR_RNDN);
        mpfr_mul(r26334, r26318, r26318, MPFR_RNDN);
        mpfr_fma(r26335, r26332, r26333, r26334, MPFR_RNDN);
        mpfr_sqrt(r26336, r26335, MPFR_RNDN);
        mpfr_sub(r26337, r26336, r26318, MPFR_RNDN);
        mpfr_div(r26338, r26330, r26337, MPFR_RNDN);
        mpfr_mul(r26339, r26329, r26338, MPFR_RNDN);
        ;
        mpfr_set_si(r26341, mpfr_cmp(r26318, r26340) <= 0, MPFR_RNDN);
        mpfr_neg(r26342, r26318, MPFR_RNDN);
        mpfr_mul(r26343, r26328, r26331, MPFR_RNDN);
        mpfr_fma(r26344, r26343, r26322, r26334, MPFR_RNDN);
        mpfr_sqrt(r26345, r26344, MPFR_RNDN);
        mpfr_sub(r26346, r26342, r26345, MPFR_RNDN);
        mpfr_mul(r26347, r26326, r26331, MPFR_RNDN);
        mpfr_div(r26348, r26346, r26347, MPFR_RNDN);
        mpfr_div(r26349, r26321, r26318, MPFR_RNDN);
        mpfr_div(r26350, r26318, r26331, MPFR_RNDN);
        mpfr_sub(r26351, r26349, r26350, MPFR_RNDN);
        if (mpfr_get_si(r26341, MPFR_RNDN)) { mpfr_set(r26352, r26348, MPFR_RNDN); } else { mpfr_set(r26352, r26351, MPFR_RNDN); };
        if (mpfr_get_si(r26325, MPFR_RNDN)) { mpfr_set(r26353, r26339, MPFR_RNDN); } else { mpfr_set(r26353, r26352, MPFR_RNDN); };
        if (mpfr_get_si(r26320, MPFR_RNDN)) { mpfr_set(r26354, r26323, MPFR_RNDN); } else { mpfr_set(r26354, r26353, MPFR_RNDN); };
        return mpfr_get_d(r26354, MPFR_RNDN);
}

static mpfr_t r26355, r26356, r26357, r26358, r26359, r26360, r26361, r26362, r26363, r26364, r26365, r26366, r26367, r26368, r26369, r26370, r26371, r26372, r26373, r26374, r26375, r26376, r26377, r26378, r26379, r26380, r26381, r26382, r26383, r26384, r26385, r26386, r26387, r26388, r26389, r26390, r26391;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26355);
        mpfr_init_set_str(r26356, "-1.7581975230643e+93", 10, MPFR_RNDN);
        mpfr_init(r26357);
        mpfr_init(r26358);
        mpfr_init(r26359);
        mpfr_init(r26360);
        mpfr_init_set_str(r26361, "-1.3023743998422597e-272", 10, MPFR_RNDN);
        mpfr_init(r26362);
        mpfr_init_set_str(r26363, "2", 10, MPFR_RNDN);
        mpfr_init(r26364);
        mpfr_init_set_str(r26365, "4", 10, MPFR_RNDN);
        mpfr_init(r26366);
        mpfr_init_set_str(r26367, "1", 10, MPFR_RNDN);
        mpfr_init(r26368);
        mpfr_init(r26369);
        mpfr_init(r26370);
        mpfr_init(r26371);
        mpfr_init(r26372);
        mpfr_init(r26373);
        mpfr_init(r26374);
        mpfr_init(r26375);
        mpfr_init(r26376);
        mpfr_init_set_str(r26377, "1.1540544437409996e+66", 10, MPFR_RNDN);
        mpfr_init(r26378);
        mpfr_init(r26379);
        mpfr_init(r26380);
        mpfr_init(r26381);
        mpfr_init(r26382);
        mpfr_init(r26383);
        mpfr_init(r26384);
        mpfr_init(r26385);
        mpfr_init(r26386);
        mpfr_init(r26387);
        mpfr_init(r26388);
        mpfr_init(r26389);
        mpfr_init(r26390);
        mpfr_init(r26391);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r26355, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26357, mpfr_cmp(r26355, r26356) <= 0, MPFR_RNDN);
        mpfr_set_d(r26358, c, MPFR_RNDN);
        mpfr_neg(r26359, r26358, MPFR_RNDN);
        mpfr_div(r26360, r26359, r26355, MPFR_RNDN);
        ;
        mpfr_set_si(r26362, mpfr_cmp(r26355, r26361) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r26364, r26358, r26363, MPFR_RNDN);
        ;
        mpfr_mul(r26366, r26364, r26365, MPFR_RNDN);
        ;
        mpfr_set_d(r26368, a, MPFR_RNDN);
        mpfr_mul(r26369, r26358, r26368, MPFR_RNDN);
        mpfr_neg(r26370, r26365, MPFR_RNDN);
        mpfr_mul(r26371, r26355, r26355, MPFR_RNDN);
        mpfr_fma(r26372, r26369, r26370, r26371, MPFR_RNDN);
        mpfr_sqrt(r26373, r26372, MPFR_RNDN);
        mpfr_sub(r26374, r26373, r26355, MPFR_RNDN);
        mpfr_div(r26375, r26367, r26374, MPFR_RNDN);
        mpfr_mul(r26376, r26366, r26375, MPFR_RNDN);
        ;
        mpfr_set_si(r26378, mpfr_cmp(r26355, r26377) <= 0, MPFR_RNDN);
        mpfr_neg(r26379, r26355, MPFR_RNDN);
        mpfr_mul(r26380, r26365, r26368, MPFR_RNDN);
        mpfr_fma(r26381, r26380, r26359, r26371, MPFR_RNDN);
        mpfr_sqrt(r26382, r26381, MPFR_RNDN);
        mpfr_sub(r26383, r26379, r26382, MPFR_RNDN);
        mpfr_mul(r26384, r26363, r26368, MPFR_RNDN);
        mpfr_div(r26385, r26383, r26384, MPFR_RNDN);
        mpfr_div(r26386, r26358, r26355, MPFR_RNDN);
        mpfr_div(r26387, r26355, r26368, MPFR_RNDN);
        mpfr_sub(r26388, r26386, r26387, MPFR_RNDN);
        if (mpfr_get_si(r26378, MPFR_RNDN)) { mpfr_set(r26389, r26385, MPFR_RNDN); } else { mpfr_set(r26389, r26388, MPFR_RNDN); };
        if (mpfr_get_si(r26362, MPFR_RNDN)) { mpfr_set(r26390, r26376, MPFR_RNDN); } else { mpfr_set(r26390, r26389, MPFR_RNDN); };
        if (mpfr_get_si(r26357, MPFR_RNDN)) { mpfr_set(r26391, r26360, MPFR_RNDN); } else { mpfr_set(r26391, r26390, MPFR_RNDN); };
        return mpfr_get_d(r26391, MPFR_RNDN);
}

