\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{1}{\mathsf{fma}\left(\left(\frac{1.0}{i \cdot i}\right), -4, 16\right)}double f(double i) {
double r5157716 = i;
double r5157717 = r5157716 * r5157716;
double r5157718 = r5157717 * r5157717;
double r5157719 = 2.0;
double r5157720 = r5157719 * r5157716;
double r5157721 = r5157720 * r5157720;
double r5157722 = r5157718 / r5157721;
double r5157723 = 1.0;
double r5157724 = r5157721 - r5157723;
double r5157725 = r5157722 / r5157724;
return r5157725;
}
double f(double i) {
double r5157726 = 1.0;
double r5157727 = 1.0;
double r5157728 = i;
double r5157729 = r5157728 * r5157728;
double r5157730 = r5157727 / r5157729;
double r5157731 = -4.0;
double r5157732 = 16.0;
double r5157733 = fma(r5157730, r5157731, r5157732);
double r5157734 = r5157726 / r5157733;
return r5157734;
}



Bits error versus i
Initial program 45.4
Simplified15.1
rmApplied clear-num15.4
Simplified0.3
Final simplification0.3
herbie shell --seed 2019125 +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)))