#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 r11558 = b;
        float r11559 = -r11558;
        float r11560 = r11558 * r11558;
        float r11561 = 4;
        float r11562 = a;
        float r11563 = r11561 * r11562;
        float r11564 = c;
        float r11565 = r11563 * r11564;
        float r11566 = r11560 - r11565;
        float r11567 = sqrt(r11566);
        float r11568 = r11559 + r11567;
        float r11569 = 2;
        float r11570 = r11569 * r11562;
        float r11571 = r11568 / r11570;
        return r11571;
}

double f_id(double a, double b, double c) {
        double r11572 = b;
        double r11573 = -r11572;
        double r11574 = r11572 * r11572;
        double r11575 = 4;
        double r11576 = a;
        double r11577 = r11575 * r11576;
        double r11578 = c;
        double r11579 = r11577 * r11578;
        double r11580 = r11574 - r11579;
        double r11581 = sqrt(r11580);
        double r11582 = r11573 + r11581;
        double r11583 = 2;
        double r11584 = r11583 * r11576;
        double r11585 = r11582 / r11584;
        return r11585;
}


double f_of(float a, float b, float c) {
        float r11586 = b;
        float r11587 = -1.9979183584340477e+120;
        bool r11588 = r11586 <= r11587;
        float r11589 = a;
        float r11590 = r11586 / r11589;
        float r11591 = -r11590;
        float r11592 = 1.021266047469986e-281;
        bool r11593 = r11586 <= r11592;
        float r11594 = 1;
        float r11595 = 2;
        float r11596 = r11595 * r11589;
        float r11597 = r11594 / r11596;
        float r11598 = r11586 * r11586;
        float r11599 = c;
        float r11600 = 4;
        float r11601 = r11600 * r11589;
        float r11602 = r11599 * r11601;
        float r11603 = r11598 - r11602;
        float r11604 = sqrt(r11603);
        float r11605 = -r11586;
        float r11606 = r11604 + r11605;
        float r11607 = r11597 * r11606;
        float r11608 = 3.7208207919097225e+36;
        bool r11609 = r11586 <= r11608;
        float r11610 = r11599 * r11600;
        float r11611 = r11610 * r11589;
        float r11612 = r11605 - r11604;
        float r11613 = r11611 / r11612;
        float r11614 = r11613 / r11596;
        float r11615 = r11599 / r11586;
        float r11616 = -r11615;
        float r11617 = r11609 ? r11614 : r11616;
        float r11618 = r11593 ? r11607 : r11617;
        float r11619 = r11588 ? r11591 : r11618;
        return r11619;
}

double f_od(double a, double b, double c) {
        double r11620 = b;
        double r11621 = -1.9979183584340477e+120;
        bool r11622 = r11620 <= r11621;
        double r11623 = a;
        double r11624 = r11620 / r11623;
        double r11625 = -r11624;
        double r11626 = 1.021266047469986e-281;
        bool r11627 = r11620 <= r11626;
        double r11628 = 1;
        double r11629 = 2;
        double r11630 = r11629 * r11623;
        double r11631 = r11628 / r11630;
        double r11632 = r11620 * r11620;
        double r11633 = c;
        double r11634 = 4;
        double r11635 = r11634 * r11623;
        double r11636 = r11633 * r11635;
        double r11637 = r11632 - r11636;
        double r11638 = sqrt(r11637);
        double r11639 = -r11620;
        double r11640 = r11638 + r11639;
        double r11641 = r11631 * r11640;
        double r11642 = 3.7208207919097225e+36;
        bool r11643 = r11620 <= r11642;
        double r11644 = r11633 * r11634;
        double r11645 = r11644 * r11623;
        double r11646 = r11639 - r11638;
        double r11647 = r11645 / r11646;
        double r11648 = r11647 / r11630;
        double r11649 = r11633 / r11620;
        double r11650 = -r11649;
        double r11651 = r11643 ? r11648 : r11650;
        double r11652 = r11627 ? r11641 : r11651;
        double r11653 = r11622 ? r11625 : r11652;
        return r11653;
}

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 r11654, r11655, r11656, r11657, r11658, r11659, r11660, r11661, r11662, r11663, r11664, r11665, r11666, r11667;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r11654);
        mpfr_init(r11655);
        mpfr_init(r11656);
        mpfr_init_set_str(r11657, "4", 10, MPFR_RNDN);
        mpfr_init(r11658);
        mpfr_init(r11659);
        mpfr_init(r11660);
        mpfr_init(r11661);
        mpfr_init(r11662);
        mpfr_init(r11663);
        mpfr_init(r11664);
        mpfr_init_set_str(r11665, "2", 10, MPFR_RNDN);
        mpfr_init(r11666);
        mpfr_init(r11667);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r11654, b, MPFR_RNDN);
        mpfr_neg(r11655, r11654, MPFR_RNDN);
        mpfr_mul(r11656, r11654, r11654, MPFR_RNDN);
        ;
        mpfr_set_d(r11658, a, MPFR_RNDN);
        mpfr_mul(r11659, r11657, r11658, MPFR_RNDN);
        mpfr_set_d(r11660, c, MPFR_RNDN);
        mpfr_mul(r11661, r11659, r11660, MPFR_RNDN);
        mpfr_sub(r11662, r11656, r11661, MPFR_RNDN);
        mpfr_sqrt(r11663, r11662, MPFR_RNDN);
        mpfr_add(r11664, r11655, r11663, MPFR_RNDN);
        ;
        mpfr_mul(r11666, r11665, r11658, MPFR_RNDN);
        mpfr_div(r11667, r11664, r11666, MPFR_RNDN);
        return mpfr_get_d(r11667, MPFR_RNDN);
}

