\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.638409875704254431316010077897121792161 \cdot 10^{190}:\\
\;\;\;\;\frac{\frac{\frac{1 \cdot \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}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}{\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 r110103 = alpha;
double r110104 = beta;
double r110105 = r110103 + r110104;
double r110106 = r110104 * r110103;
double r110107 = r110105 + r110106;
double r110108 = 1.0;
double r110109 = r110107 + r110108;
double r110110 = 2.0;
double r110111 = r110110 * r110108;
double r110112 = r110105 + r110111;
double r110113 = r110109 / r110112;
double r110114 = r110113 / r110112;
double r110115 = r110112 + r110108;
double r110116 = r110114 / r110115;
return r110116;
}
double f(double alpha, double beta) {
double r110117 = alpha;
double r110118 = 1.6384098757042544e+190;
bool r110119 = r110117 <= r110118;
double r110120 = 1.0;
double r110121 = beta;
double r110122 = r110117 + r110121;
double r110123 = r110121 * r110117;
double r110124 = r110122 + r110123;
double r110125 = r110120 * r110124;
double r110126 = 1.0;
double r110127 = r110125 + r110126;
double r110128 = 2.0;
double r110129 = r110128 * r110126;
double r110130 = r110122 + r110129;
double r110131 = r110127 / r110130;
double r110132 = r110131 / r110130;
double r110133 = r110130 + r110126;
double r110134 = r110132 / r110133;
double r110135 = 2.0;
double r110136 = pow(r110117, r110135);
double r110137 = r110120 / r110136;
double r110138 = r110128 * r110137;
double r110139 = r110138 + r110120;
double r110140 = r110120 / r110117;
double r110141 = r110126 * r110140;
double r110142 = r110139 - r110141;
double r110143 = r110142 / r110130;
double r110144 = r110143 / r110133;
double r110145 = r110119 ? r110134 : r110144;
return r110145;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.6384098757042544e+190Initial program 1.7
rmApplied *-un-lft-identity1.7
if 1.6384098757042544e+190 < alpha Initial program 17.5
Taylor expanded around inf 6.5
Final simplification2.3
herbie shell --seed 2019318
(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)))