The Color Basic floating point stuff is actually optimized (or mangled) somewhat for size and does a lot of jumping around which slows it down some. It also has some other weirdness as a result.

This may be inherited from other systems, but it uses a bitwise add and shift algorithm for multiplication which may be slower than an equivalent using mul.