\[\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: 35.3 s
Input Error: 35.6
Output Error: 23.5
Log:
Profile: 🕒
\(\begin{cases} \frac{\sin \left(x + \varepsilon\right)}{\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon} - \tan x & \text{when } \varepsilon \le -2.073649453159856 \cdot 10^{-16} \\ \varepsilon + \left({\varepsilon}^{3} \cdot {x}^2 + {\varepsilon}^{4} \cdot {x}^{3}\right) & \text{when } \varepsilon \le 4.309797438289399 \cdot 10^{-30} \\ \frac{\sin \left(x + \varepsilon\right)}{\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon} - \tan x & \text{otherwise} \end{cases}\)

    if eps < -2.073649453159856e-16 or 4.309797438289399e-30 < eps

    1. Started with
      \[\tan \left(x + \varepsilon\right) - \tan x\]
      29.1
    2. Using strategy rm
      29.1
    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.1
    4. Using strategy rm
      29.1
    5. Applied cos-sum to get
      \[\frac{\sin \left(x + \varepsilon\right)}{\color{red}{\cos \left(x + \varepsilon\right)}} - \tan x \leadsto \frac{\sin \left(x + \varepsilon\right)}{\color{blue}{\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon}} - \tan x\]
      27.1

    if -2.073649453159856e-16 < eps < 4.309797438289399e-30

    1. Started with
      \[\tan \left(x + \varepsilon\right) - \tan x\]
      43.9
    2. Applied taylor to get
      \[\tan \left(x + \varepsilon\right) - \tan x \leadsto \varepsilon + \left({\varepsilon}^{3} \cdot {x}^2 + {\varepsilon}^{4} \cdot {x}^{3}\right)\]
      19.0
    3. Taylor expanded around 0 to get
      \[\color{red}{\varepsilon + \left({\varepsilon}^{3} \cdot {x}^2 + {\varepsilon}^{4} \cdot {x}^{3}\right)} \leadsto \color{blue}{\varepsilon + \left({\varepsilon}^{3} \cdot {x}^2 + {\varepsilon}^{4} \cdot {x}^{3}\right)}\]
      19.0

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