Average Error: 45.9 → 0.1
Time: 13.2s
Precision: 64
\[i \gt 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.0}\]
\[\frac{\frac{1}{4}}{2 - \frac{\sqrt{1.0}}{i}} \cdot \frac{1}{\frac{\sqrt{1.0}}{i} + 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.0}
\frac{\frac{1}{4}}{2 - \frac{\sqrt{1.0}}{i}} \cdot \frac{1}{\frac{\sqrt{1.0}}{i} + 2}
double f(double i) {
        double r2823918 = i;
        double r2823919 = r2823918 * r2823918;
        double r2823920 = r2823919 * r2823919;
        double r2823921 = 2.0;
        double r2823922 = r2823921 * r2823918;
        double r2823923 = r2823922 * r2823922;
        double r2823924 = r2823920 / r2823923;
        double r2823925 = 1.0;
        double r2823926 = r2823923 - r2823925;
        double r2823927 = r2823924 / r2823926;
        return r2823927;
}

double f(double i) {
        double r2823928 = 0.25;
        double r2823929 = 2.0;
        double r2823930 = 1.0;
        double r2823931 = sqrt(r2823930);
        double r2823932 = i;
        double r2823933 = r2823931 / r2823932;
        double r2823934 = r2823929 - r2823933;
        double r2823935 = r2823928 / r2823934;
        double r2823936 = 1.0;
        double r2823937 = r2823933 + r2823929;
        double r2823938 = r2823936 / r2823937;
        double r2823939 = r2823935 * r2823938;
        return r2823939;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

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

    \[\leadsto \color{blue}{\frac{\frac{1}{4}}{4 - \frac{1.0}{i \cdot i}}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.3

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

    \[\leadsto \frac{\frac{1}{4}}{4 - \color{blue}{\frac{\sqrt{1.0}}{i} \cdot \frac{\sqrt{1.0}}{i}}}\]
  6. Applied add-sqr-sqrt0.4

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

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

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

    \[\leadsto \color{blue}{\frac{1}{\sqrt{4} + \frac{\sqrt{1.0}}{i}} \cdot \frac{\frac{1}{4}}{\sqrt{4} - \frac{\sqrt{1.0}}{i}}}\]
  10. Final simplification0.1

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

Reproduce

herbie shell --seed 2019165 +o rules:numerics
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :pre (and (> i 0))
  (/ (/ (* (* i i) (* i i)) (* (* 2 i) (* 2 i))) (- (* (* 2 i) (* 2 i)) 1.0)))