\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\begin{array}{l}
\mathbf{if}\;\alpha \le 337398417361397.5625:\\
\;\;\;\;\frac{\mathsf{fma}\left(\beta, \frac{1}{\left(\beta + \alpha\right) + 2}, -\left(\frac{\alpha}{\left(\beta + \alpha\right) + 2} - 1\right)\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{\beta}{\left(\beta + \alpha\right) + 2} - \left(\left(\frac{\frac{4}{\alpha}}{\alpha} - \frac{\frac{8}{\alpha \cdot \alpha}}{\alpha}\right) - \frac{2}{\alpha}\right)}{2}\\
\end{array}double f(double alpha, double beta) {
double r3753227 = beta;
double r3753228 = alpha;
double r3753229 = r3753227 - r3753228;
double r3753230 = r3753228 + r3753227;
double r3753231 = 2.0;
double r3753232 = r3753230 + r3753231;
double r3753233 = r3753229 / r3753232;
double r3753234 = 1.0;
double r3753235 = r3753233 + r3753234;
double r3753236 = r3753235 / r3753231;
return r3753236;
}
double f(double alpha, double beta) {
double r3753237 = alpha;
double r3753238 = 337398417361397.56;
bool r3753239 = r3753237 <= r3753238;
double r3753240 = beta;
double r3753241 = 1.0;
double r3753242 = r3753240 + r3753237;
double r3753243 = 2.0;
double r3753244 = r3753242 + r3753243;
double r3753245 = r3753241 / r3753244;
double r3753246 = r3753237 / r3753244;
double r3753247 = 1.0;
double r3753248 = r3753246 - r3753247;
double r3753249 = -r3753248;
double r3753250 = fma(r3753240, r3753245, r3753249);
double r3753251 = r3753250 / r3753243;
double r3753252 = r3753240 / r3753244;
double r3753253 = 4.0;
double r3753254 = r3753253 / r3753237;
double r3753255 = r3753254 / r3753237;
double r3753256 = 8.0;
double r3753257 = r3753237 * r3753237;
double r3753258 = r3753256 / r3753257;
double r3753259 = r3753258 / r3753237;
double r3753260 = r3753255 - r3753259;
double r3753261 = r3753243 / r3753237;
double r3753262 = r3753260 - r3753261;
double r3753263 = r3753252 - r3753262;
double r3753264 = r3753263 / r3753243;
double r3753265 = r3753239 ? r3753251 : r3753264;
return r3753265;
}



Bits error versus alpha



Bits error versus beta
if alpha < 337398417361397.56Initial program 0.3
rmApplied div-sub0.3
Applied associate-+l-0.3
rmApplied div-inv0.3
Applied fma-neg0.3
if 337398417361397.56 < alpha Initial program 50.1
rmApplied div-sub50.1
Applied associate-+l-48.4
Taylor expanded around inf 18.7
Simplified18.7
Final simplification6.3
herbie shell --seed 2019192 +o rules:numerics
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))