\subsection{\index{fsqrtiaprx}fsqrtiaprx}

\index{floating point square root inverse approximation}
Floating point SQuare RooT Inverse APpRoXimation


\begin{tabular}{l}
  {\bf fsqrtiaprx[x] r2, r1} \\
  {\bf sfsqrtiaprx[x] r2, r1} \\
\end{tabular}

~~~~~~
{\bf fsqrtiaprx} approximates the inverse of the square root of r2
({\it 1/�r2}) with the help of
a hardwired lookup table and puts the result into r1. This operation is used
at the beginning of a Newton-Raphson algorithm to compute a square root. The
accuracy
of the lookup table depends on the application, and the number of NR iteration
also depends on the desired accuracy and the size of the FP number.

\begin{center}

\begin{tabular}{|l|l|l|l|l|l|}
 \hline
\multicolumn{1}{|r| }{size :
} & \multicolumn{1}{c| }{8
} & \multicolumn{1}{c| }{4
} & \multicolumn{1}{c| }{8
} & \multicolumn{1}{c| }{6
} & \multicolumn{1}{c| }{6
 } \\
 \hline
\multicolumn{1}{|r| }{bits :
} & {31 ~ ~ ~ ~ ~ ~ ~ ~ 24
} & {23 ~ ~ ~ ~ 20
} & {19 ~ ~ ~ ~ ~ ~ ~ ~ 12
} & {11 ~ ~ ~ ~ ~ ~ 6
} & {5 ~ ~ ~ ~ ~ ~ 0
 } \\
 \hline
\multicolumn{1}{|r| }{function :
} & \multicolumn{1}{c| }{OP\_FSQRTIAPRX
} & \multicolumn{1}{c| }{Flags
} & \multicolumn{1}{c| }{0
} & \multicolumn{1}{c| }{Reg 2
} & \multicolumn{1}{c| }{Reg 1
}
\\ \hline

\end{tabular}



\begin{tabular}{|l|l|l|l|}
 \hline
\multicolumn{1}{|c| }{~ ~ Flags ~ ~
} & \multicolumn{1}{c| }{Syntax
} & {Values
} & {Function
 } \\
 \hline
\multicolumn{1}{|c| }{23-22
} & {.[??] postfix
} & {00 : 32-bit FP
} & {Defines the size parameter
 } \\
\multicolumn{1}{|c| }{
} & {
} & {01 : 64-bit FP
} & {
 } \\
 \hline
\multicolumn{1}{|c| }{21
} & {s- prefix
} & {1 if set
} & {Defines if the operation is SIMD
 } \\
 \hline
\multicolumn{1}{|c| }{20
} & {-x postfix
} & {1 to skip the tests
} & {IEEE compliance flag
}
\\ \hline

\end{tabular}


~

\end{center}

\pagebreak

