\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 92108.895980526984:\\
\;\;\;\;\frac{\mathsf{fma}\left(\beta - \alpha, \frac{1}{\left(\alpha + \beta\right) + 2}, 1\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 r97378 = beta;
double r97379 = alpha;
double r97380 = r97378 - r97379;
double r97381 = r97379 + r97378;
double r97382 = 2.0;
double r97383 = r97381 + r97382;
double r97384 = r97380 / r97383;
double r97385 = 1.0;
double r97386 = r97384 + r97385;
double r97387 = r97386 / r97382;
return r97387;
}
double f(double alpha, double beta) {
double r97388 = alpha;
double r97389 = 92108.89598052698;
bool r97390 = r97388 <= r97389;
double r97391 = beta;
double r97392 = r97391 - r97388;
double r97393 = 1.0;
double r97394 = r97388 + r97391;
double r97395 = 2.0;
double r97396 = r97394 + r97395;
double r97397 = r97393 / r97396;
double r97398 = 1.0;
double r97399 = fma(r97392, r97397, r97398);
double r97400 = r97399 / r97395;
double r97401 = r97391 / r97396;
double r97402 = 4.0;
double r97403 = 2.0;
double r97404 = pow(r97388, r97403);
double r97405 = r97393 / r97404;
double r97406 = r97393 / r97388;
double r97407 = 8.0;
double r97408 = 3.0;
double r97409 = pow(r97388, r97408);
double r97410 = r97393 / r97409;
double r97411 = r97407 * r97410;
double r97412 = fma(r97395, r97406, r97411);
double r97413 = -r97412;
double r97414 = fma(r97402, r97405, r97413);
double r97415 = r97401 - r97414;
double r97416 = r97415 / r97395;
double r97417 = r97390 ? r97400 : r97416;
return r97417;
}



Bits error versus alpha



Bits error versus beta
if alpha < 92108.89598052698Initial program 0.0
rmApplied div-inv0.0
Applied fma-def0.0
if 92108.89598052698 < alpha Initial program 50.0
rmApplied div-sub50.0
Applied associate-+l-48.3
Taylor expanded around inf 18.3
Simplified18.3
Final simplification5.9
herbie shell --seed 2020060 +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))