Скорее всего, при пересчете идет переполнение выделенных регистров, т.е. не хватает разрядности и старшие биты не участвовали в формировании результата...