#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 r26032 = b;
        float r26033 = -r26032;
        float r26034 = r26032 * r26032;
        float r26035 = 4;
        float r26036 = a;
        float r26037 = c;
        float r26038 = r26036 * r26037;
        float r26039 = r26035 * r26038;
        float r26040 = r26034 - r26039;
        float r26041 = sqrt(r26040);
        float r26042 = r26033 + r26041;
        float r26043 = 2;
        float r26044 = r26043 * r26036;
        float r26045 = r26042 / r26044;
        return r26045;
}

double f_id(double a, double b, double c) {
        double r26046 = b;
        double r26047 = -r26046;
        double r26048 = r26046 * r26046;
        double r26049 = 4;
        double r26050 = a;
        double r26051 = c;
        double r26052 = r26050 * r26051;
        double r26053 = r26049 * r26052;
        double r26054 = r26048 - r26053;
        double r26055 = sqrt(r26054);
        double r26056 = r26047 + r26055;
        double r26057 = 2;
        double r26058 = r26057 * r26050;
        double r26059 = r26056 / r26058;
        return r26059;
}


double f_of(float a, float b, float c) {
        float r26060 = 4;
        float r26061 = a;
        float r26062 = r26060 * r26061;
        float r26063 = c;
        float r26064 = -r26063;
        float r26065 = b;
        float r26066 = r26065 * r26065;
        float r26067 = fma(r26062, r26064, r26066);
        float r26068 = sqrt(r26067);
        float r26069 = r26068 - r26065;
        float r26070 = log(r26069);
        float r26071 = exp(r26070);
        float r26072 = 2;
        float r26073 = r26072 * r26061;
        float r26074 = r26071 / r26073;
        float r26075 = -6.814820659150614e+305;
        bool r26076 = r26074 <= r26075;
        float r26077 = -r26065;
        float r26078 = r26063 / r26077;
        float r26079 = -2.46824691046004e-309;
        bool r26080 = r26074 <= r26079;
        float r26081 = sqrt(r26068);
        float r26082 = fma(r26081, r26081, r26077);
        float r26083 = r26082 / r26073;
        float r26084 = 1.0024672793860501e-307;
        bool r26085 = r26074 <= r26084;
        float r26086 = 1.2978579190426098e+307;
        bool r26087 = r26074 <= r26086;
        float r26088 = r26087 ? r26083 : r26078;
        float r26089 = r26085 ? r26078 : r26088;
        float r26090 = r26080 ? r26083 : r26089;
        float r26091 = r26076 ? r26078 : r26090;
        return r26091;
}

double f_od(double a, double b, double c) {
        double r26092 = 4;
        double r26093 = a;
        double r26094 = r26092 * r26093;
        double r26095 = c;
        double r26096 = -r26095;
        double r26097 = b;
        double r26098 = r26097 * r26097;
        double r26099 = fma(r26094, r26096, r26098);
        double r26100 = sqrt(r26099);
        double r26101 = r26100 - r26097;
        double r26102 = log(r26101);
        double r26103 = exp(r26102);
        double r26104 = 2;
        double r26105 = r26104 * r26093;
        double r26106 = r26103 / r26105;
        double r26107 = -6.814820659150614e+305;
        bool r26108 = r26106 <= r26107;
        double r26109 = -r26097;
        double r26110 = r26095 / r26109;
        double r26111 = -2.46824691046004e-309;
        bool r26112 = r26106 <= r26111;
        double r26113 = sqrt(r26100);
        double r26114 = fma(r26113, r26113, r26109);
        double r26115 = r26114 / r26105;
        double r26116 = 1.0024672793860501e-307;
        bool r26117 = r26106 <= r26116;
        double r26118 = 1.2978579190426098e+307;
        bool r26119 = r26106 <= r26118;
        double r26120 = r26119 ? r26115 : r26110;
        double r26121 = r26117 ? r26110 : r26120;
        double r26122 = r26112 ? r26115 : r26121;
        double r26123 = r26108 ? r26110 : r26122;
        return r26123;
}

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 r26124, r26125, r26126, r26127, r26128, r26129, r26130, r26131, r26132, r26133, r26134, r26135, r26136, r26137;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26124);
        mpfr_init(r26125);
        mpfr_init(r26126);
        mpfr_init_set_str(r26127, "4", 10, MPFR_RNDN);
        mpfr_init(r26128);
        mpfr_init(r26129);
        mpfr_init(r26130);
        mpfr_init(r26131);
        mpfr_init(r26132);
        mpfr_init(r26133);
        mpfr_init(r26134);
        mpfr_init_set_str(r26135, "2", 10, MPFR_RNDN);
        mpfr_init(r26136);
        mpfr_init(r26137);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26124, b, MPFR_RNDN);
        mpfr_neg(r26125, r26124, MPFR_RNDN);
        mpfr_mul(r26126, r26124, r26124, MPFR_RNDN);
        ;
        mpfr_set_d(r26128, a, MPFR_RNDN);
        mpfr_set_d(r26129, c, MPFR_RNDN);
        mpfr_mul(r26130, r26128, r26129, MPFR_RNDN);
        mpfr_mul(r26131, r26127, r26130, MPFR_RNDN);
        mpfr_sub(r26132, r26126, r26131, MPFR_RNDN);
        mpfr_sqrt(r26133, r26132, MPFR_RNDN);
        mpfr_add(r26134, r26125, r26133, MPFR_RNDN);
        ;
        mpfr_mul(r26136, r26135, r26128, MPFR_RNDN);
        mpfr_div(r26137, r26134, r26136, MPFR_RNDN);
        return mpfr_get_d(r26137, MPFR_RNDN);
}

