#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 r18572 = b;
        float r18573 = 0.0f;
        bool r18574 = r18572 >= r18573;
        float r18575 = -r18572;
        float r18576 = r18572 * r18572;
        float r18577 = 4.0f;
        float r18578 = a;
        float r18579 = r18577 * r18578;
        float r18580 = c;
        float r18581 = r18579 * r18580;
        float r18582 = r18576 - r18581;
        float r18583 = sqrt(r18582);
        float r18584 = r18575 - r18583;
        float r18585 = 2.0f;
        float r18586 = r18585 * r18578;
        float r18587 = r18584 / r18586;
        float r18588 = r18585 * r18580;
        float r18589 = r18575 + r18583;
        float r18590 = r18588 / r18589;
        float r18591 = r18574 ? r18587 : r18590;
        return r18591;
}

double f_id(double a, double b, double c) {
        double r18592 = b;
        double r18593 = 0.0;
        bool r18594 = r18592 >= r18593;
        double r18595 = -r18592;
        double r18596 = r18592 * r18592;
        double r18597 = 4.0;
        double r18598 = a;
        double r18599 = r18597 * r18598;
        double r18600 = c;
        double r18601 = r18599 * r18600;
        double r18602 = r18596 - r18601;
        double r18603 = sqrt(r18602);
        double r18604 = r18595 - r18603;
        double r18605 = 2.0;
        double r18606 = r18605 * r18598;
        double r18607 = r18604 / r18606;
        double r18608 = r18605 * r18600;
        double r18609 = r18595 + r18603;
        double r18610 = r18608 / r18609;
        double r18611 = r18594 ? r18607 : r18610;
        return r18611;
}


double f_of(float a, float b, float c) {
        float r18612 = b;
        float r18613 = -1.64789921607571e+123f;
        bool r18614 = r18612 <= r18613;
        float r18615 = 0.0f;
        bool r18616 = r18612 >= r18615;
        float r18617 = -r18612;
        float r18618 = r18612 * r18612;
        float r18619 = c;
        float r18620 = a;
        float r18621 = 4.0f;
        float r18622 = r18620 * r18621;
        float r18623 = r18619 * r18622;
        float r18624 = r18618 - r18623;
        float r18625 = sqrt(r18624);
        float r18626 = r18617 - r18625;
        float r18627 = r18620 + r18620;
        float r18628 = r18626 / r18627;
        float r18629 = 1.0f;
        float r18630 = r18620 / r18612;
        float r18631 = r18619 * r18630;
        float r18632 = r18631 - r18612;
        float r18633 = r18629 / r18632;
        float r18634 = r18619 * r18633;
        float r18635 = r18616 ? r18628 : r18634;
        float r18636 = 9.141549925217606e+73f;
        bool r18637 = r18612 <= r18636;
        float r18638 = r18612 * r18612;
        float r18639 = r18621 * r18620;
        float r18640 = r18639 * r18619;
        float r18641 = r18638 - r18640;
        float r18642 = sqrt(r18641);
        float r18643 = sqrt(r18642);
        float r18644 = r18643 * r18643;
        float r18645 = r18617 - r18644;
        float r18646 = 2.0f;
        float r18647 = r18646 * r18620;
        float r18648 = r18645 / r18647;
        float r18649 = r18646 * r18619;
        float r18650 = r18617 + r18642;
        float r18651 = r18649 / r18650;
        float r18652 = r18616 ? r18648 : r18651;
        float r18653 = r18619 / r18612;
        float r18654 = r18612 / r18620;
        float r18655 = r18653 - r18654;
        float r18656 = r18619 + r18619;
        float r18657 = r18618 - r18640;
        float r18658 = sqrt(r18657);
        float r18659 = r18658 + r18617;
        float r18660 = r18656 / r18659;
        float r18661 = r18616 ? r18655 : r18660;
        float r18662 = r18637 ? r18652 : r18661;
        float r18663 = r18614 ? r18635 : r18662;
        return r18663;
}

