\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.643947230437265585428917170074785083411 \cdot 10^{-71}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.498338218964205825262884582884276173268 \cdot 10^{54}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\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 r73708 = b_2;
double r73709 = -r73708;
double r73710 = r73708 * r73708;
double r73711 = a;
double r73712 = c;
double r73713 = r73711 * r73712;
double r73714 = r73710 - r73713;
double r73715 = sqrt(r73714);
double r73716 = r73709 - r73715;
double r73717 = r73716 / r73711;
return r73717;
}
double f(double a, double b_2, double c) {
double r73718 = b_2;
double r73719 = -5.6439472304372656e-71;
bool r73720 = r73718 <= r73719;
double r73721 = -0.5;
double r73722 = c;
double r73723 = r73722 / r73718;
double r73724 = r73721 * r73723;
double r73725 = 1.4983382189642058e+54;
bool r73726 = r73718 <= r73725;
double r73727 = 1.0;
double r73728 = a;
double r73729 = -r73718;
double r73730 = r73718 * r73718;
double r73731 = r73728 * r73722;
double r73732 = r73730 - r73731;
double r73733 = sqrt(r73732);
double r73734 = r73729 - r73733;
double r73735 = r73728 / r73734;
double r73736 = r73727 / r73735;
double r73737 = 0.5;
double r73738 = r73737 * r73723;
double r73739 = 2.0;
double r73740 = r73718 / r73728;
double r73741 = r73739 * r73740;
double r73742 = r73738 - r73741;
double r73743 = r73726 ? r73736 : r73742;
double r73744 = r73720 ? r73724 : r73743;
return r73744;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.6439472304372656e-71Initial program 53.3
Taylor expanded around -inf 9.1
if -5.6439472304372656e-71 < b_2 < 1.4983382189642058e+54Initial program 14.2
rmApplied clear-num14.3
if 1.4983382189642058e+54 < b_2 Initial program 38.0
Taylor expanded around inf 5.0
Final simplification10.5
herbie shell --seed 2020002 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))