\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\frac{e^{\log \left(\frac{\frac{{\left({1}^{3}\right)}^{3} + {\left({\left(\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3}\right)}^{3}}{\mathsf{fma}\left({\left(\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3} - {1}^{3}, {\left(\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2}\right)}^{3}, {1}^{6}\right)}}{\mathsf{fma}\left(\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} - 1, \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2}, 1 \cdot 1\right)}\right)}}{2}double f(double alpha, double beta) {
double r64471 = beta;
double r64472 = alpha;
double r64473 = r64471 - r64472;
double r64474 = r64472 + r64471;
double r64475 = 2.0;
double r64476 = r64474 + r64475;
double r64477 = r64473 / r64476;
double r64478 = 1.0;
double r64479 = r64477 + r64478;
double r64480 = r64479 / r64475;
return r64480;
}
double f(double alpha, double beta) {
double r64481 = 1.0;
double r64482 = 3.0;
double r64483 = pow(r64481, r64482);
double r64484 = pow(r64483, r64482);
double r64485 = beta;
double r64486 = alpha;
double r64487 = r64485 - r64486;
double r64488 = r64486 + r64485;
double r64489 = 2.0;
double r64490 = r64488 + r64489;
double r64491 = r64487 / r64490;
double r64492 = pow(r64491, r64482);
double r64493 = pow(r64492, r64482);
double r64494 = r64484 + r64493;
double r64495 = r64492 - r64483;
double r64496 = 6.0;
double r64497 = pow(r64481, r64496);
double r64498 = fma(r64495, r64492, r64497);
double r64499 = r64494 / r64498;
double r64500 = r64491 - r64481;
double r64501 = r64481 * r64481;
double r64502 = fma(r64500, r64491, r64501);
double r64503 = r64499 / r64502;
double r64504 = log(r64503);
double r64505 = exp(r64504);
double r64506 = r64505 / r64489;
return r64506;
}



Bits error versus alpha



Bits error versus beta
Initial program 16.4
Simplified16.4
rmApplied add-exp-log16.4
Simplified16.4
rmApplied flip3-+16.4
Simplified16.4
Simplified16.4
rmApplied flip3-+16.4
Simplified16.4
Simplified16.4
Final simplification16.4
herbie shell --seed 2019194 +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))