#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 r11871133 = b;
        float r11871134 = -r11871133;
        float r11871135 = r11871133 * r11871133;
        float r11871136 = 4;
        float r11871137 = a;
        float r11871138 = c;
        float r11871139 = r11871137 * r11871138;
        float r11871140 = r11871136 * r11871139;
        float r11871141 = r11871135 - r11871140;
        float r11871142 = sqrt(r11871141);
        float r11871143 = r11871134 + r11871142;
        float r11871144 = 2;
        float r11871145 = r11871144 * r11871137;
        float r11871146 = r11871143 / r11871145;
        return r11871146;
}

double f_id(double a, double b, double c) {
        double r11871147 = b;
        double r11871148 = -r11871147;
        double r11871149 = r11871147 * r11871147;
        double r11871150 = 4;
        double r11871151 = a;
        double r11871152 = c;
        double r11871153 = r11871151 * r11871152;
        double r11871154 = r11871150 * r11871153;
        double r11871155 = r11871149 - r11871154;
        double r11871156 = sqrt(r11871155);
        double r11871157 = r11871148 + r11871156;
        double r11871158 = 2;
        double r11871159 = r11871158 * r11871151;
        double r11871160 = r11871157 / r11871159;
        return r11871160;
}


double f_of(float a, float b, float c) {
        float r11871161 = b;
        float r11871162 = -1.0997908275242063e+151;
        bool r11871163 = r11871161 <= r11871162;
        float r11871164 = c;
        float r11871165 = r11871164 / r11871161;
        float r11871166 = 1;
        float r11871167 = r11871165 / r11871166;
        float r11871168 = a;
        float r11871169 = r11871161 / r11871168;
        float r11871170 = r11871167 - r11871169;
        float r11871171 = 4.812686842305236e-167;
        bool r11871172 = r11871161 <= r11871171;
        float r11871173 = -r11871161;
        float r11871174 = r11871161 * r11871161;
        float r11871175 = 4;
        float r11871176 = r11871164 * r11871168;
        float r11871177 = r11871175 * r11871176;
        float r11871178 = r11871174 - r11871177;
        float r11871179 = sqrt(r11871178);
        float r11871180 = r11871173 + r11871179;
        float r11871181 = r11871168 + r11871168;
        float r11871182 = r11871180 / r11871181;
        float r11871183 = 72164228273.94012;
        bool r11871184 = r11871161 <= r11871183;
        float r11871185 = r11871173 - r11871179;
        float r11871186 = r11871177 / r11871185;
        float r11871187 = r11871186 / r11871181;
        float r11871188 = 2;
        float r11871189 = r11871164 / r11871188;
        float r11871190 = r11871189 * r11871175;
        float r11871191 = r11871164 + r11871164;
        float r11871192 = r11871168 / r11871161;
        float r11871193 = r11871191 * r11871192;
        float r11871194 = r11871161 + r11871161;
        float r11871195 = r11871193 - r11871194;
        float r11871196 = r11871190 / r11871195;
        float r11871197 = r11871184 ? r11871187 : r11871196;
        float r11871198 = r11871172 ? r11871182 : r11871197;
        float r11871199 = r11871163 ? r11871170 : r11871198;
        return r11871199;
}

