\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2.0 \cdot 1.0}}{\left(\alpha + \beta\right) + 2.0 \cdot 1.0}}{\left(\left(\alpha + \beta\right) + 2.0 \cdot 1.0\right) + 1.0}\frac{\frac{1}{2.0 \cdot 1.0 + \left(\beta + \alpha\right)} \cdot \frac{1.0 + \left(\alpha \cdot \beta + \left(\beta + \alpha\right)\right)}{2.0 \cdot 1.0 + \left(\beta + \alpha\right)}}{1.0 + \left(2.0 \cdot 1.0 + \left(\beta + \alpha\right)\right)}double f(double alpha, double beta) {
double r4801725 = alpha;
double r4801726 = beta;
double r4801727 = r4801725 + r4801726;
double r4801728 = r4801726 * r4801725;
double r4801729 = r4801727 + r4801728;
double r4801730 = 1.0;
double r4801731 = r4801729 + r4801730;
double r4801732 = 2.0;
double r4801733 = r4801732 * r4801730;
double r4801734 = r4801727 + r4801733;
double r4801735 = r4801731 / r4801734;
double r4801736 = r4801735 / r4801734;
double r4801737 = r4801734 + r4801730;
double r4801738 = r4801736 / r4801737;
return r4801738;
}
double f(double alpha, double beta) {
double r4801739 = 1.0;
double r4801740 = 2.0;
double r4801741 = 1.0;
double r4801742 = r4801740 * r4801741;
double r4801743 = beta;
double r4801744 = alpha;
double r4801745 = r4801743 + r4801744;
double r4801746 = r4801742 + r4801745;
double r4801747 = r4801739 / r4801746;
double r4801748 = r4801744 * r4801743;
double r4801749 = r4801748 + r4801745;
double r4801750 = r4801741 + r4801749;
double r4801751 = r4801750 / r4801746;
double r4801752 = r4801747 * r4801751;
double r4801753 = r4801741 + r4801746;
double r4801754 = r4801752 / r4801753;
return r4801754;
}



Bits error versus alpha



Bits error versus beta
Results
Initial program 3.8
rmApplied div-inv3.8
Final simplification3.8
herbie shell --seed 2019165
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
: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)))