\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.9551520595513616 \cdot 10^{118}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le -2.2625897093650334 \cdot 10^{-277}:\\
\;\;\;\;\frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}}\\
\mathbf{elif}\;b_2 \le 1.59213869007240738 \cdot 10^{30}:\\
\;\;\;\;\frac{1 \cdot \frac{a}{\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{c}}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r19767 = b_2;
double r19768 = -r19767;
double r19769 = r19767 * r19767;
double r19770 = a;
double r19771 = c;
double r19772 = r19770 * r19771;
double r19773 = r19769 - r19772;
double r19774 = sqrt(r19773);
double r19775 = r19768 + r19774;
double r19776 = r19775 / r19770;
return r19776;
}
double f(double a, double b_2, double c) {
double r19777 = b_2;
double r19778 = -5.955152059551362e+118;
bool r19779 = r19777 <= r19778;
double r19780 = 0.5;
double r19781 = c;
double r19782 = r19781 / r19777;
double r19783 = r19780 * r19782;
double r19784 = 2.0;
double r19785 = a;
double r19786 = r19777 / r19785;
double r19787 = r19784 * r19786;
double r19788 = r19783 - r19787;
double r19789 = -2.2625897093650334e-277;
bool r19790 = r19777 <= r19789;
double r19791 = 1.0;
double r19792 = r19777 * r19777;
double r19793 = r19785 * r19781;
double r19794 = r19792 - r19793;
double r19795 = sqrt(r19794);
double r19796 = r19795 - r19777;
double r19797 = r19785 / r19796;
double r19798 = r19791 / r19797;
double r19799 = 1.5921386900724074e+30;
bool r19800 = r19777 <= r19799;
double r19801 = -r19777;
double r19802 = r19801 - r19795;
double r19803 = r19802 / r19781;
double r19804 = r19785 / r19803;
double r19805 = r19791 * r19804;
double r19806 = r19805 / r19785;
double r19807 = -0.5;
double r19808 = r19807 * r19782;
double r19809 = r19800 ? r19806 : r19808;
double r19810 = r19790 ? r19798 : r19809;
double r19811 = r19779 ? r19788 : r19810;
return r19811;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.955152059551362e+118Initial program 52.1
Taylor expanded around -inf 2.9
if -5.955152059551362e+118 < b_2 < -2.2625897093650334e-277Initial program 8.0
rmApplied clear-num8.1
Simplified8.1
if -2.2625897093650334e-277 < b_2 < 1.5921386900724074e+30Initial program 27.0
rmApplied flip-+27.1
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied *-un-lft-identity16.7
Applied times-frac16.7
Simplified16.7
Simplified14.3
if 1.5921386900724074e+30 < b_2 Initial program 56.7
Taylor expanded around inf 4.8
Final simplification7.9
herbie shell --seed 2020049
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))