\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(1.0 + \left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}}{2.0 + \mathsf{fma}\left(2, i, \alpha + \beta\right)}\right)}}{2.0}double f(double alpha, double beta, double i) {
double r1642530 = alpha;
double r1642531 = beta;
double r1642532 = r1642530 + r1642531;
double r1642533 = r1642531 - r1642530;
double r1642534 = r1642532 * r1642533;
double r1642535 = 2.0;
double r1642536 = i;
double r1642537 = r1642535 * r1642536;
double r1642538 = r1642532 + r1642537;
double r1642539 = r1642534 / r1642538;
double r1642540 = 2.0;
double r1642541 = r1642538 + r1642540;
double r1642542 = r1642539 / r1642541;
double r1642543 = 1.0;
double r1642544 = r1642542 + r1642543;
double r1642545 = r1642544 / r1642540;
return r1642545;
}
double f(double alpha, double beta, double i) {
double r1642546 = 1.0;
double r1642547 = alpha;
double r1642548 = beta;
double r1642549 = r1642547 + r1642548;
double r1642550 = r1642548 - r1642547;
double r1642551 = 2.0;
double r1642552 = i;
double r1642553 = fma(r1642551, r1642552, r1642549);
double r1642554 = r1642550 / r1642553;
double r1642555 = 2.0;
double r1642556 = r1642555 + r1642553;
double r1642557 = r1642554 / r1642556;
double r1642558 = r1642549 * r1642557;
double r1642559 = r1642546 + r1642558;
double r1642560 = log(r1642559);
double r1642561 = exp(r1642560);
double r1642562 = r1642561 / r1642555;
return r1642562;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 24.0
Simplified23.9
rmApplied *-un-lft-identity23.9
Applied times-frac20.1
Applied fma-def20.1
rmApplied add-exp-log20.1
Simplified20.1
rmApplied associate-/r*12.9
rmApplied fma-udef12.8
Final simplification12.8
herbie shell --seed 2019152 +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))