double code(double x, double eps) {
return cos((x + eps)) - cos(x);
}
↓
double code(double x, double eps) {
double t_0 = sin(eps) * sin(x);
double t_1 = fma(-sin(eps), sin(x), t_0);
double t_2 = pow(sin(x), 2.0);
double tmp;
if (eps <= -0.00155) {
tmp = fma(cos(x), cos(eps), fma(sin(eps), -sin(x), t_1)) - cos(x);
} else if (eps <= 0.00175) {
tmp = log1p(((pow(eps, 3.0) * ((-0.16666666666666666 * pow(sin(x), 3.0)) + ((0.5 * (cos(x) * sin(x))) + (sin(x) * 0.16666666666666666)))) + ((pow(eps, 4.0) * ((cos(x) * 0.041666666666666664) + ((-0.25 * (cos(x) * t_2)) + ((0.125 * pow(cos(x), 2.0)) + ((0.041666666666666664 * pow(sin(x), 4.0)) + (-0.16666666666666666 * t_2)))))) + ((pow(eps, 2.0) * ((0.5 * t_2) + (cos(x) * -0.5))) - (eps * sin(x))))));
} else {
tmp = t_1 + ((cos(x) * (cos(eps) + -1.0)) - t_0);
}
return tmp;
}
function code(x, eps)
return Float64(cos(Float64(x + eps)) - cos(x))
end
↓
function code(x, eps)
t_0 = Float64(sin(eps) * sin(x))
t_1 = fma(Float64(-sin(eps)), sin(x), t_0)
t_2 = sin(x) ^ 2.0
tmp = 0.0
if (eps <= -0.00155)
tmp = Float64(fma(cos(x), cos(eps), fma(sin(eps), Float64(-sin(x)), t_1)) - cos(x));
elseif (eps <= 0.00175)
tmp = log1p(Float64(Float64((eps ^ 3.0) * Float64(Float64(-0.16666666666666666 * (sin(x) ^ 3.0)) + Float64(Float64(0.5 * Float64(cos(x) * sin(x))) + Float64(sin(x) * 0.16666666666666666)))) + Float64(Float64((eps ^ 4.0) * Float64(Float64(cos(x) * 0.041666666666666664) + Float64(Float64(-0.25 * Float64(cos(x) * t_2)) + Float64(Float64(0.125 * (cos(x) ^ 2.0)) + Float64(Float64(0.041666666666666664 * (sin(x) ^ 4.0)) + Float64(-0.16666666666666666 * t_2)))))) + Float64(Float64((eps ^ 2.0) * Float64(Float64(0.5 * t_2) + Float64(cos(x) * -0.5))) - Float64(eps * sin(x))))));
else
tmp = Float64(t_1 + Float64(Float64(cos(x) * Float64(cos(eps) + -1.0)) - t_0));
end
return tmp
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[(N[Sin[eps], $MachinePrecision] * N[Sin[x], $MachinePrecision]), $MachinePrecision]}, Block[{t$95$1 = N[((-N[Sin[eps], $MachinePrecision]) * N[Sin[x], $MachinePrecision] + t$95$0), $MachinePrecision]}, Block[{t$95$2 = N[Power[N[Sin[x], $MachinePrecision], 2.0], $MachinePrecision]}, If[LessEqual[eps, -0.00155], N[(N[(N[Cos[x], $MachinePrecision] * N[Cos[eps], $MachinePrecision] + N[(N[Sin[eps], $MachinePrecision] * (-N[Sin[x], $MachinePrecision]) + t$95$1), $MachinePrecision]), $MachinePrecision] - N[Cos[x], $MachinePrecision]), $MachinePrecision], If[LessEqual[eps, 0.00175], N[Log[1 + N[(N[(N[Power[eps, 3.0], $MachinePrecision] * N[(N[(-0.16666666666666666 * N[Power[N[Sin[x], $MachinePrecision], 3.0], $MachinePrecision]), $MachinePrecision] + N[(N[(0.5 * N[(N[Cos[x], $MachinePrecision] * N[Sin[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[Sin[x], $MachinePrecision] * 0.16666666666666666), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Power[eps, 4.0], $MachinePrecision] * N[(N[(N[Cos[x], $MachinePrecision] * 0.041666666666666664), $MachinePrecision] + N[(N[(-0.25 * N[(N[Cos[x], $MachinePrecision] * t$95$2), $MachinePrecision]), $MachinePrecision] + N[(N[(0.125 * N[Power[N[Cos[x], $MachinePrecision], 2.0], $MachinePrecision]), $MachinePrecision] + N[(N[(0.041666666666666664 * N[Power[N[Sin[x], $MachinePrecision], 4.0], $MachinePrecision]), $MachinePrecision] + N[(-0.16666666666666666 * t$95$2), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Power[eps, 2.0], $MachinePrecision] * N[(N[(0.5 * t$95$2), $MachinePrecision] + N[(N[Cos[x], $MachinePrecision] * -0.5), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(eps * N[Sin[x], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]], $MachinePrecision], N[(t$95$1 + N[(N[(N[Cos[x], $MachinePrecision] * N[(N[Cos[eps], $MachinePrecision] + -1.0), $MachinePrecision]), $MachinePrecision] - t$95$0), $MachinePrecision]), $MachinePrecision]]]]]]