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

char *name = "The quadratic formula (r1)";

double f_if(float a, float b, float c) {
        float r26059 = b;
        float r26060 = -r26059;
        float r26061 = r26059 * r26059;
        float r26062 = 4;
        float r26063 = a;
        float r26064 = r26062 * r26063;
        float r26065 = c;
        float r26066 = r26064 * r26065;
        float r26067 = r26061 - r26066;
        float r26068 = sqrt(r26067);
        float r26069 = r26060 + r26068;
        float r26070 = 2;
        float r26071 = r26070 * r26063;
        float r26072 = r26069 / r26071;
        return r26072;
}

double f_id(double a, double b, double c) {
        double r26073 = b;
        double r26074 = -r26073;
        double r26075 = r26073 * r26073;
        double r26076 = 4;
        double r26077 = a;
        double r26078 = r26076 * r26077;
        double r26079 = c;
        double r26080 = r26078 * r26079;
        double r26081 = r26075 - r26080;
        double r26082 = sqrt(r26081);
        double r26083 = r26074 + r26082;
        double r26084 = 2;
        double r26085 = r26084 * r26077;
        double r26086 = r26083 / r26085;
        return r26086;
}


double f_of(float a, float b, float c) {
        float r26087 = b;
        float r26088 = -1.1387810658296382e+116;
        bool r26089 = r26087 <= r26088;
        float r26090 = a;
        float r26091 = r26087 / r26090;
        float r26092 = -r26091;
        float r26093 = 3.69515471720321e-186;
        bool r26094 = r26087 <= r26093;
        float r26095 = -r26087;
        float r26096 = r26087 * r26087;
        float r26097 = c;
        float r26098 = 4;
        float r26099 = r26098 * r26090;
        float r26100 = r26097 * r26099;
        float r26101 = r26096 - r26100;
        float r26102 = sqrt(r26101);
        float r26103 = r26095 + r26102;
        float r26104 = 2;
        float r26105 = r26104 * r26090;
        float r26106 = r26103 / r26105;
        float r26107 = 1.677899329140992e+43;
        bool r26108 = r26087 <= r26107;
        float r26109 = r26095 - r26102;
        float r26110 = cbrt(r26109);
        float r26111 = r26110 * r26110;
        float r26112 = r26097 / r26111;
        float r26113 = r26112 / r26104;
        float r26114 = r26098 / r26110;
        float r26115 = r26113 * r26114;
        float r26116 = -r26097;
        float r26117 = r26116 / r26087;
        float r26118 = r26108 ? r26115 : r26117;
        float r26119 = r26094 ? r26106 : r26118;
        float r26120 = r26089 ? r26092 : r26119;
        return r26120;
}

double f_od(double a, double b, double c) {
        double r26121 = b;
        double r26122 = -1.1387810658296382e+116;
        bool r26123 = r26121 <= r26122;
        double r26124 = a;
        double r26125 = r26121 / r26124;
        double r26126 = -r26125;
        double r26127 = 3.69515471720321e-186;
        bool r26128 = r26121 <= r26127;
        double r26129 = -r26121;
        double r26130 = r26121 * r26121;
        double r26131 = c;
        double r26132 = 4;
        double r26133 = r26132 * r26124;
        double r26134 = r26131 * r26133;
        double r26135 = r26130 - r26134;
        double r26136 = sqrt(r26135);
        double r26137 = r26129 + r26136;
        double r26138 = 2;
        double r26139 = r26138 * r26124;
        double r26140 = r26137 / r26139;
        double r26141 = 1.677899329140992e+43;
        bool r26142 = r26121 <= r26141;
        double r26143 = r26129 - r26136;
        double r26144 = cbrt(r26143);
        double r26145 = r26144 * r26144;
        double r26146 = r26131 / r26145;
        double r26147 = r26146 / r26138;
        double r26148 = r26132 / r26144;
        double r26149 = r26147 * r26148;
        double r26150 = -r26131;
        double r26151 = r26150 / r26121;
        double r26152 = r26142 ? r26149 : r26151;
        double r26153 = r26128 ? r26140 : r26152;
        double r26154 = r26123 ? r26126 : r26153;
        return r26154;
}

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 r26155, r26156, r26157, r26158, r26159, r26160, r26161, r26162, r26163, r26164, r26165, r26166, r26167, r26168;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26155);
        mpfr_init(r26156);
        mpfr_init(r26157);
        mpfr_init_set_str(r26158, "4", 10, MPFR_RNDN);
        mpfr_init(r26159);
        mpfr_init(r26160);
        mpfr_init(r26161);
        mpfr_init(r26162);
        mpfr_init(r26163);
        mpfr_init(r26164);
        mpfr_init(r26165);
        mpfr_init_set_str(r26166, "2", 10, MPFR_RNDN);
        mpfr_init(r26167);
        mpfr_init(r26168);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r26155, b, MPFR_RNDN);
        mpfr_neg(r26156, r26155, MPFR_RNDN);
        mpfr_mul(r26157, r26155, r26155, MPFR_RNDN);
        ;
        mpfr_set_d(r26159, a, MPFR_RNDN);
        mpfr_mul(r26160, r26158, r26159, MPFR_RNDN);
        mpfr_set_d(r26161, c, MPFR_RNDN);
        mpfr_mul(r26162, r26160, r26161, MPFR_RNDN);
        mpfr_sub(r26163, r26157, r26162, MPFR_RNDN);
        mpfr_sqrt(r26164, r26163, MPFR_RNDN);
        mpfr_add(r26165, r26156, r26164, MPFR_RNDN);
        ;
        mpfr_mul(r26167, r26166, r26159, MPFR_RNDN);
        mpfr_div(r26168, r26165, r26167, MPFR_RNDN);
        return mpfr_get_d(r26168, MPFR_RNDN);
}

