\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -8.889080831912834239838349081155498349678 \cdot 10^{153}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 1.134509230518344573571097694463152126109 \cdot 10^{-265}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{elif}\;b_2 \le 2.356972451185042441494866927117571118281 \cdot 10^{139}:\\
\;\;\;\;\frac{c}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r24369 = b_2;
double r24370 = -r24369;
double r24371 = r24369 * r24369;
double r24372 = a;
double r24373 = c;
double r24374 = r24372 * r24373;
double r24375 = r24371 - r24374;
double r24376 = sqrt(r24375);
double r24377 = r24370 + r24376;
double r24378 = r24377 / r24372;
return r24378;
}
double f(double a, double b_2, double c) {
double r24379 = b_2;
double r24380 = -8.889080831912834e+153;
bool r24381 = r24379 <= r24380;
double r24382 = 0.5;
double r24383 = c;
double r24384 = r24383 / r24379;
double r24385 = r24382 * r24384;
double r24386 = 2.0;
double r24387 = a;
double r24388 = r24379 / r24387;
double r24389 = r24386 * r24388;
double r24390 = r24385 - r24389;
double r24391 = 1.1345092305183446e-265;
bool r24392 = r24379 <= r24391;
double r24393 = -r24379;
double r24394 = r24379 * r24379;
double r24395 = r24387 * r24383;
double r24396 = r24394 - r24395;
double r24397 = sqrt(r24396);
double r24398 = r24393 + r24397;
double r24399 = r24398 / r24387;
double r24400 = 2.3569724511850424e+139;
bool r24401 = r24379 <= r24400;
double r24402 = r24393 - r24397;
double r24403 = r24383 / r24402;
double r24404 = -0.5;
double r24405 = r24404 * r24384;
double r24406 = r24401 ? r24403 : r24405;
double r24407 = r24392 ? r24399 : r24406;
double r24408 = r24381 ? r24390 : r24407;
return r24408;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -8.889080831912834e+153Initial program 64.0
Taylor expanded around -inf 2.8
if -8.889080831912834e+153 < b_2 < 1.1345092305183446e-265Initial program 9.0
if 1.1345092305183446e-265 < b_2 < 2.3569724511850424e+139Initial program 35.9
rmApplied flip-+35.9
Simplified15.8
rmApplied *-un-lft-identity15.8
Applied *-un-lft-identity15.8
Applied times-frac15.8
Simplified15.8
Simplified7.4
if 2.3569724511850424e+139 < b_2 Initial program 62.6
Taylor expanded around inf 1.5
Final simplification6.3
herbie shell --seed 2019347
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))