double f_od(double a, double b, double c) {
        double r18664 = b;
        double r18665 = -1.64789921607571e+123;
        bool r18666 = r18664 <= r18665;
        double r18667 = 0.0;
        bool r18668 = r18664 >= r18667;
        double r18669 = -r18664;
        double r18670 = r18664 * r18664;
        double r18671 = c;
        double r18672 = a;
        double r18673 = 4.0;
        double r18674 = r18672 * r18673;
        double r18675 = r18671 * r18674;
        double r18676 = r18670 - r18675;
        double r18677 = sqrt(r18676);
        double r18678 = r18669 - r18677;
        double r18679 = r18672 + r18672;
        double r18680 = r18678 / r18679;
        double r18681 = 1.0;
        double r18682 = r18672 / r18664;
        double r18683 = r18671 * r18682;
        double r18684 = r18683 - r18664;
        double r18685 = r18681 / r18684;
        double r18686 = r18671 * r18685;
        double r18687 = r18668 ? r18680 : r18686;
        double r18688 = 9.141549925217606e+73;
        bool r18689 = r18664 <= r18688;
        double r18690 = r18664 * r18664;
        double r18691 = r18673 * r18672;
        double r18692 = r18691 * r18671;
        double r18693 = r18690 - r18692;
        double r18694 = sqrt(r18693);
        double r18695 = sqrt(r18694);
        double r18696 = r18695 * r18695;
        double r18697 = r18669 - r18696;
        double r18698 = 2.0;
        double r18699 = r18698 * r18672;
        double r18700 = r18697 / r18699;
        double r18701 = r18698 * r18671;
        double r18702 = r18669 + r18694;
        double r18703 = r18701 / r18702;
        double r18704 = r18668 ? r18700 : r18703;
        double r18705 = r18671 / r18664;
        double r18706 = r18664 / r18672;
        double r18707 = r18705 - r18706;
        double r18708 = r18671 + r18671;
        double r18709 = r18670 - r18692;
        double r18710 = sqrt(r18709);
        double r18711 = r18710 + r18669;
        double r18712 = r18708 / r18711;
        double r18713 = r18668 ? r18707 : r18712;
        double r18714 = r18689 ? r18704 : r18713;
        double r18715 = r18666 ? r18687 : r18714;
        return r18715;
}

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 r18716, r18717, r18718, r18719, r18720, r18721, r18722, r18723, r18724, r18725, r18726, r18727, r18728, r18729, r18730, r18731, r18732, r18733, r18734, r18735;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r18716);
        mpfr_init_set_str(r18717, "0", 10, MPFR_RNDN);
        mpfr_init(r18718);
        mpfr_init(r18719);
        mpfr_init(r18720);
        mpfr_init_set_str(r18721, "4", 10, MPFR_RNDN);
        mpfr_init(r18722);
        mpfr_init(r18723);
        mpfr_init(r18724);
        mpfr_init(r18725);
        mpfr_init(r18726);
        mpfr_init(r18727);
        mpfr_init(r18728);
        mpfr_init_set_str(r18729, "2", 10, MPFR_RNDN);
        mpfr_init(r18730);
        mpfr_init(r18731);
        mpfr_init(r18732);
        mpfr_init(r18733);
        mpfr_init(r18734);
        mpfr_init(r18735);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r18716, b, MPFR_RNDN);
        ;
        mpfr_set_si(r18718, mpfr_cmp(r18716, r18717) >= 0, MPFR_RNDN);
        mpfr_neg(r18719, r18716, MPFR_RNDN);
        mpfr_sqr(r18720, r18716, MPFR_RNDN);
        ;
        mpfr_set_d(r18722, a, MPFR_RNDN);
        mpfr_mul(r18723, r18721, r18722, MPFR_RNDN);
        mpfr_set_d(r18724, c, MPFR_RNDN);
        mpfr_mul(r18725, r18723, r18724, MPFR_RNDN);
        mpfr_sub(r18726, r18720, r18725, MPFR_RNDN);
        mpfr_sqrt(r18727, r18726, MPFR_RNDN);
        mpfr_sub(r18728, r18719, r18727, MPFR_RNDN);
        ;
        mpfr_mul(r18730, r18729, r18722, MPFR_RNDN);
        mpfr_div(r18731, r18728, r18730, MPFR_RNDN);
        mpfr_mul(r18732, r18729, r18724, MPFR_RNDN);
        mpfr_add(r18733, r18719, r18727, MPFR_RNDN);
        mpfr_div(r18734, r18732, r18733, MPFR_RNDN);
        if (mpfr_get_si(r18718, MPFR_RNDN)) { mpfr_set(r18735, r18731, MPFR_RNDN); } else { mpfr_set(r18735, r18734, MPFR_RNDN); };
        return mpfr_get_d(r18735, MPFR_RNDN);
}

