\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.340461934991603717903289478960620617019 \cdot 10^{134}:\\
\;\;\;\;\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}}{\alpha + \left(\beta + 3\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\left(2 \cdot \frac{1}{{\alpha}^{2}} + 1\right) - 1 \cdot \frac{1}{\alpha}}{\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 r100819 = alpha;
double r100820 = beta;
double r100821 = r100819 + r100820;
double r100822 = r100820 * r100819;
double r100823 = r100821 + r100822;
double r100824 = 1.0;
double r100825 = r100823 + r100824;
double r100826 = 2.0;
double r100827 = r100826 * r100824;
double r100828 = r100821 + r100827;
double r100829 = r100825 / r100828;
double r100830 = r100829 / r100828;
double r100831 = r100828 + r100824;
double r100832 = r100830 / r100831;
return r100832;
}
double f(double alpha, double beta) {
double r100833 = alpha;
double r100834 = 1.3404619349916037e+134;
bool r100835 = r100833 <= r100834;
double r100836 = beta;
double r100837 = r100833 + r100836;
double r100838 = r100836 * r100833;
double r100839 = r100837 + r100838;
double r100840 = 1.0;
double r100841 = r100839 + r100840;
double r100842 = 2.0;
double r100843 = r100842 * r100840;
double r100844 = r100837 + r100843;
double r100845 = r100841 / r100844;
double r100846 = r100845 / r100844;
double r100847 = 3.0;
double r100848 = r100836 + r100847;
double r100849 = r100833 + r100848;
double r100850 = r100846 / r100849;
double r100851 = 1.0;
double r100852 = 2.0;
double r100853 = pow(r100833, r100852);
double r100854 = r100851 / r100853;
double r100855 = r100842 * r100854;
double r100856 = r100855 + r100851;
double r100857 = r100851 / r100833;
double r100858 = r100840 * r100857;
double r100859 = r100856 - r100858;
double r100860 = r100859 / r100844;
double r100861 = r100844 + r100840;
double r100862 = r100860 / r100861;
double r100863 = r100835 ? r100850 : r100862;
return r100863;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 1.3404619349916037e+134Initial program 1.1
Taylor expanded around 0 1.1
Simplified1.1
if 1.3404619349916037e+134 < alpha Initial program 16.1
Taylor expanded around inf 8.3
Final simplification2.5
herbie shell --seed 2019291
(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)))