\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.71587657897976255 \cdot 10^{-82}:\\
\;\;\;\;\mathsf{fma}\left(\frac{c}{b_2}, \frac{1}{2}, \frac{b_2}{a} \cdot -2\right)\\
\mathbf{elif}\;b_2 \le 8.5929479137772817 \cdot 10^{101}:\\
\;\;\;\;\frac{c}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r38670 = b_2;
double r38671 = -r38670;
double r38672 = r38670 * r38670;
double r38673 = a;
double r38674 = c;
double r38675 = r38673 * r38674;
double r38676 = r38672 - r38675;
double r38677 = sqrt(r38676);
double r38678 = r38671 + r38677;
double r38679 = r38678 / r38673;
return r38679;
}
double f(double a, double b_2, double c) {
double r38680 = b_2;
double r38681 = -1.7158765789797625e-82;
bool r38682 = r38680 <= r38681;
double r38683 = c;
double r38684 = r38683 / r38680;
double r38685 = 0.5;
double r38686 = a;
double r38687 = r38680 / r38686;
double r38688 = -2.0;
double r38689 = r38687 * r38688;
double r38690 = fma(r38684, r38685, r38689);
double r38691 = 8.592947913777282e+101;
bool r38692 = r38680 <= r38691;
double r38693 = -r38680;
double r38694 = r38680 * r38680;
double r38695 = r38686 * r38683;
double r38696 = r38694 - r38695;
double r38697 = sqrt(r38696);
double r38698 = r38693 - r38697;
double r38699 = r38683 / r38698;
double r38700 = -0.5;
double r38701 = r38700 * r38684;
double r38702 = r38692 ? r38699 : r38701;
double r38703 = r38682 ? r38690 : r38702;
return r38703;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.7158765789797625e-82Initial program 25.8
Taylor expanded around -inf 12.1
Simplified12.1
if -1.7158765789797625e-82 < b_2 < 8.592947913777282e+101Initial program 25.2
rmApplied flip-+27.6
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied *-un-lft-identity16.7
Applied times-frac16.7
Applied associate-/l*16.9
Simplified16.9
rmApplied *-un-lft-identity16.9
Applied times-frac15.2
Applied associate-/r*11.9
Simplified11.9
rmApplied associate-/r/12.0
Applied associate-/r*11.7
Simplified11.6
if 8.592947913777282e+101 < b_2 Initial program 60.0
Taylor expanded around inf 2.8
Final simplification9.7
herbie shell --seed 2019198 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))