\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.833222038499472936347446758444685373448 \cdot 10^{151}:\\
\;\;\;\;\frac{\frac{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\sqrt{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}{\frac{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}{\frac{\sqrt{1 + \mathsf{fma}\left(\alpha, \beta, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{1}{\left(\frac{1}{\alpha} + \frac{1}{\beta}\right) - \frac{1}{{\alpha}^{2}}}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(1, 2, \alpha + \beta\right) + 1}\\
\end{array}double f(double alpha, double beta) {
double r113176 = alpha;
double r113177 = beta;
double r113178 = r113176 + r113177;
double r113179 = r113177 * r113176;
double r113180 = r113178 + r113179;
double r113181 = 1.0;
double r113182 = r113180 + r113181;
double r113183 = 2.0;
double r113184 = r113183 * r113181;
double r113185 = r113178 + r113184;
double r113186 = r113182 / r113185;
double r113187 = r113186 / r113185;
double r113188 = r113185 + r113181;
double r113189 = r113187 / r113188;
return r113189;
}
double f(double alpha, double beta) {
double r113190 = alpha;
double r113191 = 1.833222038499473e+151;
bool r113192 = r113190 <= r113191;
double r113193 = 1.0;
double r113194 = beta;
double r113195 = r113190 + r113194;
double r113196 = fma(r113190, r113194, r113195);
double r113197 = r113193 + r113196;
double r113198 = sqrt(r113197);
double r113199 = 2.0;
double r113200 = fma(r113193, r113199, r113195);
double r113201 = sqrt(r113200);
double r113202 = r113198 / r113201;
double r113203 = r113202 / r113201;
double r113204 = r113200 + r113193;
double r113205 = r113198 / r113200;
double r113206 = r113204 / r113205;
double r113207 = r113203 / r113206;
double r113208 = 1.0;
double r113209 = r113208 / r113190;
double r113210 = r113208 / r113194;
double r113211 = r113209 + r113210;
double r113212 = 2.0;
double r113213 = pow(r113190, r113212);
double r113214 = r113208 / r113213;
double r113215 = r113211 - r113214;
double r113216 = r113208 / r113215;
double r113217 = r113216 / r113200;
double r113218 = r113217 / r113204;
double r113219 = r113192 ? r113207 : r113218;
return r113219;
}



Bits error versus alpha



Bits error versus beta
if alpha < 1.833222038499473e+151Initial program 1.0
Simplified1.0
rmApplied add-sqr-sqrt1.6
Applied add-sqr-sqrt2.0
Applied add-sqr-sqrt1.9
Applied times-frac1.9
Applied times-frac1.7
Applied associate-/l*1.7
Simplified1.1
if 1.833222038499473e+151 < alpha Initial program 16.0
Simplified16.0
rmApplied clear-num16.0
Taylor expanded around inf 1.4
Final simplification1.2
herbie shell --seed 2019235 +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)))