\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.869662346631121401645595393947635525169 \cdot 10^{101}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 7.455592343308264166675918758902222662503 \cdot 10^{-170}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\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 r53030 = b_2;
double r53031 = -r53030;
double r53032 = r53030 * r53030;
double r53033 = a;
double r53034 = c;
double r53035 = r53033 * r53034;
double r53036 = r53032 - r53035;
double r53037 = sqrt(r53036);
double r53038 = r53031 - r53037;
double r53039 = r53038 / r53033;
return r53039;
}
double f(double a, double b_2, double c) {
double r53040 = b_2;
double r53041 = -1.8696623466311214e+101;
bool r53042 = r53040 <= r53041;
double r53043 = -0.5;
double r53044 = c;
double r53045 = r53044 / r53040;
double r53046 = r53043 * r53045;
double r53047 = 7.455592343308264e-170;
bool r53048 = r53040 <= r53047;
double r53049 = r53040 * r53040;
double r53050 = a;
double r53051 = r53050 * r53044;
double r53052 = r53049 - r53051;
double r53053 = sqrt(r53052);
double r53054 = r53053 - r53040;
double r53055 = r53044 / r53054;
double r53056 = 0.5;
double r53057 = r53056 * r53045;
double r53058 = 2.0;
double r53059 = r53040 / r53050;
double r53060 = r53058 * r53059;
double r53061 = r53057 - r53060;
double r53062 = r53048 ? r53055 : r53061;
double r53063 = r53042 ? r53046 : r53062;
return r53063;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.8696623466311214e+101Initial program 59.8
Taylor expanded around -inf 2.5
if -1.8696623466311214e+101 < b_2 < 7.455592343308264e-170Initial program 28.9
rmApplied flip--29.1
Simplified16.6
Simplified16.6
rmApplied *-un-lft-identity16.6
Applied *-un-lft-identity16.6
Applied times-frac16.6
Simplified16.6
Simplified11.1
if 7.455592343308264e-170 < b_2 Initial program 23.0
Taylor expanded around inf 17.1
Final simplification11.3
herbie shell --seed 2019323
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))