Average Error: 45.7 → 0.5
Time: 16.8s
Precision: 64
Internal Precision: 128
\[\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}{\frac{(\left(\frac{1.0}{i}\right) \cdot -2 + \left(i \cdot 8\right))_*}{i}}}{2}\]

Error

Bits error versus i

Derivation

  1. Initial program 45.7

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

    \[\leadsto \color{blue}{\frac{\frac{i}{2} \cdot \frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1.0}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity15.3

    \[\leadsto \frac{\frac{i}{2} \cdot \frac{i}{2}}{\color{blue}{1 \cdot \left(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1.0\right)}}\]
  5. Applied times-frac15.4

    \[\leadsto \color{blue}{\frac{\frac{i}{2}}{1} \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1.0}}\]
  6. Simplified15.4

    \[\leadsto \color{blue}{\frac{i}{2}} \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1.0}\]
  7. Using strategy rm
  8. Applied associate-*l/15.4

    \[\leadsto \color{blue}{\frac{i \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1.0}}{2}}\]
  9. Simplified0.2

    \[\leadsto \frac{\color{blue}{\frac{i}{(\left(\frac{1.0}{i}\right) \cdot -2 + \left(8 \cdot i\right))_*}}}{2}\]
  10. Using strategy rm
  11. Applied clear-num0.5

    \[\leadsto \frac{\color{blue}{\frac{1}{\frac{(\left(\frac{1.0}{i}\right) \cdot -2 + \left(8 \cdot i\right))_*}{i}}}}{2}\]
  12. Final simplification0.5

    \[\leadsto \frac{\frac{1}{\frac{(\left(\frac{1.0}{i}\right) \cdot -2 + \left(i \cdot 8\right))_*}{i}}}{2}\]

Reproduce

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