#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 r6972 = b;
        float r6973 = -r6972;
        float r6974 = r6972 * r6972;
        float r6975 = 4;
        float r6976 = a;
        float r6977 = r6975 * r6976;
        float r6978 = c;
        float r6979 = r6977 * r6978;
        float r6980 = r6974 - r6979;
        float r6981 = sqrt(r6980);
        float r6982 = r6973 + r6981;
        float r6983 = 2;
        float r6984 = r6983 * r6976;
        float r6985 = r6982 / r6984;
        return r6985;
}

double f_id(double a, double b, double c) {
        double r6986 = b;
        double r6987 = -r6986;
        double r6988 = r6986 * r6986;
        double r6989 = 4;
        double r6990 = a;
        double r6991 = r6989 * r6990;
        double r6992 = c;
        double r6993 = r6991 * r6992;
        double r6994 = r6988 - r6993;
        double r6995 = sqrt(r6994);
        double r6996 = r6987 + r6995;
        double r6997 = 2;
        double r6998 = r6997 * r6990;
        double r6999 = r6996 / r6998;
        return r6999;
}


double f_of(float a, float b, float c) {
        float r7000 = b;
        float r7001 = -r7000;
        float r7002 = -2.1241737424767768e+144;
        bool r7003 = r7001 <= r7002;
        float r7004 = c;
        float r7005 = r7004 / r7000;
        float r7006 = -r7005;
        float r7007 = -2.178398895180725e-107;
        bool r7008 = r7001 <= r7007;
        float r7009 = a;
        float r7010 = 4;
        float r7011 = r7009 * r7010;
        float r7012 = r7011 * r7004;
        float r7013 = r7000 * r7000;
        float r7014 = r7013 - r7012;
        float r7015 = sqrt(r7014);
        float r7016 = r7001 - r7015;
        float r7017 = r7012 / r7016;
        float r7018 = 2;
        float r7019 = r7009 * r7018;
        float r7020 = r7017 / r7019;
        float r7021 = 5.282374269753992e+37;
        bool r7022 = r7001 <= r7021;
        float r7023 = r7001 + r7015;
        float r7024 = r7023 / r7019;
        float r7025 = 1;
        float r7026 = r7005 / r7025;
        float r7027 = r7000 + r7000;
        float r7028 = r7027 / r7019;
        float r7029 = r7026 - r7028;
        float r7030 = r7022 ? r7024 : r7029;
        float r7031 = r7008 ? r7020 : r7030;
        float r7032 = r7003 ? r7006 : r7031;
        return r7032;
}

double f_od(double a, double b, double c) {
        double r7033 = b;
        double r7034 = -r7033;
        double r7035 = -2.1241737424767768e+144;
        bool r7036 = r7034 <= r7035;
        double r7037 = c;
        double r7038 = r7037 / r7033;
        double r7039 = -r7038;
        double r7040 = -2.178398895180725e-107;
        bool r7041 = r7034 <= r7040;
        double r7042 = a;
        double r7043 = 4;
        double r7044 = r7042 * r7043;
        double r7045 = r7044 * r7037;
        double r7046 = r7033 * r7033;
        double r7047 = r7046 - r7045;
        double r7048 = sqrt(r7047);
        double r7049 = r7034 - r7048;
        double r7050 = r7045 / r7049;
        double r7051 = 2;
        double r7052 = r7042 * r7051;
        double r7053 = r7050 / r7052;
        double r7054 = 5.282374269753992e+37;
        bool r7055 = r7034 <= r7054;
        double r7056 = r7034 + r7048;
        double r7057 = r7056 / r7052;
        double r7058 = 1;
        double r7059 = r7038 / r7058;
        double r7060 = r7033 + r7033;
        double r7061 = r7060 / r7052;
        double r7062 = r7059 - r7061;
        double r7063 = r7055 ? r7057 : r7062;
        double r7064 = r7041 ? r7053 : r7063;
        double r7065 = r7036 ? r7039 : r7064;
        return r7065;
}

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 r7066, r7067, r7068, r7069, r7070, r7071, r7072, r7073, r7074, r7075, r7076, r7077, r7078, r7079;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r7066);
        mpfr_init(r7067);
        mpfr_init(r7068);
        mpfr_init_set_str(r7069, "4", 10, MPFR_RNDN);
        mpfr_init(r7070);
        mpfr_init(r7071);
        mpfr_init(r7072);
        mpfr_init(r7073);
        mpfr_init(r7074);
        mpfr_init(r7075);
        mpfr_init(r7076);
        mpfr_init_set_str(r7077, "2", 10, MPFR_RNDN);
        mpfr_init(r7078);
        mpfr_init(r7079);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r7066, b, MPFR_RNDN);
        mpfr_neg(r7067, r7066, MPFR_RNDN);
        mpfr_mul(r7068, r7066, r7066, MPFR_RNDN);
        ;
        mpfr_set_d(r7070, a, MPFR_RNDN);
        mpfr_mul(r7071, r7069, r7070, MPFR_RNDN);
        mpfr_set_d(r7072, c, MPFR_RNDN);
        mpfr_mul(r7073, r7071, r7072, MPFR_RNDN);
        mpfr_sub(r7074, r7068, r7073, MPFR_RNDN);
        mpfr_sqrt(r7075, r7074, MPFR_RNDN);
        mpfr_add(r7076, r7067, r7075, MPFR_RNDN);
        ;
        mpfr_mul(r7078, r7077, r7070, MPFR_RNDN);
        mpfr_div(r7079, r7076, r7078, MPFR_RNDN);
        return mpfr_get_d(r7079, MPFR_RNDN);
}

