\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.14500524839018733 \cdot 10^{140}:\\
\;\;\;\;\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \frac{\frac{\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{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\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 r109064 = alpha;
double r109065 = beta;
double r109066 = r109064 + r109065;
double r109067 = r109065 * r109064;
double r109068 = r109066 + r109067;
double r109069 = 1.0;
double r109070 = r109068 + r109069;
double r109071 = 2.0;
double r109072 = r109071 * r109069;
double r109073 = r109066 + r109072;
double r109074 = r109070 / r109073;
double r109075 = r109074 / r109073;
double r109076 = r109073 + r109069;
double r109077 = r109075 / r109076;
return r109077;
}
double f(double alpha, double beta) {
double r109078 = alpha;
double r109079 = 1.1450052483901873e+140;
bool r109080 = r109078 <= r109079;
double r109081 = beta;
double r109082 = r109078 + r109081;
double r109083 = r109081 * r109078;
double r109084 = r109082 + r109083;
double r109085 = 1.0;
double r109086 = r109084 + r109085;
double r109087 = r109082 * r109082;
double r109088 = 2.0;
double r109089 = r109088 * r109085;
double r109090 = r109089 * r109089;
double r109091 = r109087 - r109090;
double r109092 = r109086 / r109091;
double r109093 = r109082 - r109089;
double r109094 = r109082 + r109089;
double r109095 = r109093 / r109094;
double r109096 = r109094 + r109085;
double r109097 = r109095 / r109096;
double r109098 = r109092 * r109097;
double r109099 = 1.0;
double r109100 = r109099 / r109078;
double r109101 = r109099 / r109081;
double r109102 = r109100 + r109101;
double r109103 = 2.0;
double r109104 = pow(r109078, r109103);
double r109105 = r109099 / r109104;
double r109106 = r109102 - r109105;
double r109107 = r109099 / r109106;
double r109108 = r109107 / r109094;
double r109109 = r109108 / r109096;
double r109110 = r109080 ? r109098 : r109109;
return r109110;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.1450052483901873e+140Initial program 0.9
rmApplied *-un-lft-identity0.9
Applied *-un-lft-identity0.9
Applied flip-+1.5
Applied associate-/r/1.5
Applied times-frac1.5
Applied times-frac1.5
Simplified1.5
if 1.1450052483901873e+140 < alpha Initial program 16.2
rmApplied clear-num16.2
Taylor expanded around inf 3.9
Final simplification2.0
herbie shell --seed 2020056
(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)))