\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.5688227236985301 \cdot 10^{105}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 3.119187438943242 \cdot 10^{-255}:\\
\;\;\;\;\frac{1}{\frac{1}{c} \cdot \left(\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2\right)}\\
\mathbf{elif}\;b_2 \le 6.74838527698993 \cdot 10^{90}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r16423 = b_2;
double r16424 = -r16423;
double r16425 = r16423 * r16423;
double r16426 = a;
double r16427 = c;
double r16428 = r16426 * r16427;
double r16429 = r16425 - r16428;
double r16430 = sqrt(r16429);
double r16431 = r16424 - r16430;
double r16432 = r16431 / r16426;
return r16432;
}
double f(double a, double b_2, double c) {
double r16433 = b_2;
double r16434 = -1.56882272369853e+105;
bool r16435 = r16433 <= r16434;
double r16436 = -0.5;
double r16437 = c;
double r16438 = r16437 / r16433;
double r16439 = r16436 * r16438;
double r16440 = 3.119187438943242e-255;
bool r16441 = r16433 <= r16440;
double r16442 = 1.0;
double r16443 = r16442 / r16437;
double r16444 = r16433 * r16433;
double r16445 = a;
double r16446 = r16445 * r16437;
double r16447 = r16444 - r16446;
double r16448 = sqrt(r16447);
double r16449 = r16448 - r16433;
double r16450 = r16443 * r16449;
double r16451 = r16442 / r16450;
double r16452 = 6.74838527698993e+90;
bool r16453 = r16433 <= r16452;
double r16454 = -r16433;
double r16455 = r16454 - r16448;
double r16456 = r16445 / r16455;
double r16457 = r16442 / r16456;
double r16458 = -2.0;
double r16459 = r16433 / r16445;
double r16460 = r16458 * r16459;
double r16461 = r16453 ? r16457 : r16460;
double r16462 = r16441 ? r16451 : r16461;
double r16463 = r16435 ? r16439 : r16462;
return r16463;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.56882272369853e+105Initial program 60.4
Taylor expanded around -inf 2.5
if -1.56882272369853e+105 < b_2 < 3.119187438943242e-255Initial program 31.0
rmApplied flip--31.1
Simplified16.2
Simplified16.2
rmApplied clear-num16.3
Simplified15.6
rmApplied clear-num15.6
Simplified9.6
if 3.119187438943242e-255 < b_2 < 6.74838527698993e+90Initial program 8.2
rmApplied clear-num8.4
if 6.74838527698993e+90 < b_2 Initial program 45.6
rmApplied flip--62.7
Simplified61.8
Simplified61.8
Taylor expanded around 0 4.6
Final simplification6.8
herbie shell --seed 2020042
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))