\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -4.2863876983616346 \cdot 10^{-14}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.2374193672365033 \cdot 10^{-189}:\\
\;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 3.340270116328134 \cdot 10^{+83}:\\
\;\;\;\;-\frac{\sqrt{b_2 \cdot b_2 - c \cdot a} + b_2}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - \frac{b_2}{a} \cdot 2\\
\end{array}double f(double a, double b_2, double c) {
double r466970 = b_2;
double r466971 = -r466970;
double r466972 = r466970 * r466970;
double r466973 = a;
double r466974 = c;
double r466975 = r466973 * r466974;
double r466976 = r466972 - r466975;
double r466977 = sqrt(r466976);
double r466978 = r466971 - r466977;
double r466979 = r466978 / r466973;
return r466979;
}
double f(double a, double b_2, double c) {
double r466980 = b_2;
double r466981 = -4.2863876983616346e-14;
bool r466982 = r466980 <= r466981;
double r466983 = -0.5;
double r466984 = c;
double r466985 = r466984 / r466980;
double r466986 = r466983 * r466985;
double r466987 = -3.2374193672365033e-189;
bool r466988 = r466980 <= r466987;
double r466989 = a;
double r466990 = r466984 * r466989;
double r466991 = r466980 * r466980;
double r466992 = r466991 - r466990;
double r466993 = sqrt(r466992);
double r466994 = r466993 - r466980;
double r466995 = r466990 / r466994;
double r466996 = r466995 / r466989;
double r466997 = 3.340270116328134e+83;
bool r466998 = r466980 <= r466997;
double r466999 = r466993 + r466980;
double r467000 = r466999 / r466989;
double r467001 = -r467000;
double r467002 = 0.5;
double r467003 = r467002 * r466985;
double r467004 = r466980 / r466989;
double r467005 = 2.0;
double r467006 = r467004 * r467005;
double r467007 = r467003 - r467006;
double r467008 = r466998 ? r467001 : r467007;
double r467009 = r466988 ? r466996 : r467008;
double r467010 = r466982 ? r466986 : r467009;
return r467010;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -4.2863876983616346e-14Initial program 54.8
Taylor expanded around -inf 5.9
if -4.2863876983616346e-14 < b_2 < -3.2374193672365033e-189Initial program 29.3
rmApplied flip--29.4
Simplified18.0
Simplified18.0
if -3.2374193672365033e-189 < b_2 < 3.340270116328134e+83Initial program 9.8
rmApplied *-un-lft-identity9.8
Applied associate-/r*9.8
Simplified9.8
if 3.340270116328134e+83 < b_2 Initial program 42.6
Taylor expanded around inf 3.8
Final simplification8.5
herbie shell --seed 2019156
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))