Average Error: 39.8 → 0.7
Time: 17.4s
Precision: binary64
Cost: 33218
\[\cos \left(x + \varepsilon\right) - \cos x\]
\[\begin{array}{l} \mathbf{if}\;\varepsilon \leq -0.028077178329225884:\\ \;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\ \mathbf{elif}\;\varepsilon \leq 0.0013137094133468092:\\ \;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\ \end{array}\]
\cos \left(x + \varepsilon\right) - \cos x
\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.028077178329225884:\\
\;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\

\mathbf{elif}\;\varepsilon \leq 0.0013137094133468092:\\
\;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\

\end{array}
(FPCore (x eps) :precision binary64 (- (cos (+ x eps)) (cos x)))
(FPCore (x eps)
 :precision binary64
 (if (<= eps -0.028077178329225884)
   (- (* (cos x) (cos eps)) (+ (cos x) (* (sin x) (sin eps))))
   (if (<= eps 0.0013137094133468092)
     (* -2.0 (* (sin (/ eps 2.0)) (sin (/ (+ x (+ eps x)) 2.0))))
     (- (* (cos x) (cos eps)) (+ (cos x) (* (sin x) (sin eps)))))))
double code(double x, double eps) {
	return cos(x + eps) - cos(x);
}
double code(double x, double eps) {
	double tmp;
	if (eps <= -0.028077178329225884) {
		tmp = (cos(x) * cos(eps)) - (cos(x) + (sin(x) * sin(eps)));
	} else if (eps <= 0.0013137094133468092) {
		tmp = -2.0 * (sin(eps / 2.0) * sin((x + (eps + x)) / 2.0));
	} else {
		tmp = (cos(x) * cos(eps)) - (cos(x) + (sin(x) * sin(eps)));
	}
	return tmp;
}

Error

Bits error versus x

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Alternatives

