Negative values are specified in the spec. I think the shifts are correct, but did you check they were?