\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}\;\alpha \le 1.790144384427998241951969767039972903026 \cdot 10^{55}:\\
\;\;\;\;\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1} \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(1 - 1 \cdot \frac{1}{\alpha}\right) + \frac{\frac{2}{\alpha}}{\alpha}\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r92772 = alpha;
double r92773 = beta;
double r92774 = r92772 + r92773;
double r92775 = r92773 * r92772;
double r92776 = r92774 + r92775;
double r92777 = 1.0;
double r92778 = r92776 + r92777;
double r92779 = 2.0;
double r92780 = r92779 * r92777;
double r92781 = r92774 + r92780;
double r92782 = r92778 / r92781;
double r92783 = r92782 / r92781;
double r92784 = r92781 + r92777;
double r92785 = r92783 / r92784;
return r92785;
}
double f(double alpha, double beta) {
double r92786 = alpha;
double r92787 = 1.7901443844279982e+55;
bool r92788 = r92786 <= r92787;
double r92789 = beta;
double r92790 = r92786 + r92789;
double r92791 = r92789 * r92786;
double r92792 = r92790 + r92791;
double r92793 = 1.0;
double r92794 = r92792 + r92793;
double r92795 = 2.0;
double r92796 = r92795 * r92793;
double r92797 = r92790 + r92796;
double r92798 = r92794 / r92797;
double r92799 = 1.0;
double r92800 = r92799 / r92797;
double r92801 = r92798 * r92800;
double r92802 = r92797 + r92793;
double r92803 = r92801 / r92802;
double r92804 = r92799 / r92786;
double r92805 = r92793 * r92804;
double r92806 = r92799 - r92805;
double r92807 = r92795 / r92786;
double r92808 = r92807 / r92786;
double r92809 = r92806 + r92808;
double r92810 = r92809 * r92800;
double r92811 = r92810 / r92802;
double r92812 = r92788 ? r92803 : r92811;
return r92812;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.7901443844279982e+55Initial program 0.3
rmApplied div-inv0.3
if 1.7901443844279982e+55 < alpha Initial program 12.5
rmApplied div-inv12.5
Taylor expanded around inf 9.6
Simplified9.6
Final simplification2.9
herbie shell --seed 2019294
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1) (+ (+ alpha beta) (* 2 1))) (+ (+ alpha beta) (* 2 1))) (+ (+ (+ alpha beta) (* 2 1)) 1)))