Institution: Stanford University, Department of Computer Science

Title: Addition machines

Author: Floyd, Robert W.

Author: Knuth, Donald E.

Date: July 1989

Abstract: An addition machine is a computing device with a finite number of registers, limited to the following six types of operations: read x {input to register x} x <-- y {copy register y to register x} x <-- x + y {add register y to register x} x <-- x - y {subtract register y from register x} if x >= y {compare register x to register y} write x {output from register x} The register contents are assumed to belong to a given set A, which is an additive subgroup of the real numbers. If A is the set of all integers, we say the device is an integer addition machine; if A is the set of all real numbers, we say the device is a real addition machine. We will consider how efficiently an integer addition machine can do operations such multiplication, division, greatest common divisor, exponentiation, and sorting. We will also show that any addition machine with at least six registers can compute the ternary operation x[y/z] with reasonable efficiency, given x, y, z in A with z not equal to 0.

http://i.stanford.edu/pub/cstr/reports/cs/tr/89/1268/CS-TR-89-1268.pdf