\frac{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -5.602441184943772642330945248646923860899 \cdot 10^{118}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\mathbf{elif}\;b_2 \le -3.897979690537010916247637791104885449418 \cdot 10^{-281}:\\
\;\;\;\;\frac{c}{\sqrt{{b_2}^{2} - a \cdot c} - b_2}\\
\mathbf{elif}\;b_2 \le 2.125563079851438727208684227808951636731 \cdot 10^{135}:\\
\;\;\;\;\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 r25642 = b_2;
double r25643 = -r25642;
double r25644 = r25642 * r25642;
double r25645 = a;
double r25646 = c;
double r25647 = r25645 * r25646;
double r25648 = r25644 - r25647;
double r25649 = sqrt(r25648);
double r25650 = r25643 - r25649;
double r25651 = r25650 / r25645;
return r25651;
}
double f(double a, double b_2, double c) {
double r25652 = b_2;
double r25653 = -5.602441184943773e+118;
bool r25654 = r25652 <= r25653;
double r25655 = -0.5;
double r25656 = c;
double r25657 = r25656 / r25652;
double r25658 = r25655 * r25657;
double r25659 = -3.897979690537011e-281;
bool r25660 = r25652 <= r25659;
double r25661 = 2.0;
double r25662 = pow(r25652, r25661);
double r25663 = a;
double r25664 = r25663 * r25656;
double r25665 = r25662 - r25664;
double r25666 = sqrt(r25665);
double r25667 = r25666 - r25652;
double r25668 = r25656 / r25667;
double r25669 = 2.1255630798514387e+135;
bool r25670 = r25652 <= r25669;
double r25671 = -r25652;
double r25672 = r25652 * r25652;
double r25673 = r25672 - r25664;
double r25674 = sqrt(r25673);
double r25675 = r25671 - r25674;
double r25676 = r25675 / r25663;
double r25677 = 0.5;
double r25678 = r25677 * r25657;
double r25679 = r25652 / r25663;
double r25680 = r25661 * r25679;
double r25681 = r25678 - r25680;
double r25682 = r25670 ? r25676 : r25681;
double r25683 = r25660 ? r25668 : r25682;
double r25684 = r25654 ? r25658 : r25683;
return r25684;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -5.602441184943773e+118Initial program 61.1
Taylor expanded around -inf 1.9
if -5.602441184943773e+118 < b_2 < -3.897979690537011e-281Initial program 34.7
rmApplied flip--34.7
Simplified16.1
Simplified16.1
rmApplied *-un-lft-identity16.1
Applied times-frac15.0
Applied associate-/l*10.5
Simplified8.4
Taylor expanded around 0 8.4
if -3.897979690537011e-281 < b_2 < 2.1255630798514387e+135Initial program 9.3
if 2.1255630798514387e+135 < b_2 Initial program 58.2
Taylor expanded around inf 3.0
Final simplification6.6
herbie shell --seed 2019306
(FPCore (a b_2 c)
:name "quad2m (problem 3.2.1, negative)"
:precision binary64
(/ (- (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))