#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 r25956 = b;
        float r25957 = -r25956;
        float r25958 = r25956 * r25956;
        float r25959 = 4;
        float r25960 = a;
        float r25961 = c;
        float r25962 = r25960 * r25961;
        float r25963 = r25959 * r25962;
        float r25964 = r25958 - r25963;
        float r25965 = sqrt(r25964);
        float r25966 = r25957 + r25965;
        float r25967 = 2;
        float r25968 = r25967 * r25960;
        float r25969 = r25966 / r25968;
        return r25969;
}

double f_id(double a, double b, double c) {
        double r25970 = b;
        double r25971 = -r25970;
        double r25972 = r25970 * r25970;
        double r25973 = 4;
        double r25974 = a;
        double r25975 = c;
        double r25976 = r25974 * r25975;
        double r25977 = r25973 * r25976;
        double r25978 = r25972 - r25977;
        double r25979 = sqrt(r25978);
        double r25980 = r25971 + r25979;
        double r25981 = 2;
        double r25982 = r25981 * r25974;
        double r25983 = r25980 / r25982;
        return r25983;
}


double f_of(float a, float b, float c) {
        float r25984 = b;
        float r25985 = -r25984;
        float r25986 = -2.6763214650448188e+138;
        bool r25987 = r25985 <= r25986;
        float r25988 = c;
        float r25989 = -r25988;
        float r25990 = r25989 / r25984;
        float r25991 = -6.248469593546225e-273;
        bool r25992 = r25985 <= r25991;
        float r25993 = 1;
        float r25994 = r25984 * r25984;
        float r25995 = a;
        float r25996 = 4;
        float r25997 = r25996 * r25988;
        float r25998 = r25995 * r25997;
        float r25999 = r25994 - r25998;
        float r26000 = sqrt(r25999);
        float r26001 = r25984 + r26000;
        float r26002 = sqrt(r26001);
        float r26003 = 2;
        float r26004 = r26003 / r25988;
        float r26005 = -r25996;
        float r26006 = r26004 / r26005;
        float r26007 = r25988 * r25995;
        float r26008 = r26007 * r25996;
        float r26009 = r25994 - r26008;
        float r26010 = sqrt(r26009);
        float r26011 = r26010 + r25984;
        float r26012 = sqrt(r26011);
        float r26013 = r26006 * r26012;
        float r26014 = r26002 * r26013;
        float r26015 = r25993 / r26014;
        float r26016 = 6.0685917336100174e+94;
        bool r26017 = r25985 <= r26016;
        float r26018 = r26000 - r25984;
        float r26019 = r26003 * r25995;
        float r26020 = r25993 / r26019;
        float r26021 = r26018 * r26020;
        float r26022 = r25988 / r25984;
        float r26023 = r25984 + r25984;
        float r26024 = r26023 / r26019;
        float r26025 = r26022 - r26024;
        float r26026 = r26017 ? r26021 : r26025;
        float r26027 = r25992 ? r26015 : r26026;
        float r26028 = r25987 ? r25990 : r26027;
        return r26028;
}

