\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{\left(\frac{1.0}{\left(\alpha + \beta\right) + 2.0} \cdot \beta + \frac{1.0}{\left(\alpha + \beta\right) + 2.0} \cdot \left(-\alpha\right)\right) + 1.0}{2.0}double f(double alpha, double beta) {
double r971955 = beta;
double r971956 = alpha;
double r971957 = r971955 - r971956;
double r971958 = r971956 + r971955;
double r971959 = 2.0;
double r971960 = /* ERROR: no posit support in C */;
double r971961 = r971958 + r971960;
double r971962 = r971957 / r971961;
double r971963 = 1.0;
double r971964 = /* ERROR: no posit support in C */;
double r971965 = r971962 + r971964;
double r971966 = r971965 / r971960;
return r971966;
}
double f(double alpha, double beta) {
double r971967 = 1.0;
double r971968 = alpha;
double r971969 = beta;
double r971970 = r971968 + r971969;
double r971971 = 2.0;
double r971972 = r971970 + r971971;
double r971973 = r971967 / r971972;
double r971974 = r971973 * r971969;
double r971975 = -r971968;
double r971976 = r971973 * r971975;
double r971977 = r971974 + r971976;
double r971978 = r971977 + r971967;
double r971979 = r971978 / r971971;
return r971979;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.7
rmApplied p16-*-un-lft-identity0.7
Applied associate-/l*0.7
rmApplied associate-/r/0.8
rmApplied sub-neg0.8
Applied distribute-lft-in0.7
Final simplification0.7
herbie shell --seed 2019154
(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)))