\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.31527533468747254945329057805605105454 \cdot 10^{154}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.715635635804485665710511693493777567136 \cdot 10^{-290}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.550864523265886563049771174775756600156 \cdot 10^{102}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r60069 = b_2;
double r60070 = -r60069;
double r60071 = r60069 * r60069;
double r60072 = a;
double r60073 = c;
double r60074 = r60072 * r60073;
double r60075 = r60071 - r60074;
double r60076 = sqrt(r60075);
double r60077 = r60070 - r60076;
double r60078 = r60077 / r60072;
return r60078;
}
double f(double a, double b_2, double c) {
double r60079 = b_2;
double r60080 = -1.3152753346874725e+154;
bool r60081 = r60079 <= r60080;
double r60082 = -0.5;
double r60083 = c;
double r60084 = r60083 / r60079;
double r60085 = r60082 * r60084;
double r60086 = 2.7156356358044857e-290;
bool r60087 = r60079 <= r60086;
double r60088 = r60079 * r60079;
double r60089 = a;
double r60090 = r60089 * r60083;
double r60091 = r60088 - r60090;
double r60092 = sqrt(r60091);
double r60093 = r60092 - r60079;
double r60094 = r60083 / r60093;
double r60095 = 5.550864523265887e+102;
bool r60096 = r60079 <= r60095;
double r60097 = 1.0;
double r60098 = -r60079;
double r60099 = r60098 - r60092;
double r60100 = r60089 / r60099;
double r60101 = r60097 / r60100;
double r60102 = -2.0;
double r60103 = r60102 * r60079;
double r60104 = r60103 / r60089;
double r60105 = r60096 ? r60101 : r60104;
double r60106 = r60087 ? r60094 : r60105;
double r60107 = r60081 ? r60085 : r60106;
return r60107;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.3152753346874725e+154Initial program 64.0
Taylor expanded around -inf 1.5
if -1.3152753346874725e+154 < b_2 < 2.7156356358044857e-290Initial program 34.3
rmApplied flip--34.3
Simplified15.6
Simplified15.6
rmApplied div-inv15.6
rmApplied *-un-lft-identity15.6
Applied *-un-lft-identity15.6
Applied times-frac15.6
Applied associate-*l*15.6
Simplified14.1
Taylor expanded around 0 7.8
if 2.7156356358044857e-290 < b_2 < 5.550864523265887e+102Initial program 8.4
rmApplied clear-num8.5
if 5.550864523265887e+102 < b_2 Initial program 47.7
rmApplied flip--63.1
Simplified62.2
Simplified62.2
Taylor expanded around 0 3.3
Final simplification6.2
herbie shell --seed 2019212
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))