\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9.2038615298990798 \cdot 10^{25}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 9.57911224209110995 \cdot 10^{-234}:\\
\;\;\;\;\frac{\frac{a}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 4.06577896741184288 \cdot 10^{116}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r23429 = b_2;
double r23430 = -r23429;
double r23431 = r23429 * r23429;
double r23432 = a;
double r23433 = c;
double r23434 = r23432 * r23433;
double r23435 = r23431 - r23434;
double r23436 = sqrt(r23435);
double r23437 = r23430 - r23436;
double r23438 = r23437 / r23432;
return r23438;
}
double f(double a, double b_2, double c) {
double r23439 = b_2;
double r23440 = -9.20386152989908e+25;
bool r23441 = r23439 <= r23440;
double r23442 = -0.5;
double r23443 = c;
double r23444 = r23443 / r23439;
double r23445 = r23442 * r23444;
double r23446 = 9.57911224209111e-234;
bool r23447 = r23439 <= r23446;
double r23448 = a;
double r23449 = r23439 * r23439;
double r23450 = r23448 * r23443;
double r23451 = r23449 - r23450;
double r23452 = sqrt(r23451);
double r23453 = r23452 - r23439;
double r23454 = r23453 / r23443;
double r23455 = r23448 / r23454;
double r23456 = r23455 / r23448;
double r23457 = 4.065778967411843e+116;
bool r23458 = r23439 <= r23457;
double r23459 = -r23439;
double r23460 = r23459 - r23452;
double r23461 = 1.0;
double r23462 = r23461 / r23448;
double r23463 = r23460 * r23462;
double r23464 = 0.5;
double r23465 = r23464 * r23444;
double r23466 = 2.0;
double r23467 = r23439 / r23448;
double r23468 = r23466 * r23467;
double r23469 = r23465 - r23468;
double r23470 = r23458 ? r23463 : r23469;
double r23471 = r23447 ? r23456 : r23470;
double r23472 = r23441 ? r23445 : r23471;
return r23472;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -9.20386152989908e+25Initial program 56.7
Taylor expanded around -inf 5.0
if -9.20386152989908e+25 < b_2 < 9.57911224209111e-234Initial program 25.9
rmApplied flip--26.0
Simplified17.1
Simplified17.1
rmApplied *-un-lft-identity17.1
Applied associate-/r*17.1
Simplified14.3
if 9.57911224209111e-234 < b_2 < 4.065778967411843e+116Initial program 7.8
rmApplied div-inv7.9
if 4.065778967411843e+116 < b_2 Initial program 51.7
Taylor expanded around inf 2.9
Final simplification8.2
herbie shell --seed 2020081
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))