\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 r6135820 = alpha;
double r6135821 = beta;
double r6135822 = r6135820 + r6135821;
double r6135823 = r6135821 - r6135820;
double r6135824 = r6135822 * r6135823;
double r6135825 = 2.0;
double r6135826 = i;
double r6135827 = r6135825 * r6135826;
double r6135828 = r6135822 + r6135827;
double r6135829 = r6135824 / r6135828;
double r6135830 = r6135828 + r6135825;
double r6135831 = r6135829 / r6135830;
double r6135832 = 1.0;
double r6135833 = r6135831 + r6135832;
double r6135834 = r6135833 / r6135825;
return r6135834;
}
double f(double alpha, double beta, double i) {
double r6135835 = beta;
double r6135836 = alpha;
double r6135837 = r6135835 - r6135836;
double r6135838 = 2.0;
double r6135839 = i;
double r6135840 = r6135836 + r6135835;
double r6135841 = fma(r6135838, r6135839, r6135840);
double r6135842 = r6135841 + r6135838;
double r6135843 = sqrt(r6135842);
double r6135844 = r6135837 / r6135843;
double r6135845 = -0.5;
double r6135846 = pow(r6135842, r6135845);
double r6135847 = r6135844 * r6135846;
double r6135848 = r6135840 / r6135841;
double r6135849 = 1.0;
double r6135850 = fma(r6135847, r6135848, r6135849);
double r6135851 = r6135850 * r6135850;
double r6135852 = r6135851 * r6135850;
double r6135853 = cbrt(r6135852);
double r6135854 = r6135853 / r6135838;
return r6135854;
}



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))