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

char *name = "jeff quadratic root 1";

double f_if(float a, float b, float c) {
        float r8559 = b;
        float r8560 = 0;
        bool r8561 = r8559 >= r8560;
        float r8562 = -r8559;
        float r8563 = r8559 * r8559;
        float r8564 = 4;
        float r8565 = a;
        float r8566 = r8564 * r8565;
        float r8567 = c;
        float r8568 = r8566 * r8567;
        float r8569 = r8563 - r8568;
        float r8570 = sqrt(r8569);
        float r8571 = r8562 - r8570;
        float r8572 = 2;
        float r8573 = r8572 * r8565;
        float r8574 = r8571 / r8573;
        float r8575 = r8572 * r8567;
        float r8576 = r8562 + r8570;
        float r8577 = r8575 / r8576;
        float r8578 = r8561 ? r8574 : r8577;
        return r8578;
}

double f_id(double a, double b, double c) {
        double r8579 = b;
        double r8580 = 0;
        bool r8581 = r8579 >= r8580;
        double r8582 = -r8579;
        double r8583 = r8579 * r8579;
        double r8584 = 4;
        double r8585 = a;
        double r8586 = r8584 * r8585;
        double r8587 = c;
        double r8588 = r8586 * r8587;
        double r8589 = r8583 - r8588;
        double r8590 = sqrt(r8589);
        double r8591 = r8582 - r8590;
        double r8592 = 2;
        double r8593 = r8592 * r8585;
        double r8594 = r8591 / r8593;
        double r8595 = r8592 * r8587;
        double r8596 = r8582 + r8590;
        double r8597 = r8595 / r8596;
        double r8598 = r8581 ? r8594 : r8597;
        return r8598;
}


double f_of(float a, float b, float c) {
        float r8599 = b;
        float r8600 = 0;
        bool r8601 = r8599 >= r8600;
        float r8602 = 4;
        float r8603 = c;
        float r8604 = r8602 * r8603;
        float r8605 = a;
        float r8606 = r8604 * r8605;
        float r8607 = -r8603;
        float r8608 = r8605 * r8602;
        float r8609 = r8599 * r8599;
        float r8610 = fma(r8607, r8608, r8609);
        float r8611 = sqrt(r8610);
        float r8612 = r8611 - r8599;
        float r8613 = r8606 / r8612;
        float r8614 = 2;
        float r8615 = r8605 * r8614;
        float r8616 = r8613 / r8615;
        float r8617 = r8614 * r8603;
        float r8618 = r8617 / r8612;
        float r8619 = r8601 ? r8616 : r8618;
        float r8620 = -7.752673007660339e-139;
        bool r8621 = r8619 <= r8620;
        float r8622 = -r8599;
        float r8623 = sqrt(r8611);
        float r8624 = r8623 * r8623;
        float r8625 = r8622 - r8624;
        float r8626 = r8625 / r8615;
        float r8627 = r8601 ? r8626 : r8618;
        float r8628 = 2.5423064857766063e-301;
        bool r8629 = r8619 <= r8628;
        float r8630 = r8603 / r8599;
        float r8631 = r8599 / r8605;
        float r8632 = r8630 - r8631;
        float r8633 = fma(r8608, r8607, r8609);
        float r8634 = sqrt(r8633);
        float r8635 = r8634 - r8599;
        float r8636 = r8617 / r8635;
        float r8637 = r8601 ? r8632 : r8636;
        float r8638 = 2.458810540318032e+303;
        bool r8639 = r8619 <= r8638;
        float r8640 = r8622 - r8599;
        float r8641 = r8640 / r8615;
        float r8642 = r8601 ? r8641 : r8618;
        float r8643 = r8639 ? r8627 : r8642;
        float r8644 = r8629 ? r8637 : r8643;
        float r8645 = r8621 ? r8627 : r8644;
        return r8645;
}

