The first example below seems OK. But, should I be expecting the different behaviour in the second example?
> restart:
> p := module() option package; export foo;
> foo:=proc(x) x; end proc;
> end module:
> foo := proc(x) cos(x); end proc:
> foo(3.2);
-0.9982947758
> p:-foo(3.2);
3.2
> evalhf(p:-foo(3.2)); # OK
3.20000000000000018
> restart:
> p := module() option package; export sin;
> sin:=proc(x) x; end proc;
> end module:
> sin(3.2);
-0.05837414343
> p:-sin(3.2);
3.2
> evalhf(p:-sin(3.2)); # ?
-0.0583741434275800858
acer