\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.00500656176984215351659893827263540922 \cdot 10^{132}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.054528764146387149688914666009662801656 \cdot 10^{-247}:\\
\;\;\;\;\frac{c}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{elif}\;b_2 \le 1.02738286211209785784187544728837722875 \cdot 10^{63}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r63881 = b_2;
double r63882 = -r63881;
double r63883 = r63881 * r63881;
double r63884 = a;
double r63885 = c;
double r63886 = r63884 * r63885;
double r63887 = r63883 - r63886;
double r63888 = sqrt(r63887);
double r63889 = r63882 - r63888;
double r63890 = r63889 / r63884;
return r63890;
}
double f(double a, double b_2, double c) {
double r63891 = b_2;
double r63892 = -5.005006561769842e+132;
bool r63893 = r63891 <= r63892;
double r63894 = -0.5;
double r63895 = c;
double r63896 = r63895 / r63891;
double r63897 = r63894 * r63896;
double r63898 = 1.0545287641463871e-247;
bool r63899 = r63891 <= r63898;
double r63900 = -r63891;
double r63901 = r63891 * r63891;
double r63902 = a;
double r63903 = r63902 * r63895;
double r63904 = r63901 - r63903;
double r63905 = sqrt(r63904);
double r63906 = r63900 + r63905;
double r63907 = r63895 / r63906;
double r63908 = 1.0273828621120979e+63;
bool r63909 = r63891 <= r63908;
double r63910 = 1.0;
double r63911 = r63900 - r63905;
double r63912 = r63902 / r63911;
double r63913 = r63910 / r63912;
double r63914 = 0.5;
double r63915 = r63914 * r63896;
double r63916 = 2.0;
double r63917 = r63891 / r63902;
double r63918 = r63916 * r63917;
double r63919 = r63915 - r63918;
double r63920 = r63909 ? r63913 : r63919;
double r63921 = r63899 ? r63907 : r63920;
double r63922 = r63893 ? r63897 : r63921;
return r63922;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.005006561769842e+132Initial program 61.7
Taylor expanded around -inf 1.7
if -5.005006561769842e+132 < b_2 < 1.0545287641463871e-247Initial program 31.9
rmApplied clear-num31.9
rmApplied flip--32.0
Applied associate-/r/32.0
Applied associate-/r*32.0
Simplified14.6
Taylor expanded around 0 9.2
if 1.0545287641463871e-247 < b_2 < 1.0273828621120979e+63Initial program 8.1
rmApplied clear-num8.3
if 1.0273828621120979e+63 < b_2 Initial program 39.8
Taylor expanded around inf 5.4
Final simplification6.8
herbie shell --seed 2020001
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))