Average Error: 36.9 → 0.6
Time: 29.7s
Precision: 64
\[\tan \left(x + \varepsilon\right) - \tan x\]
\[\mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{\cos \varepsilon}, \frac{\sin \varepsilon}{{\left(\cos x\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\frac{\sin \varepsilon}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}}{\cos \varepsilon} + \left(\mathsf{fma}\left(\frac{{\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\sin x}{\cos x} + {\left(\frac{\sin x}{\cos x}\right)}^{3}, \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}, \frac{{\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}}, \frac{\frac{\sin x}{\cos x}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}\right)\right) - \frac{\sin x}{\cos x}\right)\right)\]
\tan \left(x + \varepsilon\right) - \tan x
\mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{\cos \varepsilon}, \frac{\sin \varepsilon}{{\left(\cos x\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\frac{\sin \varepsilon}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}}{\cos \varepsilon} + \left(\mathsf{fma}\left(\frac{{\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\sin x}{\cos x} + {\left(\frac{\sin x}{\cos x}\right)}^{3}, \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}, \frac{{\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}}, \frac{\frac{\sin x}{\cos x}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}\right)\right) - \frac{\sin x}{\cos x}\right)\right)
double f(double x, double eps) {
        double r194248 = x;
        double r194249 = eps;
        double r194250 = r194248 + r194249;
        double r194251 = tan(r194250);
        double r194252 = tan(r194248);
        double r194253 = r194251 - r194252;
        return r194253;
}

double f(double x, double eps) {
        double r194254 = x;
        double r194255 = sin(r194254);
        double r194256 = 2.0;
        double r194257 = pow(r194255, r194256);
        double r194258 = eps;
        double r194259 = cos(r194258);
        double r194260 = r194257 / r194259;
        double r194261 = sin(r194258);
        double r194262 = cos(r194254);
        double r194263 = pow(r194262, r194256);
        double r194264 = 1.0;
        double r194265 = r194255 * r194261;
        double r194266 = 3.0;
        double r194267 = pow(r194265, r194266);
        double r194268 = r194262 * r194259;
        double r194269 = pow(r194268, r194266);
        double r194270 = r194267 / r194269;
        double r194271 = r194264 - r194270;
        double r194272 = r194263 * r194271;
        double r194273 = r194261 / r194272;
        double r194274 = r194261 / r194271;
        double r194275 = r194274 / r194259;
        double r194276 = pow(r194261, r194256);
        double r194277 = pow(r194259, r194256);
        double r194278 = r194277 * r194271;
        double r194279 = r194276 / r194278;
        double r194280 = r194255 / r194262;
        double r194281 = pow(r194280, r194266);
        double r194282 = r194280 + r194281;
        double r194283 = r194257 / r194271;
        double r194284 = pow(r194261, r194266);
        double r194285 = pow(r194259, r194266);
        double r194286 = r194263 * r194285;
        double r194287 = r194284 / r194286;
        double r194288 = r194280 / r194271;
        double r194289 = fma(r194283, r194287, r194288);
        double r194290 = fma(r194279, r194282, r194289);
        double r194291 = r194290 - r194280;
        double r194292 = r194275 + r194291;
        double r194293 = fma(r194260, r194273, r194292);
        return r194293;
}

Error

Bits error versus x

Bits error versus eps

Target

Original36.9
Target15.2
Herbie0.6
\[\frac{\sin \varepsilon}{\cos x \cdot \cos \left(x + \varepsilon\right)}\]

