\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(\mathsf{qma}\left(\left(\left(\frac{\beta}{\beta + \left(2.0 + \alpha\right)}\right)\right), \left(\frac{-\alpha}{\beta + \left(2.0 + \alpha\right)}\right), 1.0\right)\right), 1.0, 1.0\right)\right)}{2.0}double f(double alpha, double beta) {
double r3463406 = beta;
double r3463407 = alpha;
double r3463408 = r3463406 - r3463407;
double r3463409 = r3463407 + r3463406;
double r3463410 = 2.0;
double r3463411 = /* ERROR: no posit support in C */;
double r3463412 = r3463409 + r3463411;
double r3463413 = r3463408 / r3463412;
double r3463414 = 1.0;
double r3463415 = /* ERROR: no posit support in C */;
double r3463416 = r3463413 + r3463415;
double r3463417 = r3463416 / r3463411;
return r3463417;
}
double f(double alpha, double beta) {
double r3463418 = beta;
double r3463419 = 2.0;
double r3463420 = alpha;
double r3463421 = r3463419 + r3463420;
double r3463422 = r3463418 + r3463421;
double r3463423 = r3463418 / r3463422;
double r3463424 = /*Error: no posit support in C */;
double r3463425 = -r3463420;
double r3463426 = r3463425 / r3463422;
double r3463427 = 1.0;
double r3463428 = /*Error: no posit support in C */;
double r3463429 = /*Error: no posit support in C */;
double r3463430 = /*Error: no posit support in C */;
double r3463431 = r3463430 / r3463419;
return r3463431;
}



Bits error versus alpha



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