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

char *name = "quadp (p42, positive)";

double f_if(float a, float b, float c) {
        float r26165 = b;
        float r26166 = -r26165;
        float r26167 = r26165 * r26165;
        float r26168 = 4;
        float r26169 = a;
        float r26170 = c;
        float r26171 = r26169 * r26170;
        float r26172 = r26168 * r26171;
        float r26173 = r26167 - r26172;
        float r26174 = sqrt(r26173);
        float r26175 = r26166 + r26174;
        float r26176 = 2;
        float r26177 = r26176 * r26169;
        float r26178 = r26175 / r26177;
        return r26178;
}

double f_id(double a, double b, double c) {
        double r26179 = b;
        double r26180 = -r26179;
        double r26181 = r26179 * r26179;
        double r26182 = 4;
        double r26183 = a;
        double r26184 = c;
        double r26185 = r26183 * r26184;
        double r26186 = r26182 * r26185;
        double r26187 = r26181 - r26186;
        double r26188 = sqrt(r26187);
        double r26189 = r26180 + r26188;
        double r26190 = 2;
        double r26191 = r26190 * r26183;
        double r26192 = r26189 / r26191;
        return r26192;
}


double f_of(float a, float b, float c) {
        float r26193 = b;
        float r26194 = -1.4774007183366623e+126;
        bool r26195 = r26193 <= r26194;
        float r26196 = c;
        float r26197 = r26196 / r26193;
        float r26198 = r26193 + r26193;
        float r26199 = 2;
        float r26200 = a;
        float r26201 = r26199 * r26200;
        float r26202 = r26198 / r26201;
        float r26203 = r26197 - r26202;
        float r26204 = 1.63884623983986e-310;
        bool r26205 = r26193 <= r26204;
        float r26206 = r26193 * r26193;
        float r26207 = 4;
        float r26208 = r26196 * r26207;
        float r26209 = r26208 * r26200;
        float r26210 = r26206 - r26209;
        float r26211 = sqrt(r26210);
        float r26212 = r26211 - r26193;
        float r26213 = r26212 / r26201;
        float r26214 = 1.8818205913123887e+75;
        bool r26215 = r26193 <= r26214;
        float r26216 = 1;
        float r26217 = r26211 + r26193;
        float r26218 = r26199 / r26196;
        float r26219 = -r26207;
        float r26220 = r26218 / r26219;
        float r26221 = r26217 * r26220;
        float r26222 = r26216 / r26221;
        float r26223 = -r26197;
        float r26224 = r26215 ? r26222 : r26223;
        float r26225 = r26205 ? r26213 : r26224;
        float r26226 = r26195 ? r26203 : r26225;
        return r26226;
}

double f_od(double a, double b, double c) {
        double r26227 = b;
        double r26228 = -1.4774007183366623e+126;
        bool r26229 = r26227 <= r26228;
        double r26230 = c;
        double r26231 = r26230 / r26227;
        double r26232 = r26227 + r26227;
        double r26233 = 2;
        double r26234 = a;
        double r26235 = r26233 * r26234;
        double r26236 = r26232 / r26235;
        double r26237 = r26231 - r26236;
        double r26238 = 1.63884623983986e-310;
        bool r26239 = r26227 <= r26238;
        double r26240 = r26227 * r26227;
        double r26241 = 4;
        double r26242 = r26230 * r26241;
        double r26243 = r26242 * r26234;
        double r26244 = r26240 - r26243;
        double r26245 = sqrt(r26244);
        double r26246 = r26245 - r26227;
        double r26247 = r26246 / r26235;
        double r26248 = 1.8818205913123887e+75;
        bool r26249 = r26227 <= r26248;
        double r26250 = 1;
        double r26251 = r26245 + r26227;
        double r26252 = r26233 / r26230;
        double r26253 = -r26241;
        double r26254 = r26252 / r26253;
        double r26255 = r26251 * r26254;
        double r26256 = r26250 / r26255;
        double r26257 = -r26231;
        double r26258 = r26249 ? r26256 : r26257;
        double r26259 = r26239 ? r26247 : r26258;
        double r26260 = r26229 ? r26237 : r26259;
        return r26260;
}

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 r26261, r26262, r26263, r26264, r26265, r26266, r26267, r26268, r26269, r26270, r26271, r26272, r26273, r26274;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26261);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init_set_str(r26264, "4", 10, MPFR_RNDN);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init(r26271);
        mpfr_init_set_str(r26272, "2", 10, MPFR_RNDN);
        mpfr_init(r26273);
        mpfr_init(r26274);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26261, b, MPFR_RNDN);
        mpfr_neg(r26262, r26261, MPFR_RNDN);
        mpfr_mul(r26263, r26261, r26261, MPFR_RNDN);
        ;
        mpfr_set_d(r26265, a, MPFR_RNDN);
        mpfr_set_d(r26266, c, MPFR_RNDN);
        mpfr_mul(r26267, r26265, r26266, MPFR_RNDN);
        mpfr_mul(r26268, r26264, r26267, MPFR_RNDN);
        mpfr_sub(r26269, r26263, r26268, MPFR_RNDN);
        mpfr_sqrt(r26270, r26269, MPFR_RNDN);
        mpfr_add(r26271, r26262, r26270, MPFR_RNDN);
        ;
        mpfr_mul(r26273, r26272, r26265, MPFR_RNDN);
        mpfr_div(r26274, r26271, r26273, MPFR_RNDN);
        return mpfr_get_d(r26274, MPFR_RNDN);
}

