\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{i}{2 \cdot 2} \cdot \frac{i}{\mathsf{fma}\left(2, i, \sqrt{1}\right)}}{2 \cdot i - \sqrt{1}}double f(double i) {
double r54403 = i;
double r54404 = r54403 * r54403;
double r54405 = r54404 * r54404;
double r54406 = 2.0;
double r54407 = r54406 * r54403;
double r54408 = r54407 * r54407;
double r54409 = r54405 / r54408;
double r54410 = 1.0;
double r54411 = r54408 - r54410;
double r54412 = r54409 / r54411;
return r54412;
}
double f(double i) {
double r54413 = i;
double r54414 = 2.0;
double r54415 = r54414 * r54414;
double r54416 = r54413 / r54415;
double r54417 = 1.0;
double r54418 = sqrt(r54417);
double r54419 = fma(r54414, r54413, r54418);
double r54420 = r54413 / r54419;
double r54421 = r54416 * r54420;
double r54422 = r54414 * r54413;
double r54423 = r54422 - r54418;
double r54424 = r54421 / r54423;
return r54424;
}



Bits error versus i
Initial program 46.2
Simplified16.4
rmApplied times-frac16.0
rmApplied add-sqr-sqrt16.0
Applied difference-of-squares16.0
Applied *-un-lft-identity16.0
Applied times-frac0.2
rmApplied associate-*r/0.1
Applied associate-*l/0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2020100 +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)))