is already masked to 16 bits but the compiler is not smart enough to know that there is no loss of precision.