\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.5038627888747993 \cdot 10^{151}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le 1.10735029247724072 \cdot 10^{-236}:\\
\;\;\;\;\frac{1}{\sqrt{b_2 \cdot b_2 - a \cdot c} - b_2} \cdot c\\
\mathbf{elif}\;b_2 \le 5.43153376685683538 \cdot 10^{106}:\\
\;\;\;\;\frac{1}{\frac{a}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}}\\
\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 r22653 = b_2;
double r22654 = -r22653;
double r22655 = r22653 * r22653;
double r22656 = a;
double r22657 = c;
double r22658 = r22656 * r22657;
double r22659 = r22655 - r22658;
double r22660 = sqrt(r22659);
double r22661 = r22654 - r22660;
double r22662 = r22661 / r22656;
return r22662;
}
double f(double a, double b_2, double c) {
double r22663 = b_2;
double r22664 = -5.503862788874799e+151;
bool r22665 = r22663 <= r22664;
double r22666 = -0.5;
double r22667 = c;
double r22668 = r22667 / r22663;
double r22669 = r22666 * r22668;
double r22670 = 1.1073502924772407e-236;
bool r22671 = r22663 <= r22670;
double r22672 = 1.0;
double r22673 = r22663 * r22663;
double r22674 = a;
double r22675 = r22674 * r22667;
double r22676 = r22673 - r22675;
double r22677 = sqrt(r22676);
double r22678 = r22677 - r22663;
double r22679 = r22672 / r22678;
double r22680 = r22679 * r22667;
double r22681 = 5.431533766856835e+106;
bool r22682 = r22663 <= r22681;
double r22683 = -r22663;
double r22684 = r22683 - r22677;
double r22685 = r22674 / r22684;
double r22686 = r22672 / r22685;
double r22687 = 0.5;
double r22688 = r22687 * r22668;
double r22689 = 2.0;
double r22690 = r22663 / r22674;
double r22691 = r22689 * r22690;
double r22692 = r22688 - r22691;
double r22693 = r22682 ? r22686 : r22692;
double r22694 = r22671 ? r22680 : r22693;
double r22695 = r22665 ? r22669 : r22694;
return r22695;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.503862788874799e+151Initial program 63.7
Taylor expanded around -inf 1.5
if -5.503862788874799e+151 < b_2 < 1.1073502924772407e-236Initial program 32.5
rmApplied flip--32.6
Simplified16.2
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied associate-/r*16.2
Simplified14.2
rmApplied div-inv14.2
Applied *-un-lft-identity14.2
Applied times-frac16.2
Applied associate-/l*14.9
Simplified8.8
rmApplied div-inv8.8
Simplified8.8
if 1.1073502924772407e-236 < b_2 < 5.431533766856835e+106Initial program 8.6
rmApplied clear-num8.7
if 5.431533766856835e+106 < b_2 Initial program 50.0
Taylor expanded around inf 3.8
Final simplification6.7
herbie shell --seed 2020062
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))