Average Error: 46.5 → 0.3
Time: 19.9s
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 r1773324 = i;
        double r1773325 = r1773324 * r1773324;
        double r1773326 = r1773325 * r1773325;
        double r1773327 = 2.0;
        double r1773328 = r1773327 * r1773324;
        double r1773329 = r1773328 * r1773328;
        double r1773330 = r1773326 / r1773329;
        double r1773331 = 1.0;
        double r1773332 = r1773329 - r1773331;
        double r1773333 = r1773330 / r1773332;
        return r1773333;
}

double f(double i) {
        double r1773334 = 0.25;
        double r1773335 = 4.0;
        double r1773336 = 1.0;
        double r1773337 = i;
        double r1773338 = r1773337 * r1773337;
        double r1773339 = r1773336 / r1773338;
        double r1773340 = r1773335 - r1773339;
        double r1773341 = r1773334 / r1773340;
        return r1773341;
}

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.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 2019144 +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)))