#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 r8529 = b;
        float r8530 = 0;
        bool r8531 = r8529 >= r8530;
        float r8532 = -r8529;
        float r8533 = r8529 * r8529;
        float r8534 = 4;
        float r8535 = a;
        float r8536 = r8534 * r8535;
        float r8537 = c;
        float r8538 = r8536 * r8537;
        float r8539 = r8533 - r8538;
        float r8540 = sqrt(r8539);
        float r8541 = r8532 - r8540;
        float r8542 = 2;
        float r8543 = r8542 * r8535;
        float r8544 = r8541 / r8543;
        float r8545 = r8542 * r8537;
        float r8546 = r8532 + r8540;
        float r8547 = r8545 / r8546;
        float r8548 = r8531 ? r8544 : r8547;
        return r8548;
}

double f_id(double a, double b, double c) {
        double r8549 = b;
        double r8550 = 0;
        bool r8551 = r8549 >= r8550;
        double r8552 = -r8549;
        double r8553 = r8549 * r8549;
        double r8554 = 4;
        double r8555 = a;
        double r8556 = r8554 * r8555;
        double r8557 = c;
        double r8558 = r8556 * r8557;
        double r8559 = r8553 - r8558;
        double r8560 = sqrt(r8559);
        double r8561 = r8552 - r8560;
        double r8562 = 2;
        double r8563 = r8562 * r8555;
        double r8564 = r8561 / r8563;
        double r8565 = r8562 * r8557;
        double r8566 = r8552 + r8560;
        double r8567 = r8565 / r8566;
        double r8568 = r8551 ? r8564 : r8567;
        return r8568;
}


double f_of(float a, float b, float c) {
        float r8569 = b;
        float r8570 = 0;
        bool r8571 = r8569 >= r8570;
        float r8572 = 4;
        float r8573 = c;
        float r8574 = r8572 * r8573;
        float r8575 = a;
        float r8576 = r8574 * r8575;
        float r8577 = -r8573;
        float r8578 = r8575 * r8572;
        float r8579 = r8569 * r8569;
        float r8580 = fma(r8577, r8578, r8579);
        float r8581 = sqrt(r8580);
        float r8582 = r8581 - r8569;
        float r8583 = r8576 / r8582;
        float r8584 = 2;
        float r8585 = r8575 * r8584;
        float r8586 = r8583 / r8585;
        float r8587 = r8584 * r8573;
        float r8588 = r8587 / r8582;
        float r8589 = r8571 ? r8586 : r8588;
        float r8590 = -9.347329398847064e-141;
        bool r8591 = r8589 <= r8590;
        float r8592 = -r8569;
        float r8593 = sqrt(r8581);
        float r8594 = r8593 * r8593;
        float r8595 = r8592 - r8594;
        float r8596 = r8595 / r8585;
        float r8597 = r8571 ? r8596 : r8588;
        float r8598 = 9.549114654142017e-293;
        bool r8599 = r8589 <= r8598;
        float r8600 = r8573 / r8569;
        float r8601 = r8569 / r8575;
        float r8602 = r8600 - r8601;
        float r8603 = fma(r8578, r8577, r8579);
        float r8604 = sqrt(r8603);
        float r8605 = r8604 - r8569;
        float r8606 = r8587 / r8605;
        float r8607 = r8571 ? r8602 : r8606;
        float r8608 = 3.266227044602685e+267;
        bool r8609 = r8589 <= r8608;
        float r8610 = r8592 - r8569;
        float r8611 = r8610 / r8585;
        float r8612 = r8571 ? r8611 : r8588;
        float r8613 = r8609 ? r8597 : r8612;
        float r8614 = r8599 ? r8607 : r8613;
        float r8615 = r8591 ? r8597 : r8614;
        return r8615;
}

