Average Error: 46.5 → 0.3
Time: 14.9s
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{1}{\left(2 \cdot 2 - \frac{1}{i \cdot i}\right) \cdot \left(2 \cdot 2\right)}\]
\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{1}{\left(2 \cdot 2 - \frac{1}{i \cdot i}\right) \cdot \left(2 \cdot 2\right)}
double f(double i) {
        double r54513 = i;
        double r54514 = r54513 * r54513;
        double r54515 = r54514 * r54514;
        double r54516 = 2.0;
        double r54517 = r54516 * r54513;
        double r54518 = r54517 * r54517;
        double r54519 = r54515 / r54518;
        double r54520 = 1.0;
        double r54521 = r54518 - r54520;
        double r54522 = r54519 / r54521;
        return r54522;
}

double f(double i) {
        double r54523 = 1.0;
        double r54524 = 2.0;
        double r54525 = r54524 * r54524;
        double r54526 = 1.0;
        double r54527 = i;
        double r54528 = r54527 * r54527;
        double r54529 = r54526 / r54528;
        double r54530 = r54525 - r54529;
        double r54531 = r54530 * r54525;
        double r54532 = r54523 / r54531;
        return r54532;
}

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.3

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

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

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :precision binary64
  :pre (and (> i 0.0))
  (/ (/ (* (* i i) (* i i)) (* (* 2 i) (* 2 i))) (- (* (* 2 i) (* 2 i)) 1)))