Average Error: 46.5 → 0.0
Time: 49.3s
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{i}{2}}{2 \cdot i + \sqrt{1}} \cdot \frac{i}{2}}{2 \cdot i - \sqrt{1}}\]
\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{i}{2}}{2 \cdot i + \sqrt{1}} \cdot \frac{i}{2}}{2 \cdot i - \sqrt{1}}
double f(double i) {
        double r3788622 = i;
        double r3788623 = r3788622 * r3788622;
        double r3788624 = r3788623 * r3788623;
        double r3788625 = 2.0;
        double r3788626 = r3788625 * r3788622;
        double r3788627 = r3788626 * r3788626;
        double r3788628 = r3788624 / r3788627;
        double r3788629 = 1.0;
        double r3788630 = r3788627 - r3788629;
        double r3788631 = r3788628 / r3788630;
        return r3788631;
}

double f(double i) {
        double r3788632 = i;
        double r3788633 = 2.0;
        double r3788634 = r3788632 / r3788633;
        double r3788635 = r3788633 * r3788632;
        double r3788636 = 1.0;
        double r3788637 = sqrt(r3788636);
        double r3788638 = r3788635 + r3788637;
        double r3788639 = r3788634 / r3788638;
        double r3788640 = r3788639 * r3788634;
        double r3788641 = r3788635 - r3788637;
        double r3788642 = r3788640 / r3788641;
        return r3788642;
}

Error

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 46.5

    \[\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. Simplified15.3

    \[\leadsto \color{blue}{\frac{i}{2} \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt15.3

    \[\leadsto \frac{i}{2} \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}\]
  5. Applied difference-of-squares15.3

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

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

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

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

    \[\leadsto \frac{i}{2} \cdot \color{blue}{\left(\frac{\frac{1}{1}}{2 \cdot i + \sqrt{1}} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}\right)}\]
  10. Applied associate-*r*0.1

    \[\leadsto \color{blue}{\left(\frac{i}{2} \cdot \frac{\frac{1}{1}}{2 \cdot i + \sqrt{1}}\right) \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}}\]
  11. Simplified0.0

    \[\leadsto \color{blue}{\frac{\frac{i}{2}}{\sqrt{1} + i \cdot 2}} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}\]
  12. Using strategy rm
  13. Applied associate-*r/0.0

    \[\leadsto \color{blue}{\frac{\frac{\frac{i}{2}}{\sqrt{1} + i \cdot 2} \cdot \frac{i}{2}}{2 \cdot i - \sqrt{1}}}\]
  14. Simplified0.0

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

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

Reproduce

herbie shell --seed 2019200 
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :pre (and (> i 0.0))
  (/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))