Average Error: 39.6 → 0.5
Time: 1.1min
Precision: binary64
Cost: 33992
\[\cos \left(x + \varepsilon\right) - \cos x\]
↓
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0024335825693093255 \lor \neg \left(\varepsilon \leq 0.0036073965070522497\right):\\
\;\;\;\;\left(\cos \varepsilon \cdot \cos x - \sin \varepsilon \cdot \sin x\right) - \cos x\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\cos x \cdot \left(\varepsilon \cdot 0.5 + {\varepsilon}^{3} \cdot -0.020833333333333332\right) - \left(0.125 \cdot \left(\sin x \cdot \left(\varepsilon \cdot \varepsilon\right)\right) - \sin x\right)\right)\right)\\
\end{array}\]
\cos \left(x + \varepsilon\right) - \cos x
↓
\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0024335825693093255 \lor \neg \left(\varepsilon \leq 0.0036073965070522497\right):\\
\;\;\;\;\left(\cos \varepsilon \cdot \cos x - \sin \varepsilon \cdot \sin x\right) - \cos x\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\cos x \cdot \left(\varepsilon \cdot 0.5 + {\varepsilon}^{3} \cdot -0.020833333333333332\right) - \left(0.125 \cdot \left(\sin x \cdot \left(\varepsilon \cdot \varepsilon\right)\right) - \sin x\right)\right)\right)\\
\end{array}(FPCore (x eps) :precision binary64 (- (cos (+ x eps)) (cos x)))
↓
(FPCore (x eps)
:precision binary64
(if (or (<= eps -0.0024335825693093255) (not (<= eps 0.0036073965070522497)))
(- (- (* (cos eps) (cos x)) (* (sin eps) (sin x))) (cos x))
(*
-2.0
(*
(sin (/ eps 2.0))
(-
(* (cos x) (+ (* eps 0.5) (* (pow eps 3.0) -0.020833333333333332)))
(- (* 0.125 (* (sin x) (* eps eps))) (sin x)))))))double code(double x, double eps) {
return cos(x + eps) - cos(x);
}
↓
double code(double x, double eps) {
double tmp;
if ((eps <= -0.0024335825693093255) || !(eps <= 0.0036073965070522497)) {
tmp = ((cos(eps) * cos(x)) - (sin(eps) * sin(x))) - cos(x);
} else {
tmp = -2.0 * (sin(eps / 2.0) * ((cos(x) * ((eps * 0.5) + (pow(eps, 3.0) * -0.020833333333333332))) - ((0.125 * (sin(x) * (eps * eps))) - sin(x))));
}
return tmp;
}
Try it out
Enter valid numbers for all inputs
Alternatives
| Alternative 1 |
|---|
| Error | 0.5 |
|---|
| Cost | 32904 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0024335825693093255 \lor \neg \left(\varepsilon \leq 0.003493861581670858\right):\\
\;\;\;\;\left(\cos \varepsilon \cdot \cos x - \sin \varepsilon \cdot \sin x\right) - \cos x\\
\mathbf{else}:\\
\;\;\;\;\sin x \cdot \left({\varepsilon}^{3} \cdot 0.16666666666666666 - \varepsilon\right) + \cos x \cdot \left(\left(\varepsilon \cdot \varepsilon\right) \cdot -0.5 + {\varepsilon}^{4} \cdot 0.041666666666666664\right)\\
\end{array}\]
| Alternative 2 |
|---|
| Error | 15.0 |
|---|
| Cost | 13632 |
|---|
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(\frac{x + \left(\varepsilon + x\right)}{2}\right)\right)\]
| Alternative 3 |
|---|
| Error | 15.0 |
|---|
| Cost | 13504 |
|---|
\[-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \sin \left(x + \varepsilon \cdot 0.5\right)\right)\]
| Alternative 4 |
|---|
| Error | 15.0 |
|---|
| Cost | 14018 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -408962436006.8145:\\
\;\;\;\;\cos \varepsilon - \cos x\\
\mathbf{elif}\;\varepsilon \leq 0.0007460669567238816:\\
\;\;\;\;\varepsilon \cdot \left(\varepsilon \cdot \left(\cos x \cdot -0.5\right) - \sin x\right)\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot {\sin \left(\varepsilon \cdot 0.5\right)}^{2}\\
\end{array}\]
| Alternative 5 |
|---|
| Error | 18.9 |
|---|
| Cost | 13576 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -5.530951086961855 \cdot 10^{-09} \lor \neg \left(x \leq 0.00039483389046432855\right):\\
\;\;\;\;-2 \cdot \left(\sin x \cdot \sin \left(\frac{\varepsilon}{2}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot {\sin \left(\varepsilon \cdot 0.5\right)}^{2}\\
\end{array}\]
| Alternative 6 |
|---|
| Error | 20.1 |
|---|
| Cost | 13512 |
|---|
\[\begin{array}{l}
\mathbf{if}\;x \leq -1.76112650866227 \cdot 10^{-06} \lor \neg \left(x \leq 0.00039483389046432855\right):\\
\;\;\;\;\varepsilon \cdot \left(-\sin x\right)\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot {\sin \left(\varepsilon \cdot 0.5\right)}^{2}\\
\end{array}\]
| Alternative 7 |
|---|
| Error | 21.8 |
|---|
| Cost | 14276 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -408962436006.8145:\\
\;\;\;\;\cos \varepsilon - \cos x\\
\mathbf{elif}\;\varepsilon \leq -1.5790679630181446 \cdot 10^{-33}:\\
\;\;\;\;\left(\varepsilon \cdot \varepsilon\right) \cdot -0.5 + {\varepsilon}^{4} \cdot 0.041666666666666664\\
\mathbf{elif}\;\varepsilon \leq 9.677252196218986 \cdot 10^{-136}:\\
\;\;\;\;\varepsilon \cdot \left(-\sin x\right)\\
\mathbf{elif}\;\varepsilon \leq 2.1473734955250018 \cdot 10^{-07}:\\
\;\;\;\;\varepsilon \cdot \left(0.16666666666666666 \cdot {x}^{3} + \varepsilon \cdot \left(\left(x \cdot x\right) \cdot 0.25\right)\right) - \varepsilon \cdot \left(x + \varepsilon \cdot 0.5\right)\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon - \cos x\\
\end{array}\]
| Alternative 8 |
|---|
| Error | 22.2 |
|---|
| Cost | 9092 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -408962436006.8145:\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{elif}\;\varepsilon \leq -1.4992305999204856 \cdot 10^{-33}:\\
\;\;\;\;\left(\varepsilon \cdot \varepsilon\right) \cdot -0.5 + {\varepsilon}^{4} \cdot 0.041666666666666664\\
\mathbf{elif}\;\varepsilon \leq 5.630040587748545 \cdot 10^{-136}:\\
\;\;\;\;\varepsilon \cdot \left(-\sin x\right)\\
\mathbf{elif}\;\varepsilon \leq 2.1473734955250018 \cdot 10^{-07}:\\
\;\;\;\;\varepsilon \cdot \left(0.16666666666666666 \cdot {x}^{3} + \varepsilon \cdot \left(\left(x \cdot x\right) \cdot 0.25\right)\right) - \varepsilon \cdot \left(x + \varepsilon \cdot 0.5\right)\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon + -1\\
\end{array}\]
| Alternative 9 |
|---|
| Error | 21.3 |
|---|
| Cost | 7682 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -408962436006.8145:\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{elif}\;\varepsilon \leq -1.8808535976661016 \cdot 10^{-34}:\\
\;\;\;\;\left(\varepsilon \cdot \varepsilon\right) \cdot -0.5 + {\varepsilon}^{4} \cdot 0.041666666666666664\\
\mathbf{elif}\;\varepsilon \leq 0.00010016414844791195:\\
\;\;\;\;\varepsilon \cdot \left(-\sin x\right)\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon + -1\\
\end{array}\]
| Alternative 10 |
|---|
| Error | 21.0 |
|---|
| Cost | 7619 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0001756687504501214:\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{elif}\;\varepsilon \leq -3.917817851588561 \cdot 10^{-38}:\\
\;\;\;\;\varepsilon \cdot \left(\varepsilon \cdot -0.5\right)\\
\mathbf{elif}\;\varepsilon \leq 9.302691634614032 \cdot 10^{-07}:\\
\;\;\;\;\varepsilon \cdot \left(-\sin x\right)\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon + -1\\
\end{array}\]
| Alternative 11 |
|---|
| Error | 33.9 |
|---|
| Cost | 6920 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0001756687504501214 \lor \neg \left(\varepsilon \leq 2.1473734955250018 \cdot 10^{-07}\right):\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{else}:\\
\;\;\;\;\varepsilon \cdot \left(\varepsilon \cdot -0.5\right)\\
\end{array}\]
| Alternative 12 |
|---|
| Error | 46.5 |
|---|
| Cost | 962 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -1.4215077523960264:\\
\;\;\;\;-1\\
\mathbf{elif}\;\varepsilon \leq 1.5083393991063354:\\
\;\;\;\;\varepsilon \cdot \left(\varepsilon \cdot -0.5\right)\\
\mathbf{else}:\\
\;\;\;\;-1\\
\end{array}\]
| Alternative 13 |
|---|
| Error | 52.0 |
|---|
| Cost | 706 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -3.0077704307918553 \cdot 10^{-87}:\\
\;\;\;\;-1\\
\mathbf{elif}\;\varepsilon \leq 5.0249605220960307 \cdot 10^{-88}:\\
\;\;\;\;0\\
\mathbf{else}:\\
\;\;\;\;-1\\
\end{array}\]
| Alternative 14 |
|---|
| Error | 58.0 |
|---|
| Cost | 64 |
|---|
\[-1\]
Error

