Average Error: 46.3 → 0.1
Time: 10.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{1}{2 + \frac{\sqrt{1}}{i}} \cdot \frac{\frac{1}{2 \cdot 2}}{2 - \frac{\sqrt{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{1}{2 + \frac{\sqrt{1}}{i}} \cdot \frac{\frac{1}{2 \cdot 2}}{2 - \frac{\sqrt{1}}{i}}
double f(double i) {
        double r40755 = i;
        double r40756 = r40755 * r40755;
        double r40757 = r40756 * r40756;
        double r40758 = 2.0;
        double r40759 = r40758 * r40755;
        double r40760 = r40759 * r40759;
        double r40761 = r40757 / r40760;
        double r40762 = 1.0;
        double r40763 = r40760 - r40762;
        double r40764 = r40761 / r40763;
        return r40764;
}

double f(double i) {
        double r40765 = 1.0;
        double r40766 = 2.0;
        double r40767 = 1.0;
        double r40768 = sqrt(r40767);
        double r40769 = i;
        double r40770 = r40768 / r40769;
        double r40771 = r40766 + r40770;
        double r40772 = r40765 / r40771;
        double r40773 = r40766 * r40766;
        double r40774 = r40765 / r40773;
        double r40775 = r40766 - r40770;
        double r40776 = r40774 / r40775;
        double r40777 = r40772 * r40776;
        return r40777;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.3

    \[\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 \cdot 2}}{2 \cdot 2 - \frac{1}{i \cdot i}}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.3

    \[\leadsto \frac{\frac{1}{2 \cdot 2}}{2 \cdot 2 - \frac{\color{blue}{\sqrt{1} \cdot \sqrt{1}}}{i \cdot i}}\]
  5. Applied times-frac0.4

    \[\leadsto \frac{\frac{1}{2 \cdot 2}}{2 \cdot 2 - \color{blue}{\frac{\sqrt{1}}{i} \cdot \frac{\sqrt{1}}{i}}}\]
  6. Applied difference-of-squares0.4

    \[\leadsto \frac{\frac{1}{2 \cdot 2}}{\color{blue}{\left(2 + \frac{\sqrt{1}}{i}\right) \cdot \left(2 - \frac{\sqrt{1}}{i}\right)}}\]
  7. Applied *-un-lft-identity0.4

    \[\leadsto \frac{\color{blue}{1 \cdot \frac{1}{2 \cdot 2}}}{\left(2 + \frac{\sqrt{1}}{i}\right) \cdot \left(2 - \frac{\sqrt{1}}{i}\right)}\]
  8. Applied times-frac0.1

    \[\leadsto \color{blue}{\frac{1}{2 + \frac{\sqrt{1}}{i}} \cdot \frac{\frac{1}{2 \cdot 2}}{2 - \frac{\sqrt{1}}{i}}}\]
  9. Final simplification0.1

    \[\leadsto \frac{1}{2 + \frac{\sqrt{1}}{i}} \cdot \frac{\frac{1}{2 \cdot 2}}{2 - \frac{\sqrt{1}}{i}}\]

Reproduce

herbie shell --seed 2019235 +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)))