\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 2.458067370716520590176800600215761955635 \cdot 10^{153}:\\
\;\;\;\;\frac{\frac{1}{\frac{1}{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)} \cdot \frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}{\frac{1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{2 + \left(\frac{\beta}{\alpha} + \frac{\alpha}{\beta}\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r92582 = alpha;
double r92583 = beta;
double r92584 = r92582 + r92583;
double r92585 = r92583 * r92582;
double r92586 = r92584 + r92585;
double r92587 = 1.0;
double r92588 = r92586 + r92587;
double r92589 = 2.0;
double r92590 = r92589 * r92587;
double r92591 = r92584 + r92590;
double r92592 = r92588 / r92591;
double r92593 = r92592 / r92591;
double r92594 = r92591 + r92587;
double r92595 = r92593 / r92594;
return r92595;
}
double f(double alpha, double beta) {
double r92596 = beta;
double r92597 = 2.4580673707165206e+153;
bool r92598 = r92596 <= r92597;
double r92599 = 1.0;
double r92600 = 1.0;
double r92601 = alpha;
double r92602 = r92601 + r92596;
double r92603 = fma(r92601, r92596, r92602);
double r92604 = r92600 + r92603;
double r92605 = r92599 / r92604;
double r92606 = 2.0;
double r92607 = fma(r92600, r92606, r92602);
double r92608 = r92599 / r92607;
double r92609 = r92607 / r92608;
double r92610 = r92605 * r92609;
double r92611 = r92599 / r92610;
double r92612 = r92607 + r92600;
double r92613 = r92611 / r92612;
double r92614 = 2.0;
double r92615 = r92596 / r92601;
double r92616 = r92601 / r92596;
double r92617 = r92615 + r92616;
double r92618 = r92614 + r92617;
double r92619 = r92599 / r92618;
double r92620 = r92619 / r92612;
double r92621 = r92598 ? r92613 : r92620;
return r92621;
}



Bits error versus alpha



Bits error versus beta
if beta < 2.4580673707165206e+153Initial program 1.0
Simplified1.0
rmApplied *-un-lft-identity1.0
Applied *-un-lft-identity1.0
Applied times-frac1.0
Applied associate-/l*1.0
rmApplied div-inv1.0
Applied *-un-lft-identity1.0
Applied times-frac1.6
if 2.4580673707165206e+153 < beta Initial program 16.2
Simplified16.2
rmApplied *-un-lft-identity16.2
Applied *-un-lft-identity16.2
Applied times-frac16.2
Applied associate-/l*16.2
Taylor expanded around inf 1.1
Final simplification1.5
herbie shell --seed 2019323 +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)))