double f_od(double a, double b, double c) {
        double r26029 = b;
        double r26030 = -r26029;
        double r26031 = -2.6763214650448188e+138;
        bool r26032 = r26030 <= r26031;
        double r26033 = c;
        double r26034 = -r26033;
        double r26035 = r26034 / r26029;
        double r26036 = -6.248469593546225e-273;
        bool r26037 = r26030 <= r26036;
        double r26038 = 1;
        double r26039 = r26029 * r26029;
        double r26040 = a;
        double r26041 = 4;
        double r26042 = r26041 * r26033;
        double r26043 = r26040 * r26042;
        double r26044 = r26039 - r26043;
        double r26045 = sqrt(r26044);
        double r26046 = r26029 + r26045;
        double r26047 = sqrt(r26046);
        double r26048 = 2;
        double r26049 = r26048 / r26033;
        double r26050 = -r26041;
        double r26051 = r26049 / r26050;
        double r26052 = r26033 * r26040;
        double r26053 = r26052 * r26041;
        double r26054 = r26039 - r26053;
        double r26055 = sqrt(r26054);
        double r26056 = r26055 + r26029;
        double r26057 = sqrt(r26056);
        double r26058 = r26051 * r26057;
        double r26059 = r26047 * r26058;
        double r26060 = r26038 / r26059;
        double r26061 = 6.0685917336100174e+94;
        bool r26062 = r26030 <= r26061;
        double r26063 = r26045 - r26029;
        double r26064 = r26048 * r26040;
        double r26065 = r26038 / r26064;
        double r26066 = r26063 * r26065;
        double r26067 = r26033 / r26029;
        double r26068 = r26029 + r26029;
        double r26069 = r26068 / r26064;
        double r26070 = r26067 - r26069;
        double r26071 = r26062 ? r26066 : r26070;
        double r26072 = r26037 ? r26060 : r26071;
        double r26073 = r26032 ? r26035 : r26072;
        return r26073;
}

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 r26074, r26075, r26076, r26077, r26078, r26079, r26080, r26081, r26082, r26083, r26084, r26085, r26086, r26087;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26074);
        mpfr_init(r26075);
        mpfr_init(r26076);
        mpfr_init_set_str(r26077, "4", 10, MPFR_RNDN);
        mpfr_init(r26078);
        mpfr_init(r26079);
        mpfr_init(r26080);
        mpfr_init(r26081);
        mpfr_init(r26082);
        mpfr_init(r26083);
        mpfr_init(r26084);
        mpfr_init_set_str(r26085, "2", 10, MPFR_RNDN);
        mpfr_init(r26086);
        mpfr_init(r26087);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26074, b, MPFR_RNDN);
        mpfr_neg(r26075, r26074, MPFR_RNDN);
        mpfr_mul(r26076, r26074, r26074, MPFR_RNDN);
        ;
        mpfr_set_d(r26078, a, MPFR_RNDN);
        mpfr_set_d(r26079, c, MPFR_RNDN);
        mpfr_mul(r26080, r26078, r26079, MPFR_RNDN);
        mpfr_mul(r26081, r26077, r26080, MPFR_RNDN);
        mpfr_sub(r26082, r26076, r26081, MPFR_RNDN);
        mpfr_sqrt(r26083, r26082, MPFR_RNDN);
        mpfr_add(r26084, r26075, r26083, MPFR_RNDN);
        ;
        mpfr_mul(r26086, r26085, r26078, MPFR_RNDN);
        mpfr_div(r26087, r26084, r26086, MPFR_RNDN);
        return mpfr_get_d(r26087, MPFR_RNDN);
}

