Changes from the 701 included the use of core memory (instead of Williams tubes) and addition of three index registers. To support these new features, the instructions were expanded to use the full 36-bit word. The new instruction set became the base for the IBM 700/7000 series scientific computers.
To quote the IBM 704 Manual of operation (see external links below):
IBM stated that the device was capable of executing up to 40,000 instructions per second. IBM sold 123 type 704 systems from 1955 to 1960.
In 1962 physicist John Larry Kelly, Jr created one of the most famous moments in the history of Bell Labs by using an IBM 704 computer to synthesize speech. Kelly's voice recorder synthesizer vocoder recreated the song Daisy Bell, with musical accompaniment from Max Mathews. Arthur C. Clarke of 2001: A Space Odyssey fame was coincidentally visiting friend and colleague John Pierce at the Bell Labs Murray Hill facility at the time of this remarkable speech synthesis demonstration and was so impressed that he used it in the climactic scene of his novel and screenplay for 2001: A Space Odyssey, where the HAL 9000 computer sings the same song.
Ed Thorp also used the IBM 704 as a research tool, investigating the probabilities of winning while developing his blackjack gaming theory. He used Fortran to formulate the equations of his research model.
The IBM 704 was used as the official tracker for the Smithsonian Astrophysical Observatory Operation Moonwatch in the fall of 1957. See The M.I.T. Computation Center and Operation Moonwatch. IBM provided four staff scientists to aid Smithsonian Astrophysical Observatory scientists and mathematicians in the calculation of satellite orbits: Dr. Giampiero Rossoni, Satellite Coordinator of IBM Applied Science (Cambridge), Dr. John Greenstadt, Thomas Apple and Richard Hatch.
The basic instruction format was a 3-bit prefix, 15-bit decrement, 3-bit tag, and 15-bit address. The prefix field specified the class of instruction. The decrement field often contained an immediate operand to modify the results of the operation, or was used to further define the instruction type. The three bits of the tag specified any combination of three "decrement registers", an early kind of index registers in which the contents of the registers were subtracted from the address to produce an effective address. The address field either contained an address or an immediate operand.