\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.95460202615535102 \cdot 10^{-16}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.82564652270824723 \cdot 10^{-308}:\\
\;\;\;\;\frac{\frac{1}{\frac{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{a}}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 2.039304743620259 \cdot 10^{111}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r98409 = b_2;
double r98410 = -r98409;
double r98411 = r98409 * r98409;
double r98412 = a;
double r98413 = c;
double r98414 = r98412 * r98413;
double r98415 = r98411 - r98414;
double r98416 = sqrt(r98415);
double r98417 = r98410 - r98416;
double r98418 = r98417 / r98412;
return r98418;
}
double f(double a, double b_2, double c) {
double r98419 = b_2;
double r98420 = -1.954602026155351e-16;
bool r98421 = r98419 <= r98420;
double r98422 = -0.5;
double r98423 = c;
double r98424 = r98423 / r98419;
double r98425 = r98422 * r98424;
double r98426 = -3.825646522708247e-308;
bool r98427 = r98419 <= r98426;
double r98428 = 1.0;
double r98429 = r98419 * r98419;
double r98430 = a;
double r98431 = r98430 * r98423;
double r98432 = r98429 - r98431;
double r98433 = sqrt(r98432);
double r98434 = r98433 - r98419;
double r98435 = r98434 / r98430;
double r98436 = r98435 / r98423;
double r98437 = r98428 / r98436;
double r98438 = r98437 / r98430;
double r98439 = 2.0393047436202585e+111;
bool r98440 = r98419 <= r98439;
double r98441 = -r98419;
double r98442 = r98441 - r98433;
double r98443 = r98428 / r98430;
double r98444 = r98442 * r98443;
double r98445 = -2.0;
double r98446 = r98445 * r98419;
double r98447 = r98446 / r98430;
double r98448 = r98440 ? r98444 : r98447;
double r98449 = r98427 ? r98438 : r98448;
double r98450 = r98421 ? r98425 : r98449;
return r98450;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.954602026155351e-16Initial program 55.2
Taylor expanded around -inf 6.7
if -1.954602026155351e-16 < b_2 < -3.825646522708247e-308Initial program 25.3
rmApplied flip--25.3
Simplified17.6
Simplified17.6
rmApplied clear-num17.6
Simplified14.2
if -3.825646522708247e-308 < b_2 < 2.0393047436202585e+111Initial program 9.7
rmApplied div-inv9.9
if 2.0393047436202585e+111 < b_2 Initial program 49.6
rmApplied flip--63.2
Simplified62.3
Simplified62.3
Taylor expanded around 0 3.7
Final simplification8.7
herbie shell --seed 2020047
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))