#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 r8547 = b;
        float r8548 = 0;
        bool r8549 = r8547 >= r8548;
        float r8550 = -r8547;
        float r8551 = r8547 * r8547;
        float r8552 = 4;
        float r8553 = a;
        float r8554 = r8552 * r8553;
        float r8555 = c;
        float r8556 = r8554 * r8555;
        float r8557 = r8551 - r8556;
        float r8558 = sqrt(r8557);
        float r8559 = r8550 - r8558;
        float r8560 = 2;
        float r8561 = r8560 * r8553;
        float r8562 = r8559 / r8561;
        float r8563 = r8560 * r8555;
        float r8564 = r8550 + r8558;
        float r8565 = r8563 / r8564;
        float r8566 = r8549 ? r8562 : r8565;
        return r8566;
}

double f_id(double a, double b, double c) {
        double r8567 = b;
        double r8568 = 0;
        bool r8569 = r8567 >= r8568;
        double r8570 = -r8567;
        double r8571 = r8567 * r8567;
        double r8572 = 4;
        double r8573 = a;
        double r8574 = r8572 * r8573;
        double r8575 = c;
        double r8576 = r8574 * r8575;
        double r8577 = r8571 - r8576;
        double r8578 = sqrt(r8577);
        double r8579 = r8570 - r8578;
        double r8580 = 2;
        double r8581 = r8580 * r8573;
        double r8582 = r8579 / r8581;
        double r8583 = r8580 * r8575;
        double r8584 = r8570 + r8578;
        double r8585 = r8583 / r8584;
        double r8586 = r8569 ? r8582 : r8585;
        return r8586;
}


double f_of(float a, float b, float c) {
        float r8587 = b;
        float r8588 = -1.3509547291661622e+154;
        bool r8589 = r8587 <= r8588;
        float r8590 = 0;
        bool r8591 = r8587 >= r8590;
        float r8592 = -r8587;
        float r8593 = r8587 * r8587;
        float r8594 = a;
        float r8595 = 4;
        float r8596 = r8594 * r8595;
        float r8597 = c;
        float r8598 = r8596 * r8597;
        float r8599 = r8593 - r8598;
        float r8600 = sqrt(r8599);
        float r8601 = r8592 - r8600;
        float r8602 = 2;
        float r8603 = r8602 * r8594;
        float r8604 = r8601 / r8603;
        float r8605 = r8603 / r8587;
        float r8606 = r8587 + r8587;
        float r8607 = r8606 / r8597;
        float r8608 = r8605 - r8607;
        float r8609 = r8602 / r8608;
        float r8610 = r8591 ? r8604 : r8609;
        float r8611 = 1.4399774592443239e+37;
        bool r8612 = r8587 <= r8611;
        float r8613 = sqrt(r8600);
        float r8614 = r8613 * r8613;
        float r8615 = r8592 - r8614;
        float r8616 = r8615 / r8603;
        float r8617 = r8597 * r8602;
        float r8618 = r8600 + r8592;
        float r8619 = r8617 / r8618;
        float r8620 = r8591 ? r8616 : r8619;
        float r8621 = r8597 / r8587;
        float r8622 = r8587 / r8594;
        float r8623 = r8621 - r8622;
        float r8624 = r8600 - r8587;
        float r8625 = r8617 / r8624;
        float r8626 = r8591 ? r8623 : r8625;
        float r8627 = r8612 ? r8620 : r8626;
        float r8628 = r8589 ? r8610 : r8627;
        return r8628;
}

