Math FPCore C Fortran Java Python Julia MATLAB Wolfram TeX \[\cos \left(x + \varepsilon\right) - \cos x
\]
↓
\[\begin{array}{l}
t_0 := \sin \left(0.5 \cdot \varepsilon\right)\\
t_1 := 0.5 \cdot \left(x + x\right)\\
-2 \cdot \left(t_0 \cdot \left(t_0 \cdot \cos t_1 + \cos \left(0.5 \cdot \varepsilon\right) \cdot \sin t_1\right)\right)
\end{array}
\]
(FPCore (x eps) :precision binary64 (- (cos (+ x eps)) (cos x))) ↓
(FPCore (x eps)
:precision binary64
(let* ((t_0 (sin (* 0.5 eps))) (t_1 (* 0.5 (+ x x))))
(* -2.0 (* t_0 (+ (* t_0 (cos t_1)) (* (cos (* 0.5 eps)) (sin t_1))))))) double code(double x, double eps) {
return cos((x + eps)) - cos(x);
}
↓
double code(double x, double eps) {
double t_0 = sin((0.5 * eps));
double t_1 = 0.5 * (x + x);
return -2.0 * (t_0 * ((t_0 * cos(t_1)) + (cos((0.5 * eps)) * sin(t_1))));
}
real(8) function code(x, eps)
real(8), intent (in) :: x
real(8), intent (in) :: eps
code = cos((x + eps)) - cos(x)
end function
↓
real(8) function code(x, eps)
real(8), intent (in) :: x
real(8), intent (in) :: eps
real(8) :: t_0
real(8) :: t_1
t_0 = sin((0.5d0 * eps))
t_1 = 0.5d0 * (x + x)
code = (-2.0d0) * (t_0 * ((t_0 * cos(t_1)) + (cos((0.5d0 * eps)) * sin(t_1))))
end function
public static double code(double x, double eps) {
return Math.cos((x + eps)) - Math.cos(x);
}
↓
public static double code(double x, double eps) {
double t_0 = Math.sin((0.5 * eps));
double t_1 = 0.5 * (x + x);
return -2.0 * (t_0 * ((t_0 * Math.cos(t_1)) + (Math.cos((0.5 * eps)) * Math.sin(t_1))));
}
def code(x, eps):
return math.cos((x + eps)) - math.cos(x)
↓
def code(x, eps):
t_0 = math.sin((0.5 * eps))
t_1 = 0.5 * (x + x)
return -2.0 * (t_0 * ((t_0 * math.cos(t_1)) + (math.cos((0.5 * eps)) * math.sin(t_1))))
function code(x, eps)
return Float64(cos(Float64(x + eps)) - cos(x))
end
↓
function code(x, eps)
t_0 = sin(Float64(0.5 * eps))
t_1 = Float64(0.5 * Float64(x + x))
return Float64(-2.0 * Float64(t_0 * Float64(Float64(t_0 * cos(t_1)) + Float64(cos(Float64(0.5 * eps)) * sin(t_1)))))
end
function tmp = code(x, eps)
tmp = cos((x + eps)) - cos(x);
end
↓
function tmp = code(x, eps)
t_0 = sin((0.5 * eps));
t_1 = 0.5 * (x + x);
tmp = -2.0 * (t_0 * ((t_0 * cos(t_1)) + (cos((0.5 * eps)) * sin(t_1))));
end
code[x_, eps_] := N[(N[Cos[N[(x + eps), $MachinePrecision]], $MachinePrecision] - N[Cos[x], $MachinePrecision]), $MachinePrecision]
↓
code[x_, eps_] := Block[{t$95$0 = N[Sin[N[(0.5 * eps), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(0.5 * N[(x + x), $MachinePrecision]), $MachinePrecision]}, N[(-2.0 * N[(t$95$0 * N[(N[(t$95$0 * N[Cos[t$95$1], $MachinePrecision]), $MachinePrecision] + N[(N[Cos[N[(0.5 * eps), $MachinePrecision]], $MachinePrecision] * N[Sin[t$95$1], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]
\cos \left(x + \varepsilon\right) - \cos x
↓
\begin{array}{l}
t_0 := \sin \left(0.5 \cdot \varepsilon\right)\\
t_1 := 0.5 \cdot \left(x + x\right)\\
-2 \cdot \left(t_0 \cdot \left(t_0 \cdot \cos t_1 + \cos \left(0.5 \cdot \varepsilon\right) \cdot \sin t_1\right)\right)
\end{array}
Alternatives Alternative 1 Accuracy 99.4% Cost 33600
\[\begin{array}{l}
t_0 := \sin \left(0.5 \cdot \varepsilon\right)\\
t_1 := 0.5 \cdot \left(x + x\right)\\
-2 \cdot \left(t_0 \cdot \left(t_0 \cdot \cos t_1 + \cos \left(0.5 \cdot \varepsilon\right) \cdot \sin t_1\right)\right)
\end{array}
\]
Alternative 2 Accuracy 99.2% Cost 32841
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.000145 \lor \neg \left(\varepsilon \leq 0.00017\right):\\
\;\;\;\;\left(\cos x \cdot \cos \varepsilon - \sin x \cdot \sin \varepsilon\right) - \cos x\\
\mathbf{else}:\\
\;\;\;\;-0.5 \cdot \left(\varepsilon \cdot \left(\varepsilon \cdot \cos x\right)\right) + \sin x \cdot \left(0.16666666666666666 \cdot {\varepsilon}^{3} - \varepsilon\right)\\
\end{array}
\]
Alternative 3 Accuracy 77.2% Cost 13768
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -0.0035:\\
\;\;\;\;-2 \cdot {\sin \left(0.5 \cdot \varepsilon\right)}^{2}\\
\mathbf{elif}\;\varepsilon \leq 0.18:\\
\;\;\;\;-0.5 \cdot \left(\varepsilon \cdot \left(\varepsilon \cdot \cos x\right)\right) - \varepsilon \cdot \sin x\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon - \cos x\\
\end{array}
\]
Alternative 4 Accuracy 76.9% Cost 13632
\[-2 \cdot \left(\sin \left(0.5 \cdot \varepsilon\right) \cdot \sin \left(0.5 \cdot \left(\varepsilon - -2 \cdot x\right)\right)\right)
\]
Alternative 5 Accuracy 66.0% Cost 13516
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -1.2 \cdot 10^{-6}:\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{elif}\;\varepsilon \leq 1.7 \cdot 10^{-112}:\\
\;\;\;\;\sin x \cdot \left(-\varepsilon\right)\\
\mathbf{elif}\;\varepsilon \leq 235000000000:\\
\;\;\;\;-\frac{{\sin \varepsilon}^{2}}{2}\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon - \cos x\\
\end{array}
\]
Alternative 6 Accuracy 69.1% Cost 13513
\[\begin{array}{l}
t_0 := \sin \left(0.5 \cdot \varepsilon\right)\\
\mathbf{if}\;x \leq -1.32 \cdot 10^{-86} \lor \neg \left(x \leq 4.7 \cdot 10^{-7}\right):\\
\;\;\;\;-2 \cdot \left(t_0 \cdot \sin x\right)\\
\mathbf{else}:\\
\;\;\;\;-2 \cdot {t_0}^{2}\\
\end{array}
\]
Alternative 7 Accuracy 66.2% Cost 13449
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -1.9 \cdot 10^{-13} \lor \neg \left(\varepsilon \leq 1.8 \cdot 10^{-112}\right):\\
\;\;\;\;-2 \cdot {\sin \left(0.5 \cdot \varepsilon\right)}^{2}\\
\mathbf{else}:\\
\;\;\;\;\sin x \cdot \left(-\varepsilon\right)\\
\end{array}
\]
Alternative 8 Accuracy 66.0% Cost 13388
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -1.5 \cdot 10^{-5}:\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{elif}\;\varepsilon \leq 1.8 \cdot 10^{-112}:\\
\;\;\;\;\sin x \cdot \left(-\varepsilon\right)\\
\mathbf{elif}\;\varepsilon \leq 235000000000:\\
\;\;\;\;-0.5 \cdot \left(\varepsilon \cdot \varepsilon\right)\\
\mathbf{else}:\\
\;\;\;\;\cos \varepsilon - \cos x\\
\end{array}
\]
Alternative 9 Accuracy 66.1% Cost 6988
\[\begin{array}{l}
t_0 := \cos \varepsilon + -1\\
\mathbf{if}\;\varepsilon \leq -4.8 \cdot 10^{-5}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;\varepsilon \leq 1.75 \cdot 10^{-112}:\\
\;\;\;\;\sin x \cdot \left(-\varepsilon\right)\\
\mathbf{elif}\;\varepsilon \leq 0.18:\\
\;\;\;\;-0.5 \cdot \left(\varepsilon \cdot \varepsilon\right)\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
Alternative 10 Accuracy 47.3% Cost 6857
\[\begin{array}{l}
\mathbf{if}\;\varepsilon \leq -9.2 \cdot 10^{-7} \lor \neg \left(\varepsilon \leq 0.18\right):\\
\;\;\;\;\cos \varepsilon + -1\\
\mathbf{else}:\\
\;\;\;\;-0.5 \cdot \left(\varepsilon \cdot \varepsilon\right)\\
\end{array}
\]
Alternative 11 Accuracy 21.7% Cost 320
\[-0.5 \cdot \left(\varepsilon \cdot \varepsilon\right)
\]
Alternative 12 Accuracy 12.8% Cost 64
\[0
\]