double f_od(double a, double b, double c) {
        double r8616 = b;
        double r8617 = 0;
        bool r8618 = r8616 >= r8617;
        double r8619 = 4;
        double r8620 = c;
        double r8621 = r8619 * r8620;
        double r8622 = a;
        double r8623 = r8621 * r8622;
        double r8624 = -r8620;
        double r8625 = r8622 * r8619;
        double r8626 = r8616 * r8616;
        double r8627 = fma(r8624, r8625, r8626);
        double r8628 = sqrt(r8627);
        double r8629 = r8628 - r8616;
        double r8630 = r8623 / r8629;
        double r8631 = 2;
        double r8632 = r8622 * r8631;
        double r8633 = r8630 / r8632;
        double r8634 = r8631 * r8620;
        double r8635 = r8634 / r8629;
        double r8636 = r8618 ? r8633 : r8635;
        double r8637 = -9.347329398847064e-141;
        bool r8638 = r8636 <= r8637;
        double r8639 = -r8616;
        double r8640 = sqrt(r8628);
        double r8641 = r8640 * r8640;
        double r8642 = r8639 - r8641;
        double r8643 = r8642 / r8632;
        double r8644 = r8618 ? r8643 : r8635;
        double r8645 = 9.549114654142017e-293;
        bool r8646 = r8636 <= r8645;
        double r8647 = r8620 / r8616;
        double r8648 = r8616 / r8622;
        double r8649 = r8647 - r8648;
        double r8650 = fma(r8625, r8624, r8626);
        double r8651 = sqrt(r8650);
        double r8652 = r8651 - r8616;
        double r8653 = r8634 / r8652;
        double r8654 = r8618 ? r8649 : r8653;
        double r8655 = 3.266227044602685e+267;
        bool r8656 = r8636 <= r8655;
        double r8657 = r8639 - r8616;
        double r8658 = r8657 / r8632;
        double r8659 = r8618 ? r8658 : r8635;
        double r8660 = r8656 ? r8644 : r8659;
        double r8661 = r8646 ? r8654 : r8660;
        double r8662 = r8638 ? r8644 : r8661;
        return r8662;
}

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 r8663, r8664, r8665, r8666, r8667, r8668, r8669, r8670, r8671, r8672, r8673, r8674, r8675, r8676, r8677, r8678, r8679, r8680, r8681, r8682;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r8663);
        mpfr_init_set_str(r8664, "0", 10, MPFR_RNDN);
        mpfr_init(r8665);
        mpfr_init(r8666);
        mpfr_init(r8667);
        mpfr_init_set_str(r8668, "4", 10, MPFR_RNDN);
        mpfr_init(r8669);
        mpfr_init(r8670);
        mpfr_init(r8671);
        mpfr_init(r8672);
        mpfr_init(r8673);
        mpfr_init(r8674);
        mpfr_init(r8675);
        mpfr_init_set_str(r8676, "2", 10, MPFR_RNDN);
        mpfr_init(r8677);
        mpfr_init(r8678);
        mpfr_init(r8679);
        mpfr_init(r8680);
        mpfr_init(r8681);
        mpfr_init(r8682);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r8663, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8665, mpfr_cmp(r8663, r8664) >= 0, MPFR_RNDN);
        mpfr_neg(r8666, r8663, MPFR_RNDN);
        mpfr_mul(r8667, r8663, r8663, MPFR_RNDN);
        ;
        mpfr_set_d(r8669, a, MPFR_RNDN);
        mpfr_mul(r8670, r8668, r8669, MPFR_RNDN);
        mpfr_set_d(r8671, c, MPFR_RNDN);
        mpfr_mul(r8672, r8670, r8671, MPFR_RNDN);
        mpfr_sub(r8673, r8667, r8672, MPFR_RNDN);
        mpfr_sqrt(r8674, r8673, MPFR_RNDN);
        mpfr_sub(r8675, r8666, r8674, MPFR_RNDN);
        ;
        mpfr_mul(r8677, r8676, r8669, MPFR_RNDN);
        mpfr_div(r8678, r8675, r8677, MPFR_RNDN);
        mpfr_mul(r8679, r8676, r8671, MPFR_RNDN);
        mpfr_add(r8680, r8666, r8674, MPFR_RNDN);
        mpfr_div(r8681, r8679, r8680, MPFR_RNDN);
        if (mpfr_get_si(r8665, MPFR_RNDN)) { mpfr_set(r8682, r8678, MPFR_RNDN); } else { mpfr_set(r8682, r8681, MPFR_RNDN); };
        return mpfr_get_d(r8682, MPFR_RNDN);
}

