Average Error: 39.7 → 0.6
Time: 9.1s
Precision: binary64
\[\cos \left(x + \varepsilon\right) - \cos x\]
\[\cos x \cdot \frac{\sin \varepsilon \cdot \sin \varepsilon}{-1 - \cos \varepsilon} - \sin \varepsilon \cdot \sin x\]
\cos \left(x + \varepsilon\right) - \cos x
\cos x \cdot \frac{\sin \varepsilon \cdot \sin \varepsilon}{-1 - \cos \varepsilon} - \sin \varepsilon \cdot \sin x
(FPCore (x eps) :precision binary64 (- (cos (+ x eps)) (cos x)))
(FPCore (x eps)
 :precision binary64
 (-
  (* (cos x) (/ (* (sin eps) (sin eps)) (- -1.0 (cos eps))))
  (* (sin eps) (sin x))))
double code(double x, double eps) {
	return cos(x + eps) - cos(x);
}
double code(double x, double eps) {
	return (cos(x) * ((sin(eps) * sin(eps)) / (-1.0 - cos(eps)))) - (sin(eps) * 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.7

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

    \[\leadsto \color{blue}{\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)} - \cos x\]
  4. Simplified24.0

    \[\leadsto \left(\color{blue}{\cos \varepsilon \cdot \cos x} - \sin x \cdot \sin \varepsilon\right) - \cos x\]
  5. Simplified24.0

    \[\leadsto \left(\cos \varepsilon \cdot \cos x - \color{blue}{\sin \varepsilon \cdot \sin x}\right) - \cos x\]
  6. Taylor expanded around inf 24.0

    \[\leadsto \color{blue}{\cos \varepsilon \cdot \cos x - \left(\cos x + \sin x \cdot \sin \varepsilon\right)}\]
  7. Simplified6.1

    \[\leadsto \color{blue}{\cos x \cdot \left(-1 + \cos \varepsilon\right) - \sin x \cdot \sin \varepsilon}\]
  8. Using strategy rm
  9. Applied flip-+_binary64_526.4

    \[\leadsto \cos x \cdot \color{blue}{\frac{-1 \cdot -1 - \cos \varepsilon \cdot \cos \varepsilon}{-1 - \cos \varepsilon}} - \sin x \cdot \sin \varepsilon\]
  10. Simplified0.6

    \[\leadsto \cos x \cdot \frac{\color{blue}{\sin \varepsilon \cdot \sin \varepsilon}}{-1 - \cos \varepsilon} - \sin x \cdot \sin \varepsilon\]
  11. Final simplification0.6

    \[\leadsto \cos x \cdot \frac{\sin \varepsilon \cdot \sin \varepsilon}{-1 - \cos \varepsilon} - \sin \varepsilon \cdot \sin x\]

Reproduce

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