Average Error: 45.9 → 0.0
Time: 10.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}\]
\[\begin{array}{l} \mathbf{if}\;i \le 222.74477753729883:\\ \;\;\;\;\frac{1}{(16 \cdot \left(i \cdot i\right) + \left(1.0 \cdot -4\right))_*} \cdot \left(i \cdot i\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{0.00390625}{{i}^{4}} + (\left(\frac{0.015625}{i}\right) \cdot \left(\frac{1}{i}\right) + \frac{1}{16})_*\\ \end{array}\]

Error

Bits error versus i

Derivation

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

    1. Initial program 45.3

      \[\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. Initial simplification0.0

      \[\leadsto \frac{i \cdot \frac{i}{4}}{(\left(i \cdot 4\right) \cdot i + \left(-1.0\right))_*}\]
    3. Using strategy rm
    4. Applied *-un-lft-identity0.0

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

      \[\leadsto \color{blue}{\frac{i}{1} \cdot \frac{\frac{i}{4}}{(\left(i \cdot 4\right) \cdot i + \left(-1.0\right))_*}}\]
    6. Simplified0.0

      \[\leadsto \color{blue}{i} \cdot \frac{\frac{i}{4}}{(\left(i \cdot 4\right) \cdot i + \left(-1.0\right))_*}\]
    7. Simplified0.0

      \[\leadsto i \cdot \color{blue}{\frac{i}{(16 \cdot \left(i \cdot i\right) + \left(-4 \cdot 1.0\right))_*}}\]
    8. Using strategy rm
    9. Applied div-inv0.0

      \[\leadsto i \cdot \color{blue}{\left(i \cdot \frac{1}{(16 \cdot \left(i \cdot i\right) + \left(-4 \cdot 1.0\right))_*}\right)}\]
    10. Applied associate-*r*0.0

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

    if 222.74477753729883 < 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. Initial simplification31.5

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;i \le 222.74477753729883:\\ \;\;\;\;\frac{1}{(16 \cdot \left(i \cdot i\right) + \left(1.0 \cdot -4\right))_*} \cdot \left(i \cdot i\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{0.00390625}{{i}^{4}} + (\left(\frac{0.015625}{i}\right) \cdot \left(\frac{1}{i}\right) + \frac{1}{16})_*\\ \end{array}\]

Runtime

Time bar (total: 10.8s)Debug logProfile

BaselineHerbieOracleSpan%
Regimes15.60.00.015.6100%
herbie shell --seed 2018351 +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)))