Average Error: 46.6 → 0.1
Time: 11.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{\frac{1}{2 \cdot 2}}{2 + \frac{\sqrt{1}}{i}}}{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{\frac{\frac{1}{2 \cdot 2}}{2 + \frac{\sqrt{1}}{i}}}{2 - \frac{\sqrt{1}}{i}}
double f(double i) {
        double r57854 = i;
        double r57855 = r57854 * r57854;
        double r57856 = r57855 * r57855;
        double r57857 = 2.0;
        double r57858 = r57857 * r57854;
        double r57859 = r57858 * r57858;
        double r57860 = r57856 / r57859;
        double r57861 = 1.0;
        double r57862 = r57859 - r57861;
        double r57863 = r57860 / r57862;
        return r57863;
}

double f(double i) {
        double r57864 = 1.0;
        double r57865 = 2.0;
        double r57866 = r57865 * r57865;
        double r57867 = r57864 / r57866;
        double r57868 = 1.0;
        double r57869 = sqrt(r57868);
        double r57870 = i;
        double r57871 = r57869 / r57870;
        double r57872 = r57865 + r57871;
        double r57873 = r57867 / r57872;
        double r57874 = r57865 - r57871;
        double r57875 = r57873 / r57874;
        return r57875;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.6

    \[\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.4

    \[\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.4

    \[\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.5

    \[\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.5

    \[\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 associate-/r*0.1

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

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

Reproduce

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