\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.5881437021072993 \cdot 10^{+120}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 3.3959730543616343 \cdot 10^{-248}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 5.419916601733116 \cdot 10^{+77}:\\
\;\;\;\;\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 r4375670 = b_2;
double r4375671 = -r4375670;
double r4375672 = r4375670 * r4375670;
double r4375673 = a;
double r4375674 = c;
double r4375675 = r4375673 * r4375674;
double r4375676 = r4375672 - r4375675;
double r4375677 = sqrt(r4375676);
double r4375678 = r4375671 - r4375677;
double r4375679 = r4375678 / r4375673;
return r4375679;
}
double f(double a, double b_2, double c) {
double r4375680 = b_2;
double r4375681 = -3.5881437021072993e+120;
bool r4375682 = r4375680 <= r4375681;
double r4375683 = -0.5;
double r4375684 = c;
double r4375685 = r4375684 / r4375680;
double r4375686 = r4375683 * r4375685;
double r4375687 = 3.3959730543616343e-248;
bool r4375688 = r4375680 <= r4375687;
double r4375689 = r4375680 * r4375680;
double r4375690 = a;
double r4375691 = r4375690 * r4375684;
double r4375692 = r4375689 - r4375691;
double r4375693 = sqrt(r4375692);
double r4375694 = r4375693 - r4375680;
double r4375695 = r4375684 / r4375694;
double r4375696 = 5.419916601733116e+77;
bool r4375697 = r4375680 <= r4375696;
double r4375698 = -r4375680;
double r4375699 = r4375698 - r4375693;
double r4375700 = r4375699 / r4375690;
double r4375701 = 0.5;
double r4375702 = r4375701 * r4375685;
double r4375703 = 2.0;
double r4375704 = r4375680 / r4375690;
double r4375705 = r4375703 * r4375704;
double r4375706 = r4375702 - r4375705;
double r4375707 = r4375697 ? r4375700 : r4375706;
double r4375708 = r4375688 ? r4375695 : r4375707;
double r4375709 = r4375682 ? r4375686 : r4375708;
return r4375709;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.5881437021072993e+120Initial program 59.4
Taylor expanded around -inf 1.8
if -3.5881437021072993e+120 < b_2 < 3.3959730543616343e-248Initial program 30.9
rmApplied flip--31.1
Applied associate-/l/36.1
Simplified20.1
rmApplied times-frac8.7
Simplified8.7
Simplified8.7
if 3.3959730543616343e-248 < b_2 < 5.419916601733116e+77Initial program 8.6
Taylor expanded around inf 8.6
Simplified8.6
if 5.419916601733116e+77 < b_2 Initial program 40.6
Taylor expanded around inf 4.7
Final simplification6.5
herbie shell --seed 2019124
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))