\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -7.359940312872037386934109274309219747139 \cdot 10^{54}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.394325716879235550939300459885270666443 \cdot 10^{-154}:\\
\;\;\;\;\frac{a \cdot c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot \frac{1}{a}\\
\mathbf{elif}\;b_2 \le 1920982614230223.5:\\
\;\;\;\;\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 r61957 = b_2;
double r61958 = -r61957;
double r61959 = r61957 * r61957;
double r61960 = a;
double r61961 = c;
double r61962 = r61960 * r61961;
double r61963 = r61959 - r61962;
double r61964 = sqrt(r61963);
double r61965 = r61958 - r61964;
double r61966 = r61965 / r61960;
return r61966;
}
double f(double a, double b_2, double c) {
double r61967 = b_2;
double r61968 = -7.359940312872037e+54;
bool r61969 = r61967 <= r61968;
double r61970 = -0.5;
double r61971 = c;
double r61972 = r61971 / r61967;
double r61973 = r61970 * r61972;
double r61974 = -1.3943257168792356e-154;
bool r61975 = r61967 <= r61974;
double r61976 = a;
double r61977 = r61976 * r61971;
double r61978 = r61967 * r61967;
double r61979 = r61978 - r61977;
double r61980 = sqrt(r61979);
double r61981 = r61980 - r61967;
double r61982 = r61977 / r61981;
double r61983 = 1.0;
double r61984 = r61983 / r61976;
double r61985 = r61982 * r61984;
double r61986 = 1920982614230223.5;
bool r61987 = r61967 <= r61986;
double r61988 = -r61967;
double r61989 = r61988 - r61980;
double r61990 = r61989 / r61976;
double r61991 = 0.5;
double r61992 = r61991 * r61972;
double r61993 = 2.0;
double r61994 = r61967 / r61976;
double r61995 = r61993 * r61994;
double r61996 = r61992 - r61995;
double r61997 = r61987 ? r61990 : r61996;
double r61998 = r61975 ? r61985 : r61997;
double r61999 = r61969 ? r61973 : r61998;
return r61999;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -7.359940312872037e+54Initial program 57.6
Taylor expanded around -inf 3.8
if -7.359940312872037e+54 < b_2 < -1.3943257168792356e-154Initial program 39.5
rmApplied div-inv39.6
rmApplied flip--39.6
Simplified18.5
Simplified18.5
if -1.3943257168792356e-154 < b_2 < 1920982614230223.5Initial program 12.3
rmApplied div-inv12.4
rmApplied *-un-lft-identity12.4
Applied associate-*l*12.4
Simplified12.3
if 1920982614230223.5 < b_2 Initial program 34.0
Taylor expanded around inf 6.8
Final simplification9.8
herbie shell --seed 2019208
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))