static mpfr_t r26275, r26276, r26277, r26278, r26279, r26280, r26281, r26282, r26283, r26284, r26285, r26286, r26287, r26288, r26289, r26290, r26291, r26292, r26293, r26294, r26295, r26296, r26297, r26298, r26299, r26300, r26301, r26302, r26303, r26304, r26305, r26306, r26307, r26308;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26275);
        mpfr_init_set_str(r26276, "-1.4774007183366623e+126", 10, MPFR_RNDN);
        mpfr_init(r26277);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init_set_str(r26281, "2", 10, MPFR_RNDN);
        mpfr_init(r26282);
        mpfr_init(r26283);
        mpfr_init(r26284);
        mpfr_init(r26285);
        mpfr_init_set_str(r26286, "1.63884623983986e-310", 10, MPFR_RNDN);
        mpfr_init(r26287);
        mpfr_init(r26288);
        mpfr_init_set_str(r26289, "4", 10, MPFR_RNDN);
        mpfr_init(r26290);
        mpfr_init(r26291);
        mpfr_init(r26292);
        mpfr_init(r26293);
        mpfr_init(r26294);
        mpfr_init(r26295);
        mpfr_init_set_str(r26296, "1.8818205913123887e+75", 10, MPFR_RNDN);
        mpfr_init(r26297);
        mpfr_init_set_str(r26298, "1", 10, MPFR_RNDN);
        mpfr_init(r26299);
        mpfr_init(r26300);
        mpfr_init(r26301);
        mpfr_init(r26302);
        mpfr_init(r26303);
        mpfr_init(r26304);
        mpfr_init(r26305);
        mpfr_init(r26306);
        mpfr_init(r26307);
        mpfr_init(r26308);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r26275, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26277, mpfr_cmp(r26275, r26276) <= 0, MPFR_RNDN);
        mpfr_set_d(r26278, c, MPFR_RNDN);
        mpfr_div(r26279, r26278, r26275, MPFR_RNDN);
        mpfr_add(r26280, r26275, r26275, MPFR_RNDN);
        ;
        mpfr_set_d(r26282, a, MPFR_RNDN);
        mpfr_mul(r26283, r26281, r26282, MPFR_RNDN);
        mpfr_div(r26284, r26280, r26283, MPFR_RNDN);
        mpfr_sub(r26285, r26279, r26284, MPFR_RNDN);
        ;
        mpfr_set_si(r26287, mpfr_cmp(r26275, r26286) <= 0, MPFR_RNDN);
        mpfr_mul(r26288, r26275, r26275, MPFR_RNDN);
        ;
        mpfr_mul(r26290, r26278, r26289, MPFR_RNDN);
        mpfr_mul(r26291, r26290, r26282, MPFR_RNDN);
        mpfr_sub(r26292, r26288, r26291, MPFR_RNDN);
        mpfr_sqrt(r26293, r26292, MPFR_RNDN);
        mpfr_sub(r26294, r26293, r26275, MPFR_RNDN);
        mpfr_div(r26295, r26294, r26283, MPFR_RNDN);
        ;
        mpfr_set_si(r26297, mpfr_cmp(r26275, r26296) <= 0, MPFR_RNDN);
        ;
        mpfr_add(r26299, r26293, r26275, MPFR_RNDN);
        mpfr_div(r26300, r26281, r26278, MPFR_RNDN);
        mpfr_neg(r26301, r26289, MPFR_RNDN);
        mpfr_div(r26302, r26300, r26301, MPFR_RNDN);
        mpfr_mul(r26303, r26299, r26302, MPFR_RNDN);
        mpfr_div(r26304, r26298, r26303, MPFR_RNDN);
        mpfr_neg(r26305, r26279, MPFR_RNDN);
        if (mpfr_get_si(r26297, MPFR_RNDN)) { mpfr_set(r26306, r26304, MPFR_RNDN); } else { mpfr_set(r26306, r26305, MPFR_RNDN); };
        if (mpfr_get_si(r26287, MPFR_RNDN)) { mpfr_set(r26307, r26295, MPFR_RNDN); } else { mpfr_set(r26307, r26306, MPFR_RNDN); };
        if (mpfr_get_si(r26277, MPFR_RNDN)) { mpfr_set(r26308, r26285, MPFR_RNDN); } else { mpfr_set(r26308, r26307, MPFR_RNDN); };
        return mpfr_get_d(r26308, MPFR_RNDN);
}

