\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.96852488717399238 \cdot 10^{152}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -7.5932715112131794 \cdot 10^{-252}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 9.9656763960867421 \cdot 10^{45}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\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 r71825 = b_2;
double r71826 = -r71825;
double r71827 = r71825 * r71825;
double r71828 = a;
double r71829 = c;
double r71830 = r71828 * r71829;
double r71831 = r71827 - r71830;
double r71832 = sqrt(r71831);
double r71833 = r71826 - r71832;
double r71834 = r71833 / r71828;
return r71834;
}
double f(double a, double b_2, double c) {
double r71835 = b_2;
double r71836 = -6.968524887173992e+152;
bool r71837 = r71835 <= r71836;
double r71838 = -0.5;
double r71839 = c;
double r71840 = r71839 / r71835;
double r71841 = r71838 * r71840;
double r71842 = -7.593271511213179e-252;
bool r71843 = r71835 <= r71842;
double r71844 = r71835 * r71835;
double r71845 = a;
double r71846 = r71845 * r71839;
double r71847 = r71844 - r71846;
double r71848 = sqrt(r71847);
double r71849 = r71848 - r71835;
double r71850 = r71839 / r71849;
double r71851 = 9.965676396086742e+45;
bool r71852 = r71835 <= r71851;
double r71853 = -r71835;
double r71854 = r71853 / r71845;
double r71855 = r71848 / r71845;
double r71856 = r71854 - r71855;
double r71857 = 0.5;
double r71858 = r71857 * r71840;
double r71859 = 2.0;
double r71860 = r71835 / r71845;
double r71861 = r71859 * r71860;
double r71862 = r71858 - r71861;
double r71863 = r71852 ? r71856 : r71862;
double r71864 = r71843 ? r71850 : r71863;
double r71865 = r71837 ? r71841 : r71864;
return r71865;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -6.968524887173992e+152Initial program 63.9
Taylor expanded around -inf 1.5
if -6.968524887173992e+152 < b_2 < -7.593271511213179e-252Initial program 36.7
rmApplied flip--36.7
Simplified16.0
Simplified16.0
rmApplied *-un-lft-identity16.0
Applied *-un-lft-identity16.0
Applied times-frac16.0
Applied associate-/l*16.2
Simplified14.5
rmApplied associate-/r*14.2
Simplified7.6
if -7.593271511213179e-252 < b_2 < 9.965676396086742e+45Initial program 10.6
rmApplied div-sub10.6
if 9.965676396086742e+45 < b_2 Initial program 36.8
Taylor expanded around inf 5.2
Final simplification6.8
herbie shell --seed 2020046
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))