static mpfr_t r18736, r18737, r18738, r18739, r18740, r18741, r18742, r18743, r18744, r18745, r18746, r18747, r18748, r18749, r18750, r18751, r18752, r18753, r18754, r18755, r18756, r18757, r18758, r18759, r18760, r18761, r18762, r18763, r18764, r18765, r18766, r18767, r18768, r18769, r18770, r18771, r18772, r18773, r18774, r18775, r18776, r18777, r18778, r18779, r18780, r18781, r18782, r18783, r18784, r18785, r18786, r18787;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r18736);
        mpfr_init_set_str(r18737, "-1.64789921607571e+123", 10, MPFR_RNDN);
        mpfr_init(r18738);
        mpfr_init_set_str(r18739, "0", 10, MPFR_RNDN);
        mpfr_init(r18740);
        mpfr_init(r18741);
        mpfr_init(r18742);
        mpfr_init(r18743);
        mpfr_init(r18744);
        mpfr_init_set_str(r18745, "4", 10, MPFR_RNDN);
        mpfr_init(r18746);
        mpfr_init(r18747);
        mpfr_init(r18748);
        mpfr_init(r18749);
        mpfr_init(r18750);
        mpfr_init(r18751);
        mpfr_init(r18752);
        mpfr_init_set_str(r18753, "1", 10, MPFR_RNDN);
        mpfr_init(r18754);
        mpfr_init(r18755);
        mpfr_init(r18756);
        mpfr_init(r18757);
        mpfr_init(r18758);
        mpfr_init(r18759);
        mpfr_init_set_str(r18760, "9.141549925217606e+73", 10, MPFR_RNDN);
        mpfr_init(r18761);
        mpfr_init(r18762);
        mpfr_init(r18763);
        mpfr_init(r18764);
        mpfr_init(r18765);
        mpfr_init(r18766);
        mpfr_init(r18767);
        mpfr_init(r18768);
        mpfr_init(r18769);
        mpfr_init_set_str(r18770, "2", 10, MPFR_RNDN);
        mpfr_init(r18771);
        mpfr_init(r18772);
        mpfr_init(r18773);
        mpfr_init(r18774);
        mpfr_init(r18775);
        mpfr_init(r18776);
        mpfr_init(r18777);
        mpfr_init(r18778);
        mpfr_init(r18779);
        mpfr_init(r18780);
        mpfr_init(r18781);
        mpfr_init(r18782);
        mpfr_init(r18783);
        mpfr_init(r18784);
        mpfr_init(r18785);
        mpfr_init(r18786);
        mpfr_init(r18787);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r18736, b, MPFR_RNDN);
        ;
        mpfr_set_si(r18738, mpfr_cmp(r18736, r18737) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r18740, mpfr_cmp(r18736, r18739) >= 0, MPFR_RNDN);
        mpfr_neg(r18741, r18736, MPFR_RNDN);
        mpfr_mul(r18742, r18736, r18736, MPFR_RNDN);
        mpfr_set_d(r18743, c, MPFR_RNDN);
        mpfr_set_d(r18744, a, MPFR_RNDN);
        ;
        mpfr_mul(r18746, r18744, r18745, MPFR_RNDN);
        mpfr_mul(r18747, r18743, r18746, MPFR_RNDN);
        mpfr_sub(r18748, r18742, r18747, MPFR_RNDN);
        mpfr_sqrt(r18749, r18748, MPFR_RNDN);
        mpfr_sub(r18750, r18741, r18749, MPFR_RNDN);
        mpfr_add(r18751, r18744, r18744, MPFR_RNDN);
        mpfr_div(r18752, r18750, r18751, MPFR_RNDN);
        ;
        mpfr_div(r18754, r18744, r18736, MPFR_RNDN);
        mpfr_mul(r18755, r18743, r18754, MPFR_RNDN);
        mpfr_sub(r18756, r18755, r18736, MPFR_RNDN);
        mpfr_div(r18757, r18753, r18756, MPFR_RNDN);
        mpfr_mul(r18758, r18743, r18757, MPFR_RNDN);
        if (mpfr_get_si(r18740, MPFR_RNDN)) { mpfr_set(r18759, r18752, MPFR_RNDN); } else { mpfr_set(r18759, r18758, MPFR_RNDN); };
        ;
        mpfr_set_si(r18761, mpfr_cmp(r18736, r18760) <= 0, MPFR_RNDN);
        mpfr_sqr(r18762, r18736, MPFR_RNDN);
        mpfr_mul(r18763, r18745, r18744, MPFR_RNDN);
        mpfr_mul(r18764, r18763, r18743, MPFR_RNDN);
        mpfr_sub(r18765, r18762, r18764, MPFR_RNDN);
        mpfr_sqrt(r18766, r18765, MPFR_RNDN);
        mpfr_sqrt(r18767, r18766, MPFR_RNDN);
        mpfr_sqr(r18768, r18767, MPFR_RNDN);
        mpfr_sub(r18769, r18741, r18768, MPFR_RNDN);
        ;
        mpfr_mul(r18771, r18770, r18744, MPFR_RNDN);
        mpfr_div(r18772, r18769, r18771, MPFR_RNDN);
        mpfr_mul(r18773, r18770, r18743, MPFR_RNDN);
        mpfr_add(r18774, r18741, r18766, MPFR_RNDN);
        mpfr_div(r18775, r18773, r18774, MPFR_RNDN);
        if (mpfr_get_si(r18740, MPFR_RNDN)) { mpfr_set(r18776, r18772, MPFR_RNDN); } else { mpfr_set(r18776, r18775, MPFR_RNDN); };
        mpfr_div(r18777, r18743, r18736, MPFR_RNDN);
        mpfr_div(r18778, r18736, r18744, MPFR_RNDN);
        mpfr_sub(r18779, r18777, r18778, MPFR_RNDN);
        mpfr_add(r18780, r18743, r18743, MPFR_RNDN);
        mpfr_sub(r18781, r18742, r18764, MPFR_RNDN);
        mpfr_sqrt(r18782, r18781, MPFR_RNDN);
        mpfr_add(r18783, r18782, r18741, MPFR_RNDN);
        mpfr_div(r18784, r18780, r18783, MPFR_RNDN);
        if (mpfr_get_si(r18740, MPFR_RNDN)) { mpfr_set(r18785, r18779, MPFR_RNDN); } else { mpfr_set(r18785, r18784, MPFR_RNDN); };
        if (mpfr_get_si(r18761, MPFR_RNDN)) { mpfr_set(r18786, r18776, MPFR_RNDN); } else { mpfr_set(r18786, r18785, MPFR_RNDN); };
        if (mpfr_get_si(r18738, MPFR_RNDN)) { mpfr_set(r18787, r18759, MPFR_RNDN); } else { mpfr_set(r18787, r18786, MPFR_RNDN); };
        return mpfr_get_d(r18787, MPFR_RNDN);
}