static mpfr_t r8683, r8684, r8685, r8686, r8687, r8688, r8689, r8690, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r8683);
        mpfr_init_set_str(r8684, "0", 10, MPFR_RNDN);
        mpfr_init(r8685);
        mpfr_init_set_str(r8686, "4", 10, MPFR_RNDN);
        mpfr_init(r8687);
        mpfr_init(r8688);
        mpfr_init(r8689);
        mpfr_init(r8690);
        mpfr_init(r8691);
        mpfr_init(r8692);
        mpfr_init(r8693);
        mpfr_init(r8694);
        mpfr_init(r8695);
        mpfr_init(r8696);
        mpfr_init(r8697);
        mpfr_init_set_str(r8698, "2", 10, MPFR_RNDN);
        mpfr_init(r8699);
        mpfr_init(r8700);
        mpfr_init(r8701);
        mpfr_init(r8702);
        mpfr_init(r8703);
        mpfr_init_set_str(r8704, "-9.347329398847064e-141", 10, MPFR_RNDN);
        mpfr_init(r8705);
        mpfr_init(r8706);
        mpfr_init(r8707);
        mpfr_init(r8708);
        mpfr_init(r8709);
        mpfr_init(r8710);
        mpfr_init(r8711);
        mpfr_init_set_str(r8712, "9.549114654142017e-293", 10, MPFR_RNDN);
        mpfr_init(r8713);
        mpfr_init(r8714);
        mpfr_init(r8715);
        mpfr_init(r8716);
        mpfr_init(r8717);
        mpfr_init(r8718);
        mpfr_init(r8719);
        mpfr_init(r8720);
        mpfr_init(r8721);
        mpfr_init_set_str(r8722, "3.266227044602685e+267", 10, MPFR_RNDN);
        mpfr_init(r8723);
        mpfr_init(r8724);
        mpfr_init(r8725);
        mpfr_init(r8726);
        mpfr_init(r8727);
        mpfr_init(r8728);
        mpfr_init(r8729);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r8683, b, MPFR_RNDN);
        ;
        mpfr_set_si(r8685, mpfr_cmp(r8683, r8684) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r8687, c, MPFR_RNDN);
        mpfr_mul(r8688, r8686, r8687, MPFR_RNDN);
        mpfr_set_d(r8689, a, MPFR_RNDN);
        mpfr_mul(r8690, r8688, r8689, MPFR_RNDN);
        mpfr_neg(r8691, r8687, MPFR_RNDN);
        mpfr_mul(r8692, r8689, r8686, MPFR_RNDN);
        mpfr_mul(r8693, r8683, r8683, MPFR_RNDN);
        mpfr_fma(r8694, r8691, r8692, r8693, MPFR_RNDN);
        mpfr_sqrt(r8695, r8694, MPFR_RNDN);
        mpfr_sub(r8696, r8695, r8683, MPFR_RNDN);
        mpfr_div(r8697, r8690, r8696, MPFR_RNDN);
        ;
        mpfr_mul(r8699, r8689, r8698, MPFR_RNDN);
        mpfr_div(r8700, r8697, r8699, MPFR_RNDN);
        mpfr_mul(r8701, r8698, r8687, MPFR_RNDN);
        mpfr_div(r8702, r8701, r8696, MPFR_RNDN);
        if (mpfr_get_si(r8685, MPFR_RNDN)) { mpfr_set(r8703, r8700, MPFR_RNDN); } else { mpfr_set(r8703, r8702, MPFR_RNDN); };
        ;
        mpfr_set_si(r8705, mpfr_cmp(r8703, r8704) <= 0, MPFR_RNDN);
        mpfr_neg(r8706, r8683, MPFR_RNDN);
        mpfr_sqrt(r8707, r8695, MPFR_RNDN);
        mpfr_mul(r8708, r8707, r8707, MPFR_RNDN);
        mpfr_sub(r8709, r8706, r8708, MPFR_RNDN);
        mpfr_div(r8710, r8709, r8699, MPFR_RNDN);
        if (mpfr_get_si(r8685, MPFR_RNDN)) { mpfr_set(r8711, r8710, MPFR_RNDN); } else { mpfr_set(r8711, r8702, MPFR_RNDN); };
        ;
        mpfr_set_si(r8713, mpfr_cmp(r8703, r8712) <= 0, MPFR_RNDN);
        mpfr_div(r8714, r8687, r8683, MPFR_RNDN);
        mpfr_div(r8715, r8683, r8689, MPFR_RNDN);
        mpfr_sub(r8716, r8714, r8715, MPFR_RNDN);
        mpfr_fma(r8717, r8692, r8691, r8693, MPFR_RNDN);
        mpfr_sqrt(r8718, r8717, MPFR_RNDN);
        mpfr_sub(r8719, r8718, r8683, MPFR_RNDN);
        mpfr_div(r8720, r8701, r8719, MPFR_RNDN);
        if (mpfr_get_si(r8685, MPFR_RNDN)) { mpfr_set(r8721, r8716, MPFR_RNDN); } else { mpfr_set(r8721, r8720, MPFR_RNDN); };
        ;
        mpfr_set_si(r8723, mpfr_cmp(r8703, r8722) <= 0, MPFR_RNDN);
        mpfr_sub(r8724, r8706, r8683, MPFR_RNDN);
        mpfr_div(r8725, r8724, r8699, MPFR_RNDN);
        if (mpfr_get_si(r8685, MPFR_RNDN)) { mpfr_set(r8726, r8725, MPFR_RNDN); } else { mpfr_set(r8726, r8702, MPFR_RNDN); };
        if (mpfr_get_si(r8723, MPFR_RNDN)) { mpfr_set(r8727, r8711, MPFR_RNDN); } else { mpfr_set(r8727, r8726, MPFR_RNDN); };
        if (mpfr_get_si(r8713, MPFR_RNDN)) { mpfr_set(r8728, r8721, MPFR_RNDN); } else { mpfr_set(r8728, r8727, MPFR_RNDN); };
        if (mpfr_get_si(r8705, MPFR_RNDN)) { mpfr_set(r8729, r8711, MPFR_RNDN); } else { mpfr_set(r8729, r8728, MPFR_RNDN); };
        return mpfr_get_d(r8729, MPFR_RNDN);
}

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

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r8730);
        mpfr_init_set_str(r8731, "0", 10, MPFR_RNDN);
        mpfr_init(r8732);
        mpfr_init_set_str(r8733, "4", 10, MPFR_RNDN);
        mpfr_init(r8734);
        mpfr_init(r8735);
        mpfr_init(r8736);
        mpfr_init(r8737);
        mpfr_init(r8738);
        mpfr_init(r8739);
        mpfr_init(r8740);
        mpfr_init(r8741);
        mpfr_init(r8742);
        mpfr_init(r8743);
        mpfr_init(r8744);
        mpfr_init_set_str(r8745, "2", 10, MPFR_RNDN);
        mpfr_init(r8746);
        mpfr_init(r8747);
        mpfr_init(r8748);
        mpfr_init(r8749);
        mpfr_init(r8750);
        mpfr_init_set_str(r8751, "-9.347329398847064e-141", 10, MPFR_RNDN);
        mpfr_init(r8752);
        mpfr_init(r8753);
        mpfr_init(r8754);
        mpfr_init(r8755);
        mpfr_init(r8756);
        mpfr_init(r8757);
        mpfr_init(r8758);
        mpfr_init_set_str(r8759, "9.549114654142017e-293", 10, MPFR_RNDN);
        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_set_str(r8769, "3.266227044602685e+267", 10, MPFR_RNDN);
        mpfr_init(r8770);
        mpfr_init(r8771);
        mpfr_init(r8772);
        mpfr_init(r8773);
        mpfr_init(r8774);
        mpfr_init(r8775);
        mpfr_init(r8776);
}

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

