Average Error: 46.5 → 0.1
Time: 6.1s
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}}{\left(2 \cdot 2\right) \cdot i - \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}}{\left(2 \cdot 2\right) \cdot i - \frac{1}{i}}
double f(double i) {
        double r55965 = i;
        double r55966 = r55965 * r55965;
        double r55967 = r55966 * r55966;
        double r55968 = 2.0;
        double r55969 = r55968 * r55965;
        double r55970 = r55969 * r55969;
        double r55971 = r55967 / r55970;
        double r55972 = 1.0;
        double r55973 = r55970 - r55972;
        double r55974 = r55971 / r55973;
        return r55974;
}

double f(double i) {
        double r55975 = i;
        double r55976 = 2.0;
        double r55977 = r55976 * r55976;
        double r55978 = r55975 / r55977;
        double r55979 = r55977 * r55975;
        double r55980 = 1.0;
        double r55981 = r55980 / r55975;
        double r55982 = r55979 - r55981;
        double r55983 = r55978 / r55982;
        return r55983;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.5

    \[\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}}{\left(2 \cdot 2\right) \cdot i - \frac{1}{i}}}\]
  3. Final simplification0.1

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

Reproduce

herbie shell --seed 2019195 
(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)))