static mpfr_t r26169, 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, r26202;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26169);
        mpfr_init_set_str(r26170, "-1.1387810658296382e+116", 10, MPFR_RNDN);
        mpfr_init(r26171);
        mpfr_init(r26172);
        mpfr_init(r26173);
        mpfr_init(r26174);
        mpfr_init_set_str(r26175, "3.69515471720321e-186", 10, MPFR_RNDN);
        mpfr_init(r26176);
        mpfr_init(r26177);
        mpfr_init(r26178);
        mpfr_init(r26179);
        mpfr_init_set_str(r26180, "4", 10, MPFR_RNDN);
        mpfr_init(r26181);
        mpfr_init(r26182);
        mpfr_init(r26183);
        mpfr_init(r26184);
        mpfr_init(r26185);
        mpfr_init_set_str(r26186, "2", 10, MPFR_RNDN);
        mpfr_init(r26187);
        mpfr_init(r26188);
        mpfr_init_set_str(r26189, "1.677899329140992e+43", 10, MPFR_RNDN);
        mpfr_init(r26190);
        mpfr_init(r26191);
        mpfr_init(r26192);
        mpfr_init(r26193);
        mpfr_init(r26194);
        mpfr_init(r26195);
        mpfr_init(r26196);
        mpfr_init(r26197);
        mpfr_init(r26198);
        mpfr_init(r26199);
        mpfr_init(r26200);
        mpfr_init(r26201);
        mpfr_init(r26202);
}

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

static mpfr_t r26203, r26204, r26205, r26206, r26207, r26208, r26209, r26210, r26211, r26212, r26213, r26214, r26215, r26216, r26217, r26218, r26219, r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r26203);
        mpfr_init_set_str(r26204, "-1.1387810658296382e+116", 10, MPFR_RNDN);
        mpfr_init(r26205);
        mpfr_init(r26206);
        mpfr_init(r26207);
        mpfr_init(r26208);
        mpfr_init_set_str(r26209, "3.69515471720321e-186", 10, MPFR_RNDN);
        mpfr_init(r26210);
        mpfr_init(r26211);
        mpfr_init(r26212);
        mpfr_init(r26213);
        mpfr_init_set_str(r26214, "4", 10, MPFR_RNDN);
        mpfr_init(r26215);
        mpfr_init(r26216);
        mpfr_init(r26217);
        mpfr_init(r26218);
        mpfr_init(r26219);
        mpfr_init_set_str(r26220, "2", 10, MPFR_RNDN);
        mpfr_init(r26221);
        mpfr_init(r26222);
        mpfr_init_set_str(r26223, "1.677899329140992e+43", 10, MPFR_RNDN);
        mpfr_init(r26224);
        mpfr_init(r26225);
        mpfr_init(r26226);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init(r26236);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r26203, b, MPFR_RNDN);
        ;
        mpfr_set_si(r26205, mpfr_cmp(r26203, r26204) <= 0, MPFR_RNDN);
        mpfr_set_d(r26206, a, MPFR_RNDN);
        mpfr_div(r26207, r26203, r26206, MPFR_RNDN);
        mpfr_neg(r26208, r26207, MPFR_RNDN);
        ;
        mpfr_set_si(r26210, mpfr_cmp(r26203, r26209) <= 0, MPFR_RNDN);
        mpfr_neg(r26211, r26203, MPFR_RNDN);
        mpfr_mul(r26212, r26203, r26203, MPFR_RNDN);
        mpfr_set_d(r26213, c, MPFR_RNDN);
        ;
        mpfr_mul(r26215, r26214, r26206, MPFR_RNDN);
        mpfr_mul(r26216, r26213, r26215, MPFR_RNDN);
        mpfr_sub(r26217, r26212, r26216, MPFR_RNDN);
        mpfr_sqrt(r26218, r26217, MPFR_RNDN);
        mpfr_add(r26219, r26211, r26218, MPFR_RNDN);
        ;
        mpfr_mul(r26221, r26220, r26206, MPFR_RNDN);
        mpfr_div(r26222, r26219, r26221, MPFR_RNDN);
        ;
        mpfr_set_si(r26224, mpfr_cmp(r26203, r26223) <= 0, MPFR_RNDN);
        mpfr_sub(r26225, r26211, r26218, MPFR_RNDN);
        mpfr_cbrt(r26226, r26225, MPFR_RNDN);
        mpfr_mul(r26227, r26226, r26226, MPFR_RNDN);
        mpfr_div(r26228, r26213, r26227, MPFR_RNDN);
        mpfr_div(r26229, r26228, r26220, MPFR_RNDN);
        mpfr_div(r26230, r26214, r26226, MPFR_RNDN);
        mpfr_mul(r26231, r26229, r26230, MPFR_RNDN);
        mpfr_neg(r26232, r26213, MPFR_RNDN);
        mpfr_div(r26233, r26232, r26203, MPFR_RNDN);
        if (mpfr_get_si(r26224, MPFR_RNDN)) { mpfr_set(r26234, r26231, MPFR_RNDN); } else { mpfr_set(r26234, r26233, MPFR_RNDN); };
        if (mpfr_get_si(r26210, MPFR_RNDN)) { mpfr_set(r26235, r26222, MPFR_RNDN); } else { mpfr_set(r26235, r26234, MPFR_RNDN); };
        if (mpfr_get_si(r26205, MPFR_RNDN)) { mpfr_set(r26236, r26208, MPFR_RNDN); } else { mpfr_set(r26236, r26235, MPFR_RNDN); };
        return mpfr_get_d(r26236, MPFR_RNDN);
}

