\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.4515142736560382 \cdot 10^{+31}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -6.822071483797687 \cdot 10^{-95}:\\
\;\;\;\;\frac{a}{\frac{a}{\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}}\\
\mathbf{elif}\;b_2 \le 0.17389787404847717:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{c}{b_2} \cdot \frac{1}{2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r4243378 = b_2;
double r4243379 = -r4243378;
double r4243380 = r4243378 * r4243378;
double r4243381 = a;
double r4243382 = c;
double r4243383 = r4243381 * r4243382;
double r4243384 = r4243380 - r4243383;
double r4243385 = sqrt(r4243384);
double r4243386 = r4243379 - r4243385;
double r4243387 = r4243386 / r4243381;
return r4243387;
}
double f(double a, double b_2, double c) {
double r4243388 = b_2;
double r4243389 = -2.4515142736560382e+31;
bool r4243390 = r4243388 <= r4243389;
double r4243391 = -0.5;
double r4243392 = c;
double r4243393 = r4243392 / r4243388;
double r4243394 = r4243391 * r4243393;
double r4243395 = -6.822071483797687e-95;
bool r4243396 = r4243388 <= r4243395;
double r4243397 = a;
double r4243398 = r4243388 * r4243388;
double r4243399 = r4243397 * r4243392;
double r4243400 = r4243398 - r4243399;
double r4243401 = sqrt(r4243400);
double r4243402 = r4243401 - r4243388;
double r4243403 = r4243392 / r4243402;
double r4243404 = r4243397 / r4243403;
double r4243405 = r4243397 / r4243404;
double r4243406 = 0.17389787404847717;
bool r4243407 = r4243388 <= r4243406;
double r4243408 = -r4243388;
double r4243409 = r4243408 - r4243401;
double r4243410 = r4243409 / r4243397;
double r4243411 = 0.5;
double r4243412 = r4243393 * r4243411;
double r4243413 = 2.0;
double r4243414 = r4243388 / r4243397;
double r4243415 = r4243413 * r4243414;
double r4243416 = r4243412 - r4243415;
double r4243417 = r4243407 ? r4243410 : r4243416;
double r4243418 = r4243396 ? r4243405 : r4243417;
double r4243419 = r4243390 ? r4243394 : r4243418;
return r4243419;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.4515142736560382e+31Initial program 55.8
Taylor expanded around -inf 4.3
if -2.4515142736560382e+31 < b_2 < -6.822071483797687e-95Initial program 39.5
rmApplied flip--39.5
Simplified14.0
Simplified14.0
rmApplied *-un-lft-identity14.0
Applied times-frac11.4
Applied associate-/l*19.9
if -6.822071483797687e-95 < b_2 < 0.17389787404847717Initial program 14.2
if 0.17389787404847717 < b_2 Initial program 29.8
Taylor expanded around inf 7.3
Final simplification10.0
herbie shell --seed 2019168
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))