\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.602441184943772642330945248646923860899 \cdot 10^{118}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.897979690537010916247637791104885449418 \cdot 10^{-281}:\\
\;\;\;\;\frac{c}{\sqrt{{b_2}^{2} - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 2.125563079851438727208684227808951636731 \cdot 10^{135}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\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 r45853 = b_2;
double r45854 = -r45853;
double r45855 = r45853 * r45853;
double r45856 = a;
double r45857 = c;
double r45858 = r45856 * r45857;
double r45859 = r45855 - r45858;
double r45860 = sqrt(r45859);
double r45861 = r45854 - r45860;
double r45862 = r45861 / r45856;
return r45862;
}
double f(double a, double b_2, double c) {
double r45863 = b_2;
double r45864 = -5.602441184943773e+118;
bool r45865 = r45863 <= r45864;
double r45866 = -0.5;
double r45867 = c;
double r45868 = r45867 / r45863;
double r45869 = r45866 * r45868;
double r45870 = -3.897979690537011e-281;
bool r45871 = r45863 <= r45870;
double r45872 = 2.0;
double r45873 = pow(r45863, r45872);
double r45874 = a;
double r45875 = r45874 * r45867;
double r45876 = r45873 - r45875;
double r45877 = sqrt(r45876);
double r45878 = r45877 - r45863;
double r45879 = r45867 / r45878;
double r45880 = 2.1255630798514387e+135;
bool r45881 = r45863 <= r45880;
double r45882 = -r45863;
double r45883 = r45863 * r45863;
double r45884 = r45883 - r45875;
double r45885 = sqrt(r45884);
double r45886 = r45882 - r45885;
double r45887 = r45886 / r45874;
double r45888 = 0.5;
double r45889 = r45888 * r45868;
double r45890 = r45863 / r45874;
double r45891 = r45872 * r45890;
double r45892 = r45889 - r45891;
double r45893 = r45881 ? r45887 : r45892;
double r45894 = r45871 ? r45879 : r45893;
double r45895 = r45865 ? r45869 : r45894;
return r45895;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.602441184943773e+118Initial program 61.1
Taylor expanded around -inf 1.9
if -5.602441184943773e+118 < b_2 < -3.897979690537011e-281Initial program 34.7
rmApplied flip--34.7
Simplified16.1
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied times-frac15.0
Applied associate-/l*10.5
Simplified8.4
Taylor expanded around 0 8.4
if -3.897979690537011e-281 < b_2 < 2.1255630798514387e+135Initial program 9.3
if 2.1255630798514387e+135 < b_2 Initial program 58.2
Taylor expanded around inf 3.0
Final simplification6.6
herbie shell --seed 2019306
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))