Average Error: 45.8 → 0.2
Time: 14.4s
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 r3314384 = i;
        double r3314385 = r3314384 * r3314384;
        double r3314386 = r3314385 * r3314385;
        double r3314387 = 2.0;
        double r3314388 = r3314387 * r3314384;
        double r3314389 = r3314388 * r3314388;
        double r3314390 = r3314386 / r3314389;
        double r3314391 = 1.0;
        double r3314392 = r3314389 - r3314391;
        double r3314393 = r3314390 / r3314392;
        return r3314393;
}

double f(double i) {
        double r3314394 = i;
        double r3314395 = 4.0;
        double r3314396 = r3314394 * r3314395;
        double r3314397 = 1.0;
        double r3314398 = r3314397 / r3314394;
        double r3314399 = r3314396 - r3314398;
        double r3314400 = r3314399 * r3314395;
        double r3314401 = r3314394 / r3314400;
        return r3314401;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 45.8

    \[\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 2019163 
(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)))