\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 1.3363296163984674 \cdot 10^{154}:\\
\;\;\;\;\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.25 \cdot \alpha + \left(0.5 + 0.25 \cdot \beta\right)}{\left(\alpha + \beta\right) \cdot \left(\alpha + \beta\right) - \left(2 \cdot 1\right) \cdot \left(2 \cdot 1\right)} \cdot \frac{\left(\alpha + \beta\right) - 2 \cdot 1}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r108747 = alpha;
double r108748 = beta;
double r108749 = r108747 + r108748;
double r108750 = r108748 * r108747;
double r108751 = r108749 + r108750;
double r108752 = 1.0;
double r108753 = r108751 + r108752;
double r108754 = 2.0;
double r108755 = r108754 * r108752;
double r108756 = r108749 + r108755;
double r108757 = r108753 / r108756;
double r108758 = r108757 / r108756;
double r108759 = r108756 + r108752;
double r108760 = r108758 / r108759;
return r108760;
}
double f(double alpha, double beta) {
double r108761 = beta;
double r108762 = 1.3363296163984674e+154;
bool r108763 = r108761 <= r108762;
double r108764 = alpha;
double r108765 = r108764 + r108761;
double r108766 = r108761 * r108764;
double r108767 = r108765 + r108766;
double r108768 = 1.0;
double r108769 = r108767 + r108768;
double r108770 = 2.0;
double r108771 = r108770 * r108768;
double r108772 = r108765 + r108771;
double r108773 = r108769 / r108772;
double r108774 = r108765 * r108765;
double r108775 = r108771 * r108771;
double r108776 = r108774 - r108775;
double r108777 = r108773 / r108776;
double r108778 = r108765 - r108771;
double r108779 = r108772 + r108768;
double r108780 = r108778 / r108779;
double r108781 = r108777 * r108780;
double r108782 = 0.25;
double r108783 = r108782 * r108764;
double r108784 = 0.5;
double r108785 = r108782 * r108761;
double r108786 = r108784 + r108785;
double r108787 = r108783 + r108786;
double r108788 = r108787 / r108776;
double r108789 = r108788 * r108780;
double r108790 = r108763 ? r108781 : r108789;
return r108790;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 1.3363296163984674e+154Initial program 1.2
rmApplied *-un-lft-identity1.2
Applied flip-+1.8
Applied associate-/r/1.8
Applied times-frac1.8
Simplified1.8
if 1.3363296163984674e+154 < beta Initial program 17.4
rmApplied *-un-lft-identity17.4
Applied flip-+20.0
Applied associate-/r/20.0
Applied times-frac20.0
Simplified20.0
Taylor expanded around 0 9.7
Final simplification3.1
herbie shell --seed 2020003
(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)))