\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.9358923729233266 \cdot 10^{149}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 9.39036747108992214 \cdot 10^{-69}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r13718 = b_2;
double r13719 = -r13718;
double r13720 = r13718 * r13718;
double r13721 = a;
double r13722 = c;
double r13723 = r13721 * r13722;
double r13724 = r13720 - r13723;
double r13725 = sqrt(r13724);
double r13726 = r13719 + r13725;
double r13727 = r13726 / r13721;
return r13727;
}
double f(double a, double b_2, double c) {
double r13728 = b_2;
double r13729 = -2.9358923729233266e+149;
bool r13730 = r13728 <= r13729;
double r13731 = 0.5;
double r13732 = c;
double r13733 = r13732 / r13728;
double r13734 = r13731 * r13733;
double r13735 = 2.0;
double r13736 = a;
double r13737 = r13728 / r13736;
double r13738 = r13735 * r13737;
double r13739 = r13734 - r13738;
double r13740 = 9.390367471089922e-69;
bool r13741 = r13728 <= r13740;
double r13742 = -r13728;
double r13743 = r13728 * r13728;
double r13744 = r13736 * r13732;
double r13745 = r13743 - r13744;
double r13746 = sqrt(r13745);
double r13747 = r13742 + r13746;
double r13748 = r13747 / r13736;
double r13749 = -0.5;
double r13750 = r13749 * r13733;
double r13751 = r13741 ? r13748 : r13750;
double r13752 = r13730 ? r13739 : r13751;
return r13752;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.9358923729233266e+149Initial program 62.1
Taylor expanded around -inf 1.7
if -2.9358923729233266e+149 < b_2 < 9.390367471089922e-69Initial program 12.4
if 9.390367471089922e-69 < b_2 Initial program 53.5
Taylor expanded around inf 8.7
Final simplification9.7
herbie shell --seed 2020018
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))