\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.0}\frac{i}{\left(i \cdot 4 - \frac{1.0}{i}\right) \cdot 4}double f(double i) {
double r2460650 = i;
double r2460651 = r2460650 * r2460650;
double r2460652 = r2460651 * r2460651;
double r2460653 = 2.0;
double r2460654 = r2460653 * r2460650;
double r2460655 = r2460654 * r2460654;
double r2460656 = r2460652 / r2460655;
double r2460657 = 1.0;
double r2460658 = r2460655 - r2460657;
double r2460659 = r2460656 / r2460658;
return r2460659;
}
double f(double i) {
double r2460660 = i;
double r2460661 = 4.0;
double r2460662 = r2460660 * r2460661;
double r2460663 = 1.0;
double r2460664 = r2460663 / r2460660;
double r2460665 = r2460662 - r2460664;
double r2460666 = r2460665 * r2460661;
double r2460667 = r2460660 / r2460666;
return r2460667;
}



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