static mpfr_t 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r26138, "4", 10, MPFR_RNDN);
        mpfr_init(r26139);
        mpfr_init(r26140);
        mpfr_init(r26141);
        mpfr_init(r26142);
        mpfr_init(r26143);
        mpfr_init(r26144);
        mpfr_init(r26145);
        mpfr_init(r26146);
        mpfr_init(r26147);
        mpfr_init(r26148);
        mpfr_init(r26149);
        mpfr_init_set_str(r26150, "2", 10, MPFR_RNDN);
        mpfr_init(r26151);
        mpfr_init(r26152);
        mpfr_init_set_str(r26153, "-6.814820659150614e+305", 10, MPFR_RNDN);
        mpfr_init(r26154);
        mpfr_init(r26155);
        mpfr_init(r26156);
        mpfr_init_set_str(r26157, "-2.46824691046004e-309", 10, MPFR_RNDN);
        mpfr_init(r26158);
        mpfr_init(r26159);
        mpfr_init(r26160);
        mpfr_init(r26161);
        mpfr_init_set_str(r26162, "1.0024672793860501e-307", 10, MPFR_RNDN);
        mpfr_init(r26163);
        mpfr_init_set_str(r26164, "1.2978579190426098e+307", 10, MPFR_RNDN);
        mpfr_init(r26165);
        mpfr_init(r26166);
        mpfr_init(r26167);
        mpfr_init(r26168);
        mpfr_init(r26169);
}

double f_fm(double a, double b, double c) {
        ;
        mpfr_set_d(r26139, a, MPFR_RNDN);
        mpfr_mul(r26140, r26138, r26139, MPFR_RNDN);
        mpfr_set_d(r26141, c, MPFR_RNDN);
        mpfr_neg(r26142, r26141, MPFR_RNDN);
        mpfr_set_d(r26143, b, MPFR_RNDN);
        mpfr_mul(r26144, r26143, r26143, MPFR_RNDN);
        mpfr_fma(r26145, r26140, r26142, r26144, MPFR_RNDN);
        mpfr_sqrt(r26146, r26145, MPFR_RNDN);
        mpfr_sub(r26147, r26146, r26143, MPFR_RNDN);
        mpfr_log(r26148, r26147, MPFR_RNDN);
        mpfr_exp(r26149, r26148, MPFR_RNDN);
        ;
        mpfr_mul(r26151, r26150, r26139, MPFR_RNDN);
        mpfr_div(r26152, r26149, r26151, MPFR_RNDN);
        ;
        mpfr_set_si(r26154, mpfr_cmp(r26152, r26153) <= 0, MPFR_RNDN);
        mpfr_neg(r26155, r26143, MPFR_RNDN);
        mpfr_div(r26156, r26141, r26155, MPFR_RNDN);
        ;
        mpfr_set_si(r26158, mpfr_cmp(r26152, r26157) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26159, r26146, MPFR_RNDN);
        mpfr_fma(r26160, r26159, r26159, r26155, MPFR_RNDN);
        mpfr_div(r26161, r26160, r26151, MPFR_RNDN);
        ;
        mpfr_set_si(r26163, mpfr_cmp(r26152, r26162) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26165, mpfr_cmp(r26152, r26164) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26165, MPFR_RNDN)) { mpfr_set(r26166, r26161, MPFR_RNDN); } else { mpfr_set(r26166, r26156, MPFR_RNDN); };
        if (mpfr_get_si(r26163, MPFR_RNDN)) { mpfr_set(r26167, r26156, MPFR_RNDN); } else { mpfr_set(r26167, r26166, MPFR_RNDN); };
        if (mpfr_get_si(r26158, MPFR_RNDN)) { mpfr_set(r26168, r26161, MPFR_RNDN); } else { mpfr_set(r26168, r26167, MPFR_RNDN); };
        if (mpfr_get_si(r26154, MPFR_RNDN)) { mpfr_set(r26169, r26156, MPFR_RNDN); } else { mpfr_set(r26169, r26168, MPFR_RNDN); };
        return mpfr_get_d(r26169, MPFR_RNDN);
}