double f_od(double a, double b, double c) {
        double r11871200 = b;
        double r11871201 = -1.0997908275242063e+151;
        bool r11871202 = r11871200 <= r11871201;
        double r11871203 = c;
        double r11871204 = r11871203 / r11871200;
        double r11871205 = 1;
        double r11871206 = r11871204 / r11871205;
        double r11871207 = a;
        double r11871208 = r11871200 / r11871207;
        double r11871209 = r11871206 - r11871208;
        double r11871210 = 4.812686842305236e-167;
        bool r11871211 = r11871200 <= r11871210;
        double r11871212 = -r11871200;
        double r11871213 = r11871200 * r11871200;
        double r11871214 = 4;
        double r11871215 = r11871203 * r11871207;
        double r11871216 = r11871214 * r11871215;
        double r11871217 = r11871213 - r11871216;
        double r11871218 = sqrt(r11871217);
        double r11871219 = r11871212 + r11871218;
        double r11871220 = r11871207 + r11871207;
        double r11871221 = r11871219 / r11871220;
        double r11871222 = 72164228273.94012;
        bool r11871223 = r11871200 <= r11871222;
        double r11871224 = r11871212 - r11871218;
        double r11871225 = r11871216 / r11871224;
        double r11871226 = r11871225 / r11871220;
        double r11871227 = 2;
        double r11871228 = r11871203 / r11871227;
        double r11871229 = r11871228 * r11871214;
        double r11871230 = r11871203 + r11871203;
        double r11871231 = r11871207 / r11871200;
        double r11871232 = r11871230 * r11871231;
        double r11871233 = r11871200 + r11871200;
        double r11871234 = r11871232 - r11871233;
        double r11871235 = r11871229 / r11871234;
        double r11871236 = r11871223 ? r11871226 : r11871235;
        double r11871237 = r11871211 ? r11871221 : r11871236;
        double r11871238 = r11871202 ? r11871209 : r11871237;
        return r11871238;
}

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 r11871239, r11871240, r11871241, r11871242, r11871243, r11871244, r11871245, r11871246, r11871247, r11871248, r11871249, r11871250, r11871251, r11871252;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3472);
        mpfr_init(r11871239);
        mpfr_init(r11871240);
        mpfr_init(r11871241);
        mpfr_init_set_str(r11871242, "4", 10, MPFR_RNDN);
        mpfr_init(r11871243);
        mpfr_init(r11871244);
        mpfr_init(r11871245);
        mpfr_init(r11871246);
        mpfr_init(r11871247);
        mpfr_init(r11871248);
        mpfr_init(r11871249);
        mpfr_init_set_str(r11871250, "2", 10, MPFR_RNDN);
        mpfr_init(r11871251);
        mpfr_init(r11871252);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r11871239, b, MPFR_RNDN);
        mpfr_neg(r11871240, r11871239, MPFR_RNDN);
        mpfr_mul(r11871241, r11871239, r11871239, MPFR_RNDN);
        ;
        mpfr_set_d(r11871243, a, MPFR_RNDN);
        mpfr_set_d(r11871244, c, MPFR_RNDN);
        mpfr_mul(r11871245, r11871243, r11871244, MPFR_RNDN);
        mpfr_mul(r11871246, r11871242, r11871245, MPFR_RNDN);
        mpfr_sub(r11871247, r11871241, r11871246, MPFR_RNDN);
        mpfr_sqrt(r11871248, r11871247, MPFR_RNDN);
        mpfr_add(r11871249, r11871240, r11871248, MPFR_RNDN);
        ;
        mpfr_mul(r11871251, r11871250, r11871243, MPFR_RNDN);
        mpfr_div(r11871252, r11871249, r11871251, MPFR_RNDN);
        return mpfr_get_d(r11871252, MPFR_RNDN);
}

