\frac{\frac{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}\frac{i}{\left(4 \cdot i - \frac{1}{i}\right) \cdot \left(2 \cdot 2\right)}double f(double i) {
double r2955997 = i;
double r2955998 = r2955997 * r2955997;
double r2955999 = r2955998 * r2955998;
double r2956000 = 2.0;
double r2956001 = r2956000 * r2955997;
double r2956002 = r2956001 * r2956001;
double r2956003 = r2955999 / r2956002;
double r2956004 = 1.0;
double r2956005 = r2956002 - r2956004;
double r2956006 = r2956003 / r2956005;
return r2956006;
}
double f(double i) {
double r2956007 = i;
double r2956008 = 4.0;
double r2956009 = r2956008 * r2956007;
double r2956010 = 1.0;
double r2956011 = r2956010 / r2956007;
double r2956012 = r2956009 - r2956011;
double r2956013 = 2.0;
double r2956014 = r2956013 * r2956013;
double r2956015 = r2956012 * r2956014;
double r2956016 = r2956007 / r2956015;
return r2956016;
}



Bits error versus i
Results
Initial program 46.5
Simplified0.3
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019168
(FPCore (i)
:name "Octave 3.8, jcobi/4, as called"
:pre (and (> i 0.0))
(/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))