<<One concern is that many of our embedded machines don't have divide instructions, and/or the divide instructions takes an ungoodly amount of cycles (also if the divide emulation functions happened to contain a switch that the compiler would do via hashing). >> Why on earth would one choose to do a divide, given that this is indeed the case?