Floating-point gives me heebie-jeebies too.
(in fact, a floating conversion seems to be what makes the |>> method fail for @_ = (0)
--then again, log(0) doesn't work either, and the |>> method does work for @_=(0) if you use integer;)
P.S. Why does an opcode fetch take longer than a transcendental function?
I'm sure that part of the interpreter must have been fully optimized.