double f_od(double a, double b, double c) {
        double r8646 = b;
        double r8647 = 0;
        bool r8648 = r8646 >= r8647;
        double r8649 = 4;
        double r8650 = c;
        double r8651 = r8649 * r8650;
        double r8652 = a;
        double r8653 = r8651 * r8652;
        double r8654 = -r8650;
        double r8655 = r8652 * r8649;
        double r8656 = r8646 * r8646;
        double r8657 = fma(r8654, r8655, r8656);
        double r8658 = sqrt(r8657);
        double r8659 = r8658 - r8646;
        double r8660 = r8653 / r8659;
        double r8661 = 2;
        double r8662 = r8652 * r8661;
        double r8663 = r8660 / r8662;
        double r8664 = r8661 * r8650;
        double r8665 = r8664 / r8659;
        double r8666 = r8648 ? r8663 : r8665;
        double r8667 = -7.752673007660339e-139;
        bool r8668 = r8666 <= r8667;
        double r8669 = -r8646;
        double r8670 = sqrt(r8658);
        double r8671 = r8670 * r8670;
        double r8672 = r8669 - r8671;
        double r8673 = r8672 / r8662;
        double r8674 = r8648 ? r8673 : r8665;
        double r8675 = 2.5423064857766063e-301;
        bool r8676 = r8666 <= r8675;
        double r8677 = r8650 / r8646;
        double r8678 = r8646 / r8652;
        double r8679 = r8677 - r8678;
        double r8680 = fma(r8655, r8654, r8656);
        double r8681 = sqrt(r8680);
        double r8682 = r8681 - r8646;
        double r8683 = r8664 / r8682;
        double r8684 = r8648 ? r8679 : r8683;
        double r8685 = 2.458810540318032e+303;
        bool r8686 = r8666 <= r8685;
        double r8687 = r8669 - r8646;
        double r8688 = r8687 / r8662;
        double r8689 = r8648 ? r8688 : r8665;
        double r8690 = r8686 ? r8674 : r8689;
        double r8691 = r8676 ? r8684 : r8690;
        double r8692 = r8668 ? r8674 : r8691;
        return r8692;
}

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 r8693, r8694, r8695, r8696, r8697, r8698, r8699, r8700, r8701, r8702, r8703, r8704, r8705, r8706, r8707, r8708, r8709, r8710, r8711, r8712;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r8693);
        mpfr_init_set_str(r8694, "0", 10, MPFR_RNDN);
        mpfr_init(r8695);
        mpfr_init(r8696);
        mpfr_init(r8697);
        mpfr_init_set_str(r8698, "4", 10, MPFR_RNDN);
        mpfr_init(r8699);
        mpfr_init(r8700);
        mpfr_init(r8701);
        mpfr_init(r8702);
        mpfr_init(r8703);
        mpfr_init(r8704);
        mpfr_init(r8705);
        mpfr_init_set_str(r8706, "2", 10, MPFR_RNDN);
        mpfr_init(r8707);
        mpfr_init(r8708);
        mpfr_init(r8709);
        mpfr_init(r8710);
        mpfr_init(r8711);
        mpfr_init(r8712);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r8693, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8695, mpfr_cmp(r8693, r8694) >= 0, MPFR_RNDN);
        mpfr_neg(r8696, r8693, MPFR_RNDN);
        mpfr_mul(r8697, r8693, r8693, MPFR_RNDN);
        ;
        mpfr_set_d(r8699, a, MPFR_RNDN);
        mpfr_mul(r8700, r8698, r8699, MPFR_RNDN);
        mpfr_set_d(r8701, c, MPFR_RNDN);
        mpfr_mul(r8702, r8700, r8701, MPFR_RNDN);
        mpfr_sub(r8703, r8697, r8702, MPFR_RNDN);
        mpfr_sqrt(r8704, r8703, MPFR_RNDN);
        mpfr_sub(r8705, r8696, r8704, MPFR_RNDN);
        ;
        mpfr_mul(r8707, r8706, r8699, MPFR_RNDN);
        mpfr_div(r8708, r8705, r8707, MPFR_RNDN);
        mpfr_mul(r8709, r8706, r8701, MPFR_RNDN);
        mpfr_add(r8710, r8696, r8704, MPFR_RNDN);
        mpfr_div(r8711, r8709, r8710, MPFR_RNDN);
        if (mpfr_get_si(r8695, MPFR_RNDN)) { mpfr_set(r8712, r8708, MPFR_RNDN); } else { mpfr_set(r8712, r8711, MPFR_RNDN); };
        return mpfr_get_d(r8712, MPFR_RNDN);
}

