Average Error: 39.5 → 0.6
Time: 6.1s
Precision: 64
\[\cos \left(x + \varepsilon\right) - \cos x\]
\[\frac{\cos x \cdot \left(-\sin \varepsilon \cdot \sin \varepsilon\right)}{\cos \varepsilon + 1} - \sin \varepsilon \cdot \sin x\]
\cos \left(x + \varepsilon\right) - \cos x
\frac{\cos x \cdot \left(-\sin \varepsilon \cdot \sin \varepsilon\right)}{\cos \varepsilon + 1} - \sin \varepsilon \cdot \sin x
double code(double x, double eps) {
	return ((double) (((double) cos(((double) (x + eps)))) - ((double) cos(x))));
}
double code(double x, double eps) {
	return ((double) (((double) (((double) (((double) cos(x)) * ((double) -(((double) (((double) sin(eps)) * ((double) sin(eps)))))))) / ((double) (((double) cos(eps)) + 1.0)))) - ((double) (((double) sin(eps)) * ((double) sin(x))))));
}

Error

Bits error versus x

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 39.5

    \[\cos \left(x + \varepsilon\right) - \cos x\]
  2. Using strategy rm
  3. Applied +-commutative39.5

    \[\leadsto \cos \color{blue}{\left(\varepsilon + x\right)} - \cos x\]
  4. Applied cos-sum24.4

    \[\leadsto \color{blue}{\left(\cos \varepsilon \cdot \cos x - \sin \varepsilon \cdot \sin x\right)} - \cos x\]
  5. Applied associate--l-24.4

    \[\leadsto \color{blue}{\cos \varepsilon \cdot \cos x - \left(\sin \varepsilon \cdot \sin x + \cos x\right)}\]
  6. Using strategy rm
  7. Applied +-commutative24.4

    \[\leadsto \cos \varepsilon \cdot \cos x - \color{blue}{\left(\cos x + \sin \varepsilon \cdot \sin x\right)}\]
  8. Applied associate--r+6.3

    \[\leadsto \color{blue}{\left(\cos \varepsilon \cdot \cos x - \cos x\right) - \sin \varepsilon \cdot \sin x}\]
  9. Using strategy rm
  10. Applied *-un-lft-identity6.3

    \[\leadsto \left(\cos \varepsilon \cdot \cos x - \color{blue}{1 \cdot \cos x}\right) - \sin \varepsilon \cdot \sin x\]
  11. Applied distribute-rgt-out--6.3

    \[\leadsto \color{blue}{\cos x \cdot \left(\cos \varepsilon - 1\right)} - \sin \varepsilon \cdot \sin x\]
  12. Using strategy rm
  13. Applied flip--6.6

    \[\leadsto \cos x \cdot \color{blue}{\frac{\cos \varepsilon \cdot \cos \varepsilon - 1 \cdot 1}{\cos \varepsilon + 1}} - \sin \varepsilon \cdot \sin x\]
  14. Applied associate-*r/6.6

    \[\leadsto \color{blue}{\frac{\cos x \cdot \left(\cos \varepsilon \cdot \cos \varepsilon - 1 \cdot 1\right)}{\cos \varepsilon + 1}} - \sin \varepsilon \cdot \sin x\]
  15. Simplified0.6

    \[\leadsto \frac{\color{blue}{\cos x \cdot \left(-\sin \varepsilon \cdot \sin \varepsilon\right)}}{\cos \varepsilon + 1} - \sin \varepsilon \cdot \sin x\]
  16. Final simplification0.6

    \[\leadsto \frac{\cos x \cdot \left(-\sin \varepsilon \cdot \sin \varepsilon\right)}{\cos \varepsilon + 1} - \sin \varepsilon \cdot \sin x\]

Reproduce

herbie shell --seed 2020113 
(FPCore (x eps)
  :name "2cos (problem 3.3.5)"
  :precision binary64
  (- (cos (+ x eps)) (cos x)))