\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 r85092 = beta;
double r85093 = alpha;
double r85094 = r85092 - r85093;
double r85095 = r85093 + r85092;
double r85096 = 2.0;
double r85097 = r85095 + r85096;
double r85098 = r85094 / r85097;
double r85099 = 1.0;
double r85100 = r85098 + r85099;
double r85101 = r85100 / r85096;
return r85101;
}
double f(double alpha, double beta) {
double r85102 = 1.0;
double r85103 = 3.0;
double r85104 = pow(r85102, r85103);
double r85105 = pow(r85104, r85103);
double r85106 = beta;
double r85107 = alpha;
double r85108 = r85106 - r85107;
double r85109 = r85107 + r85106;
double r85110 = 2.0;
double r85111 = r85109 + r85110;
double r85112 = r85108 / r85111;
double r85113 = pow(r85112, r85103);
double r85114 = pow(r85113, r85103);
double r85115 = r85105 + r85114;
double r85116 = r85113 - r85104;
double r85117 = 6.0;
double r85118 = pow(r85102, r85117);
double r85119 = fma(r85116, r85113, r85118);
double r85120 = r85115 / r85119;
double r85121 = r85112 - r85102;
double r85122 = r85102 * r85102;
double r85123 = fma(r85121, r85112, r85122);
double r85124 = r85120 / r85123;
double r85125 = log(r85124);
double r85126 = exp(r85125);
double r85127 = r85126 / r85110;
return r85127;
}



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))