\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.056361093164439 \cdot 10^{+152}:\\
\;\;\;\;\mathsf{fma}\left(-2, \frac{b_2}{a}, \frac{1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 2.326372645943808 \cdot 10^{-74}:\\
\;\;\;\;\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{-1}{2}\\
\end{array}double f(double a, double b_2, double c) {
double r459350 = b_2;
double r459351 = -r459350;
double r459352 = r459350 * r459350;
double r459353 = a;
double r459354 = c;
double r459355 = r459353 * r459354;
double r459356 = r459352 - r459355;
double r459357 = sqrt(r459356);
double r459358 = r459351 + r459357;
double r459359 = r459358 / r459353;
return r459359;
}
double f(double a, double b_2, double c) {
double r459360 = b_2;
double r459361 = -1.056361093164439e+152;
bool r459362 = r459360 <= r459361;
double r459363 = -2.0;
double r459364 = a;
double r459365 = r459360 / r459364;
double r459366 = 0.5;
double r459367 = c;
double r459368 = r459367 / r459360;
double r459369 = r459366 * r459368;
double r459370 = fma(r459363, r459365, r459369);
double r459371 = 2.326372645943808e-74;
bool r459372 = r459360 <= r459371;
double r459373 = r459360 * r459360;
double r459374 = r459367 * r459364;
double r459375 = r459373 - r459374;
double r459376 = sqrt(r459375);
double r459377 = r459376 - r459360;
double r459378 = r459377 / r459364;
double r459379 = -0.5;
double r459380 = r459368 * r459379;
double r459381 = r459372 ? r459378 : r459380;
double r459382 = r459362 ? r459370 : r459381;
return r459382;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.056361093164439e+152Initial program 59.8
Simplified59.8
Taylor expanded around -inf 2.6
Simplified2.6
if -1.056361093164439e+152 < b_2 < 2.326372645943808e-74Initial program 12.3
Simplified12.3
Taylor expanded around inf 12.3
Simplified12.3
if 2.326372645943808e-74 < b_2 Initial program 52.5
Simplified52.5
Taylor expanded around inf 52.5
Simplified52.5
Taylor expanded around inf 8.8
Final simplification9.9
herbie shell --seed 2019151 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))