["< sod > in order to determine the inverse square root, an approximation for < math > x ^ { - 1 / 2 } < / math > would be determined by the software, then some numerical method would revise that approximation until it came within an acceptable error range of the actual result. [ [ methods of computing square roots | common software methods ] ] in the early 1990s drew a first approximation from a [ [ lookup table ] ]. { { sfntag | eberly | 2001 | p = 504 } } this bit of code proved faster than table lookups and approximately four times faster than regular floating point division. { { sfntag | lomont | 2003 | p = 1 } } some loss of precision occurred, but was offset by the significant gains in performance. { { sfntag | mceniry | 2007 | p = 1 } } the algorithm was designed with the [ [ ieee 754 - 1985 ] ] and 32 - bit fast floating point specification in mind, but investigation from chris lomont and later charles mceniry showed that it not could be implemented in other floating point specifications. < eod > < sod > at the time, the general method to compute the inverse square root was to calculate an approximation for { { math | 1 / { { radical |'' x'' } } } }, then revise that approximation via another method until it came within an acceptable error range of the actual result. [ [ methods of computing square roots | common software methods ] ] in the early 1990s drew approximations from a [ [ lookup table ] ]. { { sfn | eberly | 2001 | p = 504 } } the key of the fast inverse square root was to directly help compute an approximation by exploiting the structure of floating - point numbers, proving faster than table lookups. the algorithm was approximately four times faster than computing the square root with another method and calculating the reciprocal via floating point division. { { sfn | lomont | h 2003 | p = 1 } } some loss of precision occurred, but was offset by the significant gains in performance. { { sfn | mceniry | 2007 | p = 1 } } the algorithm was designed with the [ [ ieee 754 - 1985 ] ] 32 - bit floating point division specification in mind, but investigation from chris lomont and later charles mceniry showed that it could be implemented in other floating point specifications. < eod >"]