double f_od(double a, double b, double c) {
        double r8629 = b;
        double r8630 = -1.3509547291661622e+154;
        bool r8631 = r8629 <= r8630;
        double r8632 = 0;
        bool r8633 = r8629 >= r8632;
        double r8634 = -r8629;
        double r8635 = r8629 * r8629;
        double r8636 = a;
        double r8637 = 4;
        double r8638 = r8636 * r8637;
        double r8639 = c;
        double r8640 = r8638 * r8639;
        double r8641 = r8635 - r8640;
        double r8642 = sqrt(r8641);
        double r8643 = r8634 - r8642;
        double r8644 = 2;
        double r8645 = r8644 * r8636;
        double r8646 = r8643 / r8645;
        double r8647 = r8645 / r8629;
        double r8648 = r8629 + r8629;
        double r8649 = r8648 / r8639;
        double r8650 = r8647 - r8649;
        double r8651 = r8644 / r8650;
        double r8652 = r8633 ? r8646 : r8651;
        double r8653 = 1.4399774592443239e+37;
        bool r8654 = r8629 <= r8653;
        double r8655 = sqrt(r8642);
        double r8656 = r8655 * r8655;
        double r8657 = r8634 - r8656;
        double r8658 = r8657 / r8645;
        double r8659 = r8639 * r8644;
        double r8660 = r8642 + r8634;
        double r8661 = r8659 / r8660;
        double r8662 = r8633 ? r8658 : r8661;
        double r8663 = r8639 / r8629;
        double r8664 = r8629 / r8636;
        double r8665 = r8663 - r8664;
        double r8666 = r8642 - r8629;
        double r8667 = r8659 / r8666;
        double r8668 = r8633 ? r8665 : r8667;
        double r8669 = r8654 ? r8662 : r8668;
        double r8670 = r8631 ? r8652 : r8669;
        return r8670;
}

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 r8671, r8672, r8673, r8674, r8675, r8676, r8677, r8678, r8679, r8680, r8681, r8682, r8683, r8684, r8685, r8686, r8687, r8688, r8689, r8690;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r8671);
        mpfr_init_set_str(r8672, "0", 10, MPFR_RNDN);
        mpfr_init(r8673);
        mpfr_init(r8674);
        mpfr_init(r8675);
        mpfr_init_set_str(r8676, "4", 10, MPFR_RNDN);
        mpfr_init(r8677);
        mpfr_init(r8678);
        mpfr_init(r8679);
        mpfr_init(r8680);
        mpfr_init(r8681);
        mpfr_init(r8682);
        mpfr_init(r8683);
        mpfr_init_set_str(r8684, "2", 10, MPFR_RNDN);
        mpfr_init(r8685);
        mpfr_init(r8686);
        mpfr_init(r8687);
        mpfr_init(r8688);
        mpfr_init(r8689);
        mpfr_init(r8690);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r8671, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8673, mpfr_cmp(r8671, r8672) >= 0, MPFR_RNDN);
        mpfr_neg(r8674, r8671, MPFR_RNDN);
        mpfr_mul(r8675, r8671, r8671, MPFR_RNDN);
        ;
        mpfr_set_d(r8677, a, MPFR_RNDN);
        mpfr_mul(r8678, r8676, r8677, MPFR_RNDN);
        mpfr_set_d(r8679, c, MPFR_RNDN);
        mpfr_mul(r8680, r8678, r8679, MPFR_RNDN);
        mpfr_sub(r8681, r8675, r8680, MPFR_RNDN);
        mpfr_sqrt(r8682, r8681, MPFR_RNDN);
        mpfr_sub(r8683, r8674, r8682, MPFR_RNDN);
        ;
        mpfr_mul(r8685, r8684, r8677, MPFR_RNDN);
        mpfr_div(r8686, r8683, r8685, MPFR_RNDN);
        mpfr_mul(r8687, r8684, r8679, MPFR_RNDN);
        mpfr_add(r8688, r8674, r8682, MPFR_RNDN);
        mpfr_div(r8689, r8687, r8688, MPFR_RNDN);
        if (mpfr_get_si(r8673, MPFR_RNDN)) { mpfr_set(r8690, r8686, MPFR_RNDN); } else { mpfr_set(r8690, r8689, MPFR_RNDN); };
        return mpfr_get_d(r8690, MPFR_RNDN);
}

