\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(\mathsf{qma}\left(\left(\left(\frac{\beta - \alpha}{\beta + \left(\alpha + 2.0\right)}\right)\right), 1.0, 1.0\right)\right)}{2.0}double f(double alpha, double beta) {
double r1526418 = beta;
double r1526419 = alpha;
double r1526420 = r1526418 - r1526419;
double r1526421 = r1526419 + r1526418;
double r1526422 = 2.0;
double r1526423 = /* ERROR: no posit support in C */;
double r1526424 = r1526421 + r1526423;
double r1526425 = r1526420 / r1526424;
double r1526426 = 1.0;
double r1526427 = /* ERROR: no posit support in C */;
double r1526428 = r1526425 + r1526427;
double r1526429 = r1526428 / r1526423;
return r1526429;
}
double f(double alpha, double beta) {
double r1526430 = beta;
double r1526431 = alpha;
double r1526432 = r1526430 - r1526431;
double r1526433 = 2.0;
double r1526434 = r1526431 + r1526433;
double r1526435 = r1526430 + r1526434;
double r1526436 = r1526432 / r1526435;
double r1526437 = /*Error: no posit support in C */;
double r1526438 = 1.0;
double r1526439 = /*Error: no posit support in C */;
double r1526440 = /*Error: no posit support in C */;
double r1526441 = r1526440 / r1526433;
return r1526441;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.7
rmApplied p16-*-un-lft-identity0.7
Applied p16-*-un-lft-identity0.7
Applied distribute-lft-out0.7
Applied *p16-rgt-identity-expand0.7
Applied p16-times-frac0.8
Simplified0.8
rmApplied introduce-quire0.8
Applied insert-quire-add0.8
Simplified0.7
Final simplification0.7
herbie shell --seed 2019153
(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)))