\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.055872925556576031818370432171423983379 \cdot 10^{149}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 6.13840982072700821100736409173177839429 \cdot 10^{-224}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.830427332017467499442498685774915746958 \cdot 10^{107}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{b_2}{a} \cdot -2\\
\end{array}double f(double a, double b_2, double c) {
double r881429 = b_2;
double r881430 = -r881429;
double r881431 = r881429 * r881429;
double r881432 = a;
double r881433 = c;
double r881434 = r881432 * r881433;
double r881435 = r881431 - r881434;
double r881436 = sqrt(r881435);
double r881437 = r881430 - r881436;
double r881438 = r881437 / r881432;
return r881438;
}
double f(double a, double b_2, double c) {
double r881439 = b_2;
double r881440 = -3.055872925556576e+149;
bool r881441 = r881439 <= r881440;
double r881442 = -0.5;
double r881443 = c;
double r881444 = r881443 / r881439;
double r881445 = r881442 * r881444;
double r881446 = 6.138409820727008e-224;
bool r881447 = r881439 <= r881446;
double r881448 = r881439 * r881439;
double r881449 = a;
double r881450 = r881449 * r881443;
double r881451 = r881448 - r881450;
double r881452 = sqrt(r881451);
double r881453 = r881452 - r881439;
double r881454 = r881443 / r881453;
double r881455 = 5.8304273320174675e+107;
bool r881456 = r881439 <= r881455;
double r881457 = -r881439;
double r881458 = r881457 - r881452;
double r881459 = r881458 / r881449;
double r881460 = r881439 / r881449;
double r881461 = -2.0;
double r881462 = r881460 * r881461;
double r881463 = r881456 ? r881459 : r881462;
double r881464 = r881447 ? r881454 : r881463;
double r881465 = r881441 ? r881445 : r881464;
return r881465;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.055872925556576e+149Initial program 63.5
Taylor expanded around -inf 1.8
if -3.055872925556576e+149 < b_2 < 6.138409820727008e-224Initial program 31.9
rmApplied flip--32.0
Simplified15.9
Simplified15.9
rmApplied *-un-lft-identity15.9
Applied *-un-lft-identity15.9
Applied *-un-lft-identity15.9
Applied times-frac15.9
Applied times-frac15.9
Simplified15.9
Simplified14.8
Taylor expanded around 0 9.5
if 6.138409820727008e-224 < b_2 < 5.8304273320174675e+107Initial program 8.4
if 5.8304273320174675e+107 < b_2 Initial program 49.1
rmApplied flip--63.2
Simplified62.3
Simplified62.3
Taylor expanded around 0 3.6
Final simplification7.0
herbie shell --seed 2019171
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))