Average Error: 46.0 → 0.3
Time: 8.8s
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{1}{2}}{\left(2 \cdot 2 - \frac{1}{i \cdot i}\right) \cdot 2}\]
\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{1}{2}}{\left(2 \cdot 2 - \frac{1}{i \cdot i}\right) \cdot 2}
double f(double i) {
        double r54542 = i;
        double r54543 = r54542 * r54542;
        double r54544 = r54543 * r54543;
        double r54545 = 2.0;
        double r54546 = r54545 * r54542;
        double r54547 = r54546 * r54546;
        double r54548 = r54544 / r54547;
        double r54549 = 1.0;
        double r54550 = r54547 - r54549;
        double r54551 = r54548 / r54550;
        return r54551;
}

double f(double i) {
        double r54552 = 1.0;
        double r54553 = 2.0;
        double r54554 = r54552 / r54553;
        double r54555 = r54553 * r54553;
        double r54556 = 1.0;
        double r54557 = i;
        double r54558 = r54557 * r54557;
        double r54559 = r54556 / r54558;
        double r54560 = r54555 - r54559;
        double r54561 = r54560 * r54553;
        double r54562 = r54554 / r54561;
        return r54562;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.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}\]
  2. Simplified0.3

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

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

Reproduce

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