The previous expression intended to avoid decimal arithmetic, but gcc optimizes the simple division better (using cmovns-add-sar) than the current INT64_AU32 (jmp-sar) so I changed it. This doesn't suffer overflow.
How does this affect non-gcc compilers? Specifically I am interested in the llvm based compilers in FreeBSD. Or is this within a gcc-specific section of the header?