\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.5254699676315931 \cdot 10^{122}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -6.27850456875614525 \cdot 10^{-182}:\\
\;\;\;\;\left(\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{elif}\;b_2 \le 5.23248892134249817 \cdot 10^{79}:\\
\;\;\;\;\frac{1}{\frac{1 \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)}{c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r19368 = b_2;
double r19369 = -r19368;
double r19370 = r19368 * r19368;
double r19371 = a;
double r19372 = c;
double r19373 = r19371 * r19372;
double r19374 = r19370 - r19373;
double r19375 = sqrt(r19374);
double r19376 = r19369 + r19375;
double r19377 = r19376 / r19371;
return r19377;
}
double f(double a, double b_2, double c) {
double r19378 = b_2;
double r19379 = -1.5254699676315931e+122;
bool r19380 = r19378 <= r19379;
double r19381 = 0.5;
double r19382 = c;
double r19383 = r19382 / r19378;
double r19384 = r19381 * r19383;
double r19385 = 2.0;
double r19386 = a;
double r19387 = r19378 / r19386;
double r19388 = r19385 * r19387;
double r19389 = r19384 - r19388;
double r19390 = -6.278504568756145e-182;
bool r19391 = r19378 <= r19390;
double r19392 = -r19378;
double r19393 = r19378 * r19378;
double r19394 = r19386 * r19382;
double r19395 = r19393 - r19394;
double r19396 = sqrt(r19395);
double r19397 = r19392 + r19396;
double r19398 = 1.0;
double r19399 = r19398 / r19386;
double r19400 = r19397 * r19399;
double r19401 = 5.232488921342498e+79;
bool r19402 = r19378 <= r19401;
double r19403 = r19392 - r19396;
double r19404 = r19398 * r19403;
double r19405 = r19404 / r19382;
double r19406 = r19398 / r19405;
double r19407 = -0.5;
double r19408 = r19407 * r19383;
double r19409 = r19402 ? r19406 : r19408;
double r19410 = r19391 ? r19400 : r19409;
double r19411 = r19380 ? r19389 : r19410;
return r19411;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.5254699676315931e+122Initial program 52.5
Taylor expanded around -inf 2.7
if -1.5254699676315931e+122 < b_2 < -6.278504568756145e-182Initial program 7.0
rmApplied div-inv7.2
if -6.278504568756145e-182 < b_2 < 5.232488921342498e+79Initial program 27.8
rmApplied flip-+27.9
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied *-un-lft-identity16.1
Applied times-frac16.1
Simplified16.1
Simplified14.1
rmApplied clear-num14.1
Simplified10.4
if 5.232488921342498e+79 < b_2 Initial program 58.7
Taylor expanded around inf 2.9
Final simplification6.6
herbie shell --seed 2020021
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))