\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{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1.0}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1.0}double f(double alpha, double beta) {
double r780498 = alpha;
double r780499 = beta;
double r780500 = r780498 + r780499;
double r780501 = r780499 * r780498;
double r780502 = r780500 + r780501;
double r780503 = 1.0;
double r780504 = /* ERROR: no posit support in C */;
double r780505 = r780502 + r780504;
double r780506 = 2.0;
double r780507 = /* ERROR: no posit support in C */;
double r780508 = 1.0;
double r780509 = /* ERROR: no posit support in C */;
double r780510 = r780507 * r780509;
double r780511 = r780500 + r780510;
double r780512 = r780505 / r780511;
double r780513 = r780512 / r780511;
double r780514 = r780511 + r780504;
double r780515 = r780513 / r780514;
return r780515;
}
double f(double alpha, double beta) {
double r780516 = alpha;
double r780517 = beta;
double r780518 = r780516 + r780517;
double r780519 = r780517 * r780516;
double r780520 = r780518 + r780519;
double r780521 = 1.0;
double r780522 = r780520 + r780521;
double r780523 = 2.0;
double r780524 = 1.0;
double r780525 = r780523 * r780524;
double r780526 = r780518 + r780525;
double r780527 = r780522 / r780526;
double r780528 = r780527 / r780526;
double r780529 = r780526 + r780521;
double r780530 = r780528 / r780529;
return r780530;
}



Bits error versus alpha



Bits error versus beta
Initial program 0.4
Final simplification0.4
herbie shell --seed 2019120
(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))))