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

char *name = "The quadratic formula (r2)";

double f_if(float a, float b, float c) {
        float r9700 = b;
        float r9701 = -r9700;
        float r9702 = r9700 * r9700;
        float r9703 = 4;
        float r9704 = a;
        float r9705 = c;
        float r9706 = r9704 * r9705;
        float r9707 = r9703 * r9706;
        float r9708 = r9702 - r9707;
        float r9709 = sqrt(r9708);
        float r9710 = r9701 - r9709;
        float r9711 = 2;
        float r9712 = r9711 * r9704;
        float r9713 = r9710 / r9712;
        return r9713;
}

double f_id(double a, double b, double c) {
        double r9714 = b;
        double r9715 = -r9714;
        double r9716 = r9714 * r9714;
        double r9717 = 4;
        double r9718 = a;
        double r9719 = c;
        double r9720 = r9718 * r9719;
        double r9721 = r9717 * r9720;
        double r9722 = r9716 - r9721;
        double r9723 = sqrt(r9722);
        double r9724 = r9715 - r9723;
        double r9725 = 2;
        double r9726 = r9725 * r9718;
        double r9727 = r9724 / r9726;
        return r9727;
}


double f_of(float a, float b, float c) {
        float r9728 = b;
        float r9729 = -0.023046085366440986;
        bool r9730 = r9728 <= r9729;
        float r9731 = c;
        float r9732 = r9731 / r9728;
        float r9733 = -r9732;
        float r9734 = 1.8901979532421568e-305;
        bool r9735 = r9728 <= r9734;
        float r9736 = a;
        float r9737 = r9728 * r9728;
        float r9738 = 4;
        float r9739 = r9738 * r9731;
        float r9740 = r9739 * r9736;
        float r9741 = r9737 - r9740;
        float r9742 = sqrt(r9741);
        float r9743 = r9742 - r9728;
        float r9744 = sqrt(r9743);
        float r9745 = r9736 / r9744;
        float r9746 = r9739 / r9744;
        float r9747 = r9745 * r9746;
        float r9748 = 2;
        float r9749 = r9748 * r9736;
        float r9750 = r9747 / r9749;
        float r9751 = 1.4399774592443239e+37;
        bool r9752 = r9728 <= r9751;
        float r9753 = -r9728;
        float r9754 = r9736 * r9731;
        float r9755 = r9738 * r9754;
        float r9756 = r9737 - r9755;
        float r9757 = sqrt(r9756);
        float r9758 = r9753 - r9757;
        float r9759 = 1;
        float r9760 = r9759 / r9749;
        float r9761 = r9758 * r9760;
        float r9762 = r9728 / r9736;
        float r9763 = r9732 - r9762;
        float r9764 = r9752 ? r9761 : r9763;
        float r9765 = r9735 ? r9750 : r9764;
        float r9766 = r9730 ? r9733 : r9765;
        return r9766;
}

double f_od(double a, double b, double c) {
        double r9767 = b;
        double r9768 = -0.023046085366440986;
        bool r9769 = r9767 <= r9768;
        double r9770 = c;
        double r9771 = r9770 / r9767;
        double r9772 = -r9771;
        double r9773 = 1.8901979532421568e-305;
        bool r9774 = r9767 <= r9773;
        double r9775 = a;
        double r9776 = r9767 * r9767;
        double r9777 = 4;
        double r9778 = r9777 * r9770;
        double r9779 = r9778 * r9775;
        double r9780 = r9776 - r9779;
        double r9781 = sqrt(r9780);
        double r9782 = r9781 - r9767;
        double r9783 = sqrt(r9782);
        double r9784 = r9775 / r9783;
        double r9785 = r9778 / r9783;
        double r9786 = r9784 * r9785;
        double r9787 = 2;
        double r9788 = r9787 * r9775;
        double r9789 = r9786 / r9788;
        double r9790 = 1.4399774592443239e+37;
        bool r9791 = r9767 <= r9790;
        double r9792 = -r9767;
        double r9793 = r9775 * r9770;
        double r9794 = r9777 * r9793;
        double r9795 = r9776 - r9794;
        double r9796 = sqrt(r9795);
        double r9797 = r9792 - r9796;
        double r9798 = 1;
        double r9799 = r9798 / r9788;
        double r9800 = r9797 * r9799;
        double r9801 = r9767 / r9775;
        double r9802 = r9771 - r9801;
        double r9803 = r9791 ? r9800 : r9802;
        double r9804 = r9774 ? r9789 : r9803;
        double r9805 = r9769 ? r9772 : r9804;
        return r9805;
}

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 r9806, r9807, r9808, r9809, r9810, r9811, r9812, r9813, r9814, r9815, r9816, r9817, r9818, r9819;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(3408);
        mpfr_init(r9806);
        mpfr_init(r9807);
        mpfr_init(r9808);
        mpfr_init_set_str(r9809, "4", 10, MPFR_RNDN);
        mpfr_init(r9810);
        mpfr_init(r9811);
        mpfr_init(r9812);
        mpfr_init(r9813);
        mpfr_init(r9814);
        mpfr_init(r9815);
        mpfr_init(r9816);
        mpfr_init_set_str(r9817, "2", 10, MPFR_RNDN);
        mpfr_init(r9818);
        mpfr_init(r9819);
}

