\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 2.944356741901989853696489064027108588251 \cdot 10^{166}:\\
\;\;\;\;\frac{\frac{\frac{1 + \mathsf{fma}\left(\beta, \alpha, \alpha + \beta\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{\mathsf{fma}\left(2, 1, \alpha + \beta\right)}}{1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(0.25, \alpha + \beta, 0.5\right)}{\mathsf{fma}\left(2, 1, \alpha + \beta\right) \cdot \left(1 + \mathsf{fma}\left(2, 1, \alpha + \beta\right)\right)}\\
\end{array}double f(double alpha, double beta) {
double r121464 = alpha;
double r121465 = beta;
double r121466 = r121464 + r121465;
double r121467 = r121465 * r121464;
double r121468 = r121466 + r121467;
double r121469 = 1.0;
double r121470 = r121468 + r121469;
double r121471 = 2.0;
double r121472 = r121471 * r121469;
double r121473 = r121466 + r121472;
double r121474 = r121470 / r121473;
double r121475 = r121474 / r121473;
double r121476 = r121473 + r121469;
double r121477 = r121475 / r121476;
return r121477;
}
double f(double alpha, double beta) {
double r121478 = alpha;
double r121479 = 2.94435674190199e+166;
bool r121480 = r121478 <= r121479;
double r121481 = 1.0;
double r121482 = beta;
double r121483 = r121478 + r121482;
double r121484 = fma(r121482, r121478, r121483);
double r121485 = r121481 + r121484;
double r121486 = 2.0;
double r121487 = fma(r121486, r121481, r121483);
double r121488 = r121485 / r121487;
double r121489 = r121488 / r121487;
double r121490 = r121481 + r121487;
double r121491 = r121489 / r121490;
double r121492 = 0.25;
double r121493 = 0.5;
double r121494 = fma(r121492, r121483, r121493);
double r121495 = r121487 * r121490;
double r121496 = r121494 / r121495;
double r121497 = r121480 ? r121491 : r121496;
return r121497;
}



Bits error versus alpha



Bits error versus beta
if alpha < 2.94435674190199e+166Initial program 1.4
Simplified1.4
if 2.94435674190199e+166 < alpha Initial program 15.7
Simplified15.7
rmApplied div-inv15.7
Applied associate-/l*16.6
Simplified16.6
Taylor expanded around 0 6.6
Simplified6.6
Final simplification2.2
herbie shell --seed 2019195 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))