\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.39247876717738 \cdot 10^{167}:\\
\;\;\;\;\frac{\frac{\frac{\left(\beta \cdot \alpha + \left(\alpha + \beta\right)\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}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\beta}^{2}} + 1\right) - 1 \cdot \frac{1}{\beta}}{\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 r89042 = alpha;
double r89043 = beta;
double r89044 = r89042 + r89043;
double r89045 = r89043 * r89042;
double r89046 = r89044 + r89045;
double r89047 = 1.0;
double r89048 = r89046 + r89047;
double r89049 = 2.0;
double r89050 = r89049 * r89047;
double r89051 = r89044 + r89050;
double r89052 = r89048 / r89051;
double r89053 = r89052 / r89051;
double r89054 = r89051 + r89047;
double r89055 = r89053 / r89054;
return r89055;
}
double f(double alpha, double beta) {
double r89056 = beta;
double r89057 = 1.3924787671773796e+167;
bool r89058 = r89056 <= r89057;
double r89059 = alpha;
double r89060 = r89056 * r89059;
double r89061 = r89059 + r89056;
double r89062 = r89060 + r89061;
double r89063 = 1.0;
double r89064 = r89062 + r89063;
double r89065 = 2.0;
double r89066 = r89065 * r89063;
double r89067 = r89061 + r89066;
double r89068 = r89064 / r89067;
double r89069 = r89068 / r89067;
double r89070 = r89067 + r89063;
double r89071 = r89069 / r89070;
double r89072 = 1.0;
double r89073 = 2.0;
double r89074 = pow(r89056, r89073);
double r89075 = r89072 / r89074;
double r89076 = r89065 * r89075;
double r89077 = r89076 + r89072;
double r89078 = r89072 / r89056;
double r89079 = r89063 * r89078;
double r89080 = r89077 - r89079;
double r89081 = r89080 / r89067;
double r89082 = r89081 / r89070;
double r89083 = r89058 ? r89071 : r89082;
return r89083;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 1.3924787671773796e+167Initial program 1.4
rmApplied +-commutative1.4
if 1.3924787671773796e+167 < beta Initial program 16.9
rmApplied +-commutative16.9
Taylor expanded around inf 7.6
Final simplification2.3
herbie shell --seed 2020062
(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)))