\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 9.62797683732928503 \cdot 10^{158}:\\
\;\;\;\;\frac{\frac{\sqrt{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\frac{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, 1, 1\right)}{\sqrt{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}} \cdot \sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\left(\alpha + \beta\right) + 2 \cdot 1}\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r102109 = alpha;
double r102110 = beta;
double r102111 = r102109 + r102110;
double r102112 = r102110 * r102109;
double r102113 = r102111 + r102112;
double r102114 = 1.0;
double r102115 = r102113 + r102114;
double r102116 = 2.0;
double r102117 = r102116 * r102114;
double r102118 = r102111 + r102117;
double r102119 = r102115 / r102118;
double r102120 = r102119 / r102118;
double r102121 = r102118 + r102114;
double r102122 = r102120 / r102121;
return r102122;
}
double f(double alpha, double beta) {
double r102123 = beta;
double r102124 = 9.627976837329285e+158;
bool r102125 = r102123 <= r102124;
double r102126 = alpha;
double r102127 = r102126 + r102123;
double r102128 = r102123 * r102126;
double r102129 = r102127 + r102128;
double r102130 = 1.0;
double r102131 = r102129 + r102130;
double r102132 = 2.0;
double r102133 = r102132 * r102130;
double r102134 = r102127 + r102133;
double r102135 = r102131 / r102134;
double r102136 = sqrt(r102135);
double r102137 = sqrt(r102134);
double r102138 = r102136 / r102137;
double r102139 = fma(r102132, r102130, r102130);
double r102140 = r102127 + r102139;
double r102141 = r102140 / r102136;
double r102142 = r102141 * r102137;
double r102143 = r102138 / r102142;
double r102144 = 1.0;
double r102145 = r102144 / r102126;
double r102146 = r102144 / r102123;
double r102147 = r102145 + r102146;
double r102148 = 2.0;
double r102149 = pow(r102126, r102148);
double r102150 = r102144 / r102149;
double r102151 = r102147 - r102150;
double r102152 = r102144 / r102151;
double r102153 = r102152 / r102134;
double r102154 = log1p(r102153);
double r102155 = expm1(r102154);
double r102156 = r102134 + r102130;
double r102157 = r102155 / r102156;
double r102158 = r102125 ? r102143 : r102157;
return r102158;
}



Bits error versus alpha



Bits error versus beta
if beta < 9.627976837329285e+158Initial program 1.3
rmApplied add-sqr-sqrt1.8
Applied add-sqr-sqrt1.4
Applied times-frac1.4
Applied associate-/l*1.4
Simplified1.4
if 9.627976837329285e+158 < beta Initial program 17.1
rmApplied expm1-log1p-u17.1
rmApplied clear-num17.1
Simplified17.1
Taylor expanded around inf 0.1
Final simplification1.2
herbie shell --seed 2020027 +o rules:numerics
(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)))