Average Error: 45.8 → 0.2
Time: 14.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 r3995334 = i;
        double r3995335 = r3995334 * r3995334;
        double r3995336 = r3995335 * r3995335;
        double r3995337 = 2.0;
        double r3995338 = r3995337 * r3995334;
        double r3995339 = r3995338 * r3995338;
        double r3995340 = r3995336 / r3995339;
        double r3995341 = 1.0;
        double r3995342 = r3995339 - r3995341;
        double r3995343 = r3995340 / r3995342;
        return r3995343;
}

double f(double i) {
        double r3995344 = i;
        double r3995345 = 4.0;
        double r3995346 = r3995344 * r3995345;
        double r3995347 = 1.0;
        double r3995348 = r3995347 / r3995344;
        double r3995349 = r3995346 - r3995348;
        double r3995350 = r3995349 * r3995345;
        double r3995351 = r3995344 / r3995350;
        return r3995351;
}

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)))