static mpfr_t r8713, r8714, r8715, r8716, r8717, r8718, r8719, r8720, r8721, r8722, r8723, r8724, r8725, r8726, r8727, r8728, r8729, r8730, r8731, r8732, r8733, r8734, r8735, r8736, r8737, r8738, r8739, r8740, r8741, r8742, r8743, r8744, r8745, r8746, r8747, r8748, r8749, r8750, r8751, r8752, r8753, r8754, r8755, r8756, r8757, r8758, r8759;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r8713);
        mpfr_init_set_str(r8714, "0", 10, MPFR_RNDN);
        mpfr_init(r8715);
        mpfr_init_set_str(r8716, "4", 10, MPFR_RNDN);
        mpfr_init(r8717);
        mpfr_init(r8718);
        mpfr_init(r8719);
        mpfr_init(r8720);
        mpfr_init(r8721);
        mpfr_init(r8722);
        mpfr_init(r8723);
        mpfr_init(r8724);
        mpfr_init(r8725);
        mpfr_init(r8726);
        mpfr_init(r8727);
        mpfr_init_set_str(r8728, "2", 10, MPFR_RNDN);
        mpfr_init(r8729);
        mpfr_init(r8730);
        mpfr_init(r8731);
        mpfr_init(r8732);
        mpfr_init(r8733);
        mpfr_init_set_str(r8734, "-7.752673007660339e-139", 10, MPFR_RNDN);
        mpfr_init(r8735);
        mpfr_init(r8736);
        mpfr_init(r8737);
        mpfr_init(r8738);
        mpfr_init(r8739);
        mpfr_init(r8740);
        mpfr_init(r8741);
        mpfr_init_set_str(r8742, "2.5423064857766063e-301", 10, MPFR_RNDN);
        mpfr_init(r8743);
        mpfr_init(r8744);
        mpfr_init(r8745);
        mpfr_init(r8746);
        mpfr_init(r8747);
        mpfr_init(r8748);
        mpfr_init(r8749);
        mpfr_init(r8750);
        mpfr_init(r8751);
        mpfr_init_set_str(r8752, "2.458810540318032e+303", 10, MPFR_RNDN);
        mpfr_init(r8753);
        mpfr_init(r8754);
        mpfr_init(r8755);
        mpfr_init(r8756);
        mpfr_init(r8757);
        mpfr_init(r8758);
        mpfr_init(r8759);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r8713, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8715, mpfr_cmp(r8713, r8714) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r8717, c, MPFR_RNDN);
        mpfr_mul(r8718, r8716, r8717, MPFR_RNDN);
        mpfr_set_d(r8719, a, MPFR_RNDN);
        mpfr_mul(r8720, r8718, r8719, MPFR_RNDN);
        mpfr_neg(r8721, r8717, MPFR_RNDN);
        mpfr_mul(r8722, r8719, r8716, MPFR_RNDN);
        mpfr_mul(r8723, r8713, r8713, MPFR_RNDN);
        mpfr_fma(r8724, r8721, r8722, r8723, MPFR_RNDN);
        mpfr_sqrt(r8725, r8724, MPFR_RNDN);
        mpfr_sub(r8726, r8725, r8713, MPFR_RNDN);
        mpfr_div(r8727, r8720, r8726, MPFR_RNDN);
        ;
        mpfr_mul(r8729, r8719, r8728, MPFR_RNDN);
        mpfr_div(r8730, r8727, r8729, MPFR_RNDN);
        mpfr_mul(r8731, r8728, r8717, MPFR_RNDN);
        mpfr_div(r8732, r8731, r8726, MPFR_RNDN);
        if (mpfr_get_si(r8715, MPFR_RNDN)) { mpfr_set(r8733, r8730, MPFR_RNDN); } else { mpfr_set(r8733, r8732, MPFR_RNDN); };
        ;
        mpfr_set_si(r8735, mpfr_cmp(r8733, r8734) <= 0, MPFR_RNDN);
        mpfr_neg(r8736, r8713, MPFR_RNDN);
        mpfr_sqrt(r8737, r8725, MPFR_RNDN);
        mpfr_mul(r8738, r8737, r8737, MPFR_RNDN);
        mpfr_sub(r8739, r8736, r8738, MPFR_RNDN);
        mpfr_div(r8740, r8739, r8729, MPFR_RNDN);
        if (mpfr_get_si(r8715, MPFR_RNDN)) { mpfr_set(r8741, r8740, MPFR_RNDN); } else { mpfr_set(r8741, r8732, MPFR_RNDN); };
        ;
        mpfr_set_si(r8743, mpfr_cmp(r8733, r8742) <= 0, MPFR_RNDN);
        mpfr_div(r8744, r8717, r8713, MPFR_RNDN);
        mpfr_div(r8745, r8713, r8719, MPFR_RNDN);
        mpfr_sub(r8746, r8744, r8745, MPFR_RNDN);
        mpfr_fma(r8747, r8722, r8721, r8723, MPFR_RNDN);
        mpfr_sqrt(r8748, r8747, MPFR_RNDN);
        mpfr_sub(r8749, r8748, r8713, MPFR_RNDN);
        mpfr_div(r8750, r8731, r8749, MPFR_RNDN);
        if (mpfr_get_si(r8715, MPFR_RNDN)) { mpfr_set(r8751, r8746, MPFR_RNDN); } else { mpfr_set(r8751, r8750, MPFR_RNDN); };
        ;
        mpfr_set_si(r8753, mpfr_cmp(r8733, r8752) <= 0, MPFR_RNDN);
        mpfr_sub(r8754, r8736, r8713, MPFR_RNDN);
        mpfr_div(r8755, r8754, r8729, MPFR_RNDN);
        if (mpfr_get_si(r8715, MPFR_RNDN)) { mpfr_set(r8756, r8755, MPFR_RNDN); } else { mpfr_set(r8756, r8732, MPFR_RNDN); };
        if (mpfr_get_si(r8753, MPFR_RNDN)) { mpfr_set(r8757, r8741, MPFR_RNDN); } else { mpfr_set(r8757, r8756, MPFR_RNDN); };
        if (mpfr_get_si(r8743, MPFR_RNDN)) { mpfr_set(r8758, r8751, MPFR_RNDN); } else { mpfr_set(r8758, r8757, MPFR_RNDN); };
        if (mpfr_get_si(r8735, MPFR_RNDN)) { mpfr_set(r8759, r8741, MPFR_RNDN); } else { mpfr_set(r8759, r8758, MPFR_RNDN); };
        return mpfr_get_d(r8759, MPFR_RNDN);
}

