\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -0.03099989563658142946445117615894560003653:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -4.652312659939379000312469651590666723463 \cdot 10^{-132}:\\
\;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le -4.782406139136436775896616480888561683498 \cdot 10^{-149}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 63580190853209333432320:\\
\;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\
\end{array}double f(double a, double b_2, double c) {
double r3145650 = b_2;
double r3145651 = -r3145650;
double r3145652 = r3145650 * r3145650;
double r3145653 = a;
double r3145654 = c;
double r3145655 = r3145653 * r3145654;
double r3145656 = r3145652 - r3145655;
double r3145657 = sqrt(r3145656);
double r3145658 = r3145651 - r3145657;
double r3145659 = r3145658 / r3145653;
return r3145659;
}
double f(double a, double b_2, double c) {
double r3145660 = b_2;
double r3145661 = -0.03099989563658143;
bool r3145662 = r3145660 <= r3145661;
double r3145663 = -0.5;
double r3145664 = c;
double r3145665 = r3145664 / r3145660;
double r3145666 = r3145663 * r3145665;
double r3145667 = -4.652312659939379e-132;
bool r3145668 = r3145660 <= r3145667;
double r3145669 = a;
double r3145670 = r3145664 * r3145669;
double r3145671 = r3145660 * r3145660;
double r3145672 = r3145671 - r3145670;
double r3145673 = sqrt(r3145672);
double r3145674 = r3145673 - r3145660;
double r3145675 = r3145670 / r3145674;
double r3145676 = r3145675 / r3145669;
double r3145677 = -4.782406139136437e-149;
bool r3145678 = r3145660 <= r3145677;
double r3145679 = 6.358019085320933e+22;
bool r3145680 = r3145660 <= r3145679;
double r3145681 = r3145673 + r3145660;
double r3145682 = r3145681 / r3145669;
double r3145683 = -r3145682;
double r3145684 = 0.5;
double r3145685 = r3145684 * r3145665;
double r3145686 = r3145660 / r3145669;
double r3145687 = 2.0;
double r3145688 = r3145686 * r3145687;
double r3145689 = r3145685 - r3145688;
double r3145690 = r3145680 ? r3145683 : r3145689;
double r3145691 = r3145678 ? r3145666 : r3145690;
double r3145692 = r3145668 ? r3145676 : r3145691;
double r3145693 = r3145662 ? r3145666 : r3145692;
return r3145693;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -0.03099989563658143 or -4.652312659939379e-132 < b_2 < -4.782406139136437e-149Initial program 54.6
Taylor expanded around -inf 7.6
if -0.03099989563658143 < b_2 < -4.652312659939379e-132Initial program 32.6
rmApplied flip--32.6
Simplified15.3
Simplified15.3
if -4.782406139136437e-149 < b_2 < 6.358019085320933e+22Initial program 12.3
rmApplied add-sqr-sqrt12.3
Applied sqrt-prod12.6
rmApplied neg-sub012.6
Applied associate--l-12.6
Simplified12.3
if 6.358019085320933e+22 < b_2 Initial program 33.1
Taylor expanded around inf 6.1
Final simplification9.5
herbie shell --seed 2019192
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))