#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 r9606 = b;
        float r9607 = -r9606;
        float r9608 = r9606 * r9606;
        float r9609 = 4;
        float r9610 = a;
        float r9611 = r9609 * r9610;
        float r9612 = c;
        float r9613 = r9611 * r9612;
        float r9614 = r9608 - r9613;
        float r9615 = sqrt(r9614);
        float r9616 = r9607 + r9615;
        float r9617 = 2;
        float r9618 = r9617 * r9610;
        float r9619 = r9616 / r9618;
        return r9619;
}

double f_id(double a, double b, double c) {
        double r9620 = b;
        double r9621 = -r9620;
        double r9622 = r9620 * r9620;
        double r9623 = 4;
        double r9624 = a;
        double r9625 = r9623 * r9624;
        double r9626 = c;
        double r9627 = r9625 * r9626;
        double r9628 = r9622 - r9627;
        double r9629 = sqrt(r9628);
        double r9630 = r9621 + r9629;
        double r9631 = 2;
        double r9632 = r9631 * r9624;
        double r9633 = r9630 / r9632;
        return r9633;
}


double f_of(float a, float b, float c) {
        float r9634 = b;
        float r9635 = -r9634;
        float r9636 = -1.14188389271484e+119;
        bool r9637 = r9635 <= r9636;
        float r9638 = c;
        float r9639 = r9638 / r9634;
        float r9640 = -r9639;
        float r9641 = -1.9516615171416054e-122;
        bool r9642 = r9635 <= r9641;
        float r9643 = 4;
        float r9644 = a;
        float r9645 = r9638 * r9644;
        float r9646 = r9643 * r9645;
        float r9647 = r9634 * r9634;
        float r9648 = r9643 * r9644;
        float r9649 = r9648 * r9638;
        float r9650 = r9647 - r9649;
        float r9651 = sqrt(r9650);
        float r9652 = r9635 - r9651;
        float r9653 = r9646 / r9652;
        float r9654 = 2;
        float r9655 = r9644 * r9654;
        float r9656 = r9653 / r9655;
        float r9657 = 3.092591079713731e+103;
        bool r9658 = r9635 <= r9657;
        float r9659 = r9651 + r9635;
        float r9660 = r9659 / r9655;
        float r9661 = r9634 / r9644;
        float r9662 = r9639 - r9661;
        float r9663 = r9658 ? r9660 : r9662;
        float r9664 = r9642 ? r9656 : r9663;
        float r9665 = r9637 ? r9640 : r9664;
        return r9665;
}

double f_od(double a, double b, double c) {
        double r9666 = b;
        double r9667 = -r9666;
        double r9668 = -1.14188389271484e+119;
        bool r9669 = r9667 <= r9668;
        double r9670 = c;
        double r9671 = r9670 / r9666;
        double r9672 = -r9671;
        double r9673 = -1.9516615171416054e-122;
        bool r9674 = r9667 <= r9673;
        double r9675 = 4;
        double r9676 = a;
        double r9677 = r9670 * r9676;
        double r9678 = r9675 * r9677;
        double r9679 = r9666 * r9666;
        double r9680 = r9675 * r9676;
        double r9681 = r9680 * r9670;
        double r9682 = r9679 - r9681;
        double r9683 = sqrt(r9682);
        double r9684 = r9667 - r9683;
        double r9685 = r9678 / r9684;
        double r9686 = 2;
        double r9687 = r9676 * r9686;
        double r9688 = r9685 / r9687;
        double r9689 = 3.092591079713731e+103;
        bool r9690 = r9667 <= r9689;
        double r9691 = r9683 + r9667;
        double r9692 = r9691 / r9687;
        double r9693 = r9666 / r9676;
        double r9694 = r9671 - r9693;
        double r9695 = r9690 ? r9692 : r9694;
        double r9696 = r9674 ? r9688 : r9695;
        double r9697 = r9669 ? r9672 : r9696;
        return r9697;
}

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 r9698, r9699, r9700, r9701, r9702, r9703, r9704, r9705, r9706, r9707, r9708, r9709, r9710, r9711;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r9698);
        mpfr_init(r9699);
        mpfr_init(r9700);
        mpfr_init_set_str(r9701, "4", 10, MPFR_RNDN);
        mpfr_init(r9702);
        mpfr_init(r9703);
        mpfr_init(r9704);
        mpfr_init(r9705);
        mpfr_init(r9706);
        mpfr_init(r9707);
        mpfr_init(r9708);
        mpfr_init_set_str(r9709, "2", 10, MPFR_RNDN);
        mpfr_init(r9710);
        mpfr_init(r9711);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r9698, b, MPFR_RNDN);
        mpfr_neg(r9699, r9698, MPFR_RNDN);
        mpfr_mul(r9700, r9698, r9698, MPFR_RNDN);
        ;
        mpfr_set_d(r9702, a, MPFR_RNDN);
        mpfr_mul(r9703, r9701, r9702, MPFR_RNDN);
        mpfr_set_d(r9704, c, MPFR_RNDN);
        mpfr_mul(r9705, r9703, r9704, MPFR_RNDN);
        mpfr_sub(r9706, r9700, r9705, MPFR_RNDN);
        mpfr_sqrt(r9707, r9706, MPFR_RNDN);
        mpfr_add(r9708, r9699, r9707, MPFR_RNDN);
        ;
        mpfr_mul(r9710, r9709, r9702, MPFR_RNDN);
        mpfr_div(r9711, r9708, r9710, MPFR_RNDN);
        return mpfr_get_d(r9711, MPFR_RNDN);
}

