\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{\frac{i}{2}}{2}}{2 \cdot \left(i \cdot 2\right) - \frac{1}{i}}double f(double i) {
double r41493 = i;
double r41494 = r41493 * r41493;
double r41495 = r41494 * r41494;
double r41496 = 2.0;
double r41497 = r41496 * r41493;
double r41498 = r41497 * r41497;
double r41499 = r41495 / r41498;
double r41500 = 1.0;
double r41501 = r41498 - r41500;
double r41502 = r41499 / r41501;
return r41502;
}
double f(double i) {
double r41503 = i;
double r41504 = 2.0;
double r41505 = r41503 / r41504;
double r41506 = r41505 / r41504;
double r41507 = r41503 * r41504;
double r41508 = r41504 * r41507;
double r41509 = 1.0;
double r41510 = r41509 / r41503;
double r41511 = r41508 - r41510;
double r41512 = r41506 / r41511;
return r41512;
}



Bits error versus i
Results
Initial program 47.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019196 +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)))