Average Error: 45.8 → 0.0
Time: 8.9s
Precision: 64
Internal Precision: 384
\[\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}\]
\[\begin{array}{l} \mathbf{if}\;i \le 222.60331248364082:\\ \;\;\;\;\frac{\frac{i}{2} \cdot \frac{i}{2}}{(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) + \left(-1.0\right))_*}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{16} + \left(\frac{0.00390625}{{i}^{4}} + \frac{\frac{0.015625}{i}}{i}\right)\\ \end{array}\]

Error

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if i < 222.60331248364082

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

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

    if 222.60331248364082 < i

    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.0}\]
    2. Applied simplify31.3

      \[\leadsto \color{blue}{\frac{\frac{i}{2} \cdot \frac{i}{2}}{(\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) + \left(-1.0\right))_*}}\]
    3. Taylor expanded around inf 0.0

      \[\leadsto \color{blue}{0.00390625 \cdot \frac{1}{{i}^{4}} + \left(\frac{1}{16} + 0.015625 \cdot \frac{1}{{i}^{2}}\right)}\]
    4. Applied simplify0.0

      \[\leadsto \color{blue}{\frac{1}{16} + \left(\frac{0.00390625}{{i}^{4}} + \frac{\frac{0.015625}{i}}{i}\right)}\]
  3. Recombined 2 regimes into one program.

Runtime

Time bar (total: 8.9s)Debug logProfile

herbie shell --seed '#(1064173506 2580572819 2847706409 4129882574 1125180799 1845288547)' +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)))