\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{\left(1 + \alpha \cdot \left(\frac{\frac{\sqrt[3]{\beta - \alpha} \cdot \sqrt[3]{\beta - \alpha}}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}}{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}} \cdot \frac{\frac{\sqrt[3]{\beta - \alpha}}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}}{\sqrt{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}}\right)\right) + \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2 + \mathsf{fma}\left(2, i, \alpha + \beta\right)} \cdot \beta}{2}double f(double alpha, double beta, double i) {
double r5568142 = alpha;
double r5568143 = beta;
double r5568144 = r5568142 + r5568143;
double r5568145 = r5568143 - r5568142;
double r5568146 = r5568144 * r5568145;
double r5568147 = 2.0;
double r5568148 = i;
double r5568149 = r5568147 * r5568148;
double r5568150 = r5568144 + r5568149;
double r5568151 = r5568146 / r5568150;
double r5568152 = r5568150 + r5568147;
double r5568153 = r5568151 / r5568152;
double r5568154 = 1.0;
double r5568155 = r5568153 + r5568154;
double r5568156 = r5568155 / r5568147;
return r5568156;
}
double f(double alpha, double beta, double i) {
double r5568157 = 1.0;
double r5568158 = alpha;
double r5568159 = beta;
double r5568160 = r5568159 - r5568158;
double r5568161 = cbrt(r5568160);
double r5568162 = r5568161 * r5568161;
double r5568163 = 2.0;
double r5568164 = i;
double r5568165 = r5568158 + r5568159;
double r5568166 = fma(r5568163, r5568164, r5568165);
double r5568167 = cbrt(r5568166);
double r5568168 = r5568167 * r5568167;
double r5568169 = r5568162 / r5568168;
double r5568170 = r5568163 + r5568166;
double r5568171 = sqrt(r5568170);
double r5568172 = r5568169 / r5568171;
double r5568173 = r5568161 / r5568167;
double r5568174 = r5568173 / r5568171;
double r5568175 = r5568172 * r5568174;
double r5568176 = r5568158 * r5568175;
double r5568177 = r5568157 + r5568176;
double r5568178 = r5568160 / r5568166;
double r5568179 = r5568178 / r5568170;
double r5568180 = r5568179 * r5568159;
double r5568181 = r5568177 + r5568180;
double r5568182 = r5568181 / r5568163;
return r5568182;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 23.8
Simplified19.4
rmApplied associate-/r*12.3
rmApplied fma-udef12.2
rmApplied distribute-lft-in12.2
Applied associate-+l+12.2
rmApplied add-sqr-sqrt12.3
Applied add-cube-cbrt12.3
Applied add-cube-cbrt12.3
Applied times-frac12.3
Applied times-frac12.3
Final simplification12.3
herbie shell --seed 2019170 +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))