\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.763315479739403460017265344144602342789 \cdot 10^{89}:\\
\;\;\;\;\mathsf{fma}\left(\frac{b_2}{a}, -2, \frac{c \cdot \frac{1}{2}}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 9.136492990928292133394320076175633285536 \cdot 10^{-23}:\\
\;\;\;\;\frac{{\left(b_2 \cdot b_2 - a \cdot c\right)}^{\frac{1}{2}} - b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r652274 = b_2;
double r652275 = -r652274;
double r652276 = r652274 * r652274;
double r652277 = a;
double r652278 = c;
double r652279 = r652277 * r652278;
double r652280 = r652276 - r652279;
double r652281 = sqrt(r652280);
double r652282 = r652275 + r652281;
double r652283 = r652282 / r652277;
return r652283;
}
double f(double a, double b_2, double c) {
double r652284 = b_2;
double r652285 = -1.7633154797394035e+89;
bool r652286 = r652284 <= r652285;
double r652287 = a;
double r652288 = r652284 / r652287;
double r652289 = -2.0;
double r652290 = c;
double r652291 = 0.5;
double r652292 = r652290 * r652291;
double r652293 = r652292 / r652284;
double r652294 = fma(r652288, r652289, r652293);
double r652295 = 9.136492990928292e-23;
bool r652296 = r652284 <= r652295;
double r652297 = r652284 * r652284;
double r652298 = r652287 * r652290;
double r652299 = r652297 - r652298;
double r652300 = pow(r652299, r652291);
double r652301 = r652300 - r652284;
double r652302 = r652301 / r652287;
double r652303 = -0.5;
double r652304 = r652290 / r652284;
double r652305 = r652303 * r652304;
double r652306 = r652296 ? r652302 : r652305;
double r652307 = r652286 ? r652294 : r652306;
return r652307;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.7633154797394035e+89Initial program 45.7
Simplified45.7
Taylor expanded around -inf 3.9
Simplified3.9
if -1.7633154797394035e+89 < b_2 < 9.136492990928292e-23Initial program 15.0
Simplified15.0
rmApplied add-cube-cbrt15.4
rmApplied pow1/317.5
Applied pow1/318.2
Applied pow1/318.6
Applied pow-prod-up18.6
Applied pow-prod-up15.0
Applied sqrt-pow115.0
Simplified15.0
if 9.136492990928292e-23 < b_2 Initial program 55.4
Simplified55.4
Taylor expanded around inf 6.7
Final simplification10.2
herbie shell --seed 2019172 +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))