> (%i7) sin(%pi),numer;
> (%o7) 1.224606353822377E-16
>
> Why the result in %o7??. The number in %o7 is very small, but
> should must be zero??
"numer" means: convert everything to floating point for the
evaluation. So it first converts %pi to a floating-point number --
which is inherently an approximation -- then calculates the sine of
that number numerically. The sine of %pi plus epsilon (a small error)
is not zero, but -epsilon.
You will see this on any numeric system.
If on the other hand you want the floating-point value of the *exact*
expression sin(%pi), try float(sin(%pi)). In that case, Maxima will
first simplify the expression sin(%pi) to zero, and only then evaluate
that as a floating-point number.
Beware -- floating-point calculations in general are more subtle than
you might think.
-s