#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 r12075 = b;
        float r12076 = -r12075;
        float r12077 = r12075 * r12075;
        float r12078 = 4;
        float r12079 = a;
        float r12080 = r12078 * r12079;
        float r12081 = c;
        float r12082 = r12080 * r12081;
        float r12083 = r12077 - r12082;
        float r12084 = sqrt(r12083);
        float r12085 = r12076 + r12084;
        float r12086 = 2;
        float r12087 = r12086 * r12079;
        float r12088 = r12085 / r12087;
        return r12088;
}

double f_id(double a, double b, double c) {
        double r12089 = b;
        double r12090 = -r12089;
        double r12091 = r12089 * r12089;
        double r12092 = 4;
        double r12093 = a;
        double r12094 = r12092 * r12093;
        double r12095 = c;
        double r12096 = r12094 * r12095;
        double r12097 = r12091 - r12096;
        double r12098 = sqrt(r12097);
        double r12099 = r12090 + r12098;
        double r12100 = 2;
        double r12101 = r12100 * r12093;
        double r12102 = r12099 / r12101;
        return r12102;
}


double f_of(float a, float b, float c) {
        float r12103 = -2;
        float r12104 = 2;
        float r12105 = r12103 / r12104;
        float r12106 = b;
        float r12107 = r12105 / r12106;
        float r12108 = -7.223412898917059e+34;
        bool r12109 = r12107 <= r12108;
        float r12110 = r12106 * r12106;
        float r12111 = a;
        float r12112 = c;
        float r12113 = r12111 * r12112;
        float r12114 = 4;
        float r12115 = r12113 * r12114;
        float r12116 = r12110 - r12115;
        float r12117 = sqrt(r12116);
        float r12118 = r12117 - r12106;
        float r12119 = r12104 * r12111;
        float r12120 = r12118 / r12119;
        float r12121 = 6.98549974141376e-310;
        bool r12122 = r12107 <= r12121;
        float r12123 = -r12112;
        float r12124 = r12123 / r12106;
        float r12125 = 2.689539947645652e-90;
        bool r12126 = r12107 <= r12125;
        float r12127 = r12106 / r12111;
        float r12128 = -r12127;
        float r12129 = sqrt(r12118);
        float r12130 = r12129 / r12111;
        float r12131 = r12129 / r12104;
        float r12132 = r12130 * r12131;
        float r12133 = r12126 ? r12128 : r12132;
        float r12134 = r12122 ? r12124 : r12133;
        float r12135 = r12109 ? r12120 : r12134;
        return r12135;
}

double f_od(double a, double b, double c) {
        double r12136 = -2;
        double r12137 = 2;
        double r12138 = r12136 / r12137;
        double r12139 = b;
        double r12140 = r12138 / r12139;
        double r12141 = -7.223412898917059e+34;
        bool r12142 = r12140 <= r12141;
        double r12143 = r12139 * r12139;
        double r12144 = a;
        double r12145 = c;
        double r12146 = r12144 * r12145;
        double r12147 = 4;
        double r12148 = r12146 * r12147;
        double r12149 = r12143 - r12148;
        double r12150 = sqrt(r12149);
        double r12151 = r12150 - r12139;
        double r12152 = r12137 * r12144;
        double r12153 = r12151 / r12152;
        double r12154 = 6.98549974141376e-310;
        bool r12155 = r12140 <= r12154;
        double r12156 = -r12145;
        double r12157 = r12156 / r12139;
        double r12158 = 2.689539947645652e-90;
        bool r12159 = r12140 <= r12158;
        double r12160 = r12139 / r12144;
        double r12161 = -r12160;
        double r12162 = sqrt(r12151);
        double r12163 = r12162 / r12144;
        double r12164 = r12162 / r12137;
        double r12165 = r12163 * r12164;
        double r12166 = r12159 ? r12161 : r12165;
        double r12167 = r12155 ? r12157 : r12166;
        double r12168 = r12142 ? r12153 : r12167;
        return r12168;
}

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 r12169, r12170, r12171, r12172, r12173, r12174, r12175, r12176, r12177, r12178, r12179, r12180, r12181, r12182;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r12169);
        mpfr_init(r12170);
        mpfr_init(r12171);
        mpfr_init_set_str(r12172, "4", 10, MPFR_RNDN);
        mpfr_init(r12173);
        mpfr_init(r12174);
        mpfr_init(r12175);
        mpfr_init(r12176);
        mpfr_init(r12177);
        mpfr_init(r12178);
        mpfr_init(r12179);
        mpfr_init_set_str(r12180, "2", 10, MPFR_RNDN);
        mpfr_init(r12181);
        mpfr_init(r12182);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r12169, b, MPFR_RNDN);
        mpfr_neg(r12170, r12169, MPFR_RNDN);
        mpfr_mul(r12171, r12169, r12169, MPFR_RNDN);
        ;
        mpfr_set_d(r12173, a, MPFR_RNDN);
        mpfr_mul(r12174, r12172, r12173, MPFR_RNDN);
        mpfr_set_d(r12175, c, MPFR_RNDN);
        mpfr_mul(r12176, r12174, r12175, MPFR_RNDN);
        mpfr_sub(r12177, r12171, r12176, MPFR_RNDN);
        mpfr_sqrt(r12178, r12177, MPFR_RNDN);
        mpfr_add(r12179, r12170, r12178, MPFR_RNDN);
        ;
        mpfr_mul(r12181, r12180, r12173, MPFR_RNDN);
        mpfr_div(r12182, r12179, r12181, MPFR_RNDN);
        return mpfr_get_d(r12182, MPFR_RNDN);
}

