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

char *name = "jeff quadratic root 2";

double f_if(float a, float b, float c) {
        float r18625 = b;
        float r18626 = 0.0f;
        bool r18627 = r18625 >= r18626;
        float r18628 = 2.0f;
        float r18629 = c;
        float r18630 = r18628 * r18629;
        float r18631 = -r18625;
        float r18632 = r18625 * r18625;
        float r18633 = 4.0f;
        float r18634 = a;
        float r18635 = r18633 * r18634;
        float r18636 = r18635 * r18629;
        float r18637 = r18632 - r18636;
        float r18638 = sqrt(r18637);
        float r18639 = r18631 - r18638;
        float r18640 = r18630 / r18639;
        float r18641 = r18631 + r18638;
        float r18642 = r18628 * r18634;
        float r18643 = r18641 / r18642;
        float r18644 = r18627 ? r18640 : r18643;
        return r18644;
}

double f_id(double a, double b, double c) {
        double r18645 = b;
        double r18646 = 0.0;
        bool r18647 = r18645 >= r18646;
        double r18648 = 2.0;
        double r18649 = c;
        double r18650 = r18648 * r18649;
        double r18651 = -r18645;
        double r18652 = r18645 * r18645;
        double r18653 = 4.0;
        double r18654 = a;
        double r18655 = r18653 * r18654;
        double r18656 = r18655 * r18649;
        double r18657 = r18652 - r18656;
        double r18658 = sqrt(r18657);
        double r18659 = r18651 - r18658;
        double r18660 = r18650 / r18659;
        double r18661 = r18651 + r18658;
        double r18662 = r18648 * r18654;
        double r18663 = r18661 / r18662;
        double r18664 = r18647 ? r18660 : r18663;
        return r18664;
}


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

double f_od(double a, double b, double c) {
        double r18719 = b;
        double r18720 = -1.1660034684033087e+116;
        bool r18721 = r18719 <= r18720;
        double r18722 = 0.0;
        bool r18723 = r18719 >= r18722;
        double r18724 = c;
        double r18725 = r18724 + r18724;
        double r18726 = -r18719;
        double r18727 = r18719 * r18719;
        double r18728 = a;
        double r18729 = r18724 * r18728;
        double r18730 = 4.0;
        double r18731 = r18729 * r18730;
        double r18732 = r18727 - r18731;
        double r18733 = sqrt(r18732);
        double r18734 = r18726 - r18733;
        double r18735 = r18725 / r18734;
        double r18736 = r18724 / r18719;
        double r18737 = r18719 / r18728;
        double r18738 = r18736 - r18737;
        double r18739 = r18723 ? r18735 : r18738;
        double r18740 = 4.7889255541663315e+147;
        bool r18741 = r18719 <= r18740;
        double r18742 = 2.0;
        double r18743 = r18742 * r18724;
        double r18744 = r18730 * r18728;
        double r18745 = r18744 * r18724;
        double r18746 = r18727 - r18745;
        double r18747 = sqrt(r18746);
        double r18748 = sqrt(r18747);
        double r18749 = r18748 * r18748;
        double r18750 = r18726 - r18749;
        double r18751 = r18743 / r18750;
        double r18752 = r18726 + r18747;
        double r18753 = r18742 * r18728;
        double r18754 = r18752 / r18753;
        double r18755 = r18723 ? r18751 : r18754;
        double r18756 = r18719 / r18724;
        double r18757 = r18728 / r18756;
        double r18758 = cbrt(r18757);
        double r18759 = r18758 * (r18758 * r18758);
        double r18760 = r18759 - r18719;
        double r18761 = r18724 / r18760;
        double r18762 = r18719 * r18719;
        double r18763 = r18730 * r18724;
        double r18764 = r18763 * r18728;
        double r18765 = r18762 - r18764;
        double r18766 = sqrt(r18765);
        double r18767 = r18726 + r18766;
        double r18768 = r18728 + r18728;
        double r18769 = r18767 / r18768;
        double r18770 = r18723 ? r18761 : r18769;
        double r18771 = r18741 ? r18755 : r18770;
        double r18772 = r18721 ? r18739 : r18771;
        return r18772;
}

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 r18773, r18774, r18775, r18776, r18777, r18778, r18779, r18780, r18781, r18782, r18783, r18784, r18785, r18786, r18787, r18788, r18789, r18790, r18791, r18792;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r18773);
        mpfr_init_set_str(r18774, "0", 10, MPFR_RNDN);
        mpfr_init(r18775);
        mpfr_init_set_str(r18776, "2", 10, MPFR_RNDN);
        mpfr_init(r18777);
        mpfr_init(r18778);
        mpfr_init(r18779);
        mpfr_init(r18780);
        mpfr_init_set_str(r18781, "4", 10, MPFR_RNDN);
        mpfr_init(r18782);
        mpfr_init(r18783);
        mpfr_init(r18784);
        mpfr_init(r18785);
        mpfr_init(r18786);
        mpfr_init(r18787);
        mpfr_init(r18788);
        mpfr_init(r18789);
        mpfr_init(r18790);
        mpfr_init(r18791);
        mpfr_init(r18792);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r18773, b, MPFR_RNDN);
        ;
        mpfr_set_si(r18775, mpfr_cmp(r18773, r18774) >= 0, MPFR_RNDN);
        ;
        mpfr_set_d(r18777, c, MPFR_RNDN);
        mpfr_mul(r18778, r18776, r18777, MPFR_RNDN);
        mpfr_neg(r18779, r18773, MPFR_RNDN);
        mpfr_sqr(r18780, r18773, MPFR_RNDN);
        ;
        mpfr_set_d(r18782, a, MPFR_RNDN);
        mpfr_mul(r18783, r18781, r18782, MPFR_RNDN);
        mpfr_mul(r18784, r18783, r18777, MPFR_RNDN);
        mpfr_sub(r18785, r18780, r18784, MPFR_RNDN);
        mpfr_sqrt(r18786, r18785, MPFR_RNDN);
        mpfr_sub(r18787, r18779, r18786, MPFR_RNDN);
        mpfr_div(r18788, r18778, r18787, MPFR_RNDN);
        mpfr_add(r18789, r18779, r18786, MPFR_RNDN);
        mpfr_mul(r18790, r18776, r18782, MPFR_RNDN);
        mpfr_div(r18791, r18789, r18790, MPFR_RNDN);
        if (mpfr_get_si(r18775, MPFR_RNDN)) { mpfr_set(r18792, r18788, MPFR_RNDN); } else { mpfr_set(r18792, r18791, MPFR_RNDN); };
        return mpfr_get_d(r18792, MPFR_RNDN);
}

