\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}\frac{e^{\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left(\log \left(1 + \frac{\beta - \alpha}{2 + \left(\beta + \alpha\right)}\right)\right)}^{3}}\right)}^{3}}\right)}^{3}}}}{2}double f(double alpha, double beta) {
double r112486 = beta;
double r112487 = alpha;
double r112488 = r112486 - r112487;
double r112489 = r112487 + r112486;
double r112490 = 2.0;
double r112491 = r112489 + r112490;
double r112492 = r112488 / r112491;
double r112493 = 1.0;
double r112494 = r112492 + r112493;
double r112495 = r112494 / r112490;
return r112495;
}
double f(double alpha, double beta) {
double r112496 = 1.0;
double r112497 = beta;
double r112498 = alpha;
double r112499 = r112497 - r112498;
double r112500 = 2.0;
double r112501 = r112497 + r112498;
double r112502 = r112500 + r112501;
double r112503 = r112499 / r112502;
double r112504 = r112496 + r112503;
double r112505 = log(r112504);
double r112506 = 3.0;
double r112507 = pow(r112505, r112506);
double r112508 = cbrt(r112507);
double r112509 = pow(r112508, r112506);
double r112510 = cbrt(r112509);
double r112511 = pow(r112510, r112506);
double r112512 = cbrt(r112511);
double r112513 = exp(r112512);
double r112514 = r112513 / r112500;
return r112514;
}



Bits error versus alpha



Bits error versus beta
Results
Initial program 16.1
Simplified16.1
rmApplied add-exp-log16.1
Simplified16.1
rmApplied add-cbrt-cube16.1
Simplified16.1
rmApplied add-cbrt-cube16.1
Simplified16.1
rmApplied add-cbrt-cube16.1
Simplified16.1
Final simplification16.1
herbie shell --seed 2019174 +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))