Weslley S. Pereira, University of Colorado Denver, U.S. !>
!> Real values for test:
!> (1) x = 2**m, where m = MINEXPONENT-DIGITS, ..., MINEXPONENT-1. Stop on the first success.
!> Mind that not all platforms might implement subnormal numbers.
!> (2) x = 2**m, where m = MINEXPONENT, ..., 0. Stop on the first success.
!> (3) x = OV, where OV is the overflow threshold. OV^2 overflows but the norm is OV.
!> (4) x = 2**m, where m = MAXEXPONENT-1, ..., 1. Stop on the first success.
!>
!> Tests:
!> (a) y = x + 0 * I, |y| = x
!> (b) y = 0 + x * I, |y| = x
!> (c) y = (3/4)*x + x * I, |y| = (5/4)*x whenever (3/4)*x and (5/4)*x can be exactly stored
!> (d) y = (1/2)*x + (1/2)*x * I, |y| = (1/2)*x*sqrt(2) whenever (1/2)*x can be exactly stored
!>
!> Special cases:
!>
!> (i) Inf propagation
!> (1) y = Inf + 0 * I, |y| is Inf.
!> (2) y =-Inf + 0 * I, |y| is Inf.
!> (3) y = 0 + Inf * I, |y| is Inf.
!> (4) y = 0 - Inf * I, |y| is Inf.
!> (5) y = Inf + Inf * I, |y| is Inf.
!>
!> (n) NaN propagation
!> (1) y = NaN + 0 * I, |y| is NaN.
!> (2) y = 0 + NaN * I, |y| is NaN.
!> (3) y = NaN + NaN * I, |y| is NaN.
!>
!>