\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\begin{array}{l}
\mathbf{if}\;\beta \le 1.87295401958515780213293522849806885927 \cdot 10^{215}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\frac{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}{\frac{\sqrt{1 + \mathsf{fma}\left(\beta, \alpha, \beta + \alpha\right)}}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\mathsf{fma}\left(\sqrt{0.5}, \beta, \mathsf{fma}\left(1, \sqrt{0.5}, \alpha \cdot \sqrt{0.5}\right)\right) - \mathsf{fma}\left(0.5, \sqrt{0.125} \cdot \beta, \frac{\alpha \cdot 0.125}{\sqrt{0.5}}\right)}{\sqrt{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right)}}{\mathsf{fma}\left(2, 1, \beta + \alpha\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r5073684 = alpha;
double r5073685 = beta;
double r5073686 = r5073684 + r5073685;
double r5073687 = r5073685 * r5073684;
double r5073688 = r5073686 + r5073687;
double r5073689 = 1.0;
double r5073690 = r5073688 + r5073689;
double r5073691 = 2.0;
double r5073692 = r5073691 * r5073689;
double r5073693 = r5073686 + r5073692;
double r5073694 = r5073690 / r5073693;
double r5073695 = r5073694 / r5073693;
double r5073696 = r5073693 + r5073689;
double r5073697 = r5073695 / r5073696;
return r5073697;
}
double f(double alpha, double beta) {
double r5073698 = beta;
double r5073699 = 1.8729540195851578e+215;
bool r5073700 = r5073698 <= r5073699;
double r5073701 = 1.0;
double r5073702 = alpha;
double r5073703 = r5073698 + r5073702;
double r5073704 = fma(r5073698, r5073702, r5073703);
double r5073705 = r5073701 + r5073704;
double r5073706 = sqrt(r5073705);
double r5073707 = 2.0;
double r5073708 = fma(r5073707, r5073701, r5073703);
double r5073709 = sqrt(r5073708);
double r5073710 = r5073706 / r5073709;
double r5073711 = r5073708 / r5073710;
double r5073712 = r5073710 / r5073711;
double r5073713 = r5073708 + r5073701;
double r5073714 = r5073712 / r5073713;
double r5073715 = 0.5;
double r5073716 = sqrt(r5073715);
double r5073717 = r5073702 * r5073716;
double r5073718 = fma(r5073701, r5073716, r5073717);
double r5073719 = fma(r5073716, r5073698, r5073718);
double r5073720 = 0.125;
double r5073721 = sqrt(r5073720);
double r5073722 = r5073721 * r5073698;
double r5073723 = r5073702 * r5073720;
double r5073724 = r5073723 / r5073716;
double r5073725 = fma(r5073715, r5073722, r5073724);
double r5073726 = r5073719 - r5073725;
double r5073727 = r5073726 / r5073709;
double r5073728 = r5073727 / r5073708;
double r5073729 = r5073728 / r5073713;
double r5073730 = r5073700 ? r5073714 : r5073729;
return r5073730;
}



Bits error versus alpha



Bits error versus beta
if beta < 1.8729540195851578e+215Initial program 2.1
Simplified2.1
rmApplied add-sqr-sqrt2.7
Applied add-sqr-sqrt2.6
Applied times-frac2.6
Applied associate-/l*2.1
if 1.8729540195851578e+215 < beta Initial program 18.0
Simplified18.0
rmApplied add-sqr-sqrt18.0
Applied associate-/r*18.0
Taylor expanded around 0 4.9
Simplified4.9
Final simplification2.4
herbie shell --seed 2019179 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))