\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\frac{e^{\log \left(\sqrt[3]{\mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, i, 2.0\right)}}, \frac{\alpha + \beta}{\sqrt{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, i, 2.0\right)}}, 1.0\right) \cdot \left(\mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, i, 2.0\right)}}, \frac{\alpha + \beta}{\sqrt{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, i, 2.0\right)}}, 1.0\right) \cdot \mathsf{fma}\left(\frac{\frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, i, 2.0\right)}}, \frac{\alpha + \beta}{\sqrt{\left(\alpha + \beta\right) + \mathsf{fma}\left(2, i, 2.0\right)}}, 1.0\right)\right)}\right)}}{2.0}double f(double alpha, double beta, double i) {
double r4388649 = alpha;
double r4388650 = beta;
double r4388651 = r4388649 + r4388650;
double r4388652 = r4388650 - r4388649;
double r4388653 = r4388651 * r4388652;
double r4388654 = 2.0;
double r4388655 = i;
double r4388656 = r4388654 * r4388655;
double r4388657 = r4388651 + r4388656;
double r4388658 = r4388653 / r4388657;
double r4388659 = 2.0;
double r4388660 = r4388657 + r4388659;
double r4388661 = r4388658 / r4388660;
double r4388662 = 1.0;
double r4388663 = r4388661 + r4388662;
double r4388664 = r4388663 / r4388659;
return r4388664;
}
double f(double alpha, double beta, double i) {
double r4388665 = beta;
double r4388666 = alpha;
double r4388667 = r4388665 - r4388666;
double r4388668 = i;
double r4388669 = 2.0;
double r4388670 = r4388666 + r4388665;
double r4388671 = fma(r4388668, r4388669, r4388670);
double r4388672 = r4388667 / r4388671;
double r4388673 = 2.0;
double r4388674 = fma(r4388669, r4388668, r4388673);
double r4388675 = r4388670 + r4388674;
double r4388676 = sqrt(r4388675);
double r4388677 = r4388672 / r4388676;
double r4388678 = r4388670 / r4388676;
double r4388679 = 1.0;
double r4388680 = fma(r4388677, r4388678, r4388679);
double r4388681 = r4388680 * r4388680;
double r4388682 = r4388680 * r4388681;
double r4388683 = cbrt(r4388682);
double r4388684 = log(r4388683);
double r4388685 = exp(r4388684);
double r4388686 = r4388685 / r4388673;
return r4388686;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 23.9
Simplified19.8
rmApplied add-exp-log19.7
Simplified12.7
rmApplied add-sqr-sqrt12.8
Applied associate-/r*12.8
rmApplied add-sqr-sqrt12.8
Applied sqrt-prod12.8
Applied add-cube-cbrt13.0
Applied times-frac13.0
rmApplied add-cbrt-cube12.9
Simplified12.8
Final simplification12.8
herbie shell --seed 2019163 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1) (> beta -1) (> i 0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))