\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}\begin{array}{l}
\mathbf{if}\;\alpha \le 1.8207254528844126 \cdot 10^{+167}:\\
\;\;\;\;\frac{\frac{\frac{1}{\left(\alpha + \beta\right) + 2} \cdot \left(1.0 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)\right)}{\left(\alpha + \beta\right) + 2}}{\left(1.0 + \left(\alpha + \beta\right)\right) + 2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(0.25, \alpha, \mathsf{fma}\left(\beta, 0.25, 0.5\right)\right)}{\left(\left(\alpha + \beta\right) + 2\right) \cdot \left(2 - \left(\alpha + \beta\right)\right)} \cdot \frac{2 - \left(\alpha + \beta\right)}{1.0 + \left(\left(\alpha + \beta\right) + 2\right)}\\
\end{array}double f(double alpha, double beta) {
double r3372784 = alpha;
double r3372785 = beta;
double r3372786 = r3372784 + r3372785;
double r3372787 = r3372785 * r3372784;
double r3372788 = r3372786 + r3372787;
double r3372789 = 1.0;
double r3372790 = r3372788 + r3372789;
double r3372791 = 2.0;
double r3372792 = 1.0;
double r3372793 = r3372791 * r3372792;
double r3372794 = r3372786 + r3372793;
double r3372795 = r3372790 / r3372794;
double r3372796 = r3372795 / r3372794;
double r3372797 = r3372794 + r3372789;
double r3372798 = r3372796 / r3372797;
return r3372798;
}
double f(double alpha, double beta) {
double r3372799 = alpha;
double r3372800 = 1.8207254528844126e+167;
bool r3372801 = r3372799 <= r3372800;
double r3372802 = 1.0;
double r3372803 = beta;
double r3372804 = r3372799 + r3372803;
double r3372805 = 2.0;
double r3372806 = r3372804 + r3372805;
double r3372807 = r3372802 / r3372806;
double r3372808 = 1.0;
double r3372809 = fma(r3372803, r3372799, r3372804);
double r3372810 = r3372808 + r3372809;
double r3372811 = r3372807 * r3372810;
double r3372812 = r3372811 / r3372806;
double r3372813 = r3372808 + r3372804;
double r3372814 = r3372813 + r3372805;
double r3372815 = r3372812 / r3372814;
double r3372816 = 0.25;
double r3372817 = 0.5;
double r3372818 = fma(r3372803, r3372816, r3372817);
double r3372819 = fma(r3372816, r3372799, r3372818);
double r3372820 = r3372805 - r3372804;
double r3372821 = r3372806 * r3372820;
double r3372822 = r3372819 / r3372821;
double r3372823 = r3372808 + r3372806;
double r3372824 = r3372820 / r3372823;
double r3372825 = r3372822 * r3372824;
double r3372826 = r3372801 ? r3372815 : r3372825;
return r3372826;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.8207254528844126e+167Initial program 1.4
Simplified1.4
rmApplied div-inv1.4
rmApplied associate-+l+1.4
if 1.8207254528844126e+167 < alpha Initial program 15.2
Simplified15.2
rmApplied div-inv15.2
rmApplied associate-+l+15.2
rmApplied *-un-lft-identity15.2
Applied *-un-lft-identity15.2
Applied distribute-lft-out15.2
Applied flip-+16.3
Applied associate-/r/16.3
Applied times-frac16.3
Simplified16.3
Simplified16.3
Taylor expanded around 0 7.4
Simplified7.4
Final simplification2.3
herbie shell --seed 2019142 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1.0)))