#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 r26074 = b;
        float r26075 = -r26074;
        float r26076 = r26074 * r26074;
        float r26077 = 4;
        float r26078 = a;
        float r26079 = c;
        float r26080 = r26078 * r26079;
        float r26081 = r26077 * r26080;
        float r26082 = r26076 - r26081;
        float r26083 = sqrt(r26082);
        float r26084 = r26075 + r26083;
        float r26085 = 2;
        float r26086 = r26085 * r26078;
        float r26087 = r26084 / r26086;
        return r26087;
}

double f_id(double a, double b, double c) {
        double r26088 = b;
        double r26089 = -r26088;
        double r26090 = r26088 * r26088;
        double r26091 = 4;
        double r26092 = a;
        double r26093 = c;
        double r26094 = r26092 * r26093;
        double r26095 = r26091 * r26094;
        double r26096 = r26090 - r26095;
        double r26097 = sqrt(r26096);
        double r26098 = r26089 + r26097;
        double r26099 = 2;
        double r26100 = r26099 * r26092;
        double r26101 = r26098 / r26100;
        return r26101;
}


double f_of(float a, float b, float c) {
        float r26102 = b;
        float r26103 = -7.739999686026577e+110;
        bool r26104 = r26102 <= r26103;
        float r26105 = c;
        float r26106 = r26105 / r26102;
        float r26107 = r26102 + r26102;
        float r26108 = 2;
        float r26109 = a;
        float r26110 = r26108 * r26109;
        float r26111 = r26107 / r26110;
        float r26112 = r26106 - r26111;
        float r26113 = 4.308150604481148e-158;
        bool r26114 = r26102 <= r26113;
        float r26115 = 1;
        float r26116 = r26102 * r26102;
        float r26117 = 4;
        float r26118 = r26105 * r26117;
        float r26119 = r26118 * r26109;
        float r26120 = r26116 - r26119;
        float r26121 = sqrt(r26120);
        float r26122 = r26121 - r26102;
        float r26123 = r26110 / r26122;
        float r26124 = r26115 / r26123;
        float r26125 = 1.643123946810858e+22;
        bool r26126 = r26102 <= r26125;
        float r26127 = -r26109;
        float r26128 = r26127 * r26118;
        float r26129 = r26128 / r26110;
        float r26130 = r26121 + r26102;
        float r26131 = r26129 / r26130;
        float r26132 = -r26106;
        float r26133 = r26126 ? r26131 : r26132;
        float r26134 = r26114 ? r26124 : r26133;
        float r26135 = r26104 ? r26112 : r26134;
        return r26135;
}

double f_od(double a, double b, double c) {
        double r26136 = b;
        double r26137 = -7.739999686026577e+110;
        bool r26138 = r26136 <= r26137;
        double r26139 = c;
        double r26140 = r26139 / r26136;
        double r26141 = r26136 + r26136;
        double r26142 = 2;
        double r26143 = a;
        double r26144 = r26142 * r26143;
        double r26145 = r26141 / r26144;
        double r26146 = r26140 - r26145;
        double r26147 = 4.308150604481148e-158;
        bool r26148 = r26136 <= r26147;
        double r26149 = 1;
        double r26150 = r26136 * r26136;
        double r26151 = 4;
        double r26152 = r26139 * r26151;
        double r26153 = r26152 * r26143;
        double r26154 = r26150 - r26153;
        double r26155 = sqrt(r26154);
        double r26156 = r26155 - r26136;
        double r26157 = r26144 / r26156;
        double r26158 = r26149 / r26157;
        double r26159 = 1.643123946810858e+22;
        bool r26160 = r26136 <= r26159;
        double r26161 = -r26143;
        double r26162 = r26161 * r26152;
        double r26163 = r26162 / r26144;
        double r26164 = r26155 + r26136;
        double r26165 = r26163 / r26164;
        double r26166 = -r26140;
        double r26167 = r26160 ? r26165 : r26166;
        double r26168 = r26148 ? r26158 : r26167;
        double r26169 = r26138 ? r26146 : r26168;
        return r26169;
}

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 r26170, r26171, r26172, r26173, r26174, r26175, r26176, r26177, r26178, r26179, r26180, r26181, r26182, r26183;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26170);
        mpfr_init(r26171);
        mpfr_init(r26172);
        mpfr_init_set_str(r26173, "4", 10, MPFR_RNDN);
        mpfr_init(r26174);
        mpfr_init(r26175);
        mpfr_init(r26176);
        mpfr_init(r26177);
        mpfr_init(r26178);
        mpfr_init(r26179);
        mpfr_init(r26180);
        mpfr_init_set_str(r26181, "2", 10, MPFR_RNDN);
        mpfr_init(r26182);
        mpfr_init(r26183);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26170, b, MPFR_RNDN);
        mpfr_neg(r26171, r26170, MPFR_RNDN);
        mpfr_mul(r26172, r26170, r26170, MPFR_RNDN);
        ;
        mpfr_set_d(r26174, a, MPFR_RNDN);
        mpfr_set_d(r26175, c, MPFR_RNDN);
        mpfr_mul(r26176, r26174, r26175, MPFR_RNDN);
        mpfr_mul(r26177, r26173, r26176, MPFR_RNDN);
        mpfr_sub(r26178, r26172, r26177, MPFR_RNDN);
        mpfr_sqrt(r26179, r26178, MPFR_RNDN);
        mpfr_add(r26180, r26171, r26179, MPFR_RNDN);
        ;
        mpfr_mul(r26182, r26181, r26174, MPFR_RNDN);
        mpfr_div(r26183, r26180, r26182, MPFR_RNDN);
        return mpfr_get_d(r26183, MPFR_RNDN);
}

