\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.2375225949334019 \cdot 10^{57}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.9220534958503673 \cdot 10^{-246}:\\
\;\;\;\;1 \cdot \frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 1.77017414835012383 \cdot 10^{70}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r21372 = b_2;
double r21373 = -r21372;
double r21374 = r21372 * r21372;
double r21375 = a;
double r21376 = c;
double r21377 = r21375 * r21376;
double r21378 = r21374 - r21377;
double r21379 = sqrt(r21378);
double r21380 = r21373 - r21379;
double r21381 = r21380 / r21375;
return r21381;
}
double f(double a, double b_2, double c) {
double r21382 = b_2;
double r21383 = -2.237522594933402e+57;
bool r21384 = r21382 <= r21383;
double r21385 = -0.5;
double r21386 = c;
double r21387 = r21386 / r21382;
double r21388 = r21385 * r21387;
double r21389 = 1.9220534958503673e-246;
bool r21390 = r21382 <= r21389;
double r21391 = 1.0;
double r21392 = r21382 * r21382;
double r21393 = a;
double r21394 = r21393 * r21386;
double r21395 = r21392 - r21394;
double r21396 = sqrt(r21395);
double r21397 = r21396 - r21382;
double r21398 = r21386 / r21397;
double r21399 = r21391 * r21398;
double r21400 = 1.7701741483501238e+70;
bool r21401 = r21382 <= r21400;
double r21402 = -r21382;
double r21403 = r21402 - r21396;
double r21404 = r21391 / r21393;
double r21405 = r21403 * r21404;
double r21406 = -2.0;
double r21407 = r21382 / r21393;
double r21408 = r21406 * r21407;
double r21409 = r21401 ? r21405 : r21408;
double r21410 = r21390 ? r21399 : r21409;
double r21411 = r21384 ? r21388 : r21410;
return r21411;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.237522594933402e+57Initial program 57.0
Taylor expanded around -inf 3.8
if -2.237522594933402e+57 < b_2 < 1.9220534958503673e-246Initial program 28.3
rmApplied flip--28.3
Simplified17.0
Simplified17.0
rmApplied *-un-lft-identity17.0
Applied associate-/r*17.0
Simplified14.6
rmApplied *-un-lft-identity14.6
Applied *-un-lft-identity14.6
Applied times-frac14.6
Applied associate-/l*14.6
Simplified10.6
rmApplied *-un-lft-identity10.6
Applied *-un-lft-identity10.6
Applied times-frac10.6
Applied add-sqr-sqrt10.6
Applied times-frac10.6
Simplified10.6
Simplified10.4
if 1.9220534958503673e-246 < b_2 < 1.7701741483501238e+70Initial program 8.4
rmApplied div-inv8.6
if 1.7701741483501238e+70 < b_2 Initial program 41.6
rmApplied flip--62.0
Simplified61.2
Simplified61.2
rmApplied *-un-lft-identity61.2
Applied associate-/r*61.2
Simplified61.0
Taylor expanded around 0 5.6
Final simplification7.2
herbie shell --seed 2020025
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))