\frac{\left(\frac{\left(\left(i \cdot i\right) \cdot \left(i \cdot i\right)\right)}{\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right)}\right)}{\left(\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right) - \left(1.0\right)\right)}\frac{\frac{i}{\frac{2}{1.0}}}{2 \cdot i + 1.0} \cdot \frac{\frac{i}{\frac{2}{1.0}}}{\left(\mathsf{qms}\left(\left(\left(2 \cdot i\right)\right), 1.0, 1.0\right)\right)}double f(double i) {
double r1117420 = i;
double r1117421 = r1117420 * r1117420;
double r1117422 = r1117421 * r1117421;
double r1117423 = 2.0;
double r1117424 = /* ERROR: no posit support in C */;
double r1117425 = r1117424 * r1117420;
double r1117426 = r1117425 * r1117425;
double r1117427 = r1117422 / r1117426;
double r1117428 = 1.0;
double r1117429 = /* ERROR: no posit support in C */;
double r1117430 = r1117426 - r1117429;
double r1117431 = r1117427 / r1117430;
return r1117431;
}
double f(double i) {
double r1117432 = i;
double r1117433 = 2.0;
double r1117434 = 1.0;
double r1117435 = r1117433 / r1117434;
double r1117436 = r1117432 / r1117435;
double r1117437 = r1117433 * r1117432;
double r1117438 = r1117437 + r1117434;
double r1117439 = r1117436 / r1117438;
double r1117440 = /*Error: no posit support in C */;
double r1117441 = /*Error: no posit support in C */;
double r1117442 = /*Error: no posit support in C */;
double r1117443 = r1117436 / r1117442;
double r1117444 = r1117439 * r1117443;
return r1117444;
}



Bits error versus i
Initial program 2.4
rmApplied p16-*-un-lft-identity2.4
Applied associate-/r*2.4
Simplified0.9
rmApplied p16-*-un-lft-identity0.9
Applied difference-of-squares0.8
Applied p16-times-frac0.4
rmApplied introduce-quire0.4
Applied insert-quire-sub0.4
Final simplification0.4
herbie shell --seed 2019156
(FPCore (i)
:name "Octave 3.8, jcobi/4, as called"
:pre (and (>.p16 i (real->posit16 0)))
(/.p16 (/.p16 (*.p16 (*.p16 i i) (*.p16 i i)) (*.p16 (*.p16 (real->posit16 2) i) (*.p16 (real->posit16 2) i))) (-.p16 (*.p16 (*.p16 (real->posit16 2) i) (*.p16 (real->posit16 2) i)) (real->posit16 1.0))))