static mpfr_t r26088, r26089, r26090, r26091, r26092, r26093, r26094, r26095, r26096, r26097, r26098, r26099, r26100, r26101, r26102, r26103, r26104, r26105, r26106, r26107, r26108, r26109, r26110, r26111, r26112, r26113, r26114, r26115, r26116, r26117, r26118, r26119, r26120, r26121, r26122, r26123, r26124, r26125, r26126, r26127, r26128, r26129, r26130, r26131, r26132;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26088);
        mpfr_init(r26089);
        mpfr_init_set_str(r26090, "-2.6763214650448188e+138", 10, MPFR_RNDN);
        mpfr_init(r26091);
        mpfr_init(r26092);
        mpfr_init(r26093);
        mpfr_init(r26094);
        mpfr_init_set_str(r26095, "-6.248469593546225e-273", 10, MPFR_RNDN);
        mpfr_init(r26096);
        mpfr_init_set_str(r26097, "1", 10, MPFR_RNDN);
        mpfr_init(r26098);
        mpfr_init(r26099);
        mpfr_init_set_str(r26100, "4", 10, MPFR_RNDN);
        mpfr_init(r26101);
        mpfr_init(r26102);
        mpfr_init(r26103);
        mpfr_init(r26104);
        mpfr_init(r26105);
        mpfr_init(r26106);
        mpfr_init_set_str(r26107, "2", 10, MPFR_RNDN);
        mpfr_init(r26108);
        mpfr_init(r26109);
        mpfr_init(r26110);
        mpfr_init(r26111);
        mpfr_init(r26112);
        mpfr_init(r26113);
        mpfr_init(r26114);
        mpfr_init(r26115);
        mpfr_init(r26116);
        mpfr_init(r26117);
        mpfr_init(r26118);
        mpfr_init(r26119);
        mpfr_init_set_str(r26120, "6.0685917336100174e+94", 10, MPFR_RNDN);
        mpfr_init(r26121);
        mpfr_init(r26122);
        mpfr_init(r26123);
        mpfr_init(r26124);
        mpfr_init(r26125);
        mpfr_init(r26126);
        mpfr_init(r26127);
        mpfr_init(r26128);
        mpfr_init(r26129);
        mpfr_init(r26130);
        mpfr_init(r26131);
        mpfr_init(r26132);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r26088, b, MPFR_RNDN);
        mpfr_neg(r26089, r26088, MPFR_RNDN);
        ;
        mpfr_set_si(r26091, mpfr_cmp(r26089, r26090) <= 0, MPFR_RNDN);
        mpfr_set_d(r26092, c, MPFR_RNDN);
        mpfr_neg(r26093, r26092, MPFR_RNDN);
        mpfr_div(r26094, r26093, r26088, MPFR_RNDN);
        ;
        mpfr_set_si(r26096, mpfr_cmp(r26089, r26095) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r26098, r26088, r26088, MPFR_RNDN);
        mpfr_set_d(r26099, a, MPFR_RNDN);
        ;
        mpfr_mul(r26101, r26100, r26092, MPFR_RNDN);
        mpfr_mul(r26102, r26099, r26101, MPFR_RNDN);
        mpfr_sub(r26103, r26098, r26102, MPFR_RNDN);
        mpfr_sqrt(r26104, r26103, MPFR_RNDN);
        mpfr_add(r26105, r26088, r26104, MPFR_RNDN);
        mpfr_sqrt(r26106, r26105, MPFR_RNDN);
        ;
        mpfr_div(r26108, r26107, r26092, MPFR_RNDN);
        mpfr_neg(r26109, r26100, MPFR_RNDN);
        mpfr_div(r26110, r26108, r26109, MPFR_RNDN);
        mpfr_mul(r26111, r26092, r26099, MPFR_RNDN);
        mpfr_mul(r26112, r26111, r26100, MPFR_RNDN);
        mpfr_sub(r26113, r26098, r26112, MPFR_RNDN);
        mpfr_sqrt(r26114, r26113, MPFR_RNDN);
        mpfr_add(r26115, r26114, r26088, MPFR_RNDN);
        mpfr_sqrt(r26116, r26115, MPFR_RNDN);
        mpfr_mul(r26117, r26110, r26116, MPFR_RNDN);
        mpfr_mul(r26118, r26106, r26117, MPFR_RNDN);
        mpfr_div(r26119, r26097, r26118, MPFR_RNDN);
        ;
        mpfr_set_si(r26121, mpfr_cmp(r26089, r26120) <= 0, MPFR_RNDN);
        mpfr_sub(r26122, r26104, r26088, MPFR_RNDN);
        mpfr_mul(r26123, r26107, r26099, MPFR_RNDN);
        mpfr_div(r26124, r26097, r26123, MPFR_RNDN);
        mpfr_mul(r26125, r26122, r26124, MPFR_RNDN);
        mpfr_div(r26126, r26092, r26088, MPFR_RNDN);
        mpfr_add(r26127, r26088, r26088, MPFR_RNDN);
        mpfr_div(r26128, r26127, r26123, MPFR_RNDN);
        mpfr_sub(r26129, r26126, r26128, MPFR_RNDN);
        if (mpfr_get_si(r26121, MPFR_RNDN)) { mpfr_set(r26130, r26125, MPFR_RNDN); } else { mpfr_set(r26130, r26129, MPFR_RNDN); };
        if (mpfr_get_si(r26096, MPFR_RNDN)) { mpfr_set(r26131, r26119, MPFR_RNDN); } else { mpfr_set(r26131, r26130, MPFR_RNDN); };
        if (mpfr_get_si(r26091, MPFR_RNDN)) { mpfr_set(r26132, r26094, MPFR_RNDN); } else { mpfr_set(r26132, r26131, MPFR_RNDN); };
        return mpfr_get_d(r26132, MPFR_RNDN);
}

