\frac{\left(\left(\frac{\left(1\right)}{\left(\frac{x}{\left(1\right)}\right)}\right) - \left(\frac{\left(2\right)}{x}\right)\right)}{\left(\frac{\left(1\right)}{\left(x - \left(1\right)\right)}\right)}\left(\mathsf{qma}\left(\left(\mathsf{qms}\left(\left(\left(\frac{1}{x + 1}\right)\right), 1.0, \left(\frac{2}{x}\right)\right)\right), 1, \left(\frac{1.0}{x - 1}\right)\right)\right)double f(double x) {
double r3226161 = 1.0;
double r3226162 = /* ERROR: no posit support in C */;
double r3226163 = x;
double r3226164 = r3226163 + r3226162;
double r3226165 = r3226162 / r3226164;
double r3226166 = 2.0;
double r3226167 = /* ERROR: no posit support in C */;
double r3226168 = r3226167 / r3226163;
double r3226169 = r3226165 - r3226168;
double r3226170 = r3226163 - r3226162;
double r3226171 = r3226162 / r3226170;
double r3226172 = r3226169 + r3226171;
return r3226172;
}
double f(double x) {
double r3226173 = 1.0;
double r3226174 = x;
double r3226175 = r3226174 + r3226173;
double r3226176 = r3226173 / r3226175;
double r3226177 = /*Error: no posit support in C */;
double r3226178 = 1.0;
double r3226179 = 2.0;
double r3226180 = r3226179 / r3226174;
double r3226181 = /*Error: no posit support in C */;
double r3226182 = r3226174 - r3226173;
double r3226183 = r3226178 / r3226182;
double r3226184 = /*Error: no posit support in C */;
double r3226185 = /*Error: no posit support in C */;
return r3226185;
}



Bits error versus x
Initial program 1.0
rmApplied p16-*-un-lft-identity1.0
Applied *p16-rgt-identity-expand1.0
Applied p16-times-frac1.0
Applied p16-*-un-lft-identity1.0
Applied introduce-quire1.0
Applied insert-quire-fdp-sub1.0
Applied insert-quire-fdp-add1.0
Simplified1.0
Final simplification1.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x)
:name "3frac (problem 3.3.3)"
(+.p16 (-.p16 (/.p16 (real->posit16 1) (+.p16 x (real->posit16 1))) (/.p16 (real->posit16 2) x)) (/.p16 (real->posit16 1) (-.p16 x (real->posit16 1)))))