static mpfr_t r11871253, r11871254, r11871255, r11871256, r11871257, r11871258, r11871259, r11871260, r11871261, r11871262, r11871263, r11871264, r11871265, r11871266, r11871267, r11871268, r11871269, r11871270, r11871271, r11871272, r11871273, r11871274, r11871275, r11871276, r11871277, r11871278, r11871279, r11871280, r11871281, r11871282, r11871283, r11871284, r11871285, r11871286, r11871287, r11871288, r11871289, r11871290, r11871291;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3472);
        mpfr_init(r11871253);
        mpfr_init_set_str(r11871254, "-1.0997908275242063e+151", 10, MPFR_RNDN);
        mpfr_init(r11871255);
        mpfr_init(r11871256);
        mpfr_init(r11871257);
        mpfr_init_set_str(r11871258, "1", 10, MPFR_RNDN);
        mpfr_init(r11871259);
        mpfr_init(r11871260);
        mpfr_init(r11871261);
        mpfr_init(r11871262);
        mpfr_init_set_str(r11871263, "4.812686842305236e-167", 10, MPFR_RNDN);
        mpfr_init(r11871264);
        mpfr_init(r11871265);
        mpfr_init(r11871266);
        mpfr_init_set_str(r11871267, "4", 10, MPFR_RNDN);
        mpfr_init(r11871268);
        mpfr_init(r11871269);
        mpfr_init(r11871270);
        mpfr_init(r11871271);
        mpfr_init(r11871272);
        mpfr_init(r11871273);
        mpfr_init(r11871274);
        mpfr_init_set_str(r11871275, "72164228273.94012", 10, MPFR_RNDN);
        mpfr_init(r11871276);
        mpfr_init(r11871277);
        mpfr_init(r11871278);
        mpfr_init(r11871279);
        mpfr_init_set_str(r11871280, "2", 10, MPFR_RNDN);
        mpfr_init(r11871281);
        mpfr_init(r11871282);
        mpfr_init(r11871283);
        mpfr_init(r11871284);
        mpfr_init(r11871285);
        mpfr_init(r11871286);
        mpfr_init(r11871287);
        mpfr_init(r11871288);
        mpfr_init(r11871289);
        mpfr_init(r11871290);
        mpfr_init(r11871291);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r11871253, b, MPFR_RNDN);
        ;
        mpfr_set_si(r11871255, mpfr_cmp(r11871253, r11871254) <= 0, MPFR_RNDN);
        mpfr_set_d(r11871256, c, MPFR_RNDN);
        mpfr_div(r11871257, r11871256, r11871253, MPFR_RNDN);
        ;
        mpfr_div(r11871259, r11871257, r11871258, MPFR_RNDN);
        mpfr_set_d(r11871260, a, MPFR_RNDN);
        mpfr_div(r11871261, r11871253, r11871260, MPFR_RNDN);
        mpfr_sub(r11871262, r11871259, r11871261, MPFR_RNDN);
        ;
        mpfr_set_si(r11871264, mpfr_cmp(r11871253, r11871263) <= 0, MPFR_RNDN);
        mpfr_neg(r11871265, r11871253, MPFR_RNDN);
        mpfr_mul(r11871266, r11871253, r11871253, MPFR_RNDN);
        ;
        mpfr_mul(r11871268, r11871256, r11871260, MPFR_RNDN);
        mpfr_mul(r11871269, r11871267, r11871268, MPFR_RNDN);
        mpfr_sub(r11871270, r11871266, r11871269, MPFR_RNDN);
        mpfr_sqrt(r11871271, r11871270, MPFR_RNDN);
        mpfr_add(r11871272, r11871265, r11871271, MPFR_RNDN);
        mpfr_add(r11871273, r11871260, r11871260, MPFR_RNDN);
        mpfr_div(r11871274, r11871272, r11871273, MPFR_RNDN);
        ;
        mpfr_set_si(r11871276, mpfr_cmp(r11871253, r11871275) <= 0, MPFR_RNDN);
        mpfr_sub(r11871277, r11871265, r11871271, MPFR_RNDN);
        mpfr_div(r11871278, r11871269, r11871277, MPFR_RNDN);
        mpfr_div(r11871279, r11871278, r11871273, MPFR_RNDN);
        ;
        mpfr_div(r11871281, r11871256, r11871280, MPFR_RNDN);
        mpfr_mul(r11871282, r11871281, r11871267, MPFR_RNDN);
        mpfr_add(r11871283, r11871256, r11871256, MPFR_RNDN);
        mpfr_div(r11871284, r11871260, r11871253, MPFR_RNDN);
        mpfr_mul(r11871285, r11871283, r11871284, MPFR_RNDN);
        mpfr_add(r11871286, r11871253, r11871253, MPFR_RNDN);
        mpfr_sub(r11871287, r11871285, r11871286, MPFR_RNDN);
        mpfr_div(r11871288, r11871282, r11871287, MPFR_RNDN);
        if (mpfr_get_si(r11871276, MPFR_RNDN)) { mpfr_set(r11871289, r11871279, MPFR_RNDN); } else { mpfr_set(r11871289, r11871288, MPFR_RNDN); };
        if (mpfr_get_si(r11871264, MPFR_RNDN)) { mpfr_set(r11871290, r11871274, MPFR_RNDN); } else { mpfr_set(r11871290, r11871289, MPFR_RNDN); };
        if (mpfr_get_si(r11871255, MPFR_RNDN)) { mpfr_set(r11871291, r11871262, MPFR_RNDN); } else { mpfr_set(r11871291, r11871290, MPFR_RNDN); };
        return mpfr_get_d(r11871291, MPFR_RNDN);
}

