\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2200.014963884743337985128164291381835938:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -2.332637431447364623268840018977048343656 \cdot 10^{-95}:\\
\;\;\;\;\frac{\frac{{b_2}^{2}}{a} - \frac{b_2 \cdot b_2 - a \cdot c}{a}}{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{elif}\;b_2 \le -1.642868784686771959253301844332455949634 \cdot 10^{-124}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.578980439773996833308311441044417137702 \cdot 10^{94}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2}}{\sqrt{b_2}} \cdot \frac{c}{\sqrt{b_2}} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r13991 = b_2;
double r13992 = -r13991;
double r13993 = r13991 * r13991;
double r13994 = a;
double r13995 = c;
double r13996 = r13994 * r13995;
double r13997 = r13993 - r13996;
double r13998 = sqrt(r13997);
double r13999 = r13992 - r13998;
double r14000 = r13999 / r13994;
return r14000;
}
double f(double a, double b_2, double c) {
double r14001 = b_2;
double r14002 = -2200.0149638847433;
bool r14003 = r14001 <= r14002;
double r14004 = -0.5;
double r14005 = c;
double r14006 = r14005 / r14001;
double r14007 = r14004 * r14006;
double r14008 = -2.3326374314473646e-95;
bool r14009 = r14001 <= r14008;
double r14010 = 2.0;
double r14011 = pow(r14001, r14010);
double r14012 = a;
double r14013 = r14011 / r14012;
double r14014 = r14001 * r14001;
double r14015 = r14012 * r14005;
double r14016 = r14014 - r14015;
double r14017 = r14016 / r14012;
double r14018 = r14013 - r14017;
double r14019 = -r14001;
double r14020 = sqrt(r14016);
double r14021 = r14019 + r14020;
double r14022 = r14018 / r14021;
double r14023 = -1.642868784686772e-124;
bool r14024 = r14001 <= r14023;
double r14025 = 2.578980439773997e+94;
bool r14026 = r14001 <= r14025;
double r14027 = r14019 - r14020;
double r14028 = r14027 / r14012;
double r14029 = 0.5;
double r14030 = sqrt(r14001);
double r14031 = r14029 / r14030;
double r14032 = r14005 / r14030;
double r14033 = r14031 * r14032;
double r14034 = r14001 / r14012;
double r14035 = r14010 * r14034;
double r14036 = r14033 - r14035;
double r14037 = r14026 ? r14028 : r14036;
double r14038 = r14024 ? r14007 : r14037;
double r14039 = r14009 ? r14022 : r14038;
double r14040 = r14003 ? r14007 : r14039;
return r14040;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2200.0149638847433 or -2.3326374314473646e-95 < b_2 < -1.642868784686772e-124Initial program 54.1
Taylor expanded around -inf 8.0
if -2200.0149638847433 < b_2 < -2.3326374314473646e-95Initial program 36.5
rmApplied div-inv36.5
rmApplied flip--36.6
Applied associate-*l/36.6
Simplified36.5
if -1.642868784686772e-124 < b_2 < 2.578980439773997e+94Initial program 11.5
rmApplied div-inv11.6
rmApplied un-div-inv11.5
if 2.578980439773997e+94 < b_2 Initial program 44.8
Taylor expanded around inf 3.7
rmApplied add-sqr-sqrt3.7
Applied *-un-lft-identity3.7
Applied times-frac3.7
Applied associate-*r*3.7
Simplified3.7
Final simplification10.9
herbie shell --seed 2019346 +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))