static mpfr_t 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, r18840, r18841, r18842, r18843, r18844, r18845, r18846;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18793);
        mpfr_init_set_str(r18794, "-1.1660034684033087e+116", 10, MPFR_RNDN);
        mpfr_init(r18795);
        mpfr_init_set_str(r18796, "0", 10, MPFR_RNDN);
        mpfr_init(r18797);
        mpfr_init(r18798);
        mpfr_init(r18799);
        mpfr_init(r18800);
        mpfr_init(r18801);
        mpfr_init(r18802);
        mpfr_init(r18803);
        mpfr_init_set_str(r18804, "4", 10, MPFR_RNDN);
        mpfr_init(r18805);
        mpfr_init(r18806);
        mpfr_init(r18807);
        mpfr_init(r18808);
        mpfr_init(r18809);
        mpfr_init(r18810);
        mpfr_init(r18811);
        mpfr_init(r18812);
        mpfr_init(r18813);
        mpfr_init_set_str(r18814, "4.7889255541663315e+147", 10, MPFR_RNDN);
        mpfr_init(r18815);
        mpfr_init_set_str(r18816, "2", 10, MPFR_RNDN);
        mpfr_init(r18817);
        mpfr_init(r18818);
        mpfr_init(r18819);
        mpfr_init(r18820);
        mpfr_init(r18821);
        mpfr_init(r18822);
        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);
        mpfr_init(r18840);
        mpfr_init(r18841);
        mpfr_init(r18842);
        mpfr_init(r18843);
        mpfr_init(r18844);
        mpfr_init(r18845);
        mpfr_init(r18846);
}

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

