double f(double alpha, double beta) {
double r8128248 = beta;
double r8128249 = alpha;
double r8128250 = r8128248 - r8128249;
double r8128251 = r8128249 + r8128248;
double r8128252 = 2.0;
double r8128253 = r8128251 + r8128252;
double r8128254 = r8128250 / r8128253;
double r8128255 = 1.0;
double r8128256 = r8128254 + r8128255;
double r8128257 = r8128256 / r8128252;
return r8128257;
}
double f(double alpha, double beta) {
double r8128258 = beta;
double r8128259 = alpha;
double r8128260 = r8128258 - r8128259;
double r8128261 = r8128259 + r8128258;
double r8128262 = 2.0;
double r8128263 = r8128261 + r8128262;
double r8128264 = r8128260 / r8128263;
double r8128265 = -0.9999999999983659;
bool r8128266 = r8128264 <= r8128265;
double r8128267 = r8128258 / r8128263;
double r8128268 = 4.0;
double r8128269 = r8128259 * r8128259;
double r8128270 = r8128268 / r8128269;
double r8128271 = r8128262 / r8128259;
double r8128272 = r8128270 - r8128271;
double r8128273 = 8.0;
double r8128274 = r8128273 / r8128259;
double r8128275 = r8128274 / r8128269;
double r8128276 = r8128272 - r8128275;
double r8128277 = r8128267 - r8128276;
double r8128278 = r8128277 / r8128262;
double r8128279 = 1.0;
double r8128280 = r8128279 + r8128264;
double r8128281 = exp(r8128280);
double r8128282 = log(r8128281);
double r8128283 = r8128282 / r8128262;
double r8128284 = r8128266 ? r8128278 : r8128283;
return r8128284;
}
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} + 1.0}{2.0}\begin{array}{l}
\mathbf{if}\;\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0} \le -0.9999999999983659:\\
\;\;\;\;\frac{\frac{\beta}{\left(\alpha + \beta\right) + 2.0} - \left(\left(\frac{4.0}{\alpha \cdot \alpha} - \frac{2.0}{\alpha}\right) - \frac{\frac{8.0}{\alpha}}{\alpha \cdot \alpha}\right)}{2.0}\\
\mathbf{else}:\\
\;\;\;\;\frac{\log \left(e^{1.0 + \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0}}\right)}{2.0}\\
\end{array}


Bits error versus alpha



Bits error versus beta
if (/ (- beta alpha) (+ (+ alpha beta) 2.0)) < -0.9999999999983659Initial program 60.4
rmApplied div-sub60.4
Applied associate-+l-58.6
Taylor expanded around -inf 10.8
Simplified10.8
if -0.9999999999983659 < (/ (- beta alpha) (+ (+ alpha beta) 2.0)) Initial program 0.3
rmApplied add-log-exp0.3
Applied add-log-exp0.3
Applied sum-log0.3
Simplified0.3
Final simplification3.0
herbie shell --seed 2019102
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (> alpha -1) (> beta -1))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))