\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.429521559957367003973909183894614803551 \cdot 10^{-36}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 7.895438119410103188352046975315827374151 \cdot 10^{91}:\\
\;\;\;\;1 \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;1 \cdot \left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r96720 = b_2;
double r96721 = -r96720;
double r96722 = r96720 * r96720;
double r96723 = a;
double r96724 = c;
double r96725 = r96723 * r96724;
double r96726 = r96722 - r96725;
double r96727 = sqrt(r96726);
double r96728 = r96721 - r96727;
double r96729 = r96728 / r96723;
return r96729;
}
double f(double a, double b_2, double c) {
double r96730 = b_2;
double r96731 = -3.429521559957367e-36;
bool r96732 = r96730 <= r96731;
double r96733 = -0.5;
double r96734 = c;
double r96735 = r96734 / r96730;
double r96736 = r96733 * r96735;
double r96737 = 7.895438119410103e+91;
bool r96738 = r96730 <= r96737;
double r96739 = 1.0;
double r96740 = -r96730;
double r96741 = r96730 * r96730;
double r96742 = a;
double r96743 = r96742 * r96734;
double r96744 = r96741 - r96743;
double r96745 = sqrt(r96744);
double r96746 = r96740 - r96745;
double r96747 = r96746 / r96742;
double r96748 = r96739 * r96747;
double r96749 = 0.5;
double r96750 = r96749 * r96735;
double r96751 = 2.0;
double r96752 = r96730 / r96742;
double r96753 = r96751 * r96752;
double r96754 = r96750 - r96753;
double r96755 = r96739 * r96754;
double r96756 = r96738 ? r96748 : r96755;
double r96757 = r96732 ? r96736 : r96756;
return r96757;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.429521559957367e-36Initial program 54.2
Taylor expanded around -inf 7.5
if -3.429521559957367e-36 < b_2 < 7.895438119410103e+91Initial program 14.6
rmApplied clear-num14.8
rmApplied *-un-lft-identity14.8
Applied *-un-lft-identity14.8
Applied times-frac14.8
Applied add-cube-cbrt14.8
Applied times-frac14.8
Simplified14.8
Simplified14.6
if 7.895438119410103e+91 < b_2 Initial program 45.8
rmApplied clear-num45.9
rmApplied *-un-lft-identity45.9
Applied *-un-lft-identity45.9
Applied times-frac45.9
Applied add-cube-cbrt45.9
Applied times-frac45.9
Simplified45.9
Simplified45.8
Taylor expanded around inf 4.1
Final simplification10.3
herbie shell --seed 2019354 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))