static mpfr_t r12183, r12184, r12185, r12186, r12187, r12188, r12189, r12190, r12191, r12192, r12193, r12194, r12195, r12196, r12197, r12198, r12199, r12200, r12201, r12202, r12203, r12204, r12205, r12206, r12207, r12208, r12209, r12210, r12211, r12212, r12213, r12214, r12215;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r12183, "-2", 10, MPFR_RNDN);
        mpfr_init_set_str(r12184, "2", 10, MPFR_RNDN);
        mpfr_init(r12185);
        mpfr_init(r12186);
        mpfr_init(r12187);
        mpfr_init_set_str(r12188, "-7.223412898917059e+34", 10, MPFR_RNDN);
        mpfr_init(r12189);
        mpfr_init(r12190);
        mpfr_init(r12191);
        mpfr_init(r12192);
        mpfr_init(r12193);
        mpfr_init_set_str(r12194, "4", 10, MPFR_RNDN);
        mpfr_init(r12195);
        mpfr_init(r12196);
        mpfr_init(r12197);
        mpfr_init(r12198);
        mpfr_init(r12199);
        mpfr_init(r12200);
        mpfr_init_set_str(r12201, "6.98549974141376e-310", 10, MPFR_RNDN);
        mpfr_init(r12202);
        mpfr_init(r12203);
        mpfr_init(r12204);
        mpfr_init_set_str(r12205, "2.689539947645652e-90", 10, MPFR_RNDN);
        mpfr_init(r12206);
        mpfr_init(r12207);
        mpfr_init(r12208);
        mpfr_init(r12209);
        mpfr_init(r12210);
        mpfr_init(r12211);
        mpfr_init(r12212);
        mpfr_init(r12213);
        mpfr_init(r12214);
        mpfr_init(r12215);
}

double f_fm(double a, double b, double c) {
        ;
        ;
        mpfr_div(r12185, r12183, r12184, MPFR_RNDN);
        mpfr_set_d(r12186, b, MPFR_RNDN);
        mpfr_div(r12187, r12185, r12186, MPFR_RNDN);
        ;
        mpfr_set_si(r12189, mpfr_cmp(r12187, r12188) <= 0, MPFR_RNDN);
        mpfr_mul(r12190, r12186, r12186, MPFR_RNDN);
        mpfr_set_d(r12191, a, MPFR_RNDN);
        mpfr_set_d(r12192, c, MPFR_RNDN);
        mpfr_mul(r12193, r12191, r12192, MPFR_RNDN);
        ;
        mpfr_mul(r12195, r12193, r12194, MPFR_RNDN);
        mpfr_sub(r12196, r12190, r12195, MPFR_RNDN);
        mpfr_sqrt(r12197, r12196, MPFR_RNDN);
        mpfr_sub(r12198, r12197, r12186, MPFR_RNDN);
        mpfr_mul(r12199, r12184, r12191, MPFR_RNDN);
        mpfr_div(r12200, r12198, r12199, MPFR_RNDN);
        ;
        mpfr_set_si(r12202, mpfr_cmp(r12187, r12201) <= 0, MPFR_RNDN);
        mpfr_neg(r12203, r12192, MPFR_RNDN);
        mpfr_div(r12204, r12203, r12186, MPFR_RNDN);
        ;
        mpfr_set_si(r12206, mpfr_cmp(r12187, r12205) <= 0, MPFR_RNDN);
        mpfr_div(r12207, r12186, r12191, MPFR_RNDN);
        mpfr_neg(r12208, r12207, MPFR_RNDN);
        mpfr_sqrt(r12209, r12198, MPFR_RNDN);
        mpfr_div(r12210, r12209, r12191, MPFR_RNDN);
        mpfr_div(r12211, r12209, r12184, MPFR_RNDN);
        mpfr_mul(r12212, r12210, r12211, MPFR_RNDN);
        if (mpfr_get_si(r12206, MPFR_RNDN)) { mpfr_set(r12213, r12208, MPFR_RNDN); } else { mpfr_set(r12213, r12212, MPFR_RNDN); };
        if (mpfr_get_si(r12202, MPFR_RNDN)) { mpfr_set(r12214, r12204, MPFR_RNDN); } else { mpfr_set(r12214, r12213, MPFR_RNDN); };
        if (mpfr_get_si(r12189, MPFR_RNDN)) { mpfr_set(r12215, r12200, MPFR_RNDN); } else { mpfr_set(r12215, r12214, MPFR_RNDN); };
        return mpfr_get_d(r12215, MPFR_RNDN);
}

