\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.075503372554188894042518234952899429882 \cdot 10^{112}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -6.18637976627172627699786603285537458311 \cdot 10^{-309}:\\
\;\;\;\;\frac{\frac{1}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{\frac{1}{c}}\\
\mathbf{elif}\;b_2 \le 1.294583421915071462758620229042548737723 \cdot 10^{99}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r64818 = b_2;
double r64819 = -r64818;
double r64820 = r64818 * r64818;
double r64821 = a;
double r64822 = c;
double r64823 = r64821 * r64822;
double r64824 = r64820 - r64823;
double r64825 = sqrt(r64824);
double r64826 = r64819 - r64825;
double r64827 = r64826 / r64821;
return r64827;
}
double f(double a, double b_2, double c) {
double r64828 = b_2;
double r64829 = -6.075503372554189e+112;
bool r64830 = r64828 <= r64829;
double r64831 = -0.5;
double r64832 = c;
double r64833 = r64832 / r64828;
double r64834 = r64831 * r64833;
double r64835 = -6.186379766271726e-309;
bool r64836 = r64828 <= r64835;
double r64837 = 1.0;
double r64838 = r64828 * r64828;
double r64839 = a;
double r64840 = r64832 * r64839;
double r64841 = r64838 - r64840;
double r64842 = sqrt(r64841);
double r64843 = r64842 - r64828;
double r64844 = r64837 / r64843;
double r64845 = r64837 / r64832;
double r64846 = r64844 / r64845;
double r64847 = 1.2945834219150715e+99;
bool r64848 = r64828 <= r64847;
double r64849 = -r64828;
double r64850 = r64839 * r64832;
double r64851 = r64838 - r64850;
double r64852 = sqrt(r64851);
double r64853 = r64849 - r64852;
double r64854 = r64853 / r64839;
double r64855 = -2.0;
double r64856 = r64855 * r64828;
double r64857 = r64856 / r64839;
double r64858 = r64848 ? r64854 : r64857;
double r64859 = r64836 ? r64846 : r64858;
double r64860 = r64830 ? r64834 : r64859;
return r64860;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.075503372554189e+112Initial program 60.2
Taylor expanded around -inf 2.3
if -6.075503372554189e+112 < b_2 < -6.186379766271726e-309Initial program 33.3
rmApplied flip--33.3
Simplified16.4
Simplified16.4
rmApplied *-un-lft-identity16.4
Applied associate-/r*16.4
Simplified14.3
rmApplied div-inv14.3
Applied *-un-lft-identity14.3
Applied times-frac16.5
Applied associate-/l*15.5
Simplified8.9
if -6.186379766271726e-309 < b_2 < 1.2945834219150715e+99Initial program 8.3
if 1.2945834219150715e+99 < b_2 Initial program 46.4
rmApplied flip--63.5
Simplified62.6
Simplified62.6
Taylor expanded around 0 3.7
Final simplification6.4
herbie shell --seed 2019291
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))