A method performed by a quantum computing system comprising quantum computing hardware in communication with one or more classical processors for performing a product addition operation on a target quantum register of qubits of the quantum hardware and a source quantum register of qubits of the quantum hardware, the method comprising: determining, by the one or more classical processors, multiple entries of a lookup table, comprising, for each index in a first set of indices corresponding to indices of the lookup table, wherein the first set of indices comprises index values between zero and a maximum index value equal to two to the power of a predetermined window size, multiplying the index value by a scalar for the product addition operation, wherein the predetermined window size is an integer being log 2 n, where n represents a number of logical qubits in the target quantum register; writing, by the one or more classical processors, each of the multiple entries of the lookup table to a lookup table at the respective index value of the entry in the lookup table; and for each index in a second set of indices, wherein the second set of indices comprises index values between zero and a maximum index value that is equal to the length of the source quantum register, wherein the index values are stepped by the predetermined window size: determining, using the quantum computing hardware, multiple address values, comprising: extracting source register values corresponding to indices between i) the index in the second set of indices, and ii) the index in the second set of indices plus the predetermined window size; and setting the multiple address values equal to respective extracted source quantum register values; and adjusting, using the quantum computing hardware, values of the target quantum register based on the determined multiple entries of the lookup table and the determined multiple address values, the adjusting comprising: computing a table lookup into a temporary quantum register using the determined multiple entries of the lookup table and the determined multiple address values; adding the temporary quantum register into the target quantum register; and uncomputing the table lookup. determining, by the one or more classical processors, multiple entries of a lookup table, comprising, for each index in a first set of indices corresponding to indices of the lookup table, wherein the first set of indices comprises index values between zero and a maximum index value equal to two to the power of a predetermined window size, multiplying the index value by a scalar for the product addition operation, wherein the predetermined window size is an integer being log 2 n, where n represents a number of logical qubits in the target quantum register; writing, by the one or more classical processors, each of the multiple entries of the lookup table to a lookup table at the respective index value of the entry in the lookup table; and for each index in a second set of indices, wherein the second set of indices comprises index values between zero and a maximum index value that is equal to the length of the source quantum register, wherein the index values are stepped by the predetermined window size: determining, using the quantum computing hardware, multiple address values, comprising: extracting source register values corresponding to indices between i) the index in the second set of indices, and ii) the index in the second set of indices plus the predetermined window size; and setting the multiple address values equal to respective extracted source quantum register values; and adjusting, using the quantum computing hardware, values of the target quantum register based on the determined multiple entries of the lookup table and the determined multiple address values, the adjusting comprising: computing a table lookup into a temporary quantum register using the determined multiple entries of the lookup table and the determined multiple address values; adding the temporary quantum register into the target quantum register; and uncomputing the table lookup. determining, using the quantum computing hardware, multiple address values, comprising: extracting source register values corresponding to indices between i) the index in the second set of indices, and ii) the index in the second set of indices plus the predetermined window size; and setting the multiple address values equal to respective extracted source quantum register values; and adjusting, using the quantum computing hardware, values of the target quantum register based on the determined multiple entries of the lookup table and the determined multiple address values, the adjusting comprising: computing a table lookup into a temporary quantum register using the determined multiple entries of the lookup table and the determined multiple address values; adding the temporary quantum register into the target quantum register; and uncomputing the table lookup. computing a table lookup into a temporary quantum register using the determined multiple entries of the lookup table and the determined multiple address values; adding the temporary quantum register into the target quantum register; and uncomputing the table lookup.