double f_im(double a, double b, double c) {
        mpfr_set_d(r9806, b, MPFR_RNDN);
        mpfr_neg(r9807, r9806, MPFR_RNDN);
        mpfr_mul(r9808, r9806, r9806, MPFR_RNDN);
        ;
        mpfr_set_d(r9810, a, MPFR_RNDN);
        mpfr_set_d(r9811, c, MPFR_RNDN);
        mpfr_mul(r9812, r9810, r9811, MPFR_RNDN);
        mpfr_mul(r9813, r9809, r9812, MPFR_RNDN);
        mpfr_sub(r9814, r9808, r9813, MPFR_RNDN);
        mpfr_sqrt(r9815, r9814, MPFR_RNDN);
        mpfr_sub(r9816, r9807, r9815, MPFR_RNDN);
        ;
        mpfr_mul(r9818, r9817, r9810, MPFR_RNDN);
        mpfr_div(r9819, r9816, r9818, MPFR_RNDN);
        return mpfr_get_d(r9819, MPFR_RNDN);
}

static mpfr_t r9820, r9821, r9822, r9823, r9824, r9825, r9826, r9827, r9828, r9829, r9830, r9831, r9832, r9833, r9834, r9835, r9836, r9837, r9838, r9839, r9840, r9841, r9842, r9843, r9844, r9845, r9846, r9847, r9848, r9849, r9850, r9851, r9852, r9853, r9854, r9855, r9856, r9857, r9858;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r9820);
        mpfr_init_set_str(r9821, "-0.023046085366440986", 10, MPFR_RNDN);
        mpfr_init(r9822);
        mpfr_init(r9823);
        mpfr_init(r9824);
        mpfr_init(r9825);
        mpfr_init_set_str(r9826, "1.8901979532421568e-305", 10, MPFR_RNDN);
        mpfr_init(r9827);
        mpfr_init(r9828);
        mpfr_init(r9829);
        mpfr_init_set_str(r9830, "4", 10, MPFR_RNDN);
        mpfr_init(r9831);
        mpfr_init(r9832);
        mpfr_init(r9833);
        mpfr_init(r9834);
        mpfr_init(r9835);
        mpfr_init(r9836);
        mpfr_init(r9837);
        mpfr_init(r9838);
        mpfr_init(r9839);
        mpfr_init_set_str(r9840, "2", 10, MPFR_RNDN);
        mpfr_init(r9841);
        mpfr_init(r9842);
        mpfr_init_set_str(r9843, "1.4399774592443239e+37", 10, MPFR_RNDN);
        mpfr_init(r9844);
        mpfr_init(r9845);
        mpfr_init(r9846);
        mpfr_init(r9847);
        mpfr_init(r9848);
        mpfr_init(r9849);
        mpfr_init(r9850);
        mpfr_init_set_str(r9851, "1", 10, MPFR_RNDN);
        mpfr_init(r9852);
        mpfr_init(r9853);
        mpfr_init(r9854);
        mpfr_init(r9855);
        mpfr_init(r9856);
        mpfr_init(r9857);
        mpfr_init(r9858);
}