static mpfr_t r26309, r26310, r26311, r26312, r26313, r26314, r26315, r26316, r26317, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26309);
        mpfr_init_set_str(r26310, "-1.4774007183366623e+126", 10, MPFR_RNDN);
        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);
        mpfr_init(r26318);
        mpfr_init(r26319);
        mpfr_init_set_str(r26320, "1.63884623983986e-310", 10, MPFR_RNDN);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init_set_str(r26323, "4", 10, MPFR_RNDN);
        mpfr_init(r26324);
        mpfr_init(r26325);
        mpfr_init(r26326);
        mpfr_init(r26327);
        mpfr_init(r26328);
        mpfr_init(r26329);
        mpfr_init_set_str(r26330, "1.8818205913123887e+75", 10, MPFR_RNDN);
        mpfr_init(r26331);
        mpfr_init_set_str(r26332, "1", 10, MPFR_RNDN);
        mpfr_init(r26333);
        mpfr_init(r26334);
        mpfr_init(r26335);
        mpfr_init(r26336);
        mpfr_init(r26337);
        mpfr_init(r26338);
        mpfr_init(r26339);
        mpfr_init(r26340);
        mpfr_init(r26341);
        mpfr_init(r26342);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r26309, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26311, mpfr_cmp(r26309, r26310) <= 0, MPFR_RNDN);
        mpfr_set_d(r26312, c, MPFR_RNDN);
        mpfr_div(r26313, r26312, r26309, MPFR_RNDN);
        mpfr_add(r26314, r26309, r26309, MPFR_RNDN);
        ;
        mpfr_set_d(r26316, a, MPFR_RNDN);
        mpfr_mul(r26317, r26315, r26316, MPFR_RNDN);
        mpfr_div(r26318, r26314, r26317, MPFR_RNDN);
        mpfr_sub(r26319, r26313, r26318, MPFR_RNDN);
        ;
        mpfr_set_si(r26321, mpfr_cmp(r26309, r26320) <= 0, MPFR_RNDN);
        mpfr_mul(r26322, r26309, r26309, MPFR_RNDN);
        ;
        mpfr_mul(r26324, r26312, r26323, MPFR_RNDN);
        mpfr_mul(r26325, r26324, r26316, MPFR_RNDN);
        mpfr_sub(r26326, r26322, r26325, MPFR_RNDN);
        mpfr_sqrt(r26327, r26326, MPFR_RNDN);
        mpfr_sub(r26328, r26327, r26309, MPFR_RNDN);
        mpfr_div(r26329, r26328, r26317, MPFR_RNDN);
        ;
        mpfr_set_si(r26331, mpfr_cmp(r26309, r26330) <= 0, MPFR_RNDN);
        ;
        mpfr_add(r26333, r26327, r26309, MPFR_RNDN);
        mpfr_div(r26334, r26315, r26312, MPFR_RNDN);
        mpfr_neg(r26335, r26323, MPFR_RNDN);
        mpfr_div(r26336, r26334, r26335, MPFR_RNDN);
        mpfr_mul(r26337, r26333, r26336, MPFR_RNDN);
        mpfr_div(r26338, r26332, r26337, MPFR_RNDN);
        mpfr_neg(r26339, r26313, MPFR_RNDN);
        if (mpfr_get_si(r26331, MPFR_RNDN)) { mpfr_set(r26340, r26338, MPFR_RNDN); } else { mpfr_set(r26340, r26339, MPFR_RNDN); };
        if (mpfr_get_si(r26321, MPFR_RNDN)) { mpfr_set(r26341, r26329, MPFR_RNDN); } else { mpfr_set(r26341, r26340, MPFR_RNDN); };
        if (mpfr_get_si(r26311, MPFR_RNDN)) { mpfr_set(r26342, r26319, MPFR_RNDN); } else { mpfr_set(r26342, r26341, MPFR_RNDN); };
        return mpfr_get_d(r26342, MPFR_RNDN);
}