static mpfr_t r7080, r7081, r7082, r7083, r7084, r7085, r7086, r7087, r7088, r7089, r7090, r7091, r7092, r7093, r7094, r7095, r7096, r7097, r7098, r7099, r7100, r7101, r7102, r7103, r7104, r7105, r7106, r7107, r7108, r7109, r7110, r7111, r7112;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r7080);
        mpfr_init(r7081);
        mpfr_init_set_str(r7082, "-2.1241737424767768e+144", 10, MPFR_RNDN);
        mpfr_init(r7083);
        mpfr_init(r7084);
        mpfr_init(r7085);
        mpfr_init(r7086);
        mpfr_init_set_str(r7087, "-2.178398895180725e-107", 10, MPFR_RNDN);
        mpfr_init(r7088);
        mpfr_init(r7089);
        mpfr_init_set_str(r7090, "4", 10, MPFR_RNDN);
        mpfr_init(r7091);
        mpfr_init(r7092);
        mpfr_init(r7093);
        mpfr_init(r7094);
        mpfr_init(r7095);
        mpfr_init(r7096);
        mpfr_init(r7097);
        mpfr_init_set_str(r7098, "2", 10, MPFR_RNDN);
        mpfr_init(r7099);
        mpfr_init(r7100);
        mpfr_init_set_str(r7101, "5.282374269753992e+37", 10, MPFR_RNDN);
        mpfr_init(r7102);
        mpfr_init(r7103);
        mpfr_init(r7104);
        mpfr_init_set_str(r7105, "1", 10, MPFR_RNDN);
        mpfr_init(r7106);
        mpfr_init(r7107);
        mpfr_init(r7108);
        mpfr_init(r7109);
        mpfr_init(r7110);
        mpfr_init(r7111);
        mpfr_init(r7112);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r7080, b, MPFR_RNDN);
        mpfr_neg(r7081, r7080, MPFR_RNDN);
        ;
        mpfr_set_si(r7083, mpfr_cmp(r7081, r7082) <= 0, MPFR_RNDN);
        mpfr_set_d(r7084, c, MPFR_RNDN);
        mpfr_div(r7085, r7084, r7080, MPFR_RNDN);
        mpfr_neg(r7086, r7085, MPFR_RNDN);
        ;
        mpfr_set_si(r7088, mpfr_cmp(r7081, r7087) <= 0, MPFR_RNDN);
        mpfr_set_d(r7089, a, MPFR_RNDN);
        ;
        mpfr_mul(r7091, r7089, r7090, MPFR_RNDN);
        mpfr_mul(r7092, r7091, r7084, MPFR_RNDN);
        mpfr_mul(r7093, r7080, r7080, MPFR_RNDN);
        mpfr_sub(r7094, r7093, r7092, MPFR_RNDN);
        mpfr_sqrt(r7095, r7094, MPFR_RNDN);
        mpfr_sub(r7096, r7081, r7095, MPFR_RNDN);
        mpfr_div(r7097, r7092, r7096, MPFR_RNDN);
        ;
        mpfr_mul(r7099, r7089, r7098, MPFR_RNDN);
        mpfr_div(r7100, r7097, r7099, MPFR_RNDN);
        ;
        mpfr_set_si(r7102, mpfr_cmp(r7081, r7101) <= 0, MPFR_RNDN);
        mpfr_add(r7103, r7081, r7095, MPFR_RNDN);
        mpfr_div(r7104, r7103, r7099, MPFR_RNDN);
        ;
        mpfr_div(r7106, r7085, r7105, MPFR_RNDN);
        mpfr_add(r7107, r7080, r7080, MPFR_RNDN);
        mpfr_div(r7108, r7107, r7099, MPFR_RNDN);
        mpfr_sub(r7109, r7106, r7108, MPFR_RNDN);
        if (mpfr_get_si(r7102, MPFR_RNDN)) { mpfr_set(r7110, r7104, MPFR_RNDN); } else { mpfr_set(r7110, r7109, MPFR_RNDN); };
        if (mpfr_get_si(r7088, MPFR_RNDN)) { mpfr_set(r7111, r7100, MPFR_RNDN); } else { mpfr_set(r7111, r7110, MPFR_RNDN); };
        if (mpfr_get_si(r7083, MPFR_RNDN)) { mpfr_set(r7112, r7086, MPFR_RNDN); } else { mpfr_set(r7112, r7111, MPFR_RNDN); };
        return mpfr_get_d(r7112, MPFR_RNDN);
}