static mpfr_t r26184, r26185, r26186, r26187, r26188, r26189, r26190, r26191, r26192, r26193, r26194, r26195, r26196, r26197, r26198, r26199, r26200, r26201, r26202, r26203, r26204, r26205, r26206, r26207, r26208, r26209, r26210, r26211, r26212, r26213, r26214, r26215, r26216, r26217;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26184);
        mpfr_init_set_str(r26185, "-7.739999686026577e+110", 10, MPFR_RNDN);
        mpfr_init(r26186);
        mpfr_init(r26187);
        mpfr_init(r26188);
        mpfr_init(r26189);
        mpfr_init_set_str(r26190, "2", 10, MPFR_RNDN);
        mpfr_init(r26191);
        mpfr_init(r26192);
        mpfr_init(r26193);
        mpfr_init(r26194);
        mpfr_init_set_str(r26195, "4.308150604481148e-158", 10, MPFR_RNDN);
        mpfr_init(r26196);
        mpfr_init_set_str(r26197, "1", 10, MPFR_RNDN);
        mpfr_init(r26198);
        mpfr_init_set_str(r26199, "4", 10, MPFR_RNDN);
        mpfr_init(r26200);
        mpfr_init(r26201);
        mpfr_init(r26202);
        mpfr_init(r26203);
        mpfr_init(r26204);
        mpfr_init(r26205);
        mpfr_init(r26206);
        mpfr_init_set_str(r26207, "1.643123946810858e+22", 10, MPFR_RNDN);
        mpfr_init(r26208);
        mpfr_init(r26209);
        mpfr_init(r26210);
        mpfr_init(r26211);
        mpfr_init(r26212);
        mpfr_init(r26213);
        mpfr_init(r26214);
        mpfr_init(r26215);
        mpfr_init(r26216);
        mpfr_init(r26217);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r26184, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26186, mpfr_cmp(r26184, r26185) <= 0, MPFR_RNDN);
        mpfr_set_d(r26187, c, MPFR_RNDN);
        mpfr_div(r26188, r26187, r26184, MPFR_RNDN);
        mpfr_add(r26189, r26184, r26184, MPFR_RNDN);
        ;
        mpfr_set_d(r26191, a, MPFR_RNDN);
        mpfr_mul(r26192, r26190, r26191, MPFR_RNDN);
        mpfr_div(r26193, r26189, r26192, MPFR_RNDN);
        mpfr_sub(r26194, r26188, r26193, MPFR_RNDN);
        ;
        mpfr_set_si(r26196, mpfr_cmp(r26184, r26195) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r26198, r26184, r26184, MPFR_RNDN);
        ;
        mpfr_mul(r26200, r26187, r26199, MPFR_RNDN);
        mpfr_mul(r26201, r26200, r26191, MPFR_RNDN);
        mpfr_sub(r26202, r26198, r26201, MPFR_RNDN);
        mpfr_sqrt(r26203, r26202, MPFR_RNDN);
        mpfr_sub(r26204, r26203, r26184, MPFR_RNDN);
        mpfr_div(r26205, r26192, r26204, MPFR_RNDN);
        mpfr_div(r26206, r26197, r26205, MPFR_RNDN);
        ;
        mpfr_set_si(r26208, mpfr_cmp(r26184, r26207) <= 0, MPFR_RNDN);
        mpfr_neg(r26209, r26191, MPFR_RNDN);
        mpfr_mul(r26210, r26209, r26200, MPFR_RNDN);
        mpfr_div(r26211, r26210, r26192, MPFR_RNDN);
        mpfr_add(r26212, r26203, r26184, MPFR_RNDN);
        mpfr_div(r26213, r26211, r26212, MPFR_RNDN);
        mpfr_neg(r26214, r26188, MPFR_RNDN);
        if (mpfr_get_si(r26208, MPFR_RNDN)) { mpfr_set(r26215, r26213, MPFR_RNDN); } else { mpfr_set(r26215, r26214, MPFR_RNDN); };
        if (mpfr_get_si(r26196, MPFR_RNDN)) { mpfr_set(r26216, r26206, MPFR_RNDN); } else { mpfr_set(r26216, r26215, MPFR_RNDN); };
        if (mpfr_get_si(r26186, MPFR_RNDN)) { mpfr_set(r26217, r26194, MPFR_RNDN); } else { mpfr_set(r26217, r26216, MPFR_RNDN); };
        return mpfr_get_d(r26217, MPFR_RNDN);
}