static mpfr_t r9712, r9713, r9714, r9715, r9716, r9717, r9718, r9719, r9720, r9721, r9722, r9723, r9724, r9725, r9726, r9727, r9728, r9729, r9730, r9731, r9732, r9733, r9734, r9735, r9736, r9737, r9738, r9739, r9740, r9741, r9742, r9743;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r9712);
        mpfr_init(r9713);
        mpfr_init_set_str(r9714, "-1.14188389271484e+119", 10, MPFR_RNDN);
        mpfr_init(r9715);
        mpfr_init(r9716);
        mpfr_init(r9717);
        mpfr_init(r9718);
        mpfr_init_set_str(r9719, "-1.9516615171416054e-122", 10, MPFR_RNDN);
        mpfr_init(r9720);
        mpfr_init_set_str(r9721, "4", 10, MPFR_RNDN);
        mpfr_init(r9722);
        mpfr_init(r9723);
        mpfr_init(r9724);
        mpfr_init(r9725);
        mpfr_init(r9726);
        mpfr_init(r9727);
        mpfr_init(r9728);
        mpfr_init(r9729);
        mpfr_init(r9730);
        mpfr_init(r9731);
        mpfr_init_set_str(r9732, "2", 10, MPFR_RNDN);
        mpfr_init(r9733);
        mpfr_init(r9734);
        mpfr_init_set_str(r9735, "3.092591079713731e+103", 10, MPFR_RNDN);
        mpfr_init(r9736);
        mpfr_init(r9737);
        mpfr_init(r9738);
        mpfr_init(r9739);
        mpfr_init(r9740);
        mpfr_init(r9741);
        mpfr_init(r9742);
        mpfr_init(r9743);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r9712, b, MPFR_RNDN);
        mpfr_neg(r9713, r9712, MPFR_RNDN);
        ;
        mpfr_set_si(r9715, mpfr_cmp(r9713, r9714) <= 0, MPFR_RNDN);
        mpfr_set_d(r9716, c, MPFR_RNDN);
        mpfr_div(r9717, r9716, r9712, MPFR_RNDN);
        mpfr_neg(r9718, r9717, MPFR_RNDN);
        ;
        mpfr_set_si(r9720, mpfr_cmp(r9713, r9719) <= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r9722, a, MPFR_RNDN);
        mpfr_mul(r9723, r9716, r9722, MPFR_RNDN);
        mpfr_mul(r9724, r9721, r9723, MPFR_RNDN);
        mpfr_mul(r9725, r9712, r9712, MPFR_RNDN);
        mpfr_mul(r9726, r9721, r9722, MPFR_RNDN);
        mpfr_mul(r9727, r9726, r9716, MPFR_RNDN);
        mpfr_sub(r9728, r9725, r9727, MPFR_RNDN);
        mpfr_sqrt(r9729, r9728, MPFR_RNDN);
        mpfr_sub(r9730, r9713, r9729, MPFR_RNDN);
        mpfr_div(r9731, r9724, r9730, MPFR_RNDN);
        ;
        mpfr_mul(r9733, r9722, r9732, MPFR_RNDN);
        mpfr_div(r9734, r9731, r9733, MPFR_RNDN);
        ;
        mpfr_set_si(r9736, mpfr_cmp(r9713, r9735) <= 0, MPFR_RNDN);
        mpfr_add(r9737, r9729, r9713, MPFR_RNDN);
        mpfr_div(r9738, r9737, r9733, MPFR_RNDN);
        mpfr_div(r9739, r9712, r9722, MPFR_RNDN);
        mpfr_sub(r9740, r9717, r9739, MPFR_RNDN);
        if (mpfr_get_si(r9736, MPFR_RNDN)) { mpfr_set(r9741, r9738, MPFR_RNDN); } else { mpfr_set(r9741, r9740, MPFR_RNDN); };
        if (mpfr_get_si(r9720, MPFR_RNDN)) { mpfr_set(r9742, r9734, MPFR_RNDN); } else { mpfr_set(r9742, r9741, MPFR_RNDN); };
        if (mpfr_get_si(r9715, MPFR_RNDN)) { mpfr_set(r9743, r9718, MPFR_RNDN); } else { mpfr_set(r9743, r9742, MPFR_RNDN); };
        return mpfr_get_d(r9743, MPFR_RNDN);
}

