\frac{\left(\frac{\left(\frac{\left(\beta - \alpha\right)}{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(2.0\right)}\right)}\right)}{\left(1.0\right)}\right)}{\left(2.0\right)}\left(1.0 + \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2.0}\right) \cdot \frac{1.0}{2.0}double f(double alpha, double beta) {
double r269149 = beta;
double r269150 = alpha;
double r269151 = r269149 - r269150;
double r269152 = r269150 + r269149;
double r269153 = 2.0;
double r269154 = /* ERROR: no posit support in C */;
double r269155 = r269152 + r269154;
double r269156 = r269151 / r269155;
double r269157 = 1.0;
double r269158 = /* ERROR: no posit support in C */;
double r269159 = r269156 + r269158;
double r269160 = r269159 / r269154;
return r269160;
}
double f(double alpha, double beta) {
double r269161 = 1.0;
double r269162 = beta;
double r269163 = alpha;
double r269164 = r269162 - r269163;
double r269165 = r269163 + r269162;
double r269166 = 2.0;
double r269167 = r269165 + r269166;
double r269168 = r269164 / r269167;
double r269169 = r269161 + r269168;
double r269170 = r269161 / r269166;
double r269171 = r269169 * r269170;
return r269171;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.7
rmApplied +p16-lft-identity-expand0.7
Applied associate-+r+0.7
Simplified0.7
rmApplied *p16-lft-identity-expand0.7
Applied /p16-rgt-identity-expand0.7
Applied associate-/r/0.7
Applied distribute-lft1-in0.7
Applied p16-times-frac0.7
Simplified0.7
Final simplification0.7
herbie shell --seed 2019152
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:pre (and (>.p16 alpha (real->posit16 -1)) (>.p16 beta (real->posit16 -1)))
(/.p16 (+.p16 (/.p16 (-.p16 beta alpha) (+.p16 (+.p16 alpha beta) (real->posit16 2.0))) (real->posit16 1.0)) (real->posit16 2.0)))