static mpfr_t r26133, r26134, r26135, r26136, r26137, r26138, r26139, r26140, r26141, r26142, r26143, r26144, r26145, r26146, r26147, r26148, r26149, r26150, r26151, r26152, r26153, r26154, r26155, r26156, r26157, r26158, r26159, r26160, r26161, r26162, r26163, r26164, r26165, r26166, r26167, r26168, r26169, r26170, r26171, r26172, r26173, r26174, r26175, r26176, r26177;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26133);
        mpfr_init(r26134);
        mpfr_init_set_str(r26135, "-2.6763214650448188e+138", 10, MPFR_RNDN);
        mpfr_init(r26136);
        mpfr_init(r26137);
        mpfr_init(r26138);
        mpfr_init(r26139);
        mpfr_init_set_str(r26140, "-6.248469593546225e-273", 10, MPFR_RNDN);
        mpfr_init(r26141);
        mpfr_init_set_str(r26142, "1", 10, MPFR_RNDN);
        mpfr_init(r26143);
        mpfr_init(r26144);
        mpfr_init_set_str(r26145, "4", 10, MPFR_RNDN);
        mpfr_init(r26146);
        mpfr_init(r26147);
        mpfr_init(r26148);
        mpfr_init(r26149);
        mpfr_init(r26150);
        mpfr_init(r26151);
        mpfr_init_set_str(r26152, "2", 10, MPFR_RNDN);
        mpfr_init(r26153);
        mpfr_init(r26154);
        mpfr_init(r26155);
        mpfr_init(r26156);
        mpfr_init(r26157);
        mpfr_init(r26158);
        mpfr_init(r26159);
        mpfr_init(r26160);
        mpfr_init(r26161);
        mpfr_init(r26162);
        mpfr_init(r26163);
        mpfr_init(r26164);
        mpfr_init_set_str(r26165, "6.0685917336100174e+94", 10, MPFR_RNDN);
        mpfr_init(r26166);
        mpfr_init(r26167);
        mpfr_init(r26168);
        mpfr_init(r26169);
        mpfr_init(r26170);
        mpfr_init(r26171);
        mpfr_init(r26172);
        mpfr_init(r26173);
        mpfr_init(r26174);
        mpfr_init(r26175);
        mpfr_init(r26176);
        mpfr_init(r26177);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r26133, b, MPFR_RNDN);
        mpfr_neg(r26134, r26133, MPFR_RNDN);
        ;
        mpfr_set_si(r26136, mpfr_cmp(r26134, r26135) <= 0, MPFR_RNDN);
        mpfr_set_d(r26137, c, MPFR_RNDN);
        mpfr_neg(r26138, r26137, MPFR_RNDN);
        mpfr_div(r26139, r26138, r26133, MPFR_RNDN);
        ;
        mpfr_set_si(r26141, mpfr_cmp(r26134, r26140) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r26143, r26133, r26133, MPFR_RNDN);
        mpfr_set_d(r26144, a, MPFR_RNDN);
        ;
        mpfr_mul(r26146, r26145, r26137, MPFR_RNDN);
        mpfr_mul(r26147, r26144, r26146, MPFR_RNDN);
        mpfr_sub(r26148, r26143, r26147, MPFR_RNDN);
        mpfr_sqrt(r26149, r26148, MPFR_RNDN);
        mpfr_add(r26150, r26133, r26149, MPFR_RNDN);
        mpfr_sqrt(r26151, r26150, MPFR_RNDN);
        ;
        mpfr_div(r26153, r26152, r26137, MPFR_RNDN);
        mpfr_neg(r26154, r26145, MPFR_RNDN);
        mpfr_div(r26155, r26153, r26154, MPFR_RNDN);
        mpfr_mul(r26156, r26137, r26144, MPFR_RNDN);
        mpfr_mul(r26157, r26156, r26145, MPFR_RNDN);
        mpfr_sub(r26158, r26143, r26157, MPFR_RNDN);
        mpfr_sqrt(r26159, r26158, MPFR_RNDN);
        mpfr_add(r26160, r26159, r26133, MPFR_RNDN);
        mpfr_sqrt(r26161, r26160, MPFR_RNDN);
        mpfr_mul(r26162, r26155, r26161, MPFR_RNDN);
        mpfr_mul(r26163, r26151, r26162, MPFR_RNDN);
        mpfr_div(r26164, r26142, r26163, MPFR_RNDN);
        ;
        mpfr_set_si(r26166, mpfr_cmp(r26134, r26165) <= 0, MPFR_RNDN);
        mpfr_sub(r26167, r26149, r26133, MPFR_RNDN);
        mpfr_mul(r26168, r26152, r26144, MPFR_RNDN);
        mpfr_div(r26169, r26142, r26168, MPFR_RNDN);
        mpfr_mul(r26170, r26167, r26169, MPFR_RNDN);
        mpfr_div(r26171, r26137, r26133, MPFR_RNDN);
        mpfr_add(r26172, r26133, r26133, MPFR_RNDN);
        mpfr_div(r26173, r26172, r26168, MPFR_RNDN);
        mpfr_sub(r26174, r26171, r26173, MPFR_RNDN);
        if (mpfr_get_si(r26166, MPFR_RNDN)) { mpfr_set(r26175, r26170, MPFR_RNDN); } else { mpfr_set(r26175, r26174, MPFR_RNDN); };
        if (mpfr_get_si(r26141, MPFR_RNDN)) { mpfr_set(r26176, r26164, MPFR_RNDN); } else { mpfr_set(r26176, r26175, MPFR_RNDN); };
        if (mpfr_get_si(r26136, MPFR_RNDN)) { mpfr_set(r26177, r26139, MPFR_RNDN); } else { mpfr_set(r26177, r26176, MPFR_RNDN); };
        return mpfr_get_d(r26177, MPFR_RNDN);
}

