With newlib's default compiler flags(-O2 and whatnot), the GCC I'm using creates calls to __aeabi_(f|d)div. This causes a little extra register copying and an unnecessary branch. Additionally, __aeabi_?div may throw exceptions, which is probably not what we want a simple assignment to do. Compiler version tested: arm-none-eabi-gcc (15:5.4.1+svn241155-1) 5.4.1 20160919 -Richard