Average Error: 47.1 → 0.1
Time: 13.8s
Precision: 64
\[i \gt 0.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}\]
\[\frac{\frac{i}{2 \cdot 2}}{2 \cdot \left(i \cdot 2\right) - \frac{1}{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}
\frac{\frac{i}{2 \cdot 2}}{2 \cdot \left(i \cdot 2\right) - \frac{1}{i}}
double f(double i) {
        double r47611 = i;
        double r47612 = r47611 * r47611;
        double r47613 = r47612 * r47612;
        double r47614 = 2.0;
        double r47615 = r47614 * r47611;
        double r47616 = r47615 * r47615;
        double r47617 = r47613 / r47616;
        double r47618 = 1.0;
        double r47619 = r47616 - r47618;
        double r47620 = r47617 / r47619;
        return r47620;
}

double f(double i) {
        double r47621 = i;
        double r47622 = 2.0;
        double r47623 = r47622 * r47622;
        double r47624 = r47621 / r47623;
        double r47625 = r47621 * r47622;
        double r47626 = r47622 * r47625;
        double r47627 = 1.0;
        double r47628 = r47627 / r47621;
        double r47629 = r47626 - r47628;
        double r47630 = r47624 / r47629;
        return r47630;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 47.1

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

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

    \[\leadsto \frac{\frac{i}{2 \cdot 2}}{2 \cdot \left(i \cdot 2\right) - \frac{1}{i}}\]

Reproduce

herbie shell --seed 2019194 
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :pre (and (> i 0.0))
  (/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))