\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -9.10146118799873429 \cdot 10^{58}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.3863010340691693 \cdot 10^{-261}:\\
\;\;\;\;\frac{\frac{a}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{c}}}{a}\\
\mathbf{elif}\;b_2 \le 6.51824979065928321 \cdot 10^{93}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{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 r79834 = b_2;
double r79835 = -r79834;
double r79836 = r79834 * r79834;
double r79837 = a;
double r79838 = c;
double r79839 = r79837 * r79838;
double r79840 = r79836 - r79839;
double r79841 = sqrt(r79840);
double r79842 = r79835 - r79841;
double r79843 = r79842 / r79837;
return r79843;
}
double f(double a, double b_2, double c) {
double r79844 = b_2;
double r79845 = -9.101461187998734e+58;
bool r79846 = r79844 <= r79845;
double r79847 = -0.5;
double r79848 = c;
double r79849 = r79848 / r79844;
double r79850 = r79847 * r79849;
double r79851 = 1.3863010340691693e-261;
bool r79852 = r79844 <= r79851;
double r79853 = a;
double r79854 = r79844 * r79844;
double r79855 = r79853 * r79848;
double r79856 = r79854 - r79855;
double r79857 = sqrt(r79856);
double r79858 = r79857 - r79844;
double r79859 = r79858 / r79848;
double r79860 = r79853 / r79859;
double r79861 = r79860 / r79853;
double r79862 = 6.518249790659283e+93;
bool r79863 = r79844 <= r79862;
double r79864 = -r79844;
double r79865 = r79864 - r79857;
double r79866 = 1.0;
double r79867 = r79866 / r79853;
double r79868 = r79865 * r79867;
double r79869 = 0.5;
double r79870 = r79869 * r79849;
double r79871 = 2.0;
double r79872 = r79844 / r79853;
double r79873 = r79871 * r79872;
double r79874 = r79870 - r79873;
double r79875 = r79863 ? r79868 : r79874;
double r79876 = r79852 ? r79861 : r79875;
double r79877 = r79846 ? r79850 : r79876;
return r79877;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -9.101461187998734e+58Initial program 57.7
Taylor expanded around -inf 3.5
if -9.101461187998734e+58 < b_2 < 1.3863010340691693e-261Initial program 29.5
rmApplied flip--29.6
Simplified16.7
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied associate-/r*16.7
Simplified14.6
if 1.3863010340691693e-261 < b_2 < 6.518249790659283e+93Initial program 8.0
rmApplied div-inv8.2
if 6.518249790659283e+93 < b_2 Initial program 46.1
Taylor expanded around inf 4.1
Final simplification8.1
herbie shell --seed 2020027
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))