Average Error: 45.8 → 0.3
Time: 13.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 r2420225 = i;
        double r2420226 = r2420225 * r2420225;
        double r2420227 = r2420226 * r2420226;
        double r2420228 = 2.0;
        double r2420229 = r2420228 * r2420225;
        double r2420230 = r2420229 * r2420229;
        double r2420231 = r2420227 / r2420230;
        double r2420232 = 1.0;
        double r2420233 = r2420230 - r2420232;
        double r2420234 = r2420231 / r2420233;
        return r2420234;
}

double f(double i) {
        double r2420235 = 0.25;
        double r2420236 = 4.0;
        double r2420237 = 1.0;
        double r2420238 = i;
        double r2420239 = r2420238 * r2420238;
        double r2420240 = r2420237 / r2420239;
        double r2420241 = r2420236 - r2420240;
        double r2420242 = r2420235 / r2420241;
        return r2420242;
}

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