Average Error: 45.2 → 0.2
Time: 12.2s
Precision: 64
\[i \gt 0\]
\[\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{i}{\left(i \cdot 4 - \frac{1.0}{i}\right) \cdot 4}\]
\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{i}{\left(i \cdot 4 - \frac{1.0}{i}\right) \cdot 4}
double f(double i) {
        double r3885823 = i;
        double r3885824 = r3885823 * r3885823;
        double r3885825 = r3885824 * r3885824;
        double r3885826 = 2.0;
        double r3885827 = r3885826 * r3885823;
        double r3885828 = r3885827 * r3885827;
        double r3885829 = r3885825 / r3885828;
        double r3885830 = 1.0;
        double r3885831 = r3885828 - r3885830;
        double r3885832 = r3885829 / r3885831;
        return r3885832;
}

double f(double i) {
        double r3885833 = i;
        double r3885834 = 4.0;
        double r3885835 = r3885833 * r3885834;
        double r3885836 = 1.0;
        double r3885837 = r3885836 / r3885833;
        double r3885838 = r3885835 - r3885837;
        double r3885839 = r3885838 * r3885834;
        double r3885840 = r3885833 / r3885839;
        return r3885840;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 45.2

    \[\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}\]
  2. Simplified0.2

    \[\leadsto \color{blue}{\frac{i}{4 \cdot \left(4 \cdot i - \frac{1.0}{i}\right)}}\]
  3. Final simplification0.2

    \[\leadsto \frac{i}{\left(i \cdot 4 - \frac{1.0}{i}\right) \cdot 4}\]

Reproduce

herbie shell --seed 2019164 
(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)))