Your compiler are using the following formula:
m = -4 - (Trunc(-4 / 5) * 5) m = -4 - (Trunc(-0.8) * 5) m = -4 - (0 * 5) m = -4 - 0 m = -4
Instead of:
m = -4 - (Floor(-4 / 5) * 5) m = -4 - (Floor(-0.8) * 5) m = -4 - (-1 * 5) m = -4 - (-5) m = 1