\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)}\frac{\frac{1.0}{\frac{\left(\alpha + \beta\right) + 2.0}{\beta - \alpha}} + 1.0}{2.0}double f(double alpha, double beta) {
double r3410944 = beta;
double r3410945 = alpha;
double r3410946 = r3410944 - r3410945;
double r3410947 = r3410945 + r3410944;
double r3410948 = 2.0;
double r3410949 = /* ERROR: no posit support in C */;
double r3410950 = r3410947 + r3410949;
double r3410951 = r3410946 / r3410950;
double r3410952 = 1.0;
double r3410953 = /* ERROR: no posit support in C */;
double r3410954 = r3410951 + r3410953;
double r3410955 = r3410954 / r3410949;
return r3410955;
}
double f(double alpha, double beta) {
double r3410956 = 1.0;
double r3410957 = alpha;
double r3410958 = beta;
double r3410959 = r3410957 + r3410958;
double r3410960 = 2.0;
double r3410961 = r3410959 + r3410960;
double r3410962 = r3410958 - r3410957;
double r3410963 = r3410961 / r3410962;
double r3410964 = r3410956 / r3410963;
double r3410965 = r3410964 + r3410956;
double r3410966 = r3410965 / r3410960;
return r3410966;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.7
rmApplied p16-*-un-lft-identity0.7
Applied associate-/l*0.7
Final simplification0.7
herbie shell --seed 2019158
(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)))