\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.9315373378557038 \cdot 10^{-23}:\\
\;\;\;\;1 \cdot \left(\frac{-1}{2} \cdot \frac{c}{b_2}\right)\\
\mathbf{elif}\;b_2 \le 1.77017414835012383 \cdot 10^{70}:\\
\;\;\;\;1 \cdot \frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r89884 = b_2;
double r89885 = -r89884;
double r89886 = r89884 * r89884;
double r89887 = a;
double r89888 = c;
double r89889 = r89887 * r89888;
double r89890 = r89886 - r89889;
double r89891 = sqrt(r89890);
double r89892 = r89885 - r89891;
double r89893 = r89892 / r89887;
return r89893;
}
double f(double a, double b_2, double c) {
double r89894 = b_2;
double r89895 = -6.931537337855704e-23;
bool r89896 = r89894 <= r89895;
double r89897 = 1.0;
double r89898 = -0.5;
double r89899 = c;
double r89900 = r89899 / r89894;
double r89901 = r89898 * r89900;
double r89902 = r89897 * r89901;
double r89903 = 1.7701741483501238e+70;
bool r89904 = r89894 <= r89903;
double r89905 = -r89894;
double r89906 = r89894 * r89894;
double r89907 = a;
double r89908 = r89907 * r89899;
double r89909 = r89906 - r89908;
double r89910 = sqrt(r89909);
double r89911 = r89905 - r89910;
double r89912 = r89911 / r89907;
double r89913 = r89897 * r89912;
double r89914 = -2.0;
double r89915 = r89894 / r89907;
double r89916 = r89914 * r89915;
double r89917 = r89904 ? r89913 : r89916;
double r89918 = r89896 ? r89902 : r89917;
return r89918;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.931537337855704e-23Initial program 54.3
rmApplied clear-num54.3
rmApplied *-un-lft-identity54.3
Applied *-un-lft-identity54.3
Applied times-frac54.3
Applied add-cube-cbrt54.3
Applied times-frac54.3
Simplified54.3
Simplified54.3
Taylor expanded around -inf 7.3
if -6.931537337855704e-23 < b_2 < 1.7701741483501238e+70Initial program 15.5
rmApplied clear-num15.6
rmApplied *-un-lft-identity15.6
Applied *-un-lft-identity15.6
Applied times-frac15.6
Applied add-cube-cbrt15.6
Applied times-frac15.6
Simplified15.6
Simplified15.5
if 1.7701741483501238e+70 < b_2 Initial program 41.6
rmApplied clear-num41.7
Taylor expanded around 0 5.6
Final simplification10.8
herbie shell --seed 2020025 +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))