\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}\frac{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i} \cdot \frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}}double f(double alpha, double beta, double i) {
double r211934 = i;
double r211935 = alpha;
double r211936 = beta;
double r211937 = r211935 + r211936;
double r211938 = r211937 + r211934;
double r211939 = r211934 * r211938;
double r211940 = r211936 * r211935;
double r211941 = r211940 + r211939;
double r211942 = r211939 * r211941;
double r211943 = 2.0;
double r211944 = r211943 * r211934;
double r211945 = r211937 + r211944;
double r211946 = r211945 * r211945;
double r211947 = r211942 / r211946;
double r211948 = 1.0;
double r211949 = r211946 - r211948;
double r211950 = r211947 / r211949;
return r211950;
}
double f(double alpha, double beta, double i) {
double r211951 = i;
double r211952 = alpha;
double r211953 = beta;
double r211954 = r211952 + r211953;
double r211955 = r211954 + r211951;
double r211956 = r211951 * r211955;
double r211957 = 2.0;
double r211958 = r211957 * r211951;
double r211959 = r211954 + r211958;
double r211960 = r211956 / r211959;
double r211961 = r211953 * r211952;
double r211962 = r211961 + r211956;
double r211963 = r211962 / r211959;
double r211964 = r211960 * r211963;
double r211965 = 1.0;
double r211966 = sqrt(r211965);
double r211967 = r211959 - r211966;
double r211968 = r211964 / r211967;
double r211969 = r211959 + r211966;
double r211970 = r211968 / r211969;
return r211970;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
Initial program 53.8
rmApplied add-sqr-sqrt53.8
Applied difference-of-squares53.8
Applied times-frac39.5
Applied times-frac37.4
rmApplied div-inv37.5
Applied associate-*r*37.5
rmApplied associate-*l/37.5
Applied associate-*l/37.5
Simplified37.4
Final simplification37.4
herbie shell --seed 2020042
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
:pre (and (> alpha -1) (> beta -1) (> i 1))
(/ (/ (* (* i (+ (+ alpha beta) i)) (+ (* beta alpha) (* i (+ (+ alpha beta) i)))) (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i)))) (- (* (+ (+ alpha beta) (* 2 i)) (+ (+ alpha beta) (* 2 i))) 1)))