\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.643947230437265585428917170074785083411 \cdot 10^{-71}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.498338218964205825262884582884276173268 \cdot 10^{54}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r12757 = b_2;
double r12758 = -r12757;
double r12759 = r12757 * r12757;
double r12760 = a;
double r12761 = c;
double r12762 = r12760 * r12761;
double r12763 = r12759 - r12762;
double r12764 = sqrt(r12763);
double r12765 = r12758 - r12764;
double r12766 = r12765 / r12760;
return r12766;
}
double f(double a, double b_2, double c) {
double r12767 = b_2;
double r12768 = -5.6439472304372656e-71;
bool r12769 = r12767 <= r12768;
double r12770 = -0.5;
double r12771 = c;
double r12772 = r12771 / r12767;
double r12773 = r12770 * r12772;
double r12774 = 1.4983382189642058e+54;
bool r12775 = r12767 <= r12774;
double r12776 = 1.0;
double r12777 = a;
double r12778 = -r12767;
double r12779 = r12767 * r12767;
double r12780 = r12777 * r12771;
double r12781 = r12779 - r12780;
double r12782 = sqrt(r12781);
double r12783 = r12778 - r12782;
double r12784 = r12777 / r12783;
double r12785 = r12776 / r12784;
double r12786 = 0.5;
double r12787 = r12786 * r12772;
double r12788 = 2.0;
double r12789 = r12767 / r12777;
double r12790 = r12788 * r12789;
double r12791 = r12787 - r12790;
double r12792 = r12775 ? r12785 : r12791;
double r12793 = r12769 ? r12773 : r12792;
return r12793;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.6439472304372656e-71Initial program 53.3
Taylor expanded around -inf 9.1
if -5.6439472304372656e-71 < b_2 < 1.4983382189642058e+54Initial program 14.2
rmApplied clear-num14.3
if 1.4983382189642058e+54 < b_2 Initial program 38.0
Taylor expanded around inf 5.0
Final simplification10.5
herbie shell --seed 2020002 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))