\[\sin \left(x + \varepsilon\right) - \sin x\]
Test:
NMSE example 3.3
Bits:
128 bits
Bits error versus x
Bits error versus eps
Time: 12.3 s
Input Error: 16.5
Output Error: 0.4
Log:
Profile: 🕒
\(\begin{cases} (\left(\cos x\right) * \left(\sin \varepsilon\right) + \left(\cos \varepsilon \cdot \sin x\right))_* + \left(-\sin x\right) & \text{when } \varepsilon \le -0.00030713418f0 \\ \sin \varepsilon \cdot \cos x & \text{when } \varepsilon \le 2.180514f-09 \\ \frac{{\left(\sin x \cdot \cos \varepsilon\right)}^2 - {\left(\cos x \cdot \sin \varepsilon - \sin x\right)}^2}{(\left(\cos \varepsilon\right) * \left(\sin x\right) + \left(\sin x\right))_* - \sin \varepsilon \cdot \cos x} & \text{otherwise} \end{cases}\)

    if eps < -0.00030713418f0

    1. Started with
      \[\sin \left(x + \varepsilon\right) - \sin x\]
      13.8
    2. Using strategy rm
      13.8
    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\]
      0.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)}\]
      0.4
    5. Using strategy rm
      0.4
    6. Applied sub-neg 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}{\left(\cos x \cdot \sin \varepsilon + \left(-\sin x\right)\right)}\]
      0.4
    7. Applied associate-+r+ to get
      \[\color{red}{\sin x \cdot \cos \varepsilon + \left(\cos x \cdot \sin \varepsilon + \left(-\sin x\right)\right)} \leadsto \color{blue}{\left(\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon\right) + \left(-\sin x\right)}\]
      0.4
    8. Applied simplify to get
      \[\color{red}{\left(\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon\right)} + \left(-\sin x\right) \leadsto \color{blue}{(\left(\cos x\right) * \left(\sin \varepsilon\right) + \left(\cos \varepsilon \cdot \sin x\right))_*} + \left(-\sin x\right)\]
      0.5

    if -0.00030713418f0 < eps < 2.180514f-09

    1. Started with
      \[\sin \left(x + \varepsilon\right) - \sin x\]
      20.1
    2. Using strategy rm
      20.1
    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\]
      13.9
    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)}\]
      13.9
    5. Using strategy rm
      13.9
    6. Applied add-cube-cbrt to get
      \[\sin x \cdot \cos \varepsilon + \left(\cos x \cdot \color{red}{\sin \varepsilon} - \sin x\right) \leadsto \sin x \cdot \cos \varepsilon + \left(\cos x \cdot \color{blue}{{\left(\sqrt[3]{\sin \varepsilon}\right)}^3} - \sin x\right)\]
      14.2
    7. Applied add-cube-cbrt to get
      \[\sin x \cdot \cos \varepsilon + \left(\color{red}{\cos x} \cdot {\left(\sqrt[3]{\sin \varepsilon}\right)}^3 - \sin x\right) \leadsto \sin x \cdot \cos \varepsilon + \left(\color{blue}{{\left(\sqrt[3]{\cos x}\right)}^3} \cdot {\left(\sqrt[3]{\sin \varepsilon}\right)}^3 - \sin x\right)\]
      14.2
    8. Applied cube-unprod to get
      \[\sin x \cdot \cos \varepsilon + \left(\color{red}{{\left(\sqrt[3]{\cos x}\right)}^3 \cdot {\left(\sqrt[3]{\sin \varepsilon}\right)}^3} - \sin x\right) \leadsto \sin x \cdot \cos \varepsilon + \left(\color{blue}{{\left(\sqrt[3]{\cos x} \cdot \sqrt[3]{\sin \varepsilon}\right)}^3} - \sin x\right)\]
      14.2
    9. Applied taylor to get
      \[\sin x \cdot \cos \varepsilon + \left({\left(\sqrt[3]{\cos x} \cdot \sqrt[3]{\sin \varepsilon}\right)}^3 - \sin x\right) \leadsto {\left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\cos x}\right)}^3\]
      0.8
    10. Taylor expanded around 0 to get
      \[\color{red}{{\left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\cos x}\right)}^3} \leadsto \color{blue}{{\left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\cos x}\right)}^3}\]
      0.8
    11. Applied simplify to get
      \[{\left(\sqrt[3]{\sin \varepsilon} \cdot \sqrt[3]{\cos x}\right)}^3 \leadsto \sin \varepsilon \cdot \cos x\]
      0.1

    12. Applied final simplification

    if 2.180514f-09 < eps

    1. Started with
      \[\sin \left(x + \varepsilon\right) - \sin x\]
      13.8
    2. Using strategy rm
      13.8
    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\]
      0.7
    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)}\]
      0.7
    5. Using strategy rm
      0.7
    6. Applied flip-+ to get
      \[\color{red}{\sin x \cdot \cos \varepsilon + \left(\cos x \cdot \sin \varepsilon - \sin x\right)} \leadsto \color{blue}{\frac{{\left(\sin x \cdot \cos \varepsilon\right)}^2 - {\left(\cos x \cdot \sin \varepsilon - \sin x\right)}^2}{\sin x \cdot \cos \varepsilon - \left(\cos x \cdot \sin \varepsilon - \sin x\right)}}\]
      0.7
    7. Applied simplify to get
      \[\frac{{\left(\sin x \cdot \cos \varepsilon\right)}^2 - {\left(\cos x \cdot \sin \varepsilon - \sin x\right)}^2}{\color{red}{\sin x \cdot \cos \varepsilon - \left(\cos x \cdot \sin \varepsilon - \sin x\right)}} \leadsto \frac{{\left(\sin x \cdot \cos \varepsilon\right)}^2 - {\left(\cos x \cdot \sin \varepsilon - \sin x\right)}^2}{\color{blue}{(\left(\cos \varepsilon\right) * \left(\sin x\right) + \left(\sin x\right))_* - \sin \varepsilon \cdot \cos x}}\]
      0.7

  1. Removed slow pow expressions

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)))))