\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.4003426496549383 \cdot 10^{-77}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -1.466065355378786 \cdot 10^{-87}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{1}{\frac{a}{\sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{elif}\;b_2 \le -6.27327853977469935 \cdot 10^{-139}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.57632464397167146 \cdot 10^{69}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r71924 = b_2;
double r71925 = -r71924;
double r71926 = r71924 * r71924;
double r71927 = a;
double r71928 = c;
double r71929 = r71927 * r71928;
double r71930 = r71926 - r71929;
double r71931 = sqrt(r71930);
double r71932 = r71925 - r71931;
double r71933 = r71932 / r71927;
return r71933;
}
double f(double a, double b_2, double c) {
double r71934 = b_2;
double r71935 = -3.4003426496549383e-77;
bool r71936 = r71934 <= r71935;
double r71937 = -0.5;
double r71938 = c;
double r71939 = r71938 / r71934;
double r71940 = r71937 * r71939;
double r71941 = -1.466065355378786e-87;
bool r71942 = r71934 <= r71941;
double r71943 = -r71934;
double r71944 = a;
double r71945 = r71943 / r71944;
double r71946 = 1.0;
double r71947 = r71934 * r71934;
double r71948 = r71944 * r71938;
double r71949 = r71947 - r71948;
double r71950 = sqrt(r71949);
double r71951 = r71944 / r71950;
double r71952 = r71946 / r71951;
double r71953 = r71945 - r71952;
double r71954 = -6.273278539774699e-139;
bool r71955 = r71934 <= r71954;
double r71956 = 1.5763246439716715e+69;
bool r71957 = r71934 <= r71956;
double r71958 = r71950 / r71944;
double r71959 = r71945 - r71958;
double r71960 = r71934 / r71944;
double r71961 = r71945 - r71960;
double r71962 = r71957 ? r71959 : r71961;
double r71963 = r71955 ? r71940 : r71962;
double r71964 = r71942 ? r71953 : r71963;
double r71965 = r71936 ? r71940 : r71964;
return r71965;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.4003426496549383e-77 or -1.466065355378786e-87 < b_2 < -6.273278539774699e-139Initial program 51.1
Taylor expanded around -inf 11.6
if -3.4003426496549383e-77 < b_2 < -1.466065355378786e-87Initial program 28.6
rmApplied div-sub28.6
rmApplied clear-num28.8
if -6.273278539774699e-139 < b_2 < 1.5763246439716715e+69Initial program 11.5
rmApplied div-sub11.5
if 1.5763246439716715e+69 < b_2 Initial program 42.5
rmApplied div-sub42.5
rmApplied clear-num42.6
Taylor expanded around 0 5.0
Final simplification10.5
herbie shell --seed 2020020 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))