\frac{\left(\frac{\left(\frac{\left(\frac{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\beta \cdot \alpha\right)}\right)}{\left(1.0\right)}\right)}{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}\right)}{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}\right)}{\left(\frac{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}{\left(1.0\right)}\right)}\frac{\left(\frac{\left(\frac{\left(\frac{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\beta \cdot \alpha\right)}\right)}{\left(1.0\right)}\right)}{\left(\frac{\beta}{\left(\frac{\alpha}{\left(\left(1\right) \cdot \left(2\right)\right)}\right)}\right)}\right)}{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}\right)}{\left(\frac{\left(\frac{\left(\frac{\alpha}{\beta}\right)}{\left(\left(2\right) \cdot \left(1\right)\right)}\right)}{\left(1.0\right)}\right)}double f(double alpha, double beta) {
double r4998598 = alpha;
double r4998599 = beta;
double r4998600 = r4998598 + r4998599;
double r4998601 = r4998599 * r4998598;
double r4998602 = r4998600 + r4998601;
double r4998603 = 1.0;
double r4998604 = /* ERROR: no posit support in C */;
double r4998605 = r4998602 + r4998604;
double r4998606 = 2.0;
double r4998607 = /* ERROR: no posit support in C */;
double r4998608 = 1.0;
double r4998609 = /* ERROR: no posit support in C */;
double r4998610 = r4998607 * r4998609;
double r4998611 = r4998600 + r4998610;
double r4998612 = r4998605 / r4998611;
double r4998613 = r4998612 / r4998611;
double r4998614 = r4998611 + r4998604;
double r4998615 = r4998613 / r4998614;
return r4998615;
}
double f(double alpha, double beta) {
double r4998616 = alpha;
double r4998617 = beta;
double r4998618 = r4998616 + r4998617;
double r4998619 = r4998617 * r4998616;
double r4998620 = r4998618 + r4998619;
double r4998621 = 1.0;
double r4998622 = /* ERROR: no posit support in C */;
double r4998623 = r4998620 + r4998622;
double r4998624 = 1.0;
double r4998625 = /* ERROR: no posit support in C */;
double r4998626 = 2.0;
double r4998627 = /* ERROR: no posit support in C */;
double r4998628 = r4998625 * r4998627;
double r4998629 = r4998616 + r4998628;
double r4998630 = r4998617 + r4998629;
double r4998631 = r4998623 / r4998630;
double r4998632 = r4998627 * r4998625;
double r4998633 = r4998618 + r4998632;
double r4998634 = r4998631 / r4998633;
double r4998635 = r4998633 + r4998622;
double r4998636 = r4998634 / r4998635;
return r4998636;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.4
rmApplied *p16-rgt-identity-expand0.4
Applied distribute-lft1-in0.4
Applied associate-/l*0.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2019168
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/3"
:pre (and (>.p16 alpha (real->posit16 -1)) (>.p16 beta (real->posit16 -1)))
(/.p16 (/.p16 (/.p16 (+.p16 (+.p16 (+.p16 alpha beta) (*.p16 beta alpha)) (real->posit16 1.0)) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1)))) (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1)))) (+.p16 (+.p16 (+.p16 alpha beta) (*.p16 (real->posit16 2) (real->posit16 1))) (real->posit16 1.0))))