double code(double alpha, double beta) {
return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
}
double code(double alpha, double beta) {
double tmp;
if (alpha <= 218152260.39439523) {
tmp = (((beta * ((1.0 * 1.0) + ((alpha / ((alpha + beta) + 2.0)) * (1.0 + (alpha / ((alpha + beta) + 2.0)))))) - (((alpha + beta) + 2.0) * (pow((alpha / ((alpha + beta) + 2.0)), 3.0) - pow(1.0, 3.0)))) / (((alpha + beta) + 2.0) * ((1.0 * 1.0) + ((alpha / ((alpha + beta) + 2.0)) * (1.0 + (alpha / ((alpha + beta) + 2.0))))))) / 2.0;
} else {
tmp = ((beta / ((alpha + beta) + 2.0)) - ((4.0 / (alpha * alpha)) - ((2.0 / alpha) + (8.0 / pow(alpha, 3.0))))) / 2.0;
}
return tmp;
}



Bits error versus alpha



Bits error versus beta
Results
if alpha < 218152260.39439523Initial program 0.1
rmApplied div-sub0.1
Applied associate-+l-0.1
Simplified0.1
rmApplied flip3--0.1
Applied frac-sub0.1
Simplified0.1
Simplified0.1
if 218152260.39439523 < alpha Initial program 50.0
rmApplied div-sub50.0
Applied associate-+l-48.5
Simplified48.5
Taylor expanded around inf 17.6
Simplified17.6
Final simplification5.8
herbie shell --seed 2020338
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))