static mpfr_t r18788, r18789, r18790, r18791, r18792, r18793, r18794, r18795, r18796, r18797, r18798, r18799, r18800, r18801, r18802, r18803, r18804, r18805, r18806, r18807, r18808, r18809, r18810, r18811, r18812, r18813, r18814, r18815, r18816, r18817, r18818, r18819, r18820, r18821, r18822, r18823, r18824, r18825, r18826, r18827, r18828, r18829, r18830, r18831, r18832, r18833, r18834, r18835, r18836, r18837, r18838, r18839;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r18788);
        mpfr_init_set_str(r18789, "-1.64789921607571e+123", 10, MPFR_RNDN);
        mpfr_init(r18790);
        mpfr_init_set_str(r18791, "0", 10, MPFR_RNDN);
        mpfr_init(r18792);
        mpfr_init(r18793);
        mpfr_init(r18794);
        mpfr_init(r18795);
        mpfr_init(r18796);
        mpfr_init_set_str(r18797, "4", 10, MPFR_RNDN);
        mpfr_init(r18798);
        mpfr_init(r18799);
        mpfr_init(r18800);
        mpfr_init(r18801);
        mpfr_init(r18802);
        mpfr_init(r18803);
        mpfr_init(r18804);
        mpfr_init_set_str(r18805, "1", 10, MPFR_RNDN);
        mpfr_init(r18806);
        mpfr_init(r18807);
        mpfr_init(r18808);
        mpfr_init(r18809);
        mpfr_init(r18810);
        mpfr_init(r18811);
        mpfr_init_set_str(r18812, "9.141549925217606e+73", 10, MPFR_RNDN);
        mpfr_init(r18813);
        mpfr_init(r18814);
        mpfr_init(r18815);
        mpfr_init(r18816);
        mpfr_init(r18817);
        mpfr_init(r18818);
        mpfr_init(r18819);
        mpfr_init(r18820);
        mpfr_init(r18821);
        mpfr_init_set_str(r18822, "2", 10, MPFR_RNDN);
        mpfr_init(r18823);
        mpfr_init(r18824);
        mpfr_init(r18825);
        mpfr_init(r18826);
        mpfr_init(r18827);
        mpfr_init(r18828);
        mpfr_init(r18829);
        mpfr_init(r18830);
        mpfr_init(r18831);
        mpfr_init(r18832);
        mpfr_init(r18833);
        mpfr_init(r18834);
        mpfr_init(r18835);
        mpfr_init(r18836);
        mpfr_init(r18837);
        mpfr_init(r18838);
        mpfr_init(r18839);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r18788, b, MPFR_RNDN);
        ;
        mpfr_set_si(r18790, mpfr_cmp(r18788, r18789) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r18792, mpfr_cmp(r18788, r18791) >= 0, MPFR_RNDN);
        mpfr_neg(r18793, r18788, MPFR_RNDN);
        mpfr_mul(r18794, r18788, r18788, MPFR_RNDN);
        mpfr_set_d(r18795, c, MPFR_RNDN);
        mpfr_set_d(r18796, a, MPFR_RNDN);
        ;
        mpfr_mul(r18798, r18796, r18797, MPFR_RNDN);
        mpfr_mul(r18799, r18795, r18798, MPFR_RNDN);
        mpfr_sub(r18800, r18794, r18799, MPFR_RNDN);
        mpfr_sqrt(r18801, r18800, MPFR_RNDN);
        mpfr_sub(r18802, r18793, r18801, MPFR_RNDN);
        mpfr_add(r18803, r18796, r18796, MPFR_RNDN);
        mpfr_div(r18804, r18802, r18803, MPFR_RNDN);
        ;
        mpfr_div(r18806, r18796, r18788, MPFR_RNDN);
        mpfr_mul(r18807, r18795, r18806, MPFR_RNDN);
        mpfr_sub(r18808, r18807, r18788, MPFR_RNDN);
        mpfr_div(r18809, r18805, r18808, MPFR_RNDN);
        mpfr_mul(r18810, r18795, r18809, MPFR_RNDN);
        if (mpfr_get_si(r18792, MPFR_RNDN)) { mpfr_set(r18811, r18804, MPFR_RNDN); } else { mpfr_set(r18811, r18810, MPFR_RNDN); };
        ;
        mpfr_set_si(r18813, mpfr_cmp(r18788, r18812) <= 0, MPFR_RNDN);
        mpfr_sqr(r18814, r18788, MPFR_RNDN);
        mpfr_mul(r18815, r18797, r18796, MPFR_RNDN);
        mpfr_mul(r18816, r18815, r18795, MPFR_RNDN);
        mpfr_sub(r18817, r18814, r18816, MPFR_RNDN);
        mpfr_sqrt(r18818, r18817, MPFR_RNDN);
        mpfr_sqrt(r18819, r18818, MPFR_RNDN);
        mpfr_sqr(r18820, r18819, MPFR_RNDN);
        mpfr_sub(r18821, r18793, r18820, MPFR_RNDN);
        ;
        mpfr_mul(r18823, r18822, r18796, MPFR_RNDN);
        mpfr_div(r18824, r18821, r18823, MPFR_RNDN);
        mpfr_mul(r18825, r18822, r18795, MPFR_RNDN);
        mpfr_add(r18826, r18793, r18818, MPFR_RNDN);
        mpfr_div(r18827, r18825, r18826, MPFR_RNDN);
        if (mpfr_get_si(r18792, MPFR_RNDN)) { mpfr_set(r18828, r18824, MPFR_RNDN); } else { mpfr_set(r18828, r18827, MPFR_RNDN); };
        mpfr_div(r18829, r18795, r18788, MPFR_RNDN);
        mpfr_div(r18830, r18788, r18796, MPFR_RNDN);
        mpfr_sub(r18831, r18829, r18830, MPFR_RNDN);
        mpfr_add(r18832, r18795, r18795, MPFR_RNDN);
        mpfr_sub(r18833, r18794, r18816, MPFR_RNDN);
        mpfr_sqrt(r18834, r18833, MPFR_RNDN);
        mpfr_add(r18835, r18834, r18793, MPFR_RNDN);
        mpfr_div(r18836, r18832, r18835, MPFR_RNDN);
        if (mpfr_get_si(r18792, MPFR_RNDN)) { mpfr_set(r18837, r18831, MPFR_RNDN); } else { mpfr_set(r18837, r18836, MPFR_RNDN); };
        if (mpfr_get_si(r18813, MPFR_RNDN)) { mpfr_set(r18838, r18828, MPFR_RNDN); } else { mpfr_set(r18838, r18837, MPFR_RNDN); };
        if (mpfr_get_si(r18790, MPFR_RNDN)) { mpfr_set(r18839, r18811, MPFR_RNDN); } else { mpfr_set(r18839, r18838, MPFR_RNDN); };
        return mpfr_get_d(r18839, MPFR_RNDN);
}

