### Signal Flow Diagrams

For further details on the pre- and post-normalization process,
see Pre- and Post-Normalization.

#### CORDIC Hyperbolic Kernel

*X* is initialized to `u'+.25`

,
and *Y* is initialized to `u'-.25`

,
where `u'`

is the normalized function input.

With repeated iterations of the CORDIC hyperbolic kernel, *X* approaches $${A}_{N}\sqrt{u\text{'}}$$,
where *A*_{N} represents the
CORDIC gain. *Y* approaches `0`

.

### Pre- and Post-Normalization

For input values outside of the range of [0.5, 2) a pre- and
post-normalization process occurs. This process performs bitshifts
on the input array before passing it to the CORDIC kernel. The result
is then shifted back into the correct output range during the post-normalization
stage. For more details on this process see "Overcoming Algorithm
Input Range Limitations" in Compute Square Root Using CORDIC.

### fimath Propagation Rules

CORDIC functions discard any local `fimath`

attached
to the input.

The CORDIC functions use their own internal `fimath`

when
performing calculations:

`OverflowAction`

—`Wrap`

`RoundingMethod`

—`Floor`

The output has no attached `fimath`

.