\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 1.4537693536698273 \cdot 10^{162}:\\
\;\;\;\;\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\left(\alpha + \beta\right) - 2 \cdot 1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;0\\
\end{array}double f(double alpha, double beta) {
double r86702 = alpha;
double r86703 = beta;
double r86704 = r86702 + r86703;
double r86705 = r86703 * r86702;
double r86706 = r86704 + r86705;
double r86707 = 1.0;
double r86708 = r86706 + r86707;
double r86709 = 2.0;
double r86710 = r86709 * r86707;
double r86711 = r86704 + r86710;
double r86712 = r86708 / r86711;
double r86713 = r86712 / r86711;
double r86714 = r86711 + r86707;
double r86715 = r86713 / r86714;
return r86715;
}
double f(double alpha, double beta) {
double r86716 = alpha;
double r86717 = 1.4537693536698273e+162;
bool r86718 = r86716 <= r86717;
double r86719 = beta;
double r86720 = r86716 + r86719;
double r86721 = r86719 * r86716;
double r86722 = r86720 + r86721;
double r86723 = 1.0;
double r86724 = r86722 + r86723;
double r86725 = 2.0;
double r86726 = fma(r86723, r86725, r86720);
double r86727 = r86724 / r86726;
double r86728 = r86725 * r86723;
double r86729 = r86720 - r86728;
double r86730 = r86727 / r86729;
double r86731 = r86730 / r86726;
double r86732 = r86720 + r86728;
double r86733 = r86732 + r86723;
double r86734 = r86729 / r86733;
double r86735 = r86731 * r86734;
double r86736 = 0.0;
double r86737 = r86718 ? r86735 : r86736;
return r86737;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.4537693536698273e+162Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied flip-+1.9
Applied associate-/r/1.9
Applied times-frac1.8
Simplified1.2
if 1.4537693536698273e+162 < alpha Initial program 16.2
rmApplied *-un-lft-identity16.2
Applied flip-+17.9
Applied associate-/r/17.9
Applied times-frac17.9
Simplified16.2
Taylor expanded around inf 8.2
Final simplification2.3
herbie shell --seed 2020060 +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)))