Average Error: 46.3 → 0.3
Time: 13.3s
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{\frac{1}{4}}{4 - \frac{1.0}{i \cdot i}}\]
\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{\frac{1}{4}}{4 - \frac{1.0}{i \cdot i}}
double f(double i) {
        double r2753334 = i;
        double r2753335 = r2753334 * r2753334;
        double r2753336 = r2753335 * r2753335;
        double r2753337 = 2.0;
        double r2753338 = r2753337 * r2753334;
        double r2753339 = r2753338 * r2753338;
        double r2753340 = r2753336 / r2753339;
        double r2753341 = 1.0;
        double r2753342 = r2753339 - r2753341;
        double r2753343 = r2753340 / r2753342;
        return r2753343;
}

double f(double i) {
        double r2753344 = 0.25;
        double r2753345 = 4.0;
        double r2753346 = 1.0;
        double r2753347 = i;
        double r2753348 = r2753347 * r2753347;
        double r2753349 = r2753346 / r2753348;
        double r2753350 = r2753345 - r2753349;
        double r2753351 = r2753344 / r2753350;
        return r2753351;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.3

    \[\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.3

    \[\leadsto \color{blue}{\frac{\frac{1}{4}}{4 - \frac{1.0}{i \cdot i}}}\]
  3. Final simplification0.3

    \[\leadsto \frac{\frac{1}{4}}{4 - \frac{1.0}{i \cdot i}}\]

Reproduce

herbie shell --seed 2019129 +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)))