Alternative 1
Error16.1
Cost92480
\[-2 \cdot \left(\left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}} \cdot \left(\sqrt[3]{\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}} \cdot \sqrt[3]{\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}}\right)\right)\right)\]
Alternative 2
Error16.0
Cost86080
\[-2 \cdot \left(\left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right) \cdot \left(\sqrt[3]{\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}} \cdot \sqrt[3]{\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}}\right)\right)\]
Alternative 3
Error16.0
Cost59968
\[-2 \cdot \left(\sqrt[3]{\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \left(\sqrt[3]{\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right)\]
Alternative 4
Error39.8
Cost58944
\[\frac{{\cos \left(\varepsilon + x\right)}^{3} - {\cos x}^{3}}{\cos x \cdot \cos x + \cos \left(\varepsilon + x\right) \cdot \left(\cos x + \cos \left(\varepsilon + x\right)\right)}\]
Alternative 5
Error40.0
Cost58688
\[\sqrt[3]{\cos \left(\varepsilon + x\right) - \cos x} \cdot \left(\sqrt[3]{\cos \left(\varepsilon + x\right) - \cos x} \cdot \sqrt[3]{\cos \left(\varepsilon + x\right) - \cos x}\right)\]
Alternative 6
Error45.5
Cost52800
\[-2 \cdot \left(\left(\sqrt{\sin \left(\frac{\varepsilon}{2}\right)} \cdot \sqrt{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right) \cdot \left(\sqrt{\sin \left(\frac{\varepsilon}{2}\right)} \cdot \sqrt{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right)\]
Alternative 7
Error49.2
Cost51904
\[\left(\sqrt{\cos \left(\varepsilon + x\right)} + \sqrt{\cos x}\right) \cdot \left(\sqrt{\cos \left(\varepsilon + x\right)} - \sqrt{\cos x}\right)\]
Alternative 8
Error15.9
Cost46656
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right)\right)\]
Alternative 9
Error15.9
Cost46656
\[-2 \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right)\right)\]
Alternative 10
Error15.9
Cost46528
\[-2 \cdot \left(\left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right) \cdot \sqrt[3]{\sin \left(x + \varepsilon \cdot 0.5\right)}\right)\]
Alternative 11
Error15.9
Cost46528
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right) \cdot \sqrt[3]{\sin \left(x + \varepsilon \cdot 0.5\right)}\right)\right)\]
Alternative 12
Error36.2
Cost46272
\[-2 \cdot \left(\left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right) \cdot \sqrt[3]{\sin x}\right)\]
Alternative 13
Error36.2
Cost46272
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\left(\sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right) \cdot \sqrt[3]{\sin x}\right)\right)\]
Alternative 14
Error16.0
Cost46144
\[-2 \cdot \left(\left(\sqrt[3]{\sin \left(\frac{\varepsilon}{2}\right)} \cdot \sqrt[3]{\sin \left(\frac{\varepsilon}{2}\right)}\right) \cdot \left(\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right) \cdot \sqrt[3]{\sin \left(\frac{\varepsilon}{2}\right)}\right)\right)\]
Alternative 15
Error40.1
Cost45632
\[\sqrt[3]{\cos \left(\varepsilon + x\right)} \cdot \left(\sqrt[3]{\cos \left(\varepsilon + x\right)} \cdot \sqrt[3]{\cos \left(\varepsilon + x\right)}\right) - \cos x\]
Alternative 16
Error48.1
Cost40128
\[\sqrt{-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)} \cdot \sqrt{-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)}\]
Alternative 17
Error26.0
Cost40000
\[-2 \cdot \left(\sqrt{\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt{\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\]
Alternative 18
Error39.9
Cost39488
\[\frac{\cos \left(\varepsilon + x\right) \cdot \cos \left(\varepsilon + x\right) - \cos x \cdot \cos x}{\cos x + \cos \left(\varepsilon + x\right)}\]
Alternative 19
Error39.3
Cost33344
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\sqrt{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)} \cdot \sqrt{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right)\]
Alternative 20
Error39.2
Cost33088
\[-2 \cdot \left(\sqrt{\sin \left(\frac{\varepsilon}{2}\right)} \cdot \left(\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right) \cdot \sqrt{\sin \left(\frac{\varepsilon}{2}\right)}\right)\right)\]
Alternative 21
Error24.5
Cost32576
\[\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\]
Alternative 22
Error48.9
Cost32576
\[\sqrt{\cos \left(\varepsilon + x\right)} \cdot \sqrt{\cos \left(\varepsilon + x\right)} - \cos x\]
Alternative 23
Error24.5
Cost32576
\[\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - \cos x\]
Alternative 24
Error41.5
Cost26880
\[\left(\cos \varepsilon \cdot \left(-0.5 \cdot \left(x \cdot x\right) + 1\right) + \sin \varepsilon \cdot \left(0.16666666666666666 \cdot {x}^{3} - x\right)\right) - \cos x\]
Alternative 25
Error43.5
Cost26496
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{\sqrt[3]{{\left(x + \left(\varepsilon + x\right)\right)}^{3}}}{2}\right)\right)\]
Alternative 26
Error17.3
Cost26496
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sqrt[3]{{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}^{3}}\right)\]
Alternative 27
Error39.6
Cost26432
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot e^{\log \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\]
Alternative 28
Error24.0
Cost26432
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \log \left(e^{\sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)}\right)\right)\]
Alternative 29
Error27.3
Cost26432
\[-2 \cdot e^{\log \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)}\]
Alternative 30
Error39.8
Cost25984
\[\sqrt[3]{{\left(\cos \left(\varepsilon + x\right) - \cos x\right)}^{3}}\]
Alternative 31
Error39.9
Cost25984
\[\sqrt[3]{{\cos \left(\varepsilon + x\right)}^{3}} - \cos x\]
Alternative 32
Error39.8
Cost25920
\[\log \left(e^{\cos \left(\varepsilon + x\right) - \cos x}\right)\]
Alternative 33
Error48.9
Cost25920
\[e^{\log \cos \left(\varepsilon + x\right)} - \cos x\]
Alternative 34
Error39.9
Cost25920
\[\log \left(e^{\cos \left(\varepsilon + x\right)}\right) - \cos x\]
Alternative 35
Error40.9
Cost19648
\[\left(\cos \varepsilon - x \cdot \sin \varepsilon\right) - \cos x\]
Alternative 36
Error15.2
Cost13632
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)\]
Alternative 37
Error31.8
Cost13376
\[\varepsilon \cdot \left(\varepsilon \cdot \left(\cos x \cdot -0.5\right) - \sin x\right)\]
Alternative 38
Error34.2
Cost13376
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\varepsilon \cdot 0.5\right)\right)\]
Alternative 39
Error40.6
Cost13248
\[-1 + \left(\cos \varepsilon - x \cdot \sin \varepsilon\right)\]
Alternative 40
Error34.2
Cost13184
\[-2 \cdot {\sin \left(\varepsilon \cdot 0.5\right)}^{2}\]
Alternative 41
Error39.8
Cost13120
\[\cos \left(\varepsilon + x\right) - \cos x\]
Alternative 42
Error39.4
Cost12992
\[\cos \varepsilon - \cos x\]
Alternative 43
Error37.2
Cost6656
\[-\varepsilon \cdot \sin x\]
Alternative 44
Error39.5
Cost6592
\[-1 + \cos \varepsilon\]
Alternative 45
Error61.0
Cost64
\[1\]
Alternative 46
Error56.0
Cost64
\[0\]
Alternative 47
Error58.0
Cost64
\[-1\]

Error

Derivation

  1. Split input into 2 regimes
  2. if eps < -0.028077178329225884 or 0.0013137094133468092 < eps

    1. Initial program 30.3

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

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

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

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

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

    if -0.028077178329225884 < eps < 0.0013137094133468092

    1. Initial program 49.4

      \[\cos \left(x + \varepsilon\right) - \cos x\]
    2. Using strategy rm
    3. Applied diff-cos_binary64_122137.9

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

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

      \[\leadsto \color{blue}{-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\varepsilon \leq -0.028077178329225884:\\ \;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\ \mathbf{elif}\;\varepsilon \leq 0.0013137094133468092:\\ \;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\cos x \cdot \cos \varepsilon - \left(\cos x + \sin x \cdot \sin \varepsilon\right)\\ \end{array}\]

Reproduce

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