\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} + 1}{2}\frac{\sqrt[3]{\left(\mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right) \cdot \mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right) \cdot \mathsf{fma}\left(\frac{\beta - \alpha}{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot {\left(\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2\right)}^{\frac{-1}{2}}, \frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}}{2}double f(double alpha, double beta, double i) {
double r4528689 = alpha;
double r4528690 = beta;
double r4528691 = r4528689 + r4528690;
double r4528692 = r4528690 - r4528689;
double r4528693 = r4528691 * r4528692;
double r4528694 = 2.0;
double r4528695 = i;
double r4528696 = r4528694 * r4528695;
double r4528697 = r4528691 + r4528696;
double r4528698 = r4528693 / r4528697;
double r4528699 = r4528697 + r4528694;
double r4528700 = r4528698 / r4528699;
double r4528701 = 1.0;
double r4528702 = r4528700 + r4528701;
double r4528703 = r4528702 / r4528694;
return r4528703;
}
double f(double alpha, double beta, double i) {
double r4528704 = beta;
double r4528705 = alpha;
double r4528706 = r4528704 - r4528705;
double r4528707 = 2.0;
double r4528708 = i;
double r4528709 = r4528705 + r4528704;
double r4528710 = fma(r4528707, r4528708, r4528709);
double r4528711 = r4528710 + r4528707;
double r4528712 = sqrt(r4528711);
double r4528713 = r4528706 / r4528712;
double r4528714 = -0.5;
double r4528715 = pow(r4528711, r4528714);
double r4528716 = r4528713 * r4528715;
double r4528717 = r4528709 / r4528710;
double r4528718 = 1.0;
double r4528719 = fma(r4528716, r4528717, r4528718);
double r4528720 = r4528719 * r4528719;
double r4528721 = r4528720 * r4528719;
double r4528722 = cbrt(r4528721);
double r4528723 = r4528722 / r4528707;
return r4528723;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 23.9
Simplified12.2
rmApplied add-sqr-sqrt12.3
Applied *-un-lft-identity12.3
Applied times-frac12.3
rmApplied pow1/212.3
Applied pow-flip12.2
Simplified12.2
rmApplied add-cbrt-cube12.2
Final simplification12.2
herbie shell --seed 2019200 +o rules:numerics
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/2"
:pre (and (> alpha -1.0) (> beta -1.0) (> i 0.0))
(/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) 1.0) 2.0))