Average Error: 46.9 → 0.1
Time: 15.2s
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}}{2 \cdot \left(2 \cdot i\right) - \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}}{2 \cdot \left(2 \cdot i\right) - \frac{1}{i}}
double f(double i) {
        double r98756 = i;
        double r98757 = r98756 * r98756;
        double r98758 = r98757 * r98757;
        double r98759 = 2.0;
        double r98760 = r98759 * r98756;
        double r98761 = r98760 * r98760;
        double r98762 = r98758 / r98761;
        double r98763 = 1.0;
        double r98764 = r98761 - r98763;
        double r98765 = r98762 / r98764;
        return r98765;
}

double f(double i) {
        double r98766 = i;
        double r98767 = 2.0;
        double r98768 = r98767 * r98767;
        double r98769 = r98766 / r98768;
        double r98770 = r98767 * r98766;
        double r98771 = r98767 * r98770;
        double r98772 = 1.0;
        double r98773 = r98772 / r98766;
        double r98774 = r98771 - r98773;
        double r98775 = r98769 / r98774;
        return r98775;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.9

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

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

Reproduce

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