static mpfr_t r8691, r8692, r8693, r8694, r8695, r8696, r8697, r8698, r8699, r8700, r8701, r8702, r8703, r8704, r8705, r8706, r8707, r8708, r8709, r8710, r8711, r8712, r8713, r8714, r8715, r8716, r8717, r8718, r8719, r8720, r8721, r8722, r8723, r8724, r8725, r8726, r8727, r8728, r8729, r8730, r8731, r8732;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r8691);
        mpfr_init_set_str(r8692, "-1.3509547291661622e+154", 10, MPFR_RNDN);
        mpfr_init(r8693);
        mpfr_init_set_str(r8694, "0", 10, MPFR_RNDN);
        mpfr_init(r8695);
        mpfr_init(r8696);
        mpfr_init(r8697);
        mpfr_init(r8698);
        mpfr_init_set_str(r8699, "4", 10, MPFR_RNDN);
        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);
        mpfr_init(r8713);
        mpfr_init(r8714);
        mpfr_init_set_str(r8715, "1.4399774592443239e+37", 10, MPFR_RNDN);
        mpfr_init(r8716);
        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(r8728);
        mpfr_init(r8729);
        mpfr_init(r8730);
        mpfr_init(r8731);
        mpfr_init(r8732);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r8691, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8693, mpfr_cmp(r8691, r8692) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8695, mpfr_cmp(r8691, r8694) >= 0, MPFR_RNDN);
        mpfr_neg(r8696, r8691, MPFR_RNDN);
        mpfr_mul(r8697, r8691, r8691, MPFR_RNDN);
        mpfr_set_d(r8698, 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, r8698, MPFR_RNDN);
        mpfr_div(r8708, r8705, r8707, MPFR_RNDN);
        mpfr_div(r8709, r8707, r8691, MPFR_RNDN);
        mpfr_add(r8710, r8691, r8691, MPFR_RNDN);
        mpfr_div(r8711, r8710, r8701, MPFR_RNDN);
        mpfr_sub(r8712, r8709, r8711, MPFR_RNDN);
        mpfr_div(r8713, r8706, r8712, MPFR_RNDN);
        if (mpfr_get_si(r8695, MPFR_RNDN)) { mpfr_set(r8714, r8708, MPFR_RNDN); } else { mpfr_set(r8714, r8713, MPFR_RNDN); };
        ;
        mpfr_set_si(r8716, mpfr_cmp(r8691, r8715) <= 0, MPFR_RNDN);
        mpfr_sqrt(r8717, r8704, MPFR_RNDN);
        mpfr_mul(r8718, r8717, r8717, MPFR_RNDN);
        mpfr_sub(r8719, r8696, r8718, MPFR_RNDN);
        mpfr_div(r8720, r8719, r8707, MPFR_RNDN);
        mpfr_mul(r8721, r8701, r8706, MPFR_RNDN);
        mpfr_add(r8722, r8704, r8696, MPFR_RNDN);
        mpfr_div(r8723, r8721, r8722, MPFR_RNDN);
        if (mpfr_get_si(r8695, MPFR_RNDN)) { mpfr_set(r8724, r8720, MPFR_RNDN); } else { mpfr_set(r8724, r8723, MPFR_RNDN); };
        mpfr_div(r8725, r8701, r8691, MPFR_RNDN);
        mpfr_div(r8726, r8691, r8698, MPFR_RNDN);
        mpfr_sub(r8727, r8725, r8726, MPFR_RNDN);
        mpfr_sub(r8728, r8704, r8691, MPFR_RNDN);
        mpfr_div(r8729, r8721, r8728, MPFR_RNDN);
        if (mpfr_get_si(r8695, MPFR_RNDN)) { mpfr_set(r8730, r8727, MPFR_RNDN); } else { mpfr_set(r8730, r8729, MPFR_RNDN); };
        if (mpfr_get_si(r8716, MPFR_RNDN)) { mpfr_set(r8731, r8724, MPFR_RNDN); } else { mpfr_set(r8731, r8730, MPFR_RNDN); };
        if (mpfr_get_si(r8693, MPFR_RNDN)) { mpfr_set(r8732, r8714, MPFR_RNDN); } else { mpfr_set(r8732, r8731, MPFR_RNDN); };
        return mpfr_get_d(r8732, MPFR_RNDN);
}

