\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 r72354 = i;
double r72355 = r72354 * r72354;
double r72356 = r72355 * r72355;
double r72357 = 2.0;
double r72358 = r72357 * r72354;
double r72359 = r72358 * r72358;
double r72360 = r72356 / r72359;
double r72361 = 1.0;
double r72362 = r72359 - r72361;
double r72363 = r72360 / r72362;
return r72363;
}
double f(double i) {
double r72364 = i;
double r72365 = 4.0;
double r72366 = r72365 * r72364;
double r72367 = 1.0;
double r72368 = r72367 / r72364;
double r72369 = r72366 - r72368;
double r72370 = 2.0;
double r72371 = r72370 * r72370;
double r72372 = r72369 * r72371;
double r72373 = r72364 / r72372;
return r72373;
}



Bits error versus i
Results
Initial program 46.6
Simplified0.2
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020046 +o rules:numerics
(FPCore (i)
:name "Octave 3.8, jcobi/4, as called"
:precision binary64
:pre (and (> i 0.0))
(/ (/ (* (* i i) (* i i)) (* (* 2 i) (* 2 i))) (- (* (* 2 i) (* 2 i)) 1)))