\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -8.687169645099804665049460580076288185662 \cdot 10^{72}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.178383319658251659941996545038743748932 \cdot 10^{-298}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}{\frac{1}{c}}\\
\mathbf{elif}\;b_2 \le 9.981010889976272049519072583984808542877 \cdot 10^{53}:\\
\;\;\;\;\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 r82946 = b_2;
double r82947 = -r82946;
double r82948 = r82946 * r82946;
double r82949 = a;
double r82950 = c;
double r82951 = r82949 * r82950;
double r82952 = r82948 - r82951;
double r82953 = sqrt(r82952);
double r82954 = r82947 - r82953;
double r82955 = r82954 / r82949;
return r82955;
}
double f(double a, double b_2, double c) {
double r82956 = b_2;
double r82957 = -8.687169645099805e+72;
bool r82958 = r82956 <= r82957;
double r82959 = -0.5;
double r82960 = c;
double r82961 = r82960 / r82956;
double r82962 = r82959 * r82961;
double r82963 = 2.1783833196582517e-298;
bool r82964 = r82956 <= r82963;
double r82965 = 1.0;
double r82966 = r82956 * r82956;
double r82967 = a;
double r82968 = r82967 * r82960;
double r82969 = r82966 - r82968;
double r82970 = sqrt(r82969);
double r82971 = r82970 - r82956;
double r82972 = r82965 / r82971;
double r82973 = r82965 / r82960;
double r82974 = r82972 / r82973;
double r82975 = 9.981010889976272e+53;
bool r82976 = r82956 <= r82975;
double r82977 = -r82956;
double r82978 = r82977 - r82970;
double r82979 = r82967 / r82978;
double r82980 = r82965 / r82979;
double r82981 = 0.5;
double r82982 = r82981 * r82961;
double r82983 = 2.0;
double r82984 = r82956 / r82967;
double r82985 = r82983 * r82984;
double r82986 = r82982 - r82985;
double r82987 = r82976 ? r82980 : r82986;
double r82988 = r82964 ? r82974 : r82987;
double r82989 = r82958 ? r82962 : r82988;
return r82989;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -8.687169645099805e+72Initial program 58.4
Taylor expanded around -inf 3.5
if -8.687169645099805e+72 < b_2 < 2.1783833196582517e-298Initial program 30.5
rmApplied flip--30.6
Simplified16.8
Simplified16.8
rmApplied *-un-lft-identity16.8
Applied associate-/r*16.8
Simplified14.3
rmApplied div-inv14.3
Applied *-un-lft-identity14.3
Applied times-frac16.9
Applied associate-/l*16.4
Simplified9.7
if 2.1783833196582517e-298 < b_2 < 9.981010889976272e+53Initial program 9.7
rmApplied clear-num9.8
if 9.981010889976272e+53 < b_2 Initial program 37.9
Taylor expanded around inf 5.0
Final simplification7.2
herbie shell --seed 2020002
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))