double code(double alpha, double beta) {
return ((double) (((double) (((double) (((double) (((double) (((double) (alpha + beta)) + ((double) (beta * alpha)))) + 1.0)) / ((double) (((double) (alpha + beta)) + ((double) (2.0 * 1.0)))))) / ((double) (((double) (alpha + beta)) + ((double) (2.0 * 1.0)))))) / ((double) (((double) (((double) (alpha + beta)) + ((double) (2.0 * 1.0)))) + 1.0))));
}
double code(double alpha, double beta) {
double VAR;
if ((beta <= 1.2687380306321451e+191)) {
VAR = ((double) (((double) (((double) (((double) sqrt(((double) (((double) (((double) (beta + alpha)) + ((double) (beta * alpha)))) + 1.0)))) / ((double) sqrt(((double) (((double) (beta + alpha)) + ((double) (1.0 * 2.0)))))))) / ((double) sqrt(((double) (((double) (beta + alpha)) + ((double) (1.0 * 2.0)))))))) / ((double) (((double) (((double) (alpha + ((double) (beta + ((double) (1.0 + ((double) (1.0 * 2.0)))))))) / ((double) sqrt(((double) (alpha + ((double) (beta + ((double) (((double) (beta * alpha)) + 1.0)))))))))) * ((double) (alpha + ((double) (beta + ((double) (1.0 * 2.0))))))))));
} else {
VAR = ((double) (((double) (((double) cbrt(((double) (((double) (alpha * 0.1875)) + ((double) (0.125 + ((double) (beta * 0.1875)))))))) / ((double) (((double) (beta + alpha)) + ((double) (1.0 * 2.0)))))) / ((double) (1.0 + ((double) (((double) (beta + alpha)) + ((double) (1.0 * 2.0))))))));
}
return VAR;
}



Bits error versus alpha



Bits error versus beta
Results
if beta < 1.26873803063214509e191Initial program 1.8
rmApplied add-sqr-sqrt2.3
Applied add-sqr-sqrt2.7
Applied add-sqr-sqrt2.6
Applied times-frac2.6
Applied times-frac2.4
Applied associate-/l*2.4
Simplified1.8
if 1.26873803063214509e191 < beta Initial program 17.7
rmApplied add-cbrt-cube18.0
Applied add-cbrt-cube64.0
Applied cbrt-undiv64.0
Simplified17.8
Taylor expanded around 0 6.7
Simplified6.7
Final simplification2.5
herbie shell --seed 2020180
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:precision binary64
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))