\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -8.130457313724135 \cdot 10^{+141}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.0456115258101208 \cdot 10^{-269}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} + \left(-b_2\right)}\\
\mathbf{elif}\;b_2 \le 1.5249859025699474 \cdot 10^{+99}:\\
\;\;\;\;\frac{1}{a} \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{(\frac{1}{2} \cdot \left(\frac{a}{\frac{b_2}{c}}\right) + \left(b_2 \cdot -2\right))_*}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r13869402 = b_2;
double r13869403 = -r13869402;
double r13869404 = r13869402 * r13869402;
double r13869405 = a;
double r13869406 = c;
double r13869407 = r13869405 * r13869406;
double r13869408 = r13869404 - r13869407;
double r13869409 = sqrt(r13869408);
double r13869410 = r13869403 - r13869409;
double r13869411 = r13869410 / r13869405;
return r13869411;
}
double f(double a, double b_2, double c) {
double r13869412 = b_2;
double r13869413 = -8.130457313724135e+141;
bool r13869414 = r13869412 <= r13869413;
double r13869415 = -0.5;
double r13869416 = c;
double r13869417 = r13869416 / r13869412;
double r13869418 = r13869415 * r13869417;
double r13869419 = 1.0456115258101208e-269;
bool r13869420 = r13869412 <= r13869419;
double r13869421 = r13869412 * r13869412;
double r13869422 = a;
double r13869423 = r13869422 * r13869416;
double r13869424 = r13869421 - r13869423;
double r13869425 = sqrt(r13869424);
double r13869426 = -r13869412;
double r13869427 = r13869425 + r13869426;
double r13869428 = r13869416 / r13869427;
double r13869429 = 1.5249859025699474e+99;
bool r13869430 = r13869412 <= r13869429;
double r13869431 = 1.0;
double r13869432 = r13869431 / r13869422;
double r13869433 = r13869426 - r13869425;
double r13869434 = r13869432 * r13869433;
double r13869435 = 0.5;
double r13869436 = r13869412 / r13869416;
double r13869437 = r13869422 / r13869436;
double r13869438 = -2.0;
double r13869439 = r13869412 * r13869438;
double r13869440 = fma(r13869435, r13869437, r13869439);
double r13869441 = r13869440 / r13869422;
double r13869442 = r13869430 ? r13869434 : r13869441;
double r13869443 = r13869420 ? r13869428 : r13869442;
double r13869444 = r13869414 ? r13869418 : r13869443;
return r13869444;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -8.130457313724135e+141Initial program 61.6
rmApplied div-inv61.6
rmApplied un-div-inv61.6
Taylor expanded around -inf 1.1
if -8.130457313724135e+141 < b_2 < 1.0456115258101208e-269Initial program 32.8
rmApplied div-inv32.8
rmApplied flip--32.9
Applied associate-*l/32.9
Simplified14.4
Taylor expanded around inf 8.6
if 1.0456115258101208e-269 < b_2 < 1.5249859025699474e+99Initial program 8.9
rmApplied div-inv9.0
if 1.5249859025699474e+99 < b_2 Initial program 44.3
rmApplied div-inv44.4
rmApplied un-div-inv44.3
Taylor expanded around inf 8.8
Simplified3.5
Final simplification6.6
herbie shell --seed 2019112 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))