\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -24515142736560382464938314039296:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -6.822071483797687387556193409058787192968 \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.173897874048477174557802982235443778336:\\
\;\;\;\;\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 r2868300 = b_2;
double r2868301 = -r2868300;
double r2868302 = r2868300 * r2868300;
double r2868303 = a;
double r2868304 = c;
double r2868305 = r2868303 * r2868304;
double r2868306 = r2868302 - r2868305;
double r2868307 = sqrt(r2868306);
double r2868308 = r2868301 - r2868307;
double r2868309 = r2868308 / r2868303;
return r2868309;
}
double f(double a, double b_2, double c) {
double r2868310 = b_2;
double r2868311 = -2.4515142736560382e+31;
bool r2868312 = r2868310 <= r2868311;
double r2868313 = -0.5;
double r2868314 = c;
double r2868315 = r2868314 / r2868310;
double r2868316 = r2868313 * r2868315;
double r2868317 = -6.822071483797687e-95;
bool r2868318 = r2868310 <= r2868317;
double r2868319 = a;
double r2868320 = r2868310 * r2868310;
double r2868321 = r2868319 * r2868314;
double r2868322 = r2868320 - r2868321;
double r2868323 = sqrt(r2868322);
double r2868324 = r2868323 - r2868310;
double r2868325 = r2868314 / r2868324;
double r2868326 = r2868319 / r2868325;
double r2868327 = r2868319 / r2868326;
double r2868328 = 0.17389787404847717;
bool r2868329 = r2868310 <= r2868328;
double r2868330 = -r2868310;
double r2868331 = r2868330 - r2868323;
double r2868332 = r2868331 / r2868319;
double r2868333 = 0.5;
double r2868334 = r2868315 * r2868333;
double r2868335 = 2.0;
double r2868336 = r2868310 / r2868319;
double r2868337 = r2868335 * r2868336;
double r2868338 = r2868334 - r2868337;
double r2868339 = r2868329 ? r2868332 : r2868338;
double r2868340 = r2868318 ? r2868327 : r2868339;
double r2868341 = r2868312 ? r2868316 : r2868340;
return r2868341;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.4515142736560382e+31Initial program 56.5
Taylor expanded around -inf 4.3
if -2.4515142736560382e+31 < b_2 < -6.822071483797687e-95Initial program 39.6
rmApplied flip--39.6
Simplified14.0
Simplified14.0
rmApplied *-un-lft-identity14.0
Applied times-frac11.4
Applied associate-/l*20.2
if -6.822071483797687e-95 < b_2 < 0.17389787404847717Initial program 14.5
if 0.17389787404847717 < b_2 Initial program 31.2
Taylor expanded around inf 7.3
Final simplification10.1
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))