static mpfr_t r8760, r8761, r8762, r8763, r8764, r8765, r8766, r8767, r8768, r8769, r8770, r8771, r8772, r8773, r8774, r8775, r8776, r8777, r8778, r8779, r8780, r8781, r8782, r8783, r8784, r8785, r8786, r8787, r8788, r8789, r8790, r8791, r8792, r8793, r8794, r8795, r8796, r8797, r8798, r8799, r8800, r8801, r8802, r8803, r8804, r8805, r8806;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r8760);
        mpfr_init_set_str(r8761, "0", 10, MPFR_RNDN);
        mpfr_init(r8762);
        mpfr_init_set_str(r8763, "4", 10, MPFR_RNDN);
        mpfr_init(r8764);
        mpfr_init(r8765);
        mpfr_init(r8766);
        mpfr_init(r8767);
        mpfr_init(r8768);
        mpfr_init(r8769);
        mpfr_init(r8770);
        mpfr_init(r8771);
        mpfr_init(r8772);
        mpfr_init(r8773);
        mpfr_init(r8774);
        mpfr_init_set_str(r8775, "2", 10, MPFR_RNDN);
        mpfr_init(r8776);
        mpfr_init(r8777);
        mpfr_init(r8778);
        mpfr_init(r8779);
        mpfr_init(r8780);
        mpfr_init_set_str(r8781, "-7.752673007660339e-139", 10, MPFR_RNDN);
        mpfr_init(r8782);
        mpfr_init(r8783);
        mpfr_init(r8784);
        mpfr_init(r8785);
        mpfr_init(r8786);
        mpfr_init(r8787);
        mpfr_init(r8788);
        mpfr_init_set_str(r8789, "2.5423064857766063e-301", 10, MPFR_RNDN);
        mpfr_init(r8790);
        mpfr_init(r8791);
        mpfr_init(r8792);
        mpfr_init(r8793);
        mpfr_init(r8794);
        mpfr_init(r8795);
        mpfr_init(r8796);
        mpfr_init(r8797);
        mpfr_init(r8798);
        mpfr_init_set_str(r8799, "2.458810540318032e+303", 10, MPFR_RNDN);
        mpfr_init(r8800);
        mpfr_init(r8801);
        mpfr_init(r8802);
        mpfr_init(r8803);
        mpfr_init(r8804);
        mpfr_init(r8805);
        mpfr_init(r8806);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r8760, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8762, mpfr_cmp(r8760, r8761) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r8764, c, MPFR_RNDN);
        mpfr_mul(r8765, r8763, r8764, MPFR_RNDN);
        mpfr_set_d(r8766, a, MPFR_RNDN);
        mpfr_mul(r8767, r8765, r8766, MPFR_RNDN);
        mpfr_neg(r8768, r8764, MPFR_RNDN);
        mpfr_mul(r8769, r8766, r8763, MPFR_RNDN);
        mpfr_mul(r8770, r8760, r8760, MPFR_RNDN);
        mpfr_fma(r8771, r8768, r8769, r8770, MPFR_RNDN);
        mpfr_sqrt(r8772, r8771, MPFR_RNDN);
        mpfr_sub(r8773, r8772, r8760, MPFR_RNDN);
        mpfr_div(r8774, r8767, r8773, MPFR_RNDN);
        ;
        mpfr_mul(r8776, r8766, r8775, MPFR_RNDN);
        mpfr_div(r8777, r8774, r8776, MPFR_RNDN);
        mpfr_mul(r8778, r8775, r8764, MPFR_RNDN);
        mpfr_div(r8779, r8778, r8773, MPFR_RNDN);
        if (mpfr_get_si(r8762, MPFR_RNDN)) { mpfr_set(r8780, r8777, MPFR_RNDN); } else { mpfr_set(r8780, r8779, MPFR_RNDN); };
        ;
        mpfr_set_si(r8782, mpfr_cmp(r8780, r8781) <= 0, MPFR_RNDN);
        mpfr_neg(r8783, r8760, MPFR_RNDN);
        mpfr_sqrt(r8784, r8772, MPFR_RNDN);
        mpfr_mul(r8785, r8784, r8784, MPFR_RNDN);
        mpfr_sub(r8786, r8783, r8785, MPFR_RNDN);
        mpfr_div(r8787, r8786, r8776, MPFR_RNDN);
        if (mpfr_get_si(r8762, MPFR_RNDN)) { mpfr_set(r8788, r8787, MPFR_RNDN); } else { mpfr_set(r8788, r8779, MPFR_RNDN); };
        ;
        mpfr_set_si(r8790, mpfr_cmp(r8780, r8789) <= 0, MPFR_RNDN);
        mpfr_div(r8791, r8764, r8760, MPFR_RNDN);
        mpfr_div(r8792, r8760, r8766, MPFR_RNDN);
        mpfr_sub(r8793, r8791, r8792, MPFR_RNDN);
        mpfr_fma(r8794, r8769, r8768, r8770, MPFR_RNDN);
        mpfr_sqrt(r8795, r8794, MPFR_RNDN);
        mpfr_sub(r8796, r8795, r8760, MPFR_RNDN);
        mpfr_div(r8797, r8778, r8796, MPFR_RNDN);
        if (mpfr_get_si(r8762, MPFR_RNDN)) { mpfr_set(r8798, r8793, MPFR_RNDN); } else { mpfr_set(r8798, r8797, MPFR_RNDN); };
        ;
        mpfr_set_si(r8800, mpfr_cmp(r8780, r8799) <= 0, MPFR_RNDN);
        mpfr_sub(r8801, r8783, r8760, MPFR_RNDN);
        mpfr_div(r8802, r8801, r8776, MPFR_RNDN);
        if (mpfr_get_si(r8762, MPFR_RNDN)) { mpfr_set(r8803, r8802, MPFR_RNDN); } else { mpfr_set(r8803, r8779, MPFR_RNDN); };
        if (mpfr_get_si(r8800, MPFR_RNDN)) { mpfr_set(r8804, r8788, MPFR_RNDN); } else { mpfr_set(r8804, r8803, MPFR_RNDN); };
        if (mpfr_get_si(r8790, MPFR_RNDN)) { mpfr_set(r8805, r8798, MPFR_RNDN); } else { mpfr_set(r8805, r8804, MPFR_RNDN); };
        if (mpfr_get_si(r8782, MPFR_RNDN)) { mpfr_set(r8806, r8788, MPFR_RNDN); } else { mpfr_set(r8806, r8805, MPFR_RNDN); };
        return mpfr_get_d(r8806, MPFR_RNDN);
}

