\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{\frac{i}{2 \cdot 2}}{4 \cdot i - \frac{1}{i}}double f(double i) {
double r2358896 = i;
double r2358897 = r2358896 * r2358896;
double r2358898 = r2358897 * r2358897;
double r2358899 = 2.0;
double r2358900 = r2358899 * r2358896;
double r2358901 = r2358900 * r2358900;
double r2358902 = r2358898 / r2358901;
double r2358903 = 1.0;
double r2358904 = r2358901 - r2358903;
double r2358905 = r2358902 / r2358904;
return r2358905;
}
double f(double i) {
double r2358906 = i;
double r2358907 = 2.0;
double r2358908 = r2358907 * r2358907;
double r2358909 = r2358906 / r2358908;
double r2358910 = 4.0;
double r2358911 = r2358910 * r2358906;
double r2358912 = 1.0;
double r2358913 = r2358912 / r2358906;
double r2358914 = r2358911 - r2358913;
double r2358915 = r2358909 / r2358914;
return r2358915;
}



Bits error versus i
Results
Initial program 46.7
Simplified0.1
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019172 +o rules:numerics
(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)))