\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -7.363255598823911 \cdot 10^{-15}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.823572975982288 \cdot 10^{-27}:\\
\;\;\;\;\frac{\frac{b_2 \cdot b_2 - \left(b_2 \cdot b_2 - c \cdot a\right)}{a}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - c \cdot a}}\\
\mathbf{elif}\;b_2 \le -2.3344326820285623 \cdot 10^{-123}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.6691257204922504 \cdot 10^{+85}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}}{a}\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-2, \frac{b_2}{a}, \frac{1}{2} \cdot \frac{c}{b_2}\right)\\
\end{array}double f(double a, double b_2, double c) {
double r2709757 = b_2;
double r2709758 = -r2709757;
double r2709759 = r2709757 * r2709757;
double r2709760 = a;
double r2709761 = c;
double r2709762 = r2709760 * r2709761;
double r2709763 = r2709759 - r2709762;
double r2709764 = sqrt(r2709763);
double r2709765 = r2709758 - r2709764;
double r2709766 = r2709765 / r2709760;
return r2709766;
}
double f(double a, double b_2, double c) {
double r2709767 = b_2;
double r2709768 = -7.363255598823911e-15;
bool r2709769 = r2709767 <= r2709768;
double r2709770 = -0.5;
double r2709771 = c;
double r2709772 = r2709771 / r2709767;
double r2709773 = r2709770 * r2709772;
double r2709774 = -1.823572975982288e-27;
bool r2709775 = r2709767 <= r2709774;
double r2709776 = r2709767 * r2709767;
double r2709777 = a;
double r2709778 = r2709771 * r2709777;
double r2709779 = r2709776 - r2709778;
double r2709780 = r2709776 - r2709779;
double r2709781 = r2709780 / r2709777;
double r2709782 = -r2709767;
double r2709783 = sqrt(r2709779);
double r2709784 = r2709782 + r2709783;
double r2709785 = r2709781 / r2709784;
double r2709786 = -2.3344326820285623e-123;
bool r2709787 = r2709767 <= r2709786;
double r2709788 = 1.6691257204922504e+85;
bool r2709789 = r2709767 <= r2709788;
double r2709790 = r2709782 - r2709783;
double r2709791 = r2709790 / r2709777;
double r2709792 = -2.0;
double r2709793 = r2709767 / r2709777;
double r2709794 = 0.5;
double r2709795 = r2709794 * r2709772;
double r2709796 = fma(r2709792, r2709793, r2709795);
double r2709797 = r2709789 ? r2709791 : r2709796;
double r2709798 = r2709787 ? r2709773 : r2709797;
double r2709799 = r2709775 ? r2709785 : r2709798;
double r2709800 = r2709769 ? r2709773 : r2709799;
return r2709800;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -7.363255598823911e-15 or -1.823572975982288e-27 < b_2 < -2.3344326820285623e-123Initial program 50.8
Taylor expanded around -inf 10.6
if -7.363255598823911e-15 < b_2 < -1.823572975982288e-27Initial program 36.1
rmApplied clear-num36.1
rmApplied flip--36.2
Applied associate-/r/36.2
Applied associate-/r*36.2
Simplified36.1
if -2.3344326820285623e-123 < b_2 < 1.6691257204922504e+85Initial program 12.6
rmApplied div-inv12.7
rmApplied un-div-inv12.6
if 1.6691257204922504e+85 < b_2 Initial program 42.9
rmApplied div-inv42.9
Taylor expanded around inf 3.6
Simplified3.6
Final simplification10.6
herbie shell --seed 2019163 +o rules:numerics
(FPCore (a b_2 c)
:name "NMSE problem 3.2.1"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))