double f_fm(double a, double b, double c) {
        mpfr_set_d(r9820, b, MPFR_RNDN);
        ;
        mpfr_set_si(r9822, mpfr_cmp(r9820, r9821) <= 0, MPFR_RNDN);
        mpfr_set_d(r9823, c, MPFR_RNDN);
        mpfr_div(r9824, r9823, r9820, MPFR_RNDN);
        mpfr_neg(r9825, r9824, MPFR_RNDN);
        ;
        mpfr_set_si(r9827, mpfr_cmp(r9820, r9826) <= 0, MPFR_RNDN);
        mpfr_set_d(r9828, a, MPFR_RNDN);
        mpfr_mul(r9829, r9820, r9820, MPFR_RNDN);
        ;
        mpfr_mul(r9831, r9830, r9823, MPFR_RNDN);
        mpfr_mul(r9832, r9831, r9828, MPFR_RNDN);
        mpfr_sub(r9833, r9829, r9832, MPFR_RNDN);
        mpfr_sqrt(r9834, r9833, MPFR_RNDN);
        mpfr_sub(r9835, r9834, r9820, MPFR_RNDN);
        mpfr_sqrt(r9836, r9835, MPFR_RNDN);
        mpfr_div(r9837, r9828, r9836, MPFR_RNDN);
        mpfr_div(r9838, r9831, r9836, MPFR_RNDN);
        mpfr_mul(r9839, r9837, r9838, MPFR_RNDN);
        ;
        mpfr_mul(r9841, r9840, r9828, MPFR_RNDN);
        mpfr_div(r9842, r9839, r9841, MPFR_RNDN);
        ;
        mpfr_set_si(r9844, mpfr_cmp(r9820, r9843) <= 0, MPFR_RNDN);
        mpfr_neg(r9845, r9820, MPFR_RNDN);
        mpfr_mul(r9846, r9828, r9823, MPFR_RNDN);
        mpfr_mul(r9847, r9830, r9846, MPFR_RNDN);
        mpfr_sub(r9848, r9829, r9847, MPFR_RNDN);
        mpfr_sqrt(r9849, r9848, MPFR_RNDN);
        mpfr_sub(r9850, r9845, r9849, MPFR_RNDN);
        ;
        mpfr_div(r9852, r9851, r9841, MPFR_RNDN);
        mpfr_mul(r9853, r9850, r9852, MPFR_RNDN);
        mpfr_div(r9854, r9820, r9828, MPFR_RNDN);
        mpfr_sub(r9855, r9824, r9854, MPFR_RNDN);
        if (mpfr_get_si(r9844, MPFR_RNDN)) { mpfr_set(r9856, r9853, MPFR_RNDN); } else { mpfr_set(r9856, r9855, MPFR_RNDN); };
        if (mpfr_get_si(r9827, MPFR_RNDN)) { mpfr_set(r9857, r9842, MPFR_RNDN); } else { mpfr_set(r9857, r9856, MPFR_RNDN); };
        if (mpfr_get_si(r9822, MPFR_RNDN)) { mpfr_set(r9858, r9825, MPFR_RNDN); } else { mpfr_set(r9858, r9857, MPFR_RNDN); };
        return mpfr_get_d(r9858, MPFR_RNDN);
}

static mpfr_t r9859, r9860, r9861, r9862, r9863, r9864, r9865, r9866, r9867, r9868, r9869, r9870, r9871, r9872, r9873, r9874, r9875, r9876, r9877, r9878, r9879, r9880, r9881, r9882, r9883, r9884, r9885, r9886, r9887, r9888, r9889, r9890, r9891, r9892, r9893, r9894, r9895, r9896, r9897;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(3408);
        mpfr_init(r9859);
        mpfr_init_set_str(r9860, "-0.023046085366440986", 10, MPFR_RNDN);
        mpfr_init(r9861);
        mpfr_init(r9862);
        mpfr_init(r9863);
        mpfr_init(r9864);
        mpfr_init_set_str(r9865, "1.8901979532421568e-305", 10, MPFR_RNDN);
        mpfr_init(r9866);
        mpfr_init(r9867);
        mpfr_init(r9868);
        mpfr_init_set_str(r9869, "4", 10, MPFR_RNDN);
        mpfr_init(r9870);
        mpfr_init(r9871);
        mpfr_init(r9872);
        mpfr_init(r9873);
        mpfr_init(r9874);
        mpfr_init(r9875);
        mpfr_init(r9876);
        mpfr_init(r9877);
        mpfr_init(r9878);
        mpfr_init_set_str(r9879, "2", 10, MPFR_RNDN);
        mpfr_init(r9880);
        mpfr_init(r9881);
        mpfr_init_set_str(r9882, "1.4399774592443239e+37", 10, MPFR_RNDN);
        mpfr_init(r9883);
        mpfr_init(r9884);
        mpfr_init(r9885);
        mpfr_init(r9886);
        mpfr_init(r9887);
        mpfr_init(r9888);
        mpfr_init(r9889);
        mpfr_init_set_str(r9890, "1", 10, MPFR_RNDN);
        mpfr_init(r9891);
        mpfr_init(r9892);
        mpfr_init(r9893);
        mpfr_init(r9894);
        mpfr_init(r9895);
        mpfr_init(r9896);
        mpfr_init(r9897);
}

