\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -2.4834941205945284 \cdot 10^{67}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 2.329606077024855 \cdot 10^{-296}:\\
\;\;\;\;\frac{1}{a} \cdot \frac{a}{\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{c}}\\
\mathbf{elif}\;b_2 \le 4.8331091207749691 \cdot 10^{125}:\\
\;\;\;\;\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\\
\end{array}double f(double a, double b_2, double c) {
double r14404 = b_2;
double r14405 = -r14404;
double r14406 = r14404 * r14404;
double r14407 = a;
double r14408 = c;
double r14409 = r14407 * r14408;
double r14410 = r14406 - r14409;
double r14411 = sqrt(r14410);
double r14412 = r14405 - r14411;
double r14413 = r14412 / r14407;
return r14413;
}
double f(double a, double b_2, double c) {
double r14414 = b_2;
double r14415 = -2.4834941205945284e+67;
bool r14416 = r14414 <= r14415;
double r14417 = -0.5;
double r14418 = c;
double r14419 = r14418 / r14414;
double r14420 = r14417 * r14419;
double r14421 = 2.329606077024855e-296;
bool r14422 = r14414 <= r14421;
double r14423 = 1.0;
double r14424 = a;
double r14425 = r14423 / r14424;
double r14426 = -r14414;
double r14427 = r14414 * r14414;
double r14428 = r14424 * r14418;
double r14429 = r14427 - r14428;
double r14430 = sqrt(r14429);
double r14431 = r14426 + r14430;
double r14432 = r14431 / r14418;
double r14433 = r14424 / r14432;
double r14434 = r14425 * r14433;
double r14435 = 4.833109120774969e+125;
bool r14436 = r14414 <= r14435;
double r14437 = r14426 - r14430;
double r14438 = r14437 / r14424;
double r14439 = 0.5;
double r14440 = r14439 * r14419;
double r14441 = 2.0;
double r14442 = r14414 / r14424;
double r14443 = r14441 * r14442;
double r14444 = r14440 - r14443;
double r14445 = r14436 ? r14438 : r14444;
double r14446 = r14422 ? r14434 : r14445;
double r14447 = r14416 ? r14420 : r14446;
return r14447;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -2.4834941205945284e+67Initial program 57.7
Taylor expanded around -inf 3.7
if -2.4834941205945284e+67 < b_2 < 2.329606077024855e-296Initial program 30.5
rmApplied clear-num30.6
rmApplied div-inv30.6
Applied add-cube-cbrt30.6
Applied times-frac30.6
Simplified30.6
Simplified30.6
rmApplied flip--30.6
Applied frac-times35.6
Simplified22.4
rmApplied *-un-lft-identity22.4
Applied times-frac17.5
Simplified15.1
if 2.329606077024855e-296 < b_2 < 4.833109120774969e+125Initial program 8.5
if 4.833109120774969e+125 < b_2 Initial program 53.6
Taylor expanded around inf 2.5
Final simplification8.2
herbie shell --seed 2020083
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))