\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.1125280590322559 \cdot 10^{161}:\\
\;\;\;\;\frac{\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 \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\left(\alpha + \beta\right) - 2 \cdot 1}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)} \cdot \left(\left(\alpha + \beta\right) - 2 \cdot 1\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r176803 = alpha;
double r176804 = beta;
double r176805 = r176803 + r176804;
double r176806 = r176804 * r176803;
double r176807 = r176805 + r176806;
double r176808 = 1.0;
double r176809 = r176807 + r176808;
double r176810 = 2.0;
double r176811 = r176810 * r176808;
double r176812 = r176805 + r176811;
double r176813 = r176809 / r176812;
double r176814 = r176813 / r176812;
double r176815 = r176812 + r176808;
double r176816 = r176814 / r176815;
return r176816;
}
double f(double alpha, double beta) {
double r176817 = beta;
double r176818 = 1.1125280590322559e+161;
bool r176819 = r176817 <= r176818;
double r176820 = alpha;
double r176821 = r176820 + r176817;
double r176822 = r176817 * r176820;
double r176823 = r176821 + r176822;
double r176824 = 1.0;
double r176825 = r176823 + r176824;
double r176826 = 2.0;
double r176827 = fma(r176824, r176826, r176821);
double r176828 = r176825 / r176827;
double r176829 = r176826 * r176824;
double r176830 = r176821 - r176829;
double r176831 = r176828 / r176830;
double r176832 = r176831 / r176827;
double r176833 = r176832 * r176830;
double r176834 = r176821 + r176829;
double r176835 = r176834 + r176824;
double r176836 = r176833 / r176835;
double r176837 = 1.0;
double r176838 = r176837 / r176820;
double r176839 = r176837 / r176817;
double r176840 = r176838 + r176839;
double r176841 = 2.0;
double r176842 = pow(r176820, r176841);
double r176843 = r176837 / r176842;
double r176844 = r176840 - r176843;
double r176845 = r176837 / r176844;
double r176846 = r176845 / r176830;
double r176847 = r176846 / r176827;
double r176848 = r176847 * r176830;
double r176849 = r176848 / r176835;
double r176850 = r176819 ? r176836 : r176849;
return r176850;
}



Bits error versus alpha



Bits error versus beta
if beta < 1.1125280590322559e+161Initial program 1.4
rmApplied flip-+2.2
Applied associate-/r/2.2
Simplified1.4
if 1.1125280590322559e+161 < beta Initial program 16.2
rmApplied flip-+18.0
Applied associate-/r/18.0
Simplified16.2
rmApplied clear-num16.2
Taylor expanded around inf 0.1
Final simplification1.2
herbie shell --seed 2020056 +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)))