\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.12428337420519208 \cdot 10^{57}:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{2}, \frac{c}{b_2}, \frac{b_2 \cdot -2}{a}\right)\\
\mathbf{elif}\;b_2 \le -1.273959369302109 \cdot 10^{-247}:\\
\;\;\;\;\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} + \left(-b_2\right)}{a}\\
\mathbf{elif}\;b_2 \le 4.1445535679869069 \cdot 10^{60}:\\
\;\;\;\;\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 r19461 = b_2;
double r19462 = -r19461;
double r19463 = r19461 * r19461;
double r19464 = a;
double r19465 = c;
double r19466 = r19464 * r19465;
double r19467 = r19463 - r19466;
double r19468 = sqrt(r19467);
double r19469 = r19462 + r19468;
double r19470 = r19469 / r19464;
return r19470;
}
double f(double a, double b_2, double c) {
double r19471 = b_2;
double r19472 = -3.124283374205192e+57;
bool r19473 = r19471 <= r19472;
double r19474 = 0.5;
double r19475 = c;
double r19476 = r19475 / r19471;
double r19477 = -2.0;
double r19478 = r19471 * r19477;
double r19479 = a;
double r19480 = r19478 / r19479;
double r19481 = fma(r19474, r19476, r19480);
double r19482 = -1.273959369302109e-247;
bool r19483 = r19471 <= r19482;
double r19484 = r19471 * r19471;
double r19485 = r19479 * r19475;
double r19486 = r19484 - r19485;
double r19487 = sqrt(r19486);
double r19488 = -r19471;
double r19489 = r19487 + r19488;
double r19490 = r19489 / r19479;
double r19491 = 4.144553567986907e+60;
bool r19492 = r19471 <= r19491;
double r19493 = r19488 - r19487;
double r19494 = r19475 / r19493;
double r19495 = -0.5;
double r19496 = r19495 * r19476;
double r19497 = r19492 ? r19494 : r19496;
double r19498 = r19483 ? r19490 : r19497;
double r19499 = r19473 ? r19481 : r19498;
return r19499;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -3.124283374205192e+57Initial program 39.4
Taylor expanded around -inf 5.4
Simplified5.4
if -3.124283374205192e+57 < b_2 < -1.273959369302109e-247Initial program 8.1
rmApplied *-un-lft-identity8.1
if -1.273959369302109e-247 < b_2 < 4.144553567986907e+60Initial program 28.1
rmApplied flip-+28.1
Simplified16.5
rmApplied div-inv16.6
rmApplied associate-*l/16.2
Simplified16.1
Taylor expanded around 0 9.7
if 4.144553567986907e+60 < b_2 Initial program 58.0
Taylor expanded around inf 3.1
Final simplification6.7
herbie shell --seed 2020045 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))