\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -977083.9042033920995891094207763671875:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.419897611628610882899329113648886874763 \cdot 10^{-291}:\\
\;\;\;\;\frac{1 \cdot \frac{a}{\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 6.073987741152761147577909172394710657791 \cdot 10^{104}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1 \cdot \left(-2 \cdot b_2\right)}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r25426 = b_2;
double r25427 = -r25426;
double r25428 = r25426 * r25426;
double r25429 = a;
double r25430 = c;
double r25431 = r25429 * r25430;
double r25432 = r25428 - r25431;
double r25433 = sqrt(r25432);
double r25434 = r25427 - r25433;
double r25435 = r25434 / r25429;
return r25435;
}
double f(double a, double b_2, double c) {
double r25436 = b_2;
double r25437 = -977083.9042033921;
bool r25438 = r25436 <= r25437;
double r25439 = -0.5;
double r25440 = c;
double r25441 = r25440 / r25436;
double r25442 = r25439 * r25441;
double r25443 = -1.4198976116286109e-291;
bool r25444 = r25436 <= r25443;
double r25445 = 1.0;
double r25446 = a;
double r25447 = r25436 * r25436;
double r25448 = r25440 * r25446;
double r25449 = r25447 - r25448;
double r25450 = sqrt(r25449);
double r25451 = r25450 - r25436;
double r25452 = r25451 / r25440;
double r25453 = r25446 / r25452;
double r25454 = r25445 * r25453;
double r25455 = r25454 / r25446;
double r25456 = 6.073987741152761e+104;
bool r25457 = r25436 <= r25456;
double r25458 = -r25436;
double r25459 = r25446 * r25440;
double r25460 = r25447 - r25459;
double r25461 = sqrt(r25460);
double r25462 = r25458 - r25461;
double r25463 = r25462 / r25446;
double r25464 = -2.0;
double r25465 = r25464 * r25436;
double r25466 = r25445 * r25465;
double r25467 = r25466 / r25446;
double r25468 = r25457 ? r25463 : r25467;
double r25469 = r25444 ? r25455 : r25468;
double r25470 = r25438 ? r25442 : r25469;
return r25470;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -977083.9042033921Initial program 56.3
Taylor expanded around -inf 5.0
if -977083.9042033921 < b_2 < -1.4198976116286109e-291Initial program 27.3
rmApplied flip--27.3
Simplified17.2
Simplified17.2
rmApplied *-un-lft-identity17.2
Applied *-un-lft-identity17.2
Applied times-frac17.2
Simplified17.2
Simplified14.0
if -1.4198976116286109e-291 < b_2 < 6.073987741152761e+104Initial program 8.6
if 6.073987741152761e+104 < b_2 Initial program 47.7
rmApplied flip--63.4
Simplified62.5
Simplified62.5
rmApplied *-un-lft-identity62.5
Applied *-un-lft-identity62.5
Applied times-frac62.5
Simplified62.5
Simplified62.3
Taylor expanded around 0 3.7
Final simplification7.8
herbie shell --seed 2019291
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))