\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.077239628548905378565124203356585166888 \cdot 10^{154}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 3.657998399682531790024702628233707002655 \cdot 10^{-302}:\\
\;\;\;\;\frac{c}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 3.361636799726259566012474460441175928147 \cdot 10^{93}:\\
\;\;\;\;\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 r24731 = b_2;
double r24732 = -r24731;
double r24733 = r24731 * r24731;
double r24734 = a;
double r24735 = c;
double r24736 = r24734 * r24735;
double r24737 = r24733 - r24736;
double r24738 = sqrt(r24737);
double r24739 = r24732 - r24738;
double r24740 = r24739 / r24734;
return r24740;
}
double f(double a, double b_2, double c) {
double r24741 = b_2;
double r24742 = -1.0772396285489054e+154;
bool r24743 = r24741 <= r24742;
double r24744 = -0.5;
double r24745 = c;
double r24746 = r24745 / r24741;
double r24747 = r24744 * r24746;
double r24748 = 3.657998399682532e-302;
bool r24749 = r24741 <= r24748;
double r24750 = r24741 * r24741;
double r24751 = a;
double r24752 = r24751 * r24745;
double r24753 = r24750 - r24752;
double r24754 = sqrt(r24753);
double r24755 = r24754 - r24741;
double r24756 = r24745 / r24755;
double r24757 = 3.3616367997262596e+93;
bool r24758 = r24741 <= r24757;
double r24759 = 1.0;
double r24760 = -r24741;
double r24761 = r24760 - r24754;
double r24762 = r24751 / r24761;
double r24763 = r24759 / r24762;
double r24764 = -2.0;
double r24765 = r24741 / r24751;
double r24766 = r24764 * r24765;
double r24767 = r24758 ? r24763 : r24766;
double r24768 = r24749 ? r24756 : r24767;
double r24769 = r24743 ? r24747 : r24768;
return r24769;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -1.0772396285489054e+154Initial program 64.0
Taylor expanded around -inf 1.8
if -1.0772396285489054e+154 < b_2 < 3.657998399682532e-302Initial program 34.6
rmApplied flip--34.7
Simplified15.9
Simplified15.9
rmApplied *-un-lft-identity15.9
Applied times-frac15.1
Applied associate-/l*10.7
Simplified8.1
if 3.657998399682532e-302 < b_2 < 3.3616367997262596e+93Initial program 8.9
rmApplied clear-num9.1
if 3.3616367997262596e+93 < b_2 Initial program 45.2
rmApplied flip--62.9
Simplified62.0
Simplified62.0
Taylor expanded around 0 3.5
Final simplification6.5
herbie shell --seed 2019347
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))