\frac{\left(-b_2\right) + \sqrt{b_2 \cdot b_2 - a \cdot c}}{a}\begin{array}{l}
\mathbf{if}\;b_2 \le -3.16299820169664 \cdot 10^{-118}:\\
\;\;\;\;1 \cdot \left(\frac{1}{2} \cdot \frac{c}{b_2} - 2 \cdot \frac{b_2}{a}\right)\\
\mathbf{elif}\;b_2 \le 1.37297999284257527 \cdot 10^{84}:\\
\;\;\;\;1 \cdot \left(\frac{1}{\left(-b_2\right) - \sqrt{b_2 \cdot b_2 - a \cdot c}} \cdot c\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{2} \cdot \frac{c}{b_2}\\
\end{array}double f(double a, double b_2, double c) {
double r18616 = b_2;
double r18617 = -r18616;
double r18618 = r18616 * r18616;
double r18619 = a;
double r18620 = c;
double r18621 = r18619 * r18620;
double r18622 = r18618 - r18621;
double r18623 = sqrt(r18622);
double r18624 = r18617 + r18623;
double r18625 = r18624 / r18619;
return r18625;
}
double f(double a, double b_2, double c) {
double r18626 = b_2;
double r18627 = -3.16299820169664e-118;
bool r18628 = r18626 <= r18627;
double r18629 = 1.0;
double r18630 = 0.5;
double r18631 = c;
double r18632 = r18631 / r18626;
double r18633 = r18630 * r18632;
double r18634 = 2.0;
double r18635 = a;
double r18636 = r18626 / r18635;
double r18637 = r18634 * r18636;
double r18638 = r18633 - r18637;
double r18639 = r18629 * r18638;
double r18640 = 1.3729799928425753e+84;
bool r18641 = r18626 <= r18640;
double r18642 = -r18626;
double r18643 = r18626 * r18626;
double r18644 = r18635 * r18631;
double r18645 = r18643 - r18644;
double r18646 = sqrt(r18645);
double r18647 = r18642 - r18646;
double r18648 = r18629 / r18647;
double r18649 = r18648 * r18631;
double r18650 = r18629 * r18649;
double r18651 = -0.5;
double r18652 = r18651 * r18632;
double r18653 = r18641 ? r18650 : r18652;
double r18654 = r18628 ? r18639 : r18653;
return r18654;
}



Bits error versus a



Bits error versus b_2



Bits error versus c
Results
if b_2 < -3.16299820169664e-118Initial program 25.3
rmApplied flip-+53.1
Simplified52.7
rmApplied *-un-lft-identity52.7
Applied *-un-lft-identity52.7
Applied times-frac52.7
Simplified52.7
Simplified52.5
rmApplied *-un-lft-identity52.5
Applied times-frac52.5
Simplified52.5
Simplified52.5
Taylor expanded around -inf 13.7
if -3.16299820169664e-118 < b_2 < 1.3729799928425753e+84Initial program 26.4
rmApplied flip-+27.7
Simplified16.7
rmApplied *-un-lft-identity16.7
Applied *-un-lft-identity16.7
Applied times-frac16.7
Simplified16.7
Simplified15.2
rmApplied *-un-lft-identity15.2
Applied times-frac15.2
Simplified15.2
Simplified12.3
rmApplied div-inv12.3
Applied add-cube-cbrt12.3
Applied times-frac12.2
Simplified12.2
Simplified12.1
if 1.3729799928425753e+84 < b_2 Initial program 58.6
Taylor expanded around inf 2.9
Final simplification10.3
herbie shell --seed 2020056
(FPCore (a b_2 c)
:name "quad2p (problem 3.2.1, positive)"
:precision binary64
(/ (+ (- b_2) (sqrt (- (* b_2 b_2) (* a c)))) a))