static mpfr_t r9744, r9745, r9746, r9747, r9748, r9749, r9750, r9751, r9752, r9753, r9754, r9755, r9756, r9757, r9758, r9759, r9760, r9761, r9762, r9763, r9764, r9765, r9766, r9767, r9768, r9769, r9770, r9771, r9772, r9773, r9774, r9775;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r9744);
        mpfr_init(r9745);
        mpfr_init_set_str(r9746, "-1.14188389271484e+119", 10, MPFR_RNDN);
        mpfr_init(r9747);
        mpfr_init(r9748);
        mpfr_init(r9749);
        mpfr_init(r9750);
        mpfr_init_set_str(r9751, "-1.9516615171416054e-122", 10, MPFR_RNDN);
        mpfr_init(r9752);
        mpfr_init_set_str(r9753, "4", 10, MPFR_RNDN);
        mpfr_init(r9754);
        mpfr_init(r9755);
        mpfr_init(r9756);
        mpfr_init(r9757);
        mpfr_init(r9758);
        mpfr_init(r9759);
        mpfr_init(r9760);
        mpfr_init(r9761);
        mpfr_init(r9762);
        mpfr_init(r9763);
        mpfr_init_set_str(r9764, "2", 10, MPFR_RNDN);
        mpfr_init(r9765);
        mpfr_init(r9766);
        mpfr_init_set_str(r9767, "3.092591079713731e+103", 10, MPFR_RNDN);
        mpfr_init(r9768);
        mpfr_init(r9769);
        mpfr_init(r9770);
        mpfr_init(r9771);
        mpfr_init(r9772);
        mpfr_init(r9773);
        mpfr_init(r9774);
        mpfr_init(r9775);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r9744, b, MPFR_RNDN);
        mpfr_neg(r9745, r9744, MPFR_RNDN);
        ;
        mpfr_set_si(r9747, mpfr_cmp(r9745, r9746) <= 0, MPFR_RNDN);
        mpfr_set_d(r9748, c, MPFR_RNDN);
        mpfr_div(r9749, r9748, r9744, MPFR_RNDN);
        mpfr_neg(r9750, r9749, MPFR_RNDN);
        ;
        mpfr_set_si(r9752, mpfr_cmp(r9745, r9751) <= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r9754, a, MPFR_RNDN);
        mpfr_mul(r9755, r9748, r9754, MPFR_RNDN);
        mpfr_mul(r9756, r9753, r9755, MPFR_RNDN);
        mpfr_mul(r9757, r9744, r9744, MPFR_RNDN);
        mpfr_mul(r9758, r9753, r9754, MPFR_RNDN);
        mpfr_mul(r9759, r9758, r9748, MPFR_RNDN);
        mpfr_sub(r9760, r9757, r9759, MPFR_RNDN);
        mpfr_sqrt(r9761, r9760, MPFR_RNDN);
        mpfr_sub(r9762, r9745, r9761, MPFR_RNDN);
        mpfr_div(r9763, r9756, r9762, MPFR_RNDN);
        ;
        mpfr_mul(r9765, r9754, r9764, MPFR_RNDN);
        mpfr_div(r9766, r9763, r9765, MPFR_RNDN);
        ;
        mpfr_set_si(r9768, mpfr_cmp(r9745, r9767) <= 0, MPFR_RNDN);
        mpfr_add(r9769, r9761, r9745, MPFR_RNDN);
        mpfr_div(r9770, r9769, r9765, MPFR_RNDN);
        mpfr_div(r9771, r9744, r9754, MPFR_RNDN);
        mpfr_sub(r9772, r9749, r9771, MPFR_RNDN);
        if (mpfr_get_si(r9768, MPFR_RNDN)) { mpfr_set(r9773, r9770, MPFR_RNDN); } else { mpfr_set(r9773, r9772, MPFR_RNDN); };
        if (mpfr_get_si(r9752, MPFR_RNDN)) { mpfr_set(r9774, r9766, MPFR_RNDN); } else { mpfr_set(r9774, r9773, MPFR_RNDN); };
        if (mpfr_get_si(r9747, MPFR_RNDN)) { mpfr_set(r9775, r9750, MPFR_RNDN); } else { mpfr_set(r9775, r9774, MPFR_RNDN); };
        return mpfr_get_d(r9775, MPFR_RNDN);
}

