\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{1}{2 \cdot 2}}{2 + \frac{\sqrt{1}}{i}}}{2 - \frac{\sqrt{1}}{i}}double f(double i) {
double r57854 = i;
double r57855 = r57854 * r57854;
double r57856 = r57855 * r57855;
double r57857 = 2.0;
double r57858 = r57857 * r57854;
double r57859 = r57858 * r57858;
double r57860 = r57856 / r57859;
double r57861 = 1.0;
double r57862 = r57859 - r57861;
double r57863 = r57860 / r57862;
return r57863;
}
double f(double i) {
double r57864 = 1.0;
double r57865 = 2.0;
double r57866 = r57865 * r57865;
double r57867 = r57864 / r57866;
double r57868 = 1.0;
double r57869 = sqrt(r57868);
double r57870 = i;
double r57871 = r57869 / r57870;
double r57872 = r57865 + r57871;
double r57873 = r57867 / r57872;
double r57874 = r57865 - r57871;
double r57875 = r57873 / r57874;
return r57875;
}



Bits error versus i
Results
Initial program 46.6
Simplified0.4
rmApplied add-sqr-sqrt0.4
Applied times-frac0.5
Applied difference-of-squares0.5
Applied associate-/r*0.1
Final simplification0.1
herbie shell --seed 2019208 +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)))