\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 1015227874.2528594:\\
\;\;\;\;\frac{e^{\log \left({\left(\frac{\beta}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)}^{3}\right) - \log \left(\frac{\beta}{\left(\alpha + \beta\right) + 2} \cdot \frac{\beta}{\left(\alpha + \beta\right) + 2} + \left(\left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right) + \frac{\beta}{\left(\alpha + \beta\right) + 2} \cdot \left(\frac{\alpha}{\left(\alpha + \beta\right) + 2} - 1\right)\right)\right)}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2} - \mathsf{fma}\left(4, \frac{1}{{\alpha}^{2}}, -\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}}\right)\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r103165 = beta;
double r103166 = alpha;
double r103167 = r103165 - r103166;
double r103168 = r103166 + r103165;
double r103169 = 2.0;
double r103170 = r103168 + r103169;
double r103171 = r103167 / r103170;
double r103172 = 1.0;
double r103173 = r103171 + r103172;
double r103174 = r103173 / r103169;
return r103174;
}
double f(double alpha, double beta) {
double r103175 = alpha;
double r103176 = 1015227874.2528594;
bool r103177 = r103175 <= r103176;
double r103178 = beta;
double r103179 = r103175 + r103178;
double r103180 = 2.0;
double r103181 = r103179 + r103180;
double r103182 = r103178 / r103181;
double r103183 = 3.0;
double r103184 = pow(r103182, r103183);
double r103185 = r103175 / r103181;
double r103186 = 1.0;
double r103187 = r103185 - r103186;
double r103188 = pow(r103187, r103183);
double r103189 = r103184 - r103188;
double r103190 = log(r103189);
double r103191 = r103182 * r103182;
double r103192 = r103187 * r103187;
double r103193 = r103182 * r103187;
double r103194 = r103192 + r103193;
double r103195 = r103191 + r103194;
double r103196 = log(r103195);
double r103197 = r103190 - r103196;
double r103198 = exp(r103197);
double r103199 = r103198 / r103180;
double r103200 = 4.0;
double r103201 = 1.0;
double r103202 = 2.0;
double r103203 = pow(r103175, r103202);
double r103204 = r103201 / r103203;
double r103205 = r103201 / r103175;
double r103206 = 8.0;
double r103207 = pow(r103175, r103183);
double r103208 = r103201 / r103207;
double r103209 = r103206 * r103208;
double r103210 = fma(r103180, r103205, r103209);
double r103211 = -r103210;
double r103212 = fma(r103200, r103204, r103211);
double r103213 = r103182 - r103212;
double r103214 = r103213 / r103180;
double r103215 = r103177 ? r103199 : r103214;
return r103215;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1015227874.2528594Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
rmApplied add-exp-log0.1
rmApplied flip3--0.1
Applied log-div0.1
if 1015227874.2528594 < alpha Initial program 50.3
rmApplied div-sub50.3
Applied associate-+l-48.6
Taylor expanded around inf 18.7
Simplified18.7
Final simplification6.0
herbie shell --seed 2020047 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2)) 1) 2))