double f_dm(double a, double b, double c) {
        mpfr_set_d(r9859, b, MPFR_RNDN);
        ;
        mpfr_set_si(r9861, mpfr_cmp(r9859, r9860) <= 0, MPFR_RNDN);
        mpfr_set_d(r9862, c, MPFR_RNDN);
        mpfr_div(r9863, r9862, r9859, MPFR_RNDN);
        mpfr_neg(r9864, r9863, MPFR_RNDN);
        ;
        mpfr_set_si(r9866, mpfr_cmp(r9859, r9865) <= 0, MPFR_RNDN);
        mpfr_set_d(r9867, a, MPFR_RNDN);
        mpfr_mul(r9868, r9859, r9859, MPFR_RNDN);
        ;
        mpfr_mul(r9870, r9869, r9862, MPFR_RNDN);
        mpfr_mul(r9871, r9870, r9867, MPFR_RNDN);
        mpfr_sub(r9872, r9868, r9871, MPFR_RNDN);
        mpfr_sqrt(r9873, r9872, MPFR_RNDN);
        mpfr_sub(r9874, r9873, r9859, MPFR_RNDN);
        mpfr_sqrt(r9875, r9874, MPFR_RNDN);
        mpfr_div(r9876, r9867, r9875, MPFR_RNDN);
        mpfr_div(r9877, r9870, r9875, MPFR_RNDN);
        mpfr_mul(r9878, r9876, r9877, MPFR_RNDN);
        ;
        mpfr_mul(r9880, r9879, r9867, MPFR_RNDN);
        mpfr_div(r9881, r9878, r9880, MPFR_RNDN);
        ;
        mpfr_set_si(r9883, mpfr_cmp(r9859, r9882) <= 0, MPFR_RNDN);
        mpfr_neg(r9884, r9859, MPFR_RNDN);
        mpfr_mul(r9885, r9867, r9862, MPFR_RNDN);
        mpfr_mul(r9886, r9869, r9885, MPFR_RNDN);
        mpfr_sub(r9887, r9868, r9886, MPFR_RNDN);
        mpfr_sqrt(r9888, r9887, MPFR_RNDN);
        mpfr_sub(r9889, r9884, r9888, MPFR_RNDN);
        ;
        mpfr_div(r9891, r9890, r9880, MPFR_RNDN);
        mpfr_mul(r9892, r9889, r9891, MPFR_RNDN);
        mpfr_div(r9893, r9859, r9867, MPFR_RNDN);
        mpfr_sub(r9894, r9863, r9893, MPFR_RNDN);
        if (mpfr_get_si(r9883, MPFR_RNDN)) { mpfr_set(r9895, r9892, MPFR_RNDN); } else { mpfr_set(r9895, r9894, MPFR_RNDN); };
        if (mpfr_get_si(r9866, MPFR_RNDN)) { mpfr_set(r9896, r9881, MPFR_RNDN); } else { mpfr_set(r9896, r9895, MPFR_RNDN); };
        if (mpfr_get_si(r9861, MPFR_RNDN)) { mpfr_set(r9897, r9864, MPFR_RNDN); } else { mpfr_set(r9897, r9896, MPFR_RNDN); };
        return mpfr_get_d(r9897, MPFR_RNDN);
}

