Average Error: 39.7 → 15.5
Time: 2.7m
Precision: 64
Internal Precision: 2368
\[\cos \left(x + \varepsilon\right) - \cos x\]
\[\begin{array}{l} \mathbf{if}\;{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(\varepsilon \cdot x\right))_* \le -715.475509890268:\\ \;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sqrt[3]{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}\right) - \cos x\\ \mathbf{elif}\;{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(\varepsilon \cdot x\right))_* \le 2.706880890868039 \cdot 10^{-44}:\\ \;\;\;\;{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(\varepsilon \cdot x\right))_*\\ \mathbf{else}:\\ \;\;\;\;\left(\cos x \cdot \cos \varepsilon - \left(\sin x \cdot \left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\sin \varepsilon}\right)\right) \cdot \sqrt[3]{\sin \varepsilon}\right) - \cos x\\ \end{array}\]

Error

Bits error versus x

Bits error versus eps

Derivation

  1. Split input into 3 regimes
  2. if (- (* (pow x 3) (* eps 1/6)) (fma 1/2 (* eps eps) (* x eps))) < -715.475509890268

    1. Initial program 26.4

      \[\cos \left(x + \varepsilon\right) - \cos x\]
    2. Using strategy rm
    3. Applied cos-sum15.0

      \[\leadsto \color{blue}{\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)} - \cos x\]
    4. Using strategy rm
    5. Applied add-cbrt-cube15.0

      \[\leadsto \left(\cos x \cdot \cos \varepsilon - \sin x \cdot \color{blue}{\sqrt[3]{\left(\sin \varepsilon \cdot \sin \varepsilon\right) \cdot \sin \varepsilon}}\right) - \cos x\]
    6. Applied add-cbrt-cube15.0

      \[\leadsto \left(\cos x \cdot \cos \varepsilon - \color{blue}{\sqrt[3]{\left(\sin x \cdot \sin x\right) \cdot \sin x}} \cdot \sqrt[3]{\left(\sin \varepsilon \cdot \sin \varepsilon\right) \cdot \sin \varepsilon}\right) - \cos x\]
    7. Applied cbrt-unprod15.0

      \[\leadsto \left(\cos x \cdot \cos \varepsilon - \color{blue}{\sqrt[3]{\left(\left(\sin x \cdot \sin x\right) \cdot \sin x\right) \cdot \left(\left(\sin \varepsilon \cdot \sin \varepsilon\right) \cdot \sin \varepsilon\right)}}\right) - \cos x\]
    8. Simplified15.0

      \[\leadsto \left(\cos x \cdot \cos \varepsilon - \sqrt[3]{\color{blue}{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}}\right) - \cos x\]

    if -715.475509890268 < (- (* (pow x 3) (* eps 1/6)) (fma 1/2 (* eps eps) (* x eps))) < 2.706880890868039e-44

    1. Initial program 39.9

      \[\cos \left(x + \varepsilon\right) - \cos x\]
    2. Taylor expanded around 0 8.8

      \[\leadsto \color{blue}{\frac{1}{6} \cdot \left(\varepsilon \cdot {x}^{3}\right) - \left(\varepsilon \cdot x + \frac{1}{2} \cdot {\varepsilon}^{2}\right)}\]
    3. Simplified8.8

      \[\leadsto \color{blue}{{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(x \cdot \varepsilon\right))_*}\]

    if 2.706880890868039e-44 < (- (* (pow x 3) (* eps 1/6)) (fma 1/2 (* eps eps) (* x eps)))

    1. Initial program 59.3

      \[\cos \left(x + \varepsilon\right) - \cos x\]
    2. Using strategy rm
    3. Applied cos-sum22.8

      \[\leadsto \color{blue}{\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)} - \cos x\]
    4. Using strategy rm
    5. Applied add-cube-cbrt23.1

      \[\leadsto \left(\cos x \cdot \cos \varepsilon - \sin x \cdot \color{blue}{\left(\left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\sin \varepsilon}\right) \cdot \sqrt[3]{\sin \varepsilon}\right)}\right) - \cos x\]
    6. Applied associate-*r*23.1

      \[\leadsto \left(\cos x \cdot \cos \varepsilon - \color{blue}{\left(\sin x \cdot \left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\sin \varepsilon}\right)\right) \cdot \sqrt[3]{\sin \varepsilon}}\right) - \cos x\]
  3. Recombined 3 regimes into one program.
  4. Final simplification15.5

    \[\leadsto \begin{array}{l} \mathbf{if}\;{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(\varepsilon \cdot x\right))_* \le -715.475509890268:\\ \;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sqrt[3]{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}\right) - \cos x\\ \mathbf{elif}\;{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(\varepsilon \cdot x\right))_* \le 2.706880890868039 \cdot 10^{-44}:\\ \;\;\;\;{x}^{3} \cdot \left(\varepsilon \cdot \frac{1}{6}\right) - (\frac{1}{2} \cdot \left(\varepsilon \cdot \varepsilon\right) + \left(\varepsilon \cdot x\right))_*\\ \mathbf{else}:\\ \;\;\;\;\left(\cos x \cdot \cos \varepsilon - \left(\sin x \cdot \left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\sin \varepsilon}\right)\right) \cdot \sqrt[3]{\sin \varepsilon}\right) - \cos x\\ \end{array}\]

Runtime

Time bar (total: 2.7m)Debug logProfile

herbie shell --seed 2018214 +o rules:numerics
(FPCore (x eps)
  :name "2cos (problem 3.3.5)"
  (- (cos (+ x eps)) (cos x)))