static mpfr_t r7113, r7114, r7115, r7116, r7117, r7118, r7119, r7120, r7121, r7122, r7123, r7124, r7125, r7126, r7127, r7128, r7129, r7130, r7131, r7132, r7133, r7134, r7135, r7136, r7137, r7138, r7139, r7140, r7141, r7142, r7143, r7144, r7145;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r7113);
        mpfr_init(r7114);
        mpfr_init_set_str(r7115, "-2.1241737424767768e+144", 10, MPFR_RNDN);
        mpfr_init(r7116);
        mpfr_init(r7117);
        mpfr_init(r7118);
        mpfr_init(r7119);
        mpfr_init_set_str(r7120, "-2.178398895180725e-107", 10, MPFR_RNDN);
        mpfr_init(r7121);
        mpfr_init(r7122);
        mpfr_init_set_str(r7123, "4", 10, MPFR_RNDN);
        mpfr_init(r7124);
        mpfr_init(r7125);
        mpfr_init(r7126);
        mpfr_init(r7127);
        mpfr_init(r7128);
        mpfr_init(r7129);
        mpfr_init(r7130);
        mpfr_init_set_str(r7131, "2", 10, MPFR_RNDN);
        mpfr_init(r7132);
        mpfr_init(r7133);
        mpfr_init_set_str(r7134, "5.282374269753992e+37", 10, MPFR_RNDN);
        mpfr_init(r7135);
        mpfr_init(r7136);
        mpfr_init(r7137);
        mpfr_init_set_str(r7138, "1", 10, MPFR_RNDN);
        mpfr_init(r7139);
        mpfr_init(r7140);
        mpfr_init(r7141);
        mpfr_init(r7142);
        mpfr_init(r7143);
        mpfr_init(r7144);
        mpfr_init(r7145);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r7113, b, MPFR_RNDN);
        mpfr_neg(r7114, r7113, MPFR_RNDN);
        ;
        mpfr_set_si(r7116, mpfr_cmp(r7114, r7115) <= 0, MPFR_RNDN);
        mpfr_set_d(r7117, c, MPFR_RNDN);
        mpfr_div(r7118, r7117, r7113, MPFR_RNDN);
        mpfr_neg(r7119, r7118, MPFR_RNDN);
        ;
        mpfr_set_si(r7121, mpfr_cmp(r7114, r7120) <= 0, MPFR_RNDN);
        mpfr_set_d(r7122, a, MPFR_RNDN);
        ;
        mpfr_mul(r7124, r7122, r7123, MPFR_RNDN);
        mpfr_mul(r7125, r7124, r7117, MPFR_RNDN);
        mpfr_mul(r7126, r7113, r7113, MPFR_RNDN);
        mpfr_sub(r7127, r7126, r7125, MPFR_RNDN);
        mpfr_sqrt(r7128, r7127, MPFR_RNDN);
        mpfr_sub(r7129, r7114, r7128, MPFR_RNDN);
        mpfr_div(r7130, r7125, r7129, MPFR_RNDN);
        ;
        mpfr_mul(r7132, r7122, r7131, MPFR_RNDN);
        mpfr_div(r7133, r7130, r7132, MPFR_RNDN);
        ;
        mpfr_set_si(r7135, mpfr_cmp(r7114, r7134) <= 0, MPFR_RNDN);
        mpfr_add(r7136, r7114, r7128, MPFR_RNDN);
        mpfr_div(r7137, r7136, r7132, MPFR_RNDN);
        ;
        mpfr_div(r7139, r7118, r7138, MPFR_RNDN);
        mpfr_add(r7140, r7113, r7113, MPFR_RNDN);
        mpfr_div(r7141, r7140, r7132, MPFR_RNDN);
        mpfr_sub(r7142, r7139, r7141, MPFR_RNDN);
        if (mpfr_get_si(r7135, MPFR_RNDN)) { mpfr_set(r7143, r7137, MPFR_RNDN); } else { mpfr_set(r7143, r7142, MPFR_RNDN); };
        if (mpfr_get_si(r7121, MPFR_RNDN)) { mpfr_set(r7144, r7133, MPFR_RNDN); } else { mpfr_set(r7144, r7143, MPFR_RNDN); };
        if (mpfr_get_si(r7116, MPFR_RNDN)) { mpfr_set(r7145, r7119, MPFR_RNDN); } else { mpfr_set(r7145, r7144, MPFR_RNDN); };
        return mpfr_get_d(r7145, MPFR_RNDN);
}