static mpfr_t r12216, r12217, r12218, r12219, r12220, r12221, r12222, r12223, r12224, r12225, r12226, r12227, r12228, r12229, r12230, r12231, r12232, r12233, r12234, r12235, r12236, r12237, r12238, r12239, r12240, r12241, r12242, r12243, r12244, r12245, r12246, r12247, r12248;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init_set_str(r12216, "-2", 10, MPFR_RNDN);
        mpfr_init_set_str(r12217, "2", 10, MPFR_RNDN);
        mpfr_init(r12218);
        mpfr_init(r12219);
        mpfr_init(r12220);
        mpfr_init_set_str(r12221, "-7.223412898917059e+34", 10, MPFR_RNDN);
        mpfr_init(r12222);
        mpfr_init(r12223);
        mpfr_init(r12224);
        mpfr_init(r12225);
        mpfr_init(r12226);
        mpfr_init_set_str(r12227, "4", 10, MPFR_RNDN);
        mpfr_init(r12228);
        mpfr_init(r12229);
        mpfr_init(r12230);
        mpfr_init(r12231);
        mpfr_init(r12232);
        mpfr_init(r12233);
        mpfr_init_set_str(r12234, "6.98549974141376e-310", 10, MPFR_RNDN);
        mpfr_init(r12235);
        mpfr_init(r12236);
        mpfr_init(r12237);
        mpfr_init_set_str(r12238, "2.689539947645652e-90", 10, MPFR_RNDN);
        mpfr_init(r12239);
        mpfr_init(r12240);
        mpfr_init(r12241);
        mpfr_init(r12242);
        mpfr_init(r12243);
        mpfr_init(r12244);
        mpfr_init(r12245);
        mpfr_init(r12246);
        mpfr_init(r12247);
        mpfr_init(r12248);
}

double f_dm(double a, double b, double c) {
        ;
        ;
        mpfr_div(r12218, r12216, r12217, MPFR_RNDN);
        mpfr_set_d(r12219, b, MPFR_RNDN);
        mpfr_div(r12220, r12218, r12219, MPFR_RNDN);
        ;
        mpfr_set_si(r12222, mpfr_cmp(r12220, r12221) <= 0, MPFR_RNDN);
        mpfr_mul(r12223, r12219, r12219, MPFR_RNDN);
        mpfr_set_d(r12224, a, MPFR_RNDN);
        mpfr_set_d(r12225, c, MPFR_RNDN);
        mpfr_mul(r12226, r12224, r12225, MPFR_RNDN);
        ;
        mpfr_mul(r12228, r12226, r12227, MPFR_RNDN);
        mpfr_sub(r12229, r12223, r12228, MPFR_RNDN);
        mpfr_sqrt(r12230, r12229, MPFR_RNDN);
        mpfr_sub(r12231, r12230, r12219, MPFR_RNDN);
        mpfr_mul(r12232, r12217, r12224, MPFR_RNDN);
        mpfr_div(r12233, r12231, r12232, MPFR_RNDN);
        ;
        mpfr_set_si(r12235, mpfr_cmp(r12220, r12234) <= 0, MPFR_RNDN);
        mpfr_neg(r12236, r12225, MPFR_RNDN);
        mpfr_div(r12237, r12236, r12219, MPFR_RNDN);
        ;
        mpfr_set_si(r12239, mpfr_cmp(r12220, r12238) <= 0, MPFR_RNDN);
        mpfr_div(r12240, r12219, r12224, MPFR_RNDN);
        mpfr_neg(r12241, r12240, MPFR_RNDN);
        mpfr_sqrt(r12242, r12231, MPFR_RNDN);
        mpfr_div(r12243, r12242, r12224, MPFR_RNDN);
        mpfr_div(r12244, r12242, r12217, MPFR_RNDN);
        mpfr_mul(r12245, r12243, r12244, MPFR_RNDN);
        if (mpfr_get_si(r12239, MPFR_RNDN)) { mpfr_set(r12246, r12241, MPFR_RNDN); } else { mpfr_set(r12246, r12245, MPFR_RNDN); };
        if (mpfr_get_si(r12235, MPFR_RNDN)) { mpfr_set(r12247, r12237, MPFR_RNDN); } else { mpfr_set(r12247, r12246, MPFR_RNDN); };
        if (mpfr_get_si(r12222, MPFR_RNDN)) { mpfr_set(r12248, r12233, MPFR_RNDN); } else { mpfr_set(r12248, r12247, MPFR_RNDN); };
        return mpfr_get_d(r12248, MPFR_RNDN);
}

