double f(double alpha, double beta, double i) {
double r2714972 = i;
double r2714973 = alpha;
double r2714974 = beta;
double r2714975 = r2714973 + r2714974;
double r2714976 = r2714975 + r2714972;
double r2714977 = r2714972 * r2714976;
double r2714978 = r2714974 * r2714973;
double r2714979 = r2714978 + r2714977;
double r2714980 = r2714977 * r2714979;
double r2714981 = 2.0;
double r2714982 = r2714981 * r2714972;
double r2714983 = r2714975 + r2714982;
double r2714984 = r2714983 * r2714983;
double r2714985 = r2714980 / r2714984;
double r2714986 = 1.0;
double r2714987 = r2714984 - r2714986;
double r2714988 = r2714985 / r2714987;
return r2714988;
}
double f(double alpha, double beta, double i) {
double r2714989 = i;
double r2714990 = alpha;
double r2714991 = beta;
double r2714992 = r2714990 + r2714991;
double r2714993 = 2.0;
double r2714994 = r2714993 * r2714989;
double r2714995 = r2714992 + r2714994;
double r2714996 = 1.0;
double r2714997 = r2714995 + r2714996;
double r2714998 = r2714992 + r2714989;
double r2714999 = r2714995 / r2714998;
double r2715000 = r2714997 * r2714999;
double r2715001 = r2714989 / r2715000;
double r2715002 = r2714991 * r2714990;
double r2715003 = r2714989 * r2714998;
double r2715004 = r2715002 + r2715003;
double r2715005 = r2715004 / r2714995;
double r2715006 = r2714995 - r2714996;
double r2715007 = r2715005 / r2715006;
double r2715008 = r2715001 * r2715007;
return r2715008;
}
\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}\frac{i}{\left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 1.0\right) \cdot \frac{\left(\alpha + \beta\right) + 2 \cdot i}{\left(\alpha + \beta\right) + i}} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1.0}


Bits error versus alpha



Bits error versus beta



Bits error versus i
Initial program 3.3
rmApplied difference-of-sqr-13.3
Applied p16-times-frac1.7
Applied p16-times-frac1.6
rmApplied associate-/l*1.5
rmApplied associate-/l/1.5
Final simplification1.5
herbie shell --seed 2019101
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:pre (and (>.p16 alpha (real->posit16 -1)) (>.p16 beta (real->posit16 -1)) (>.p16 i (real->posit16 1)))
(/.p16 (/.p16 (*.p16 (*.p16 i (+.p16 (+.p16 alpha beta) i)) (+.p16 (*.p16 beta alpha) (*.p16 i (+.p16 (+.p16 alpha beta) i)))) (*.p16 (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) i)) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) i)))) (-.p16 (*.p16 (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) i)) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) i))) (real->posit16 1.0))))