shifting by 0 is not a proper substitute for Math.floor