\[\tan \left(x + \varepsilon\right) - \tan x\]
Test:
NMSE problem 3.3.2
Bits:
128 bits
Bits error versus x
Bits error versus eps
Time: 36.1 s
Input Error: 37.0
Output Error: 13.2
Log:
Profile: 🕒
\(\begin{cases} \frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon} - \tan x & \text{when } \varepsilon \le -2.633003449024554 \\ \frac{(\left(\sin x\right) * \left(\cos \varepsilon \cdot \cos x - \cos \left(x + \varepsilon\right)\right) + \left(\sin \varepsilon \cdot \left(\cos x \cdot \cos x\right)\right))_*}{\cos \left(x + \varepsilon\right) \cdot \cos x} & \text{when } \varepsilon \le 1.2615884418969982 \cdot 10^{-52} \\ \frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon} - \tan x & \text{otherwise} \end{cases}\)

    if eps < -2.633003449024554 or 1.2615884418969982e-52 < eps

    1. Started with
      \[\tan \left(x + \varepsilon\right) - \tan x\]
      29.9
    2. Using strategy rm
      29.9
    3. Applied tan-quot to get
      \[\color{red}{\tan \left(x + \varepsilon\right)} - \tan x \leadsto \color{blue}{\frac{\sin \left(x + \varepsilon\right)}{\cos \left(x + \varepsilon\right)}} - \tan x\]
      29.9
    4. Using strategy rm
      29.9
    5. Applied sin-sum to get
      \[\frac{\color{red}{\sin \left(x + \varepsilon\right)}}{\cos \left(x + \varepsilon\right)} - \tan x \leadsto \frac{\color{blue}{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}}{\cos \left(x + \varepsilon\right)} - \tan x\]
      28.1
    6. Using strategy rm
      28.1
    7. Applied cos-sum to get
      \[\frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\color{red}{\cos \left(x + \varepsilon\right)}} - \tan x \leadsto \frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\color{blue}{\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon}} - \tan x\]
      2.8

    if -2.633003449024554 < eps < 1.2615884418969982e-52

    1. Started with
      \[\tan \left(x + \varepsilon\right) - \tan x\]
      45.3
    2. Using strategy rm
      45.3
    3. Applied tan-quot to get
      \[\color{red}{\tan \left(x + \varepsilon\right)} - \tan x \leadsto \color{blue}{\frac{\sin \left(x + \varepsilon\right)}{\cos \left(x + \varepsilon\right)}} - \tan x\]
      45.4
    4. Using strategy rm
      45.4
    5. Applied sin-sum to get
      \[\frac{\color{red}{\sin \left(x + \varepsilon\right)}}{\cos \left(x + \varepsilon\right)} - \tan x \leadsto \frac{\color{blue}{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}}{\cos \left(x + \varepsilon\right)} - \tan x\]
      45.3
    6. Using strategy rm
      45.3
    7. Applied tan-quot to get
      \[\frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\cos \left(x + \varepsilon\right)} - \color{red}{\tan x} \leadsto \frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\cos \left(x + \varepsilon\right)} - \color{blue}{\frac{\sin x}{\cos x}}\]
      45.1
    8. Applied frac-sub to get
      \[\color{red}{\frac{\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon}{\cos \left(x + \varepsilon\right)} - \frac{\sin x}{\cos x}} \leadsto \color{blue}{\frac{\left(\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon\right) \cdot \cos x - \cos \left(x + \varepsilon\right) \cdot \sin x}{\cos \left(x + \varepsilon\right) \cdot \cos x}}\]
      45.1
    9. Applied simplify to get
      \[\frac{\color{red}{\left(\sin x \cdot \cos \varepsilon + \cos x \cdot \sin \varepsilon\right) \cdot \cos x - \cos \left(x + \varepsilon\right) \cdot \sin x}}{\cos \left(x + \varepsilon\right) \cdot \cos x} \leadsto \frac{\color{blue}{(\left(\sin x\right) * \left(\cos \varepsilon \cdot \cos x - \cos \left(x + \varepsilon\right)\right) + \left(\sin \varepsilon \cdot \left(\cos x \cdot \cos x\right)\right))_*}}{\cos \left(x + \varepsilon\right) \cdot \cos x}\]
      25.4

  1. Removed slow pow expressions

Original test:


(lambda ((x default) (eps default))
  #:name "NMSE problem 3.3.2"
  (- (tan (+ x eps)) (tan x))
  #:target
  (/ (sin eps) (* (cos x) (cos (+ x eps)))))