\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -6.473972066548491 \cdot 10^{+100}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.554031892664371 \cdot 10^{-133}:\\
\;\;\;\;\frac{\frac{c}{\sqrt[3]{a}} \cdot \frac{a}{\sqrt[3]{a} \cdot \sqrt[3]{a}}}{\sqrt{b_2 \cdot b_2 - c \cdot a} + \left(-b_2\right)}\\
\mathbf{elif}\;b_2 \le 1.983916337927056 \cdot 10^{+89}:\\
\;\;\;\;\left(-\frac{b_2}{a}\right) - \frac{\sqrt{b_2 \cdot b_2 - c \cdot a}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{(\frac{1}{2} \cdot \left(\frac{a}{\frac{b_2}{c}}\right) + \left(b_2 \cdot -2\right))_*}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r2251968 = b_2;
double r2251969 = -r2251968;
double r2251970 = r2251968 * r2251968;
double r2251971 = a;
double r2251972 = c;
double r2251973 = r2251971 * r2251972;
double r2251974 = r2251970 - r2251973;
double r2251975 = sqrt(r2251974);
double r2251976 = r2251969 - r2251975;
double r2251977 = r2251976 / r2251971;
return r2251977;
}
double f(double a, double b_2, double c) {
double r2251978 = b_2;
double r2251979 = -6.473972066548491e+100;
bool r2251980 = r2251978 <= r2251979;
double r2251981 = -0.5;
double r2251982 = c;
double r2251983 = r2251982 / r2251978;
double r2251984 = r2251981 * r2251983;
double r2251985 = -3.554031892664371e-133;
bool r2251986 = r2251978 <= r2251985;
double r2251987 = a;
double r2251988 = cbrt(r2251987);
double r2251989 = r2251982 / r2251988;
double r2251990 = r2251988 * r2251988;
double r2251991 = r2251987 / r2251990;
double r2251992 = r2251989 * r2251991;
double r2251993 = r2251978 * r2251978;
double r2251994 = r2251982 * r2251987;
double r2251995 = r2251993 - r2251994;
double r2251996 = sqrt(r2251995);
double r2251997 = -r2251978;
double r2251998 = r2251996 + r2251997;
double r2251999 = r2251992 / r2251998;
double r2252000 = 1.983916337927056e+89;
bool r2252001 = r2251978 <= r2252000;
double r2252002 = r2251978 / r2251987;
double r2252003 = -r2252002;
double r2252004 = r2251996 / r2251987;
double r2252005 = r2252003 - r2252004;
double r2252006 = 0.5;
double r2252007 = r2251978 / r2251982;
double r2252008 = r2251987 / r2252007;
double r2252009 = -2.0;
double r2252010 = r2251978 * r2252009;
double r2252011 = fma(r2252006, r2252008, r2252010);
double r2252012 = r2252011 / r2251987;
double r2252013 = r2252001 ? r2252005 : r2252012;
double r2252014 = r2251986 ? r2251999 : r2252013;
double r2252015 = r2251980 ? r2251984 : r2252014;
return r2252015;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -6.473972066548491e+100Initial program 58.8
rmApplied div-inv58.8
Taylor expanded around -inf 2.3
if -6.473972066548491e+100 < b_2 < -3.554031892664371e-133Initial program 39.0
rmApplied div-inv39.1
rmApplied flip--39.2
Applied associate-*l/39.2
Simplified13.1
rmApplied add-cube-cbrt14.0
Applied times-frac10.6
if -3.554031892664371e-133 < b_2 < 1.983916337927056e+89Initial program 11.5
rmApplied div-sub11.5
if 1.983916337927056e+89 < b_2 Initial program 42.0
Taylor expanded around inf 9.6
Simplified4.2
Final simplification8.0
herbie shell --seed 2019107 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))