Derivation

  1. Initial program 36.9

    \[\tan \left(x + \varepsilon\right) - \tan x\]
  2. Using strategy rm
  3. Applied tan-sum21.7

    \[\leadsto \color{blue}{\frac{\tan x + \tan \varepsilon}{1 - \tan x \cdot \tan \varepsilon}} - \tan x\]
  4. Using strategy rm
  5. Applied flip3--21.7

    \[\leadsto \frac{\tan x + \tan \varepsilon}{\color{blue}{\frac{{1}^{3} - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}}{1 \cdot 1 + \left(\left(\tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right) + 1 \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)}}} - \tan x\]
  6. Applied associate-/r/21.7

    \[\leadsto \color{blue}{\frac{\tan x + \tan \varepsilon}{{1}^{3} - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\left(\tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right) + 1 \cdot \left(\tan x \cdot \tan \varepsilon\right)\right)\right)} - \tan x\]
  7. Applied fma-neg21.7

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{\tan x + \tan \varepsilon}{{1}^{3} - {\left(\tan x \cdot \tan \varepsilon\right)}^{3}}, 1 \cdot 1 + \left(\left(\tan x \cdot \tan \varepsilon\right) \cdot \left(\tan x \cdot \tan \varepsilon\right) + 1 \cdot \left(\tan x \cdot \tan \varepsilon\right)\right), -\tan x\right)}\]
  8. Taylor expanded around -inf 21.9

    \[\leadsto \color{blue}{\left(\frac{{\left(\sin x\right)}^{2} \cdot \sin \varepsilon}{\cos \varepsilon \cdot \left(\left(1 - \frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{3} \cdot {\left(\cos \varepsilon\right)}^{3}}\right) \cdot {\left(\cos x\right)}^{2}\right)} + \left(\frac{\sin \varepsilon}{\left(1 - \frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{3} \cdot {\left(\cos \varepsilon\right)}^{3}}\right) \cdot \cos \varepsilon} + \left(\frac{{\left(\sin x\right)}^{2} \cdot {\left(\sin \varepsilon\right)}^{3}}{\left(1 - \frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{3} \cdot {\left(\cos \varepsilon\right)}^{3}}\right) \cdot \left({\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}\right)} + \left(\frac{\sin x}{\left(1 - \frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{3} \cdot {\left(\cos \varepsilon\right)}^{3}}\right) \cdot \cos x} + \left(\frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(\left(1 - \frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{3} \cdot {\left(\cos \varepsilon\right)}^{3}}\right) \cdot {\left(\cos x\right)}^{3}\right)} + \frac{\sin x \cdot {\left(\sin \varepsilon\right)}^{2}}{\left(1 - \frac{{\left(\sin x\right)}^{3} \cdot {\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{3} \cdot {\left(\cos \varepsilon\right)}^{3}}\right) \cdot \left(\cos x \cdot {\left(\cos \varepsilon\right)}^{2}\right)}\right)\right)\right)\right)\right) - \frac{\sin x}{\cos x}}\]
  9. Simplified19.6

    \[\leadsto \color{blue}{\mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{\cos \varepsilon}, \frac{\sin \varepsilon}{{\left(\cos x\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \left(\frac{\frac{\sin \varepsilon}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}}{\cos \varepsilon} + \left(\frac{{\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)} \cdot \left(\frac{{\left(\sin x\right)}^{3}}{{\left(\cos x\right)}^{3}} + \frac{\sin x}{\cos x}\right) + \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}, \frac{{\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}}, \frac{\frac{\sin x}{\cos x}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}\right)\right)\right) - \frac{\sin x}{\cos x}\right)}\]
  10. Using strategy rm
  11. Applied associate--l+0.6

    \[\leadsto \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{\cos \varepsilon}, \frac{\sin \varepsilon}{{\left(\cos x\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \color{blue}{\frac{\frac{\sin \varepsilon}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}}{\cos \varepsilon} + \left(\left(\frac{{\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)} \cdot \left(\frac{{\left(\sin x\right)}^{3}}{{\left(\cos x\right)}^{3}} + \frac{\sin x}{\cos x}\right) + \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}, \frac{{\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}}, \frac{\frac{\sin x}{\cos x}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}\right)\right) - \frac{\sin x}{\cos x}\right)}\right)\]
  12. Simplified0.6

    \[\leadsto \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{\cos \varepsilon}, \frac{\sin \varepsilon}{{\left(\cos x\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\frac{\sin \varepsilon}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}}{\cos \varepsilon} + \color{blue}{\left(\mathsf{fma}\left(\frac{{\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\sin x}{\cos x} + {\left(\frac{\sin x}{\cos x}\right)}^{3}, \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}, \frac{{\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}}, \frac{\frac{\sin x}{\cos x}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}\right)\right) - \frac{\sin x}{\cos x}\right)}\right)\]
  13. Final simplification0.6

    \[\leadsto \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{\cos \varepsilon}, \frac{\sin \varepsilon}{{\left(\cos x\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\frac{\sin \varepsilon}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}}{\cos \varepsilon} + \left(\mathsf{fma}\left(\frac{{\left(\sin \varepsilon\right)}^{2}}{{\left(\cos \varepsilon\right)}^{2} \cdot \left(1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}\right)}, \frac{\sin x}{\cos x} + {\left(\frac{\sin x}{\cos x}\right)}^{3}, \mathsf{fma}\left(\frac{{\left(\sin x\right)}^{2}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}, \frac{{\left(\sin \varepsilon\right)}^{3}}{{\left(\cos x\right)}^{2} \cdot {\left(\cos \varepsilon\right)}^{3}}, \frac{\frac{\sin x}{\cos x}}{1 - \frac{{\left(\sin x \cdot \sin \varepsilon\right)}^{3}}{{\left(\cos x \cdot \cos \varepsilon\right)}^{3}}}\right)\right) - \frac{\sin x}{\cos x}\right)\right)\]

Reproduce

herbie shell --seed 2020045 +o rules:numerics
(FPCore (x eps)
  :name "2tan (problem 3.3.2)"
  :precision binary64

  :herbie-target
  (/ (sin eps) (* (cos x) (cos (+ x eps))))

  (- (tan (+ x eps)) (tan x)))