\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.136683434005781 \cdot 10^{-32}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.0410715251838527 \cdot 10^{+49}:\\
\;\;\;\;\frac{-\left(\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2\right)}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \frac{c}{b_2}, \frac{b_2 \cdot -2}{a}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r764024 = b_2;
double r764025 = -r764024;
double r764026 = r764024 * r764024;
double r764027 = a;
double r764028 = c;
double r764029 = r764027 * r764028;
double r764030 = r764026 - r764029;
double r764031 = sqrt(r764030);
double r764032 = r764025 - r764031;
double r764033 = r764032 / r764027;
return r764033;
}
double f(double a, double b_2, double c) {
double r764034 = b_2;
double r764035 = -3.136683434005781e-32;
bool r764036 = r764034 <= r764035;
double r764037 = -0.5;
double r764038 = c;
double r764039 = r764038 / r764034;
double r764040 = r764037 * r764039;
double r764041 = 2.0410715251838527e+49;
bool r764042 = r764034 <= r764041;
double r764043 = r764034 * r764034;
double r764044 = a;
double r764045 = r764038 * r764044;
double r764046 = r764043 - r764045;
double r764047 = sqrt(r764046);
double r764048 = r764047 + r764034;
double r764049 = -r764048;
double r764050 = r764049 / r764044;
double r764051 = 0.5;
double r764052 = -2.0;
double r764053 = r764034 * r764052;
double r764054 = r764053 / r764044;
double r764055 = fma(r764051, r764039, r764054);
double r764056 = r764042 ? r764050 : r764055;
double r764057 = r764036 ? r764040 : r764056;
return r764057;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -3.136683434005781e-32Initial program 53.3
Taylor expanded around -inf 7.3
if -3.136683434005781e-32 < b_2 < 2.0410715251838527e+49Initial program 15.8
rmApplied *-un-lft-identity15.8
Applied associate-/r*15.8
Simplified15.8
if 2.0410715251838527e+49 < b_2 Initial program 36.2
Taylor expanded around inf 6.2
Simplified6.4
Final simplification10.8
herbie shell --seed 2019162 +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))