\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9.66563711558993385 \cdot 10^{-69}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 9.1585291365273219 \cdot 10^{122}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\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 r88915 = b_2;
double r88916 = -r88915;
double r88917 = r88915 * r88915;
double r88918 = a;
double r88919 = c;
double r88920 = r88918 * r88919;
double r88921 = r88917 - r88920;
double r88922 = sqrt(r88921);
double r88923 = r88916 - r88922;
double r88924 = r88923 / r88918;
return r88924;
}
double f(double a, double b_2, double c) {
double r88925 = b_2;
double r88926 = -9.665637115589934e-69;
bool r88927 = r88925 <= r88926;
double r88928 = -0.5;
double r88929 = c;
double r88930 = r88929 / r88925;
double r88931 = r88928 * r88930;
double r88932 = 9.158529136527322e+122;
bool r88933 = r88925 <= r88932;
double r88934 = -r88925;
double r88935 = a;
double r88936 = r88934 / r88935;
double r88937 = r88925 * r88925;
double r88938 = r88935 * r88929;
double r88939 = r88937 - r88938;
double r88940 = sqrt(r88939);
double r88941 = r88940 / r88935;
double r88942 = r88936 - r88941;
double r88943 = -2.0;
double r88944 = r88925 / r88935;
double r88945 = r88943 * r88944;
double r88946 = r88933 ? r88942 : r88945;
double r88947 = r88927 ? r88931 : r88946;
return r88947;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -9.665637115589934e-69Initial program 53.8
Taylor expanded around -inf 8.6
if -9.665637115589934e-69 < b_2 < 9.158529136527322e+122Initial program 13.0
rmApplied div-sub13.0
if 9.158529136527322e+122 < b_2 Initial program 53.1
rmApplied div-inv53.2
rmApplied un-div-inv53.1
rmApplied clear-num53.2
Taylor expanded around 0 3.2
Final simplification10.0
herbie shell --seed 2020036 +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))