# Why was this MIPS US 6912559 patent granted given decades-old prior art?

US Patent 6912559 (filing and priority dates both July 30th, 1999) is for what appears to be the Newton-Raphson algorithm for 1/x and 1/sqrt(x) as well as four instructions, two initial-estimate instructions and two NR-step instructions.

But didn't such instructions or methods exist way before 1999? The Cray-1 (1975) and Cray X-MP (1982) both did floating-point division using reciprocal estimates, so the concept must not have been unknown at the time.

In 1981, the book "The Architecture of Pipelined Computers" by Peter M. Kogge even mentioned of the Cray-1 in a casually throwaway fashion on p. 171 that

"Most vector instructions have the same format as their scalar equivalents, that is a 16-bit instruction having a 7-bit opcode and specification of three of the vector registers. The operations that may be specified include add, subtract, multiply, reciprocal estimate, logicals, and shifts." (emphasis added)

In 1998 AMD released the AMD K6-2, which implemented the 3DNow! instruction set extensions that contained amongst others a reciprocal/reciprocal square root estimate and step.

-

The AMD 3d now! was brought to the attention of the examiner during prosecution. It was NPL ref. #1.

-

The first independent claim appears to be drawn to a specific method of calculation:

1. A computer method for approximating the reciprocal square root of a number, comprising:

(a) estimating the reciprocal square root of the number to produce an estimate (Xi);

(b) multiplying said estimate by the number to produce a first intermediate result (IR1);

(c) determining a second intermediate result (IR2) according to the equation: IR2=(1−Xi*IR1)/2;

(d) multiplying said second intermediate result by said estimate to produce a third intermediate result; and

(e) adding said third intermediate result to said estimate to produce an approximation of the reciprocal square root of the number.

Is that exactly how any of those previous systems operate?

-
I'd have to do more research to tell, but in the meanwhile this claim is just recounting the very well-known Newton-Raphson iteration for 1/sqrt(x): g' = g*(1.5-0.5*xgg). The method above isn't exactly that, but is a mathematical equivalent. If particular ways of evaluating the above are numerically stabler, I'd expect mathematicians and numerical analysts to have figured it out before computers even came out. – Iwillnotexist Idonotexist Jul 28 '14 at 17:32