Derivation
- Split input into 2 regimes
if eps < -0.002433582569309325 or 0.0036073965070522497 < eps
Initial program 30.1
\[\cos \left(x + \varepsilon\right) - \cos x\]
- Using strategy
rm Applied cos-sum_binary64_5530.8
\[\leadsto \color{blue}{\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right)} - \cos x\]
Simplified0.8
\[\leadsto \color{blue}{\left(\cos \varepsilon \cdot \cos x - \sin \varepsilon \cdot \sin x\right) - \cos x}\]
if -0.002433582569309325 < eps < 0.0036073965070522497
Initial program 49.4
\[\cos \left(x + \varepsilon\right) - \cos x\]
- Using strategy
rm Applied diff-cos_binary64_57037.3
\[\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)}\]
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)}\]
Taylor expanded around 0 0.2
\[\leadsto -2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \color{blue}{\left(\left(\sin x + 0.5 \cdot \left(\cos x \cdot \varepsilon\right)\right) - \left(0.125 \cdot \left(\sin x \cdot {\varepsilon}^{2}\right) + 0.020833333333333332 \cdot \left(\cos x \cdot {\varepsilon}^{3}\right)\right)\right)}\right)\]
Simplified0.2
\[\leadsto -2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \color{blue}{\left(\cos x \cdot \left(\varepsilon \cdot 0.5 + {\varepsilon}^{3} \cdot -0.020833333333333332\right) - \left(0.125 \cdot \left(\sin x \cdot \left(\varepsilon \cdot \varepsilon\right)\right) - \sin x\right)\right)}\right)\]
Simplified0.2
\[\leadsto \color{blue}{-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\cos x \cdot \left(0.5 \cdot \varepsilon + {\varepsilon}^{3} \cdot -0.020833333333333332\right) - \left(0.125 \cdot \left(\sin x \cdot \left(\varepsilon \cdot \varepsilon\right)\right) - \sin x\right)\right)\right)}\]
- Recombined 2 regimes into one program.
Final simplification0.5
\[\leadsto \begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0024335825693093255 \lor \neg \left(\varepsilon \leq 0.0036073965070522497\right):\\
\;\;\;\;\left(\cos \varepsilon \cdot \cos x - \sin \varepsilon \cdot \sin x\right) - \cos x\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot \left(\sin \left(\frac{\varepsilon}{2}\right) \cdot \left(\cos x \cdot \left(\varepsilon \cdot 0.5 + {\varepsilon}^{3} \cdot -0.020833333333333332\right) - \left(0.125 \cdot \left(\sin x \cdot \left(\varepsilon \cdot \varepsilon\right)\right) - \sin x\right)\right)\right)\\
\end{array}\]
Reproduce
herbie shell --seed 2021014
(FPCore (x eps)
:name "2cos (problem 3.3.5)"
:precision binary64
(- (cos (+ x eps)) (cos x)))