\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{\sqrt[3]{\left(\mathsf{fma}\left(\left(\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \left(\beta + \alpha\right)\right)}\right), \left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \left(\beta + \alpha\right)\right)}\right), 1.0\right) \cdot \mathsf{fma}\left(\left(\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \left(\beta + \alpha\right)\right)}\right), \left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \left(\beta + \alpha\right)\right)}\right), 1.0\right)\right) \cdot \mathsf{fma}\left(\left(\left(\beta + \alpha\right) \cdot \frac{1}{2.0 + \mathsf{fma}\left(2, i, \left(\beta + \alpha\right)\right)}\right), \left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \left(\beta + \alpha\right)\right)}\right), 1.0\right)}}{2.0}double f(double alpha, double beta, double i) {
double r1149152 = alpha;
double r1149153 = beta;
double r1149154 = r1149152 + r1149153;
double r1149155 = r1149153 - r1149152;
double r1149156 = r1149154 * r1149155;
double r1149157 = 2.0;
double r1149158 = i;
double r1149159 = r1149157 * r1149158;
double r1149160 = r1149154 + r1149159;
double r1149161 = r1149156 / r1149160;
double r1149162 = 2.0;
double r1149163 = r1149160 + r1149162;
double r1149164 = r1149161 / r1149163;
double r1149165 = 1.0;
double r1149166 = r1149164 + r1149165;
double r1149167 = r1149166 / r1149162;
return r1149167;
}
double f(double alpha, double beta, double i) {
double r1149168 = beta;
double r1149169 = alpha;
double r1149170 = r1149168 + r1149169;
double r1149171 = 1.0;
double r1149172 = 2.0;
double r1149173 = 2.0;
double r1149174 = i;
double r1149175 = fma(r1149173, r1149174, r1149170);
double r1149176 = r1149172 + r1149175;
double r1149177 = r1149171 / r1149176;
double r1149178 = r1149170 * r1149177;
double r1149179 = r1149168 - r1149169;
double r1149180 = r1149179 / r1149175;
double r1149181 = 1.0;
double r1149182 = fma(r1149178, r1149180, r1149181);
double r1149183 = r1149182 * r1149182;
double r1149184 = r1149183 * r1149182;
double r1149185 = cbrt(r1149184);
double r1149186 = r1149185 / r1149172;
return r1149186;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 23.5
Simplified11.9
rmApplied div-inv11.9
rmApplied add-sqr-sqrt11.9
Applied associate-*r*11.9
rmApplied add-cbrt-cube11.9
Simplified11.9
Final simplification11.9
herbie shell --seed 2019128 +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))