\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.812499047218918 \cdot 10^{+50}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.8716662261062222 \cdot 10^{-300}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 9.19242293018462 \cdot 10^{+63}:\\
\;\;\;\;\left(\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}\right) \cdot \frac{1}{a}\\
\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 r929503 = b_2;
double r929504 = -r929503;
double r929505 = r929503 * r929503;
double r929506 = a;
double r929507 = c;
double r929508 = r929506 * r929507;
double r929509 = r929505 - r929508;
double r929510 = sqrt(r929509);
double r929511 = r929504 - r929510;
double r929512 = r929511 / r929506;
return r929512;
}
double f(double a, double b_2, double c) {
double r929513 = b_2;
double r929514 = -3.812499047218918e+50;
bool r929515 = r929513 <= r929514;
double r929516 = -0.5;
double r929517 = c;
double r929518 = r929517 / r929513;
double r929519 = r929516 * r929518;
double r929520 = 1.8716662261062222e-300;
bool r929521 = r929513 <= r929520;
double r929522 = r929513 * r929513;
double r929523 = a;
double r929524 = r929523 * r929517;
double r929525 = r929522 - r929524;
double r929526 = sqrt(r929525);
double r929527 = r929526 - r929513;
double r929528 = r929517 / r929527;
double r929529 = 9.19242293018462e+63;
bool r929530 = r929513 <= r929529;
double r929531 = -r929513;
double r929532 = r929531 - r929526;
double r929533 = 1.0;
double r929534 = r929533 / r929523;
double r929535 = r929532 * r929534;
double r929536 = 0.5;
double r929537 = r929536 * r929518;
double r929538 = r929513 / r929523;
double r929539 = 2.0;
double r929540 = r929538 * r929539;
double r929541 = r929537 - r929540;
double r929542 = r929530 ? r929535 : r929541;
double r929543 = r929521 ? r929528 : r929542;
double r929544 = r929515 ? r929519 : r929543;
return r929544;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.812499047218918e+50Initial program 55.8
Taylor expanded around -inf 4.0
if -3.812499047218918e+50 < b_2 < 1.8716662261062222e-300Initial program 28.9
rmApplied flip--29.0
Simplified16.2
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac16.2
Applied times-frac16.2
Simplified16.2
Simplified15.9
Taylor expanded around 0 9.2
if 1.8716662261062222e-300 < b_2 < 9.19242293018462e+63Initial program 9.5
rmApplied div-inv9.7
if 9.19242293018462e+63 < b_2 Initial program 38.1
Taylor expanded around inf 4.5
Final simplification7.0
herbie shell --seed 2019158
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))