\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.98705289364567391 \cdot 10^{52}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.35718478447219164 \cdot 10^{-283}:\\
\;\;\;\;\frac{\frac{1}{1}}{\frac{a}{a \cdot c} \cdot \left(\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2\right)}\\
\mathbf{elif}\;b_2 \le 7.9196559434345 \cdot 10^{101}:\\
\;\;\;\;\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 r88951 = b_2;
double r88952 = -r88951;
double r88953 = r88951 * r88951;
double r88954 = a;
double r88955 = c;
double r88956 = r88954 * r88955;
double r88957 = r88953 - r88956;
double r88958 = sqrt(r88957);
double r88959 = r88952 - r88958;
double r88960 = r88959 / r88954;
return r88960;
}
double f(double a, double b_2, double c) {
double r88961 = b_2;
double r88962 = -3.987052893645674e+52;
bool r88963 = r88961 <= r88962;
double r88964 = -0.5;
double r88965 = c;
double r88966 = r88965 / r88961;
double r88967 = r88964 * r88966;
double r88968 = -4.357184784472192e-283;
bool r88969 = r88961 <= r88968;
double r88970 = 1.0;
double r88971 = r88970 / r88970;
double r88972 = a;
double r88973 = r88972 * r88965;
double r88974 = r88972 / r88973;
double r88975 = r88961 * r88961;
double r88976 = r88975 - r88973;
double r88977 = sqrt(r88976);
double r88978 = r88977 - r88961;
double r88979 = r88974 * r88978;
double r88980 = r88971 / r88979;
double r88981 = 7.9196559434345e+101;
bool r88982 = r88961 <= r88981;
double r88983 = -r88961;
double r88984 = r88983 - r88977;
double r88985 = r88984 / r88972;
double r88986 = 0.5;
double r88987 = r88986 * r88966;
double r88988 = 2.0;
double r88989 = r88961 / r88972;
double r88990 = r88988 * r88989;
double r88991 = r88987 - r88990;
double r88992 = r88982 ? r88985 : r88991;
double r88993 = r88969 ? r88980 : r88992;
double r88994 = r88963 ? r88967 : r88993;
return r88994;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.987052893645674e+52Initial program 57.7
Taylor expanded around -inf 3.4
if -3.987052893645674e+52 < b_2 < -4.357184784472192e-283Initial program 29.6
rmApplied flip--29.6
Simplified16.4
Simplified16.4
rmApplied *-un-lft-identity16.4
Applied *-un-lft-identity16.4
Applied times-frac16.4
Applied associate-/l*16.4
Simplified16.2
if -4.357184784472192e-283 < b_2 < 7.9196559434345e+101Initial program 9.5
if 7.9196559434345e+101 < b_2 Initial program 47.6
Taylor expanded around inf 3.4
Final simplification8.5
herbie shell --seed 2020024
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))