\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.7431685240570133 \cdot 10^{102}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\mathbf{elif}\;b_2 \le 1.0417939395900796 \cdot 10^{-259}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{elif}\;b_2 \le 4263616953.59318209:\\
\;\;\;\;\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 r17846 = b_2;
double r17847 = -r17846;
double r17848 = r17846 * r17846;
double r17849 = a;
double r17850 = c;
double r17851 = r17849 * r17850;
double r17852 = r17848 - r17851;
double r17853 = sqrt(r17852);
double r17854 = r17847 + r17853;
double r17855 = r17854 / r17849;
return r17855;
}
double f(double a, double b_2, double c) {
double r17856 = b_2;
double r17857 = -1.7431685240570133e+102;
bool r17858 = r17856 <= r17857;
double r17859 = 0.5;
double r17860 = c;
double r17861 = r17860 / r17856;
double r17862 = r17859 * r17861;
double r17863 = 2.0;
double r17864 = a;
double r17865 = r17856 / r17864;
double r17866 = r17863 * r17865;
double r17867 = r17862 - r17866;
double r17868 = 1.0417939395900796e-259;
bool r17869 = r17856 <= r17868;
double r17870 = -r17856;
double r17871 = r17856 * r17856;
double r17872 = r17864 * r17860;
double r17873 = r17871 - r17872;
double r17874 = sqrt(r17873);
double r17875 = r17870 + r17874;
double r17876 = r17875 / r17864;
double r17877 = 4263616953.593182;
bool r17878 = r17856 <= r17877;
double r17879 = 1.0;
double r17880 = r17870 - r17874;
double r17881 = r17880 / r17860;
double r17882 = r17864 / r17881;
double r17883 = r17879 * r17882;
double r17884 = r17883 / r17864;
double r17885 = -0.5;
double r17886 = r17885 * r17861;
double r17887 = r17878 ? r17884 : r17886;
double r17888 = r17869 ? r17876 : r17887;
double r17889 = r17858 ? r17867 : r17888;
return r17889;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.7431685240570133e+102Initial program 47.5
Taylor expanded around -inf 3.0
if -1.7431685240570133e+102 < b_2 < 1.0417939395900796e-259Initial program 9.6
if 1.0417939395900796e-259 < b_2 < 4263616953.593182Initial program 29.3
rmApplied flip-+29.3
Simplified18.2
rmApplied *-un-lft-identity18.2
Applied *-un-lft-identity18.2
Applied times-frac18.2
Simplified18.2
Simplified14.5
if 4263616953.593182 < b_2 Initial program 56.2
Taylor expanded around inf 4.9
Final simplification8.0
herbie shell --seed 2020024
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))