\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.909589459766455 \cdot 10^{+149}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.1973583843642258 \cdot 10^{-287}:\\
\;\;\;\;\frac{c}{\sqrt{(b_2 \cdot b_2 + \left(-c \cdot a\right))_*} + \left(-b_2\right)}\\
\mathbf{elif}\;b_2 \le 1.0185417924042504 \cdot 10^{+119}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{(b_2 \cdot b_2 + \left(-c \cdot a\right))_*}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{(\frac{1}{2} \cdot \left(\frac{a}{\frac{b_2}{c}}\right) + \left(b_2 \cdot -2\right))_*}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r1917084 = b_2;
double r1917085 = -r1917084;
double r1917086 = r1917084 * r1917084;
double r1917087 = a;
double r1917088 = c;
double r1917089 = r1917087 * r1917088;
double r1917090 = r1917086 - r1917089;
double r1917091 = sqrt(r1917090);
double r1917092 = r1917085 - r1917091;
double r1917093 = r1917092 / r1917087;
return r1917093;
}
double f(double a, double b_2, double c) {
double r1917094 = b_2;
double r1917095 = -6.909589459766455e+149;
bool r1917096 = r1917094 <= r1917095;
double r1917097 = -0.5;
double r1917098 = c;
double r1917099 = r1917098 / r1917094;
double r1917100 = r1917097 * r1917099;
double r1917101 = -1.1973583843642258e-287;
bool r1917102 = r1917094 <= r1917101;
double r1917103 = a;
double r1917104 = r1917098 * r1917103;
double r1917105 = -r1917104;
double r1917106 = fma(r1917094, r1917094, r1917105);
double r1917107 = sqrt(r1917106);
double r1917108 = -r1917094;
double r1917109 = r1917107 + r1917108;
double r1917110 = r1917098 / r1917109;
double r1917111 = 1.0185417924042504e+119;
bool r1917112 = r1917094 <= r1917111;
double r1917113 = r1917108 - r1917107;
double r1917114 = r1917113 / r1917103;
double r1917115 = 0.5;
double r1917116 = r1917094 / r1917098;
double r1917117 = r1917103 / r1917116;
double r1917118 = -2.0;
double r1917119 = r1917094 * r1917118;
double r1917120 = fma(r1917115, r1917117, r1917119);
double r1917121 = r1917120 / r1917103;
double r1917122 = r1917112 ? r1917114 : r1917121;
double r1917123 = r1917102 ? r1917110 : r1917122;
double r1917124 = r1917096 ? r1917100 : r1917123;
return r1917124;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -6.909589459766455e+149Initial program 62.5
Taylor expanded around -inf 1.5
if -6.909589459766455e+149 < b_2 < -1.1973583843642258e-287Initial program 34.4
rmApplied fma-neg34.4
rmApplied div-inv34.4
rmApplied flip--34.5
Applied associate-*l/34.5
Simplified13.8
Taylor expanded around -inf 6.9
if -1.1973583843642258e-287 < b_2 < 1.0185417924042504e+119Initial program 8.4
rmApplied fma-neg8.4
if 1.0185417924042504e+119 < b_2 Initial program 50.9
Taylor expanded around inf 10.4
Simplified3.5
Final simplification6.0
herbie shell --seed 2019119 +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))