\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.180871339710847644902778033044045300369 \cdot 10^{95}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -8.600451188821801034875369715965399433561 \cdot 10^{-288}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\
\mathbf{elif}\;b_2 \le 106106913250787377152:\\
\;\;\;\;\frac{\frac{1}{\frac{-1}{c}}}{\sqrt{b_2 \cdot b_2 - a \cdot c} + b_2}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r14344 = b_2;
double r14345 = -r14344;
double r14346 = r14344 * r14344;
double r14347 = a;
double r14348 = c;
double r14349 = r14347 * r14348;
double r14350 = r14346 - r14349;
double r14351 = sqrt(r14350);
double r14352 = r14345 + r14351;
double r14353 = r14352 / r14347;
return r14353;
}
double f(double a, double b_2, double c) {
double r14354 = b_2;
double r14355 = -2.1808713397108476e+95;
bool r14356 = r14354 <= r14355;
double r14357 = 0.5;
double r14358 = c;
double r14359 = r14358 / r14354;
double r14360 = r14357 * r14359;
double r14361 = 2.0;
double r14362 = a;
double r14363 = r14354 / r14362;
double r14364 = r14361 * r14363;
double r14365 = r14360 - r14364;
double r14366 = -8.600451188821801e-288;
bool r14367 = r14354 <= r14366;
double r14368 = 1.0;
double r14369 = r14354 * r14354;
double r14370 = r14362 * r14358;
double r14371 = r14369 - r14370;
double r14372 = sqrt(r14371);
double r14373 = r14372 - r14354;
double r14374 = r14362 / r14373;
double r14375 = r14368 / r14374;
double r14376 = 1.0610691325078738e+20;
bool r14377 = r14354 <= r14376;
double r14378 = -1.0;
double r14379 = r14378 / r14358;
double r14380 = r14368 / r14379;
double r14381 = r14372 + r14354;
double r14382 = r14380 / r14381;
double r14383 = -0.5;
double r14384 = r14383 * r14359;
double r14385 = r14377 ? r14382 : r14384;
double r14386 = r14367 ? r14375 : r14385;
double r14387 = r14356 ? r14365 : r14386;
return r14387;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.1808713397108476e+95Initial program 45.4
Taylor expanded around -inf 4.3
if -2.1808713397108476e+95 < b_2 < -8.600451188821801e-288Initial program 8.7
rmApplied clear-num8.8
Simplified8.8
if -8.600451188821801e-288 < b_2 < 1.0610691325078738e+20Initial program 25.3
rmApplied clear-num25.3
Simplified25.3
rmApplied flip--25.4
Applied associate-/r/25.4
Applied associate-/r*25.4
Simplified15.7
rmApplied clear-num15.8
Simplified9.3
if 1.0610691325078738e+20 < b_2 Initial program 56.2
Taylor expanded around inf 5.1
Final simplification7.0
herbie shell --seed 2019350
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))