\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.234164035284793 \cdot 10^{+22}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -6.3209183644448 \cdot 10^{-115}:\\
\;\;\;\;\frac{\frac{c \cdot a}{\sqrt{b_2 \cdot b_2 - c \cdot a} - b_2}}{a}\\
\mathbf{elif}\;b_2 \le 2.026128983134594 \cdot 10^{+103}:\\
\;\;\;\;\frac{1}{a} \cdot \left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - c \cdot a}\right)\\
\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 r888198 = b_2;
double r888199 = -r888198;
double r888200 = r888198 * r888198;
double r888201 = a;
double r888202 = c;
double r888203 = r888201 * r888202;
double r888204 = r888200 - r888203;
double r888205 = sqrt(r888204);
double r888206 = r888199 - r888205;
double r888207 = r888206 / r888201;
return r888207;
}
double f(double a, double b_2, double c) {
double r888208 = b_2;
double r888209 = -3.234164035284793e+22;
bool r888210 = r888208 <= r888209;
double r888211 = -0.5;
double r888212 = c;
double r888213 = r888212 / r888208;
double r888214 = r888211 * r888213;
double r888215 = -6.3209183644448e-115;
bool r888216 = r888208 <= r888215;
double r888217 = a;
double r888218 = r888212 * r888217;
double r888219 = r888208 * r888208;
double r888220 = r888219 - r888218;
double r888221 = sqrt(r888220);
double r888222 = r888221 - r888208;
double r888223 = r888218 / r888222;
double r888224 = r888223 / r888217;
double r888225 = 2.026128983134594e+103;
bool r888226 = r888208 <= r888225;
double r888227 = 1.0;
double r888228 = r888227 / r888217;
double r888229 = -r888208;
double r888230 = r888229 - r888221;
double r888231 = r888228 * r888230;
double r888232 = 0.5;
double r888233 = r888232 * r888213;
double r888234 = r888208 / r888217;
double r888235 = 2.0;
double r888236 = r888234 * r888235;
double r888237 = r888233 - r888236;
double r888238 = r888226 ? r888231 : r888237;
double r888239 = r888216 ? r888224 : r888238;
double r888240 = r888210 ? r888214 : r888239;
return r888240;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.234164035284793e+22Initial program 55.9
Taylor expanded around -inf 4.6
if -3.234164035284793e+22 < b_2 < -6.3209183644448e-115Initial program 38.3
rmApplied flip--38.4
Simplified15.5
Simplified15.5
if -6.3209183644448e-115 < b_2 < 2.026128983134594e+103Initial program 11.3
rmApplied div-inv11.4
if 2.026128983134594e+103 < b_2 Initial program 45.2
Taylor expanded around inf 3.2
Final simplification8.4
herbie shell --seed 2019165
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))