\[\sin \left(x + \varepsilon\right) - \sin x\]
Test:
NMSE example 3.3
Bits:
128 bits
Bits error versus x
Bits error versus eps
Time: 21.8 s
Input Error: 36.9
Output Error: 0.4
Log:
Profile: 🕒
\(\cos x \cdot \sin \varepsilon - \left(\sin x - \cos \varepsilon \cdot \sin x\right)\)
  1. Started with
    \[\sin \left(x + \varepsilon\right) - \sin x\]
    36.9
  2. Using strategy rm
    36.9
  3. Applied sin-sum to get
    \[\color{red}{\sin \left(x + \varepsilon\right)} - \sin x \leadsto \color{blue}{\left(\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon\right)} - \sin x\]
    21.4
  4. Applied associate--l+ to get
    \[\color{red}{\left(\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon\right) - \sin x} \leadsto \color{blue}{\sin x \cdot \cos \varepsilon + \left(\cos x \cdot \sin \varepsilon - \sin x\right)}\]
    21.4
  5. Using strategy rm
    21.4
  6. Applied add-cbrt-cube to get
    \[\sin x \cdot \cos \varepsilon + \color{red}{\left(\cos x \cdot \sin \varepsilon - \sin x\right)} \leadsto \sin x \cdot \cos \varepsilon + \color{blue}{\sqrt[3]{{\left(\cos x \cdot \sin \varepsilon - \sin x\right)}^3}}\]
    25.6
  7. Applied taylor to get
    \[\sin x \cdot \cos \varepsilon + \sqrt[3]{{\left(\cos x \cdot \sin \varepsilon - \sin x\right)}^3} \leadsto \sin x \cdot \cos \varepsilon + \sqrt[3]{{\left(\sin \varepsilon \cdot \cos x - \sin x\right)}^3}\]
    25.6
  8. Taylor expanded around 0 to get
    \[\sin x \cdot \cos \varepsilon + \sqrt[3]{\color{red}{{\left(\sin \varepsilon \cdot \cos x - \sin x\right)}^3}} \leadsto \sin x \cdot \cos \varepsilon + \sqrt[3]{\color{blue}{{\left(\sin \varepsilon \cdot \cos x - \sin x\right)}^3}}\]
    25.6
  9. Applied simplify to get
    \[\sin x \cdot \cos \varepsilon + \sqrt[3]{{\left(\sin \varepsilon \cdot \cos x - \sin x\right)}^3} \leadsto \cos x \cdot \sin \varepsilon - \left(\sin x - \cos \varepsilon \cdot \sin x\right)\]
    0.4

  10. Applied final simplification

Original test:


(lambda ((x default) (eps default))
  #:name "NMSE example 3.3"
  (- (sin (+ x eps)) (sin x))
  #:target
  (* 2 (* (cos (+ x (/ eps 2))) (sin (/ eps 2)))))