\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -84351863079940134392111797632084475904000:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.779221184338331637638800633144967588071 \cdot 10^{-301}:\\
\;\;\;\;\frac{1}{\frac{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}{c}}\\
\mathbf{elif}\;b_2 \le 2.730494439370032074747470763239053019705 \cdot 10^{75}:\\
\;\;\;\;\frac{-b_2}{a} - \frac{\sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{-2 \cdot b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r26434 = b_2;
double r26435 = -r26434;
double r26436 = r26434 * r26434;
double r26437 = a;
double r26438 = c;
double r26439 = r26437 * r26438;
double r26440 = r26436 - r26439;
double r26441 = sqrt(r26440);
double r26442 = r26435 - r26441;
double r26443 = r26442 / r26437;
return r26443;
}
double f(double a, double b_2, double c) {
double r26444 = b_2;
double r26445 = -8.435186307994013e+40;
bool r26446 = r26444 <= r26445;
double r26447 = -0.5;
double r26448 = c;
double r26449 = r26448 / r26444;
double r26450 = r26447 * r26449;
double r26451 = 2.7792211843383316e-301;
bool r26452 = r26444 <= r26451;
double r26453 = 1.0;
double r26454 = r26444 * r26444;
double r26455 = a;
double r26456 = r26455 * r26448;
double r26457 = r26454 - r26456;
double r26458 = sqrt(r26457);
double r26459 = r26458 - r26444;
double r26460 = r26459 / r26448;
double r26461 = r26453 / r26460;
double r26462 = 2.730494439370032e+75;
bool r26463 = r26444 <= r26462;
double r26464 = -r26444;
double r26465 = r26464 / r26455;
double r26466 = r26458 / r26455;
double r26467 = r26465 - r26466;
double r26468 = -2.0;
double r26469 = r26468 * r26444;
double r26470 = r26469 / r26455;
double r26471 = r26463 ? r26467 : r26470;
double r26472 = r26452 ? r26461 : r26471;
double r26473 = r26446 ? r26450 : r26472;
return r26473;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -8.435186307994013e+40Initial program 56.9
Taylor expanded around -inf 4.4
if -8.435186307994013e+40 < b_2 < 2.7792211843383316e-301Initial program 28.4
rmApplied flip--28.4
Simplified16.9
Simplified16.9
rmApplied clear-num17.0
Simplified10.1
if 2.7792211843383316e-301 < b_2 < 2.730494439370032e+75Initial program 9.5
rmApplied div-sub9.5
if 2.730494439370032e+75 < b_2 Initial program 43.1
rmApplied flip--62.3
Simplified61.5
Simplified61.5
Taylor expanded around 0 5.2
Final simplification7.4
herbie shell --seed 2019308
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))