static mpfr_t r26170, r26171, r26172, r26173, r26174, r26175, r26176, r26177, r26178, r26179, r26180, r26181, r26182, r26183, r26184, r26185, r26186, r26187, r26188, r26189, r26190, r26191, r26192, r26193, r26194, r26195, r26196, r26197, r26198, r26199, r26200, r26201;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r26170, "4", 10, MPFR_RNDN);
        mpfr_init(r26171);
        mpfr_init(r26172);
        mpfr_init(r26173);
        mpfr_init(r26174);
        mpfr_init(r26175);
        mpfr_init(r26176);
        mpfr_init(r26177);
        mpfr_init(r26178);
        mpfr_init(r26179);
        mpfr_init(r26180);
        mpfr_init(r26181);
        mpfr_init_set_str(r26182, "2", 10, MPFR_RNDN);
        mpfr_init(r26183);
        mpfr_init(r26184);
        mpfr_init_set_str(r26185, "-6.814820659150614e+305", 10, MPFR_RNDN);
        mpfr_init(r26186);
        mpfr_init(r26187);
        mpfr_init(r26188);
        mpfr_init_set_str(r26189, "-2.46824691046004e-309", 10, MPFR_RNDN);
        mpfr_init(r26190);
        mpfr_init(r26191);
        mpfr_init(r26192);
        mpfr_init(r26193);
        mpfr_init_set_str(r26194, "1.0024672793860501e-307", 10, MPFR_RNDN);
        mpfr_init(r26195);
        mpfr_init_set_str(r26196, "1.2978579190426098e+307", 10, MPFR_RNDN);
        mpfr_init(r26197);
        mpfr_init(r26198);
        mpfr_init(r26199);
        mpfr_init(r26200);
        mpfr_init(r26201);
}

double f_dm(double a, double b, double c) {
        ;
        mpfr_set_d(r26171, a, MPFR_RNDN);
        mpfr_mul(r26172, r26170, r26171, MPFR_RNDN);
        mpfr_set_d(r26173, c, MPFR_RNDN);
        mpfr_neg(r26174, r26173, MPFR_RNDN);
        mpfr_set_d(r26175, b, MPFR_RNDN);
        mpfr_mul(r26176, r26175, r26175, MPFR_RNDN);
        mpfr_fma(r26177, r26172, r26174, r26176, MPFR_RNDN);
        mpfr_sqrt(r26178, r26177, MPFR_RNDN);
        mpfr_sub(r26179, r26178, r26175, MPFR_RNDN);
        mpfr_log(r26180, r26179, MPFR_RNDN);
        mpfr_exp(r26181, r26180, MPFR_RNDN);
        ;
        mpfr_mul(r26183, r26182, r26171, MPFR_RNDN);
        mpfr_div(r26184, r26181, r26183, MPFR_RNDN);
        ;
        mpfr_set_si(r26186, mpfr_cmp(r26184, r26185) <= 0, MPFR_RNDN);
        mpfr_neg(r26187, r26175, MPFR_RNDN);
        mpfr_div(r26188, r26173, r26187, MPFR_RNDN);
        ;
        mpfr_set_si(r26190, mpfr_cmp(r26184, r26189) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26191, r26178, MPFR_RNDN);
        mpfr_fma(r26192, r26191, r26191, r26187, MPFR_RNDN);
        mpfr_div(r26193, r26192, r26183, MPFR_RNDN);
        ;
        mpfr_set_si(r26195, mpfr_cmp(r26184, r26194) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26197, mpfr_cmp(r26184, r26196) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26197, MPFR_RNDN)) { mpfr_set(r26198, r26193, MPFR_RNDN); } else { mpfr_set(r26198, r26188, MPFR_RNDN); };
        if (mpfr_get_si(r26195, MPFR_RNDN)) { mpfr_set(r26199, r26188, MPFR_RNDN); } else { mpfr_set(r26199, r26198, MPFR_RNDN); };
        if (mpfr_get_si(r26190, MPFR_RNDN)) { mpfr_set(r26200, r26193, MPFR_RNDN); } else { mpfr_set(r26200, r26199, MPFR_RNDN); };
        if (mpfr_get_si(r26186, MPFR_RNDN)) { mpfr_set(r26201, r26188, MPFR_RNDN); } else { mpfr_set(r26201, r26200, MPFR_RNDN); };
        return mpfr_get_d(r26201, MPFR_RNDN);
}

