\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -1.11981154530853106611761327467786604265 \cdot 10^{143}:\\
\;\;\;\;\mathsf{fma}\left(\frac{c}{b_2}, \frac{1}{2}, -2 \cdot \frac{b_2}{a}\right)\\
\mathbf{elif}\;b_2 \le -1.135092661548540906082395119697050086043 \cdot 10^{-302}:\\
\;\;\;\;\frac{\left(-b_2\right) + \sqrt{\mathsf{fma}\left(a, -c, {b_2}^{2}\right)}}{a}\\
\mathbf{elif}\;b_2 \le 5.419849075113512436722551820666931760413 \cdot 10^{134}:\\
\;\;\;\;\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 r24771 = b_2;
double r24772 = -r24771;
double r24773 = r24771 * r24771;
double r24774 = a;
double r24775 = c;
double r24776 = r24774 * r24775;
double r24777 = r24773 - r24776;
double r24778 = sqrt(r24777);
double r24779 = r24772 + r24778;
double r24780 = r24779 / r24774;
return r24780;
}
double f(double a, double b_2, double c) {
double r24781 = b_2;
double r24782 = -1.119811545308531e+143;
bool r24783 = r24781 <= r24782;
double r24784 = c;
double r24785 = r24784 / r24781;
double r24786 = 0.5;
double r24787 = -2.0;
double r24788 = a;
double r24789 = r24781 / r24788;
double r24790 = r24787 * r24789;
double r24791 = fma(r24785, r24786, r24790);
double r24792 = -1.1350926615485409e-302;
bool r24793 = r24781 <= r24792;
double r24794 = -r24781;
double r24795 = -r24784;
double r24796 = 2.0;
double r24797 = pow(r24781, r24796);
double r24798 = fma(r24788, r24795, r24797);
double r24799 = sqrt(r24798);
double r24800 = r24794 + r24799;
double r24801 = r24800 / r24788;
double r24802 = 5.4198490751135124e+134;
bool r24803 = r24781 <= r24802;
double r24804 = r24781 * r24781;
double r24805 = r24788 * r24784;
double r24806 = r24804 - r24805;
double r24807 = sqrt(r24806);
double r24808 = r24794 - r24807;
double r24809 = r24784 / r24808;
double r24810 = -0.5;
double r24811 = r24810 * r24785;
double r24812 = r24803 ? r24809 : r24811;
double r24813 = r24793 ? r24801 : r24812;
double r24814 = r24783 ? r24791 : r24813;
return r24814;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
if b_2 < -1.119811545308531e+143Initial program 59.0
Taylor expanded around -inf 2.4
Simplified2.4
if -1.119811545308531e+143 < b_2 < -1.1350926615485409e-302Initial program 8.0
Taylor expanded around 0 8.0
Simplified8.0
if -1.1350926615485409e-302 < b_2 < 5.4198490751135124e+134Initial program 34.0
rmApplied flip-+34.0
Simplified16.6
rmApplied *-un-lft-identity16.6
Applied *-un-lft-identity16.6
Applied times-frac16.6
Simplified16.6
Simplified8.6
if 5.4198490751135124e+134 < b_2 Initial program 62.2
Taylor expanded around inf 1.8
Final simplification6.3
herbie shell --seed 2019326 +o rules:numerics
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))