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



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.3882094406717058e+145Initial program 60.2
Taylor expanded around -inf 2.6
if -1.3882094406717058e+145 < b_2 < 8.366472411559289e-215Initial program 9.6
if 8.366472411559289e-215 < b_2 < 9.191824015256067e+77Initial program 35.4
rmApplied flip-+35.4
Simplified17.1
rmApplied div-inv17.1
rmApplied associate-*r/17.1
Simplified14.5
if 9.191824015256067e+77 < b_2 Initial program 58.3
Taylor expanded around inf 2.8
Final simplification8.1
herbie shell --seed 2019346
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))