static mpfr_t r11668, r11669, r11670, r11671, r11672, r11673, r11674, r11675, r11676, r11677, r11678, r11679, r11680, r11681, r11682, r11683, r11684, r11685, r11686, r11687, r11688, r11689, r11690, r11691, r11692, r11693, r11694, r11695, r11696, r11697, r11698, r11699, r11700, r11701;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r11668);
        mpfr_init_set_str(r11669, "-1.9979183584340477e+120", 10, MPFR_RNDN);
        mpfr_init(r11670);
        mpfr_init(r11671);
        mpfr_init(r11672);
        mpfr_init(r11673);
        mpfr_init_set_str(r11674, "1.021266047469986e-281", 10, MPFR_RNDN);
        mpfr_init(r11675);
        mpfr_init_set_str(r11676, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11677, "2", 10, MPFR_RNDN);
        mpfr_init(r11678);
        mpfr_init(r11679);
        mpfr_init(r11680);
        mpfr_init(r11681);
        mpfr_init_set_str(r11682, "4", 10, MPFR_RNDN);
        mpfr_init(r11683);
        mpfr_init(r11684);
        mpfr_init(r11685);
        mpfr_init(r11686);
        mpfr_init(r11687);
        mpfr_init(r11688);
        mpfr_init(r11689);
        mpfr_init_set_str(r11690, "3.7208207919097225e+36", 10, MPFR_RNDN);
        mpfr_init(r11691);
        mpfr_init(r11692);
        mpfr_init(r11693);
        mpfr_init(r11694);
        mpfr_init(r11695);
        mpfr_init(r11696);
        mpfr_init(r11697);
        mpfr_init(r11698);
        mpfr_init(r11699);
        mpfr_init(r11700);
        mpfr_init(r11701);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r11668, b, MPFR_RNDN);
        ;
        mpfr_set_si(r11670, mpfr_cmp(r11668, r11669) <= 0, MPFR_RNDN);
        mpfr_set_d(r11671, a, MPFR_RNDN);
        mpfr_div(r11672, r11668, r11671, MPFR_RNDN);
        mpfr_neg(r11673, r11672, MPFR_RNDN);
        ;
        mpfr_set_si(r11675, mpfr_cmp(r11668, r11674) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r11678, r11677, r11671, MPFR_RNDN);
        mpfr_div(r11679, r11676, r11678, MPFR_RNDN);
        mpfr_mul(r11680, r11668, r11668, MPFR_RNDN);
        mpfr_set_d(r11681, c, MPFR_RNDN);
        ;
        mpfr_mul(r11683, r11682, r11671, MPFR_RNDN);
        mpfr_mul(r11684, r11681, r11683, MPFR_RNDN);
        mpfr_sub(r11685, r11680, r11684, MPFR_RNDN);
        mpfr_sqrt(r11686, r11685, MPFR_RNDN);
        mpfr_neg(r11687, r11668, MPFR_RNDN);
        mpfr_add(r11688, r11686, r11687, MPFR_RNDN);
        mpfr_mul(r11689, r11679, r11688, MPFR_RNDN);
        ;
        mpfr_set_si(r11691, mpfr_cmp(r11668, r11690) <= 0, MPFR_RNDN);
        mpfr_mul(r11692, r11681, r11682, MPFR_RNDN);
        mpfr_mul(r11693, r11692, r11671, MPFR_RNDN);
        mpfr_sub(r11694, r11687, r11686, MPFR_RNDN);
        mpfr_div(r11695, r11693, r11694, MPFR_RNDN);
        mpfr_div(r11696, r11695, r11678, MPFR_RNDN);
        mpfr_div(r11697, r11681, r11668, MPFR_RNDN);
        mpfr_neg(r11698, r11697, MPFR_RNDN);
        if (mpfr_get_si(r11691, MPFR_RNDN)) { mpfr_set(r11699, r11696, MPFR_RNDN); } else { mpfr_set(r11699, r11698, MPFR_RNDN); };
        if (mpfr_get_si(r11675, MPFR_RNDN)) { mpfr_set(r11700, r11689, MPFR_RNDN); } else { mpfr_set(r11700, r11699, MPFR_RNDN); };
        if (mpfr_get_si(r11670, MPFR_RNDN)) { mpfr_set(r11701, r11673, MPFR_RNDN); } else { mpfr_set(r11701, r11700, MPFR_RNDN); };
        return mpfr_get_d(r11701, MPFR_RNDN);
}

