\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.8424248185280593 \cdot 10^{-34}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.276690291884487 \cdot 10^{80}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r27804 = b_2;
double r27805 = -r27804;
double r27806 = r27804 * r27804;
double r27807 = a;
double r27808 = c;
double r27809 = r27807 * r27808;
double r27810 = r27806 - r27809;
double r27811 = sqrt(r27810);
double r27812 = r27805 - r27811;
double r27813 = r27812 / r27807;
return r27813;
}
double f(double a, double b_2, double c) {
double r27814 = b_2;
double r27815 = -3.8424248185280593e-34;
bool r27816 = r27814 <= r27815;
double r27817 = -0.5;
double r27818 = c;
double r27819 = r27818 / r27814;
double r27820 = r27817 * r27819;
double r27821 = 2.2766902918844874e+80;
bool r27822 = r27814 <= r27821;
double r27823 = -r27814;
double r27824 = r27814 * r27814;
double r27825 = a;
double r27826 = r27825 * r27818;
double r27827 = r27824 - r27826;
double r27828 = sqrt(r27827);
double r27829 = r27823 - r27828;
double r27830 = 1.0;
double r27831 = r27830 / r27825;
double r27832 = r27829 * r27831;
double r27833 = -2.0;
double r27834 = r27814 / r27825;
double r27835 = r27833 * r27834;
double r27836 = r27822 ? r27832 : r27835;
double r27837 = r27816 ? r27820 : r27836;
return r27837;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.8424248185280593e-34Initial program 54.2
Taylor expanded around -inf 7.1
if -3.8424248185280593e-34 < b_2 < 2.2766902918844874e+80Initial program 13.9
rmApplied div-inv14.0
if 2.2766902918844874e+80 < b_2 Initial program 44.4
rmApplied clear-num44.5
Simplified44.5
Taylor expanded around 0 4.5
Final simplification9.9
herbie shell --seed 2019199 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))