\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.007820467288354043661462566796901658096 \cdot 10^{70}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 7.455592343308264166675918758902222662503 \cdot 10^{-170}:\\
\;\;\;\;\frac{1}{a} \cdot \left(\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r19345 = b_2;
double r19346 = -r19345;
double r19347 = r19345 * r19345;
double r19348 = a;
double r19349 = c;
double r19350 = r19348 * r19349;
double r19351 = r19347 - r19350;
double r19352 = sqrt(r19351);
double r19353 = r19346 + r19352;
double r19354 = r19353 / r19348;
return r19354;
}
double f(double a, double b_2, double c) {
double r19355 = b_2;
double r19356 = -2.007820467288354e+70;
bool r19357 = r19355 <= r19356;
double r19358 = 0.5;
double r19359 = c;
double r19360 = r19359 / r19355;
double r19361 = r19358 * r19360;
double r19362 = 2.0;
double r19363 = a;
double r19364 = r19355 / r19363;
double r19365 = r19362 * r19364;
double r19366 = r19361 - r19365;
double r19367 = 7.455592343308264e-170;
bool r19368 = r19355 <= r19367;
double r19369 = 1.0;
double r19370 = r19369 / r19363;
double r19371 = r19355 * r19355;
double r19372 = r19363 * r19359;
double r19373 = r19371 - r19372;
double r19374 = sqrt(r19373);
double r19375 = r19374 - r19355;
double r19376 = r19370 * r19375;
double r19377 = -0.5;
double r19378 = r19377 * r19360;
double r19379 = r19368 ? r19376 : r19378;
double r19380 = r19357 ? r19366 : r19379;
return r19380;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.007820467288354e+70Initial program 41.4
Simplified41.4
Taylor expanded around -inf 4.9
if -2.007820467288354e+70 < b_2 < 7.455592343308264e-170Initial program 12.0
Simplified12.0
rmApplied clear-num12.1
rmApplied *-un-lft-identity12.1
Applied *-un-lft-identity12.1
Applied times-frac12.1
Applied add-cube-cbrt12.1
Applied times-frac12.1
Simplified12.1
Simplified12.1
if 7.455592343308264e-170 < b_2 Initial program 48.9
Simplified48.9
Taylor expanded around inf 14.1
Final simplification11.8
herbie shell --seed 2019323
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))