\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -8.87226991740961 \cdot 10^{30}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.6437072157644369 \cdot 10^{-156}:\\
\;\;\;\;\frac{\frac{a}{\frac{e^{\log \left(\sqrt{b_2 \cdot b_2 - a \cdot c}\right)} - b_2}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 1.9541965478093634 \cdot 10^{85}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r19693 = b_2;
double r19694 = -r19693;
double r19695 = r19693 * r19693;
double r19696 = a;
double r19697 = c;
double r19698 = r19696 * r19697;
double r19699 = r19695 - r19698;
double r19700 = sqrt(r19699);
double r19701 = r19694 - r19700;
double r19702 = r19701 / r19696;
return r19702;
}
double f(double a, double b_2, double c) {
double r19703 = b_2;
double r19704 = -8.87226991740961e+30;
bool r19705 = r19703 <= r19704;
double r19706 = -0.5;
double r19707 = c;
double r19708 = r19707 / r19703;
double r19709 = r19706 * r19708;
double r19710 = -3.643707215764437e-156;
bool r19711 = r19703 <= r19710;
double r19712 = a;
double r19713 = r19703 * r19703;
double r19714 = r19712 * r19707;
double r19715 = r19713 - r19714;
double r19716 = sqrt(r19715);
double r19717 = log(r19716);
double r19718 = exp(r19717);
double r19719 = r19718 - r19703;
double r19720 = r19719 / r19707;
double r19721 = r19712 / r19720;
double r19722 = r19721 / r19712;
double r19723 = 1.9541965478093634e+85;
bool r19724 = r19703 <= r19723;
double r19725 = -r19703;
double r19726 = r19725 - r19716;
double r19727 = 1.0;
double r19728 = r19727 / r19712;
double r19729 = r19726 * r19728;
double r19730 = -2.0;
double r19731 = r19730 * r19703;
double r19732 = r19731 / r19712;
double r19733 = r19724 ? r19729 : r19732;
double r19734 = r19711 ? r19722 : r19733;
double r19735 = r19705 ? r19709 : r19734;
return r19735;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -8.87226991740961e+30Initial program 56.7
Taylor expanded around -inf 5.1
if -8.87226991740961e+30 < b_2 < -3.643707215764437e-156Initial program 34.4
rmApplied flip--34.5
Simplified16.8
Simplified16.8
rmApplied *-un-lft-identity16.8
Applied associate-/r*16.8
Simplified12.7
rmApplied add-exp-log15.4
if -3.643707215764437e-156 < b_2 < 1.9541965478093634e+85Initial program 11.5
rmApplied div-inv11.6
if 1.9541965478093634e+85 < b_2 Initial program 43.6
rmApplied flip--63.0
Simplified62.2
Simplified62.2
rmApplied *-un-lft-identity62.2
Applied associate-/r*62.2
Simplified62.0
Taylor expanded around 0 4.0
Final simplification8.9
herbie shell --seed 2020039
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))