static mpfr_t 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, r8760, r8761, r8762, r8763, r8764, r8765, r8766, r8767, r8768, r8769, r8770, r8771, r8772, r8773, r8774;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r8733);
        mpfr_init_set_str(r8734, "-1.3509547291661622e+154", 10, MPFR_RNDN);
        mpfr_init(r8735);
        mpfr_init_set_str(r8736, "0", 10, MPFR_RNDN);
        mpfr_init(r8737);
        mpfr_init(r8738);
        mpfr_init(r8739);
        mpfr_init(r8740);
        mpfr_init_set_str(r8741, "4", 10, MPFR_RNDN);
        mpfr_init(r8742);
        mpfr_init(r8743);
        mpfr_init(r8744);
        mpfr_init(r8745);
        mpfr_init(r8746);
        mpfr_init(r8747);
        mpfr_init_set_str(r8748, "2", 10, MPFR_RNDN);
        mpfr_init(r8749);
        mpfr_init(r8750);
        mpfr_init(r8751);
        mpfr_init(r8752);
        mpfr_init(r8753);
        mpfr_init(r8754);
        mpfr_init(r8755);
        mpfr_init(r8756);
        mpfr_init_set_str(r8757, "1.4399774592443239e+37", 10, MPFR_RNDN);
        mpfr_init(r8758);
        mpfr_init(r8759);
        mpfr_init(r8760);
        mpfr_init(r8761);
        mpfr_init(r8762);
        mpfr_init(r8763);
        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);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r8733, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8735, mpfr_cmp(r8733, r8734) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8737, mpfr_cmp(r8733, r8736) >= 0, MPFR_RNDN);
        mpfr_neg(r8738, r8733, MPFR_RNDN);
        mpfr_mul(r8739, r8733, r8733, MPFR_RNDN);
        mpfr_set_d(r8740, a, MPFR_RNDN);
        ;
        mpfr_mul(r8742, r8740, r8741, MPFR_RNDN);
        mpfr_set_d(r8743, c, MPFR_RNDN);
        mpfr_mul(r8744, r8742, r8743, MPFR_RNDN);
        mpfr_sub(r8745, r8739, r8744, MPFR_RNDN);
        mpfr_sqrt(r8746, r8745, MPFR_RNDN);
        mpfr_sub(r8747, r8738, r8746, MPFR_RNDN);
        ;
        mpfr_mul(r8749, r8748, r8740, MPFR_RNDN);
        mpfr_div(r8750, r8747, r8749, MPFR_RNDN);
        mpfr_div(r8751, r8749, r8733, MPFR_RNDN);
        mpfr_add(r8752, r8733, r8733, MPFR_RNDN);
        mpfr_div(r8753, r8752, r8743, MPFR_RNDN);
        mpfr_sub(r8754, r8751, r8753, MPFR_RNDN);
        mpfr_div(r8755, r8748, r8754, MPFR_RNDN);
        if (mpfr_get_si(r8737, MPFR_RNDN)) { mpfr_set(r8756, r8750, MPFR_RNDN); } else { mpfr_set(r8756, r8755, MPFR_RNDN); };
        ;
        mpfr_set_si(r8758, mpfr_cmp(r8733, r8757) <= 0, MPFR_RNDN);
        mpfr_sqrt(r8759, r8746, MPFR_RNDN);
        mpfr_mul(r8760, r8759, r8759, MPFR_RNDN);
        mpfr_sub(r8761, r8738, r8760, MPFR_RNDN);
        mpfr_div(r8762, r8761, r8749, MPFR_RNDN);
        mpfr_mul(r8763, r8743, r8748, MPFR_RNDN);
        mpfr_add(r8764, r8746, r8738, MPFR_RNDN);
        mpfr_div(r8765, r8763, r8764, MPFR_RNDN);
        if (mpfr_get_si(r8737, MPFR_RNDN)) { mpfr_set(r8766, r8762, MPFR_RNDN); } else { mpfr_set(r8766, r8765, MPFR_RNDN); };
        mpfr_div(r8767, r8743, r8733, MPFR_RNDN);
        mpfr_div(r8768, r8733, r8740, MPFR_RNDN);
        mpfr_sub(r8769, r8767, r8768, MPFR_RNDN);
        mpfr_sub(r8770, r8746, r8733, MPFR_RNDN);
        mpfr_div(r8771, r8763, r8770, MPFR_RNDN);
        if (mpfr_get_si(r8737, MPFR_RNDN)) { mpfr_set(r8772, r8769, MPFR_RNDN); } else { mpfr_set(r8772, r8771, MPFR_RNDN); };
        if (mpfr_get_si(r8758, MPFR_RNDN)) { mpfr_set(r8773, r8766, MPFR_RNDN); } else { mpfr_set(r8773, r8772, MPFR_RNDN); };
        if (mpfr_get_si(r8735, MPFR_RNDN)) { mpfr_set(r8774, r8756, MPFR_RNDN); } else { mpfr_set(r8774, r8773, MPFR_RNDN); };
        return mpfr_get_d(r8774, MPFR_RNDN);
}