static mpfr_t r11871292, r11871293, r11871294, r11871295, r11871296, r11871297, r11871298, r11871299, r11871300, r11871301, r11871302, r11871303, r11871304, r11871305, r11871306, r11871307, r11871308, r11871309, r11871310, r11871311, r11871312, r11871313, r11871314, r11871315, r11871316, r11871317, r11871318, r11871319, r11871320, r11871321, r11871322, r11871323, r11871324, r11871325, r11871326, r11871327, r11871328, r11871329, r11871330;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3472);
        mpfr_init(r11871292);
        mpfr_init_set_str(r11871293, "-1.0997908275242063e+151", 10, MPFR_RNDN);
        mpfr_init(r11871294);
        mpfr_init(r11871295);
        mpfr_init(r11871296);
        mpfr_init_set_str(r11871297, "1", 10, MPFR_RNDN);
        mpfr_init(r11871298);
        mpfr_init(r11871299);
        mpfr_init(r11871300);
        mpfr_init(r11871301);
        mpfr_init_set_str(r11871302, "4.812686842305236e-167", 10, MPFR_RNDN);
        mpfr_init(r11871303);
        mpfr_init(r11871304);
        mpfr_init(r11871305);
        mpfr_init_set_str(r11871306, "4", 10, MPFR_RNDN);
        mpfr_init(r11871307);
        mpfr_init(r11871308);
        mpfr_init(r11871309);
        mpfr_init(r11871310);
        mpfr_init(r11871311);
        mpfr_init(r11871312);
        mpfr_init(r11871313);
        mpfr_init_set_str(r11871314, "72164228273.94012", 10, MPFR_RNDN);
        mpfr_init(r11871315);
        mpfr_init(r11871316);
        mpfr_init(r11871317);
        mpfr_init(r11871318);
        mpfr_init_set_str(r11871319, "2", 10, MPFR_RNDN);
        mpfr_init(r11871320);
        mpfr_init(r11871321);
        mpfr_init(r11871322);
        mpfr_init(r11871323);
        mpfr_init(r11871324);
        mpfr_init(r11871325);
        mpfr_init(r11871326);
        mpfr_init(r11871327);
        mpfr_init(r11871328);
        mpfr_init(r11871329);
        mpfr_init(r11871330);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r11871292, b, MPFR_RNDN);
        ;
        mpfr_set_si(r11871294, mpfr_cmp(r11871292, r11871293) <= 0, MPFR_RNDN);
        mpfr_set_d(r11871295, c, MPFR_RNDN);
        mpfr_div(r11871296, r11871295, r11871292, MPFR_RNDN);
        ;
        mpfr_div(r11871298, r11871296, r11871297, MPFR_RNDN);
        mpfr_set_d(r11871299, a, MPFR_RNDN);
        mpfr_div(r11871300, r11871292, r11871299, MPFR_RNDN);
        mpfr_sub(r11871301, r11871298, r11871300, MPFR_RNDN);
        ;
        mpfr_set_si(r11871303, mpfr_cmp(r11871292, r11871302) <= 0, MPFR_RNDN);
        mpfr_neg(r11871304, r11871292, MPFR_RNDN);
        mpfr_mul(r11871305, r11871292, r11871292, MPFR_RNDN);
        ;
        mpfr_mul(r11871307, r11871295, r11871299, MPFR_RNDN);
        mpfr_mul(r11871308, r11871306, r11871307, MPFR_RNDN);
        mpfr_sub(r11871309, r11871305, r11871308, MPFR_RNDN);
        mpfr_sqrt(r11871310, r11871309, MPFR_RNDN);
        mpfr_add(r11871311, r11871304, r11871310, MPFR_RNDN);
        mpfr_add(r11871312, r11871299, r11871299, MPFR_RNDN);
        mpfr_div(r11871313, r11871311, r11871312, MPFR_RNDN);
        ;
        mpfr_set_si(r11871315, mpfr_cmp(r11871292, r11871314) <= 0, MPFR_RNDN);
        mpfr_sub(r11871316, r11871304, r11871310, MPFR_RNDN);
        mpfr_div(r11871317, r11871308, r11871316, MPFR_RNDN);
        mpfr_div(r11871318, r11871317, r11871312, MPFR_RNDN);
        ;
        mpfr_div(r11871320, r11871295, r11871319, MPFR_RNDN);
        mpfr_mul(r11871321, r11871320, r11871306, MPFR_RNDN);
        mpfr_add(r11871322, r11871295, r11871295, MPFR_RNDN);
        mpfr_div(r11871323, r11871299, r11871292, MPFR_RNDN);
        mpfr_mul(r11871324, r11871322, r11871323, MPFR_RNDN);
        mpfr_add(r11871325, r11871292, r11871292, MPFR_RNDN);
        mpfr_sub(r11871326, r11871324, r11871325, MPFR_RNDN);
        mpfr_div(r11871327, r11871321, r11871326, MPFR_RNDN);
        if (mpfr_get_si(r11871315, MPFR_RNDN)) { mpfr_set(r11871328, r11871318, MPFR_RNDN); } else { mpfr_set(r11871328, r11871327, MPFR_RNDN); };
        if (mpfr_get_si(r11871303, MPFR_RNDN)) { mpfr_set(r11871329, r11871313, MPFR_RNDN); } else { mpfr_set(r11871329, r11871328, MPFR_RNDN); };
        if (mpfr_get_si(r11871294, MPFR_RNDN)) { mpfr_set(r11871330, r11871301, MPFR_RNDN); } else { mpfr_set(r11871330, r11871329, MPFR_RNDN); };
        return mpfr_get_d(r11871330, MPFR_RNDN);
}