static mpfr_t r18847, r18848, r18849, r18850, r18851, r18852, r18853, r18854, r18855, r18856, r18857, r18858, r18859, r18860, r18861, r18862, r18863, r18864, r18865, r18866, r18867, r18868, r18869, r18870, r18871, r18872, r18873, r18874, r18875, r18876, r18877, r18878, r18879, r18880, r18881, r18882, r18883, r18884, r18885, r18886, r18887, r18888, r18889, r18890, r18891, r18892, r18893, r18894, r18895, r18896, r18897, r18898, r18899, r18900;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18847);
        mpfr_init_set_str(r18848, "-1.1660034684033087e+116", 10, MPFR_RNDN);
        mpfr_init(r18849);
        mpfr_init_set_str(r18850, "0", 10, MPFR_RNDN);
        mpfr_init(r18851);
        mpfr_init(r18852);
        mpfr_init(r18853);
        mpfr_init(r18854);
        mpfr_init(r18855);
        mpfr_init(r18856);
        mpfr_init(r18857);
        mpfr_init_set_str(r18858, "4", 10, MPFR_RNDN);
        mpfr_init(r18859);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init(r18862);
        mpfr_init(r18863);
        mpfr_init(r18864);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init(r18867);
        mpfr_init_set_str(r18868, "4.7889255541663315e+147", 10, MPFR_RNDN);
        mpfr_init(r18869);
        mpfr_init_set_str(r18870, "2", 10, MPFR_RNDN);
        mpfr_init(r18871);
        mpfr_init(r18872);
        mpfr_init(r18873);
        mpfr_init(r18874);
        mpfr_init(r18875);
        mpfr_init(r18876);
        mpfr_init(r18877);
        mpfr_init(r18878);
        mpfr_init(r18879);
        mpfr_init(r18880);
        mpfr_init(r18881);
        mpfr_init(r18882);
        mpfr_init(r18883);
        mpfr_init(r18884);
        mpfr_init(r18885);
        mpfr_init(r18886);
        mpfr_init(r18887);
        mpfr_init(r18888);
        mpfr_init(r18889);
        mpfr_init(r18890);
        mpfr_init(r18891);
        mpfr_init(r18892);
        mpfr_init(r18893);
        mpfr_init(r18894);
        mpfr_init(r18895);
        mpfr_init(r18896);
        mpfr_init(r18897);
        mpfr_init(r18898);
        mpfr_init(r18899);
        mpfr_init(r18900);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r18847, b, MPFR_RNDN);
        ;
        mpfr_set_si(r18849, mpfr_cmp(r18847, r18848) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r18851, mpfr_cmp(r18847, r18850) >= 0, MPFR_RNDN);
        mpfr_set_d(r18852, c, MPFR_RNDN);
        mpfr_add(r18853, r18852, r18852, MPFR_RNDN);
        mpfr_neg(r18854, r18847, MPFR_RNDN);
        mpfr_sqr(r18855, r18847, MPFR_RNDN);
        mpfr_set_d(r18856, a, MPFR_RNDN);
        mpfr_mul(r18857, r18852, r18856, MPFR_RNDN);
        ;
        mpfr_mul(r18859, r18857, r18858, MPFR_RNDN);
        mpfr_sub(r18860, r18855, r18859, MPFR_RNDN);
        mpfr_sqrt(r18861, r18860, MPFR_RNDN);
        mpfr_sub(r18862, r18854, r18861, MPFR_RNDN);
        mpfr_div(r18863, r18853, r18862, MPFR_RNDN);
        mpfr_div(r18864, r18852, r18847, MPFR_RNDN);
        mpfr_div(r18865, r18847, r18856, MPFR_RNDN);
        mpfr_sub(r18866, r18864, r18865, MPFR_RNDN);
        if (mpfr_get_si(r18851, MPFR_RNDN)) { mpfr_set(r18867, r18863, MPFR_RNDN); } else { mpfr_set(r18867, r18866, MPFR_RNDN); };
        ;
        mpfr_set_si(r18869, mpfr_cmp(r18847, r18868) <= 0, MPFR_RNDN);
        ;
        mpfr_mul(r18871, r18870, r18852, MPFR_RNDN);
        mpfr_mul(r18872, r18858, r18856, MPFR_RNDN);
        mpfr_mul(r18873, r18872, r18852, MPFR_RNDN);
        mpfr_sub(r18874, r18855, r18873, MPFR_RNDN);
        mpfr_sqrt(r18875, r18874, MPFR_RNDN);
        mpfr_sqrt(r18876, r18875, MPFR_RNDN);
        mpfr_sqr(r18877, r18876, MPFR_RNDN);
        mpfr_sub(r18878, r18854, r18877, MPFR_RNDN);
        mpfr_div(r18879, r18871, r18878, MPFR_RNDN);
        mpfr_add(r18880, r18854, r18875, MPFR_RNDN);
        mpfr_mul(r18881, r18870, r18856, MPFR_RNDN);
        mpfr_div(r18882, r18880, r18881, MPFR_RNDN);
        if (mpfr_get_si(r18851, MPFR_RNDN)) { mpfr_set(r18883, r18879, MPFR_RNDN); } else { mpfr_set(r18883, r18882, MPFR_RNDN); };
        mpfr_div(r18884, r18847, r18852, MPFR_RNDN);
        mpfr_div(r18885, r18856, r18884, MPFR_RNDN);
        mpfr_cbrt(r18886, r18885, MPFR_RNDN);
        mpfr_mul(r18887, r18886, r18886, MPFR_RNDN); mpfr_mul(r18887, r18887, r18886, MPFR_RNDN);
        mpfr_sub(r18888, r18887, r18847, MPFR_RNDN);
        mpfr_div(r18889, r18852, r18888, MPFR_RNDN);
        mpfr_mul(r18890, r18847, r18847, MPFR_RNDN);
        mpfr_mul(r18891, r18858, r18852, MPFR_RNDN);
        mpfr_mul(r18892, r18891, r18856, MPFR_RNDN);
        mpfr_sub(r18893, r18890, r18892, MPFR_RNDN);
        mpfr_sqrt(r18894, r18893, MPFR_RNDN);
        mpfr_add(r18895, r18854, r18894, MPFR_RNDN);
        mpfr_add(r18896, r18856, r18856, MPFR_RNDN);
        mpfr_div(r18897, r18895, r18896, MPFR_RNDN);
        if (mpfr_get_si(r18851, MPFR_RNDN)) { mpfr_set(r18898, r18889, MPFR_RNDN); } else { mpfr_set(r18898, r18897, MPFR_RNDN); };
        if (mpfr_get_si(r18869, MPFR_RNDN)) { mpfr_set(r18899, r18883, MPFR_RNDN); } else { mpfr_set(r18899, r18898, MPFR_RNDN); };
        if (mpfr_get_si(r18849, MPFR_RNDN)) { mpfr_set(r18900, r18867, MPFR_RNDN); } else { mpfr_set(r18900, r18899, MPFR_RNDN); };
        return mpfr_get_d(r18900, MPFR_RNDN);
}

