\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 3.1020071240454246 \cdot 10^{159}:\\
\;\;\;\;\frac{\frac{-\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{-\left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{1}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\sqrt{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot 1\right)}\\
\end{array}double f(double alpha, double beta) {
double r118081 = alpha;
double r118082 = beta;
double r118083 = r118081 + r118082;
double r118084 = r118082 * r118081;
double r118085 = r118083 + r118084;
double r118086 = 1.0;
double r118087 = r118085 + r118086;
double r118088 = 2.0;
double r118089 = r118088 * r118086;
double r118090 = r118083 + r118089;
double r118091 = r118087 / r118090;
double r118092 = r118091 / r118090;
double r118093 = r118090 + r118086;
double r118094 = r118092 / r118093;
return r118094;
}
double f(double alpha, double beta) {
double r118095 = beta;
double r118096 = 3.1020071240454246e+159;
bool r118097 = r118095 <= r118096;
double r118098 = alpha;
double r118099 = r118098 + r118095;
double r118100 = r118095 * r118098;
double r118101 = r118099 + r118100;
double r118102 = 1.0;
double r118103 = r118101 + r118102;
double r118104 = 2.0;
double r118105 = r118104 * r118102;
double r118106 = r118099 + r118105;
double r118107 = r118103 / r118106;
double r118108 = -r118107;
double r118109 = -r118106;
double r118110 = r118108 / r118109;
double r118111 = r118106 + r118102;
double r118112 = r118110 / r118111;
double r118113 = 1.0;
double r118114 = sqrt(r118106);
double r118115 = r118113 / r118114;
double r118116 = r118115 / r118114;
double r118117 = r118113 / r118098;
double r118118 = r118113 / r118095;
double r118119 = r118117 + r118118;
double r118120 = 2.0;
double r118121 = pow(r118098, r118120);
double r118122 = r118113 / r118121;
double r118123 = r118119 - r118122;
double r118124 = r118123 * r118106;
double r118125 = r118116 / r118124;
double r118126 = r118097 ? r118112 : r118125;
return r118126;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 3.1020071240454246e+159Initial program 1.2
rmApplied frac-2neg1.2
if 3.1020071240454246e+159 < beta Initial program 14.8
rmApplied add-sqr-sqrt14.8
Applied add-sqr-sqrt14.8
Applied *-un-lft-identity14.8
Applied times-frac14.8
Applied times-frac14.8
Applied associate-/l*14.8
Simplified14.8
Taylor expanded around inf 0.1
Final simplification1.1
herbie shell --seed 2020024
(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)))