Initial program 36.9
\[\tan \left(x + \varepsilon\right) - \tan x
\]
Applied egg-rr21.9
\[\leadsto \color{blue}{\left(\tan x + \tan \varepsilon\right) \cdot \frac{1}{1 - \tan x \cdot \tan \varepsilon}} - \tan x
\]
Taylor expanded in x around inf 22.0
\[\leadsto \color{blue}{\left(\frac{\sin \varepsilon}{\cos \varepsilon \cdot \left(1 - \frac{\sin x \cdot \sin \varepsilon}{\cos \varepsilon \cdot \cos x}\right)} + \frac{\sin x}{\cos x \cdot \left(1 - \frac{\sin x \cdot \sin \varepsilon}{\cos \varepsilon \cdot \cos x}\right)}\right) - \frac{\sin x}{\cos x}}
\]
Simplified13.1
\[\leadsto \color{blue}{\frac{\frac{\sin \varepsilon}{\cos \varepsilon}}{1 - \frac{\sin \varepsilon \cdot \sin x}{\cos \varepsilon \cdot \cos x}} + \left(\frac{\frac{\sin x}{\cos x}}{1 - \frac{\sin \varepsilon \cdot \sin x}{\cos \varepsilon \cdot \cos x}} - \frac{\sin x}{\cos x}\right)}
\]
Proof
(+.f64 (/.f64 (/.f64 (sin.f64 eps) (cos.f64 eps)) (-.f64 1 (/.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (-.f64 (/.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 1 (/.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (/.f64 (sin.f64 eps) (cos.f64 eps)) (-.f64 1 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))))) (-.f64 (/.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 1 (/.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= associate-/r*_binary64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))))))) (-.f64 (/.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 1 (/.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 5 points increase in error, 4 points decrease in error
(+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (-.f64 (/.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 1 (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (sin.f64 x) (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (-.f64 (/.f64 (/.f64 (sin.f64 x) (cos.f64 x)) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (Rewrite<= *-commutative_binary64 (*.f64 (cos.f64 x) (cos.f64 eps)))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (-.f64 (Rewrite<= associate-/r*_binary64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps))))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 6 points increase in error, 1 points decrease in error
(+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (-.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) (Rewrite=> sub-neg_binary64 (+.f64 1 (neg.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 x) (cos.f64 eps)))))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (-.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) (+.f64 1 (neg.f64 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (Rewrite=> *-commutative_binary64 (*.f64 (cos.f64 eps) (cos.f64 x)))))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (-.f64 (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) (Rewrite<= sub-neg_binary64 (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate--l+_binary64 (-.f64 (+.f64 (/.f64 (sin.f64 eps) (*.f64 (cos.f64 eps) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))))) (/.f64 (sin.f64 x) (*.f64 (cos.f64 x) (-.f64 1 (/.f64 (*.f64 (sin.f64 x) (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))))))) (/.f64 (sin.f64 x) (cos.f64 x)))): 97 points increase in error, 10 points decrease in error
Applied egg-rr14.5
\[\leadsto \frac{\frac{\sin \varepsilon}{\cos \varepsilon}}{1 - \frac{\sin \varepsilon \cdot \sin x}{\cos \varepsilon \cdot \cos x}} + \color{blue}{\frac{\tan x \cdot \frac{1}{\tan x} - \left(1 - \tan x \cdot \tan \varepsilon\right)}{\frac{1 - \tan x \cdot \tan \varepsilon}{\tan x}}}
\]
Simplified0.3
\[\leadsto \frac{\frac{\sin \varepsilon}{\cos \varepsilon}}{1 - \frac{\sin \varepsilon \cdot \sin x}{\cos \varepsilon \cdot \cos x}} + \color{blue}{\frac{0 + \tan x \cdot \tan \varepsilon}{\frac{1 - \tan x \cdot \tan \varepsilon}{\tan x}}}
\]
Proof
(/.f64 (+.f64 0 (*.f64 (tan.f64 x) (tan.f64 eps))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))) (tan.f64 x))): 0 points increase in error, 0 points decrease in error
(/.f64 (+.f64 (Rewrite<= metadata-eval (-.f64 1 1)) (*.f64 (tan.f64 x) (tan.f64 eps))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))) (tan.f64 x))): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= associate--r-_binary64 (-.f64 1 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))) (tan.f64 x))): 129 points increase in error, 12 points decrease in error
(/.f64 (-.f64 (Rewrite<= rgt-mult-inverse_binary64 (*.f64 (tan.f64 x) (/.f64 1 (tan.f64 x)))) (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps)))) (/.f64 (-.f64 1 (*.f64 (tan.f64 x) (tan.f64 eps))) (tan.f64 x))): 23 points increase in error, 12 points decrease in error
Applied egg-rr0.3
\[\leadsto \frac{\frac{\sin \varepsilon}{\cos \varepsilon}}{1 - \frac{\sin \varepsilon \cdot \sin x}{\cos \varepsilon \cdot \cos x}} + \color{blue}{\frac{\tan x}{\mathsf{fma}\left(\tan x, -\tan \varepsilon, 1\right)} \cdot \frac{\tan \varepsilon}{\frac{1}{\tan x}}}
\]
Final simplification0.3
\[\leadsto \frac{\frac{\sin \varepsilon}{\cos \varepsilon}}{1 - \frac{\sin \varepsilon \cdot \sin x}{\cos \varepsilon \cdot \cos x}} + \frac{\tan x}{\mathsf{fma}\left(\tan x, -\tan \varepsilon, 1\right)} \cdot \frac{\tan \varepsilon}{\frac{1}{\tan x}}
\]