static mpfr_t r26218, r26219, r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238, r26239, r26240, r26241, r26242, r26243, r26244, r26245, r26246, r26247, r26248, r26249, r26250, r26251;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26218);
        mpfr_init_set_str(r26219, "-7.739999686026577e+110", 10, MPFR_RNDN);
        mpfr_init(r26220);
        mpfr_init(r26221);
        mpfr_init(r26222);
        mpfr_init(r26223);
        mpfr_init_set_str(r26224, "2", 10, MPFR_RNDN);
        mpfr_init(r26225);
        mpfr_init(r26226);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init_set_str(r26229, "4.308150604481148e-158", 10, MPFR_RNDN);
        mpfr_init(r26230);
        mpfr_init_set_str(r26231, "1", 10, MPFR_RNDN);
        mpfr_init(r26232);
        mpfr_init_set_str(r26233, "4", 10, MPFR_RNDN);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init(r26236);
        mpfr_init(r26237);
        mpfr_init(r26238);
        mpfr_init(r26239);
        mpfr_init(r26240);
        mpfr_init_set_str(r26241, "1.643123946810858e+22", 10, MPFR_RNDN);
        mpfr_init(r26242);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
        mpfr_init(r26251);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r26218, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26220, mpfr_cmp(r26218, r26219) <= 0, MPFR_RNDN);
        mpfr_set_d(r26221, c, MPFR_RNDN);
        mpfr_div(r26222, r26221, r26218, MPFR_RNDN);
        mpfr_add(r26223, r26218, r26218, MPFR_RNDN);
        ;
        mpfr_set_d(r26225, a, MPFR_RNDN);
        mpfr_mul(r26226, r26224, r26225, MPFR_RNDN);
        mpfr_div(r26227, r26223, r26226, MPFR_RNDN);
        mpfr_sub(r26228, r26222, r26227, MPFR_RNDN);
        ;
        mpfr_set_si(r26230, mpfr_cmp(r26218, r26229) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r26232, r26218, r26218, MPFR_RNDN);
        ;
        mpfr_mul(r26234, r26221, r26233, MPFR_RNDN);
        mpfr_mul(r26235, r26234, r26225, MPFR_RNDN);
        mpfr_sub(r26236, r26232, r26235, MPFR_RNDN);
        mpfr_sqrt(r26237, r26236, MPFR_RNDN);
        mpfr_sub(r26238, r26237, r26218, MPFR_RNDN);
        mpfr_div(r26239, r26226, r26238, MPFR_RNDN);
        mpfr_div(r26240, r26231, r26239, MPFR_RNDN);
        ;
        mpfr_set_si(r26242, mpfr_cmp(r26218, r26241) <= 0, MPFR_RNDN);
        mpfr_neg(r26243, r26225, MPFR_RNDN);
        mpfr_mul(r26244, r26243, r26234, MPFR_RNDN);
        mpfr_div(r26245, r26244, r26226, MPFR_RNDN);
        mpfr_add(r26246, r26237, r26218, MPFR_RNDN);
        mpfr_div(r26247, r26245, r26246, MPFR_RNDN);
        mpfr_neg(r26248, r26222, MPFR_RNDN);
        if (mpfr_get_si(r26242, MPFR_RNDN)) { mpfr_set(r26249, r26247, MPFR_RNDN); } else { mpfr_set(r26249, r26248, MPFR_RNDN); };
        if (mpfr_get_si(r26230, MPFR_RNDN)) { mpfr_set(r26250, r26240, MPFR_RNDN); } else { mpfr_set(r26250, r26249, MPFR_RNDN); };
        if (mpfr_get_si(r26220, MPFR_RNDN)) { mpfr_set(r26251, r26228, MPFR_RNDN); } else { mpfr_set(r26251, r26250, MPFR_RNDN); };
        return mpfr_get_d(r26251, MPFR_RNDN);
}

