Computing the remainder while working with bounded integer representatives. Repeated doubling and addition can avoid forming an overflowing product: process the binary digits of , double the current contribution modulo , and add it to the result whenever the current binary digit is 1. The additions themselves must also use an overflow-safe implementation.