\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 r3834681 = i;
double r3834682 = r3834681 * r3834681;
double r3834683 = r3834682 * r3834682;
double r3834684 = 2.0;
double r3834685 = r3834684 * r3834681;
double r3834686 = r3834685 * r3834685;
double r3834687 = r3834683 / r3834686;
double r3834688 = 1.0;
double r3834689 = r3834686 - r3834688;
double r3834690 = r3834687 / r3834689;
return r3834690;
}
double f(double i) {
double r3834691 = i;
double r3834692 = 4.0;
double r3834693 = r3834692 * r3834691;
double r3834694 = 1.0;
double r3834695 = r3834694 / r3834691;
double r3834696 = r3834693 - r3834695;
double r3834697 = 2.0;
double r3834698 = r3834697 * r3834697;
double r3834699 = r3834696 * r3834698;
double r3834700 = r3834691 / r3834699;
return r3834700;
}



Bits error versus i
Results
Initial program 46.7
Simplified0.2
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019172
(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)))