static mpfr_t r11702, r11703, r11704, r11705, r11706, r11707, r11708, r11709, r11710, r11711, r11712, r11713, r11714, r11715, r11716, r11717, r11718, r11719, r11720, r11721, r11722, r11723, r11724, r11725, r11726, r11727, r11728, r11729, r11730, r11731, r11732, r11733, r11734, r11735;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r11702);
        mpfr_init_set_str(r11703, "-1.9979183584340477e+120", 10, MPFR_RNDN);
        mpfr_init(r11704);
        mpfr_init(r11705);
        mpfr_init(r11706);
        mpfr_init(r11707);
        mpfr_init_set_str(r11708, "1.021266047469986e-281", 10, MPFR_RNDN);
        mpfr_init(r11709);
        mpfr_init_set_str(r11710, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11711, "2", 10, MPFR_RNDN);
        mpfr_init(r11712);
        mpfr_init(r11713);
        mpfr_init(r11714);
        mpfr_init(r11715);
        mpfr_init_set_str(r11716, "4", 10, MPFR_RNDN);
        mpfr_init(r11717);
        mpfr_init(r11718);
        mpfr_init(r11719);
        mpfr_init(r11720);
        mpfr_init(r11721);
        mpfr_init(r11722);
        mpfr_init(r11723);
        mpfr_init_set_str(r11724, "3.7208207919097225e+36", 10, MPFR_RNDN);
        mpfr_init(r11725);
        mpfr_init(r11726);
        mpfr_init(r11727);
        mpfr_init(r11728);
        mpfr_init(r11729);
        mpfr_init(r11730);
        mpfr_init(r11731);
        mpfr_init(r11732);
        mpfr_init(r11733);
        mpfr_init(r11734);
        mpfr_init(r11735);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r11702, b, MPFR_RNDN);
        ;
        mpfr_set_si(r11704, mpfr_cmp(r11702, r11703) <= 0, MPFR_RNDN);
        mpfr_set_d(r11705, a, MPFR_RNDN);
        mpfr_div(r11706, r11702, r11705, MPFR_RNDN);
        mpfr_neg(r11707, r11706, MPFR_RNDN);
        ;
        mpfr_set_si(r11709, mpfr_cmp(r11702, r11708) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r11712, r11711, r11705, MPFR_RNDN);
        mpfr_div(r11713, r11710, r11712, MPFR_RNDN);
        mpfr_mul(r11714, r11702, r11702, MPFR_RNDN);
        mpfr_set_d(r11715, c, MPFR_RNDN);
        ;
        mpfr_mul(r11717, r11716, r11705, MPFR_RNDN);
        mpfr_mul(r11718, r11715, r11717, MPFR_RNDN);
        mpfr_sub(r11719, r11714, r11718, MPFR_RNDN);
        mpfr_sqrt(r11720, r11719, MPFR_RNDN);
        mpfr_neg(r11721, r11702, MPFR_RNDN);
        mpfr_add(r11722, r11720, r11721, MPFR_RNDN);
        mpfr_mul(r11723, r11713, r11722, MPFR_RNDN);
        ;
        mpfr_set_si(r11725, mpfr_cmp(r11702, r11724) <= 0, MPFR_RNDN);
        mpfr_mul(r11726, r11715, r11716, MPFR_RNDN);
        mpfr_mul(r11727, r11726, r11705, MPFR_RNDN);
        mpfr_sub(r11728, r11721, r11720, MPFR_RNDN);
        mpfr_div(r11729, r11727, r11728, MPFR_RNDN);
        mpfr_div(r11730, r11729, r11712, MPFR_RNDN);
        mpfr_div(r11731, r11715, r11702, MPFR_RNDN);
        mpfr_neg(r11732, r11731, MPFR_RNDN);
        if (mpfr_get_si(r11725, MPFR_RNDN)) { mpfr_set(r11733, r11730, MPFR_RNDN); } else { mpfr_set(r11733, r11732, MPFR_RNDN); };
        if (mpfr_get_si(r11709, MPFR_RNDN)) { mpfr_set(r11734, r11723, MPFR_RNDN); } else { mpfr_set(r11734, r11733, MPFR_RNDN); };
        if (mpfr_get_si(r11704, MPFR_RNDN)) { mpfr_set(r11735, r11707, MPFR_RNDN); } else { mpfr_set(r11735, r11734, MPFR_RNDN); };
        return mpfr_get_d(r11735, MPFR_RNDN);
}

