(magnitude 1) => 1.0
This is not a bug; R6RS 11.7.1 explicitly permits (but does
not require) magnitude to return an inexact result for exact
arguments. Programs that expect magnitude to return an exact
result on exact arguments are not portable.
I have logged this as a requested enhancement. See
https://trac.ccs.neu.edu/trac/larceny/ticket/663
Will