Average Error: 45.4 → 0.2
Time: 19.6s
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 r3528055 = i;
        double r3528056 = r3528055 * r3528055;
        double r3528057 = r3528056 * r3528056;
        double r3528058 = 2.0;
        double r3528059 = r3528058 * r3528055;
        double r3528060 = r3528059 * r3528059;
        double r3528061 = r3528057 / r3528060;
        double r3528062 = 1.0;
        double r3528063 = r3528060 - r3528062;
        double r3528064 = r3528061 / r3528063;
        return r3528064;
}

double f(double i) {
        double r3528065 = i;
        double r3528066 = 4.0;
        double r3528067 = r3528065 * r3528066;
        double r3528068 = 1.0;
        double r3528069 = r3528068 / r3528065;
        double r3528070 = r3528067 - r3528069;
        double r3528071 = r3528070 * r3528066;
        double r3528072 = r3528065 / r3528071;
        return r3528072;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 45.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}\]
  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 2019158 
(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)))