diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:23:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-16 19:23:18 +0000 |
commit | 43a123c1ae6613b3efeed291fa552ecd909d3acf (patch) | |
tree | fd92518b7024bc74031f78a1cf9e454b65e73665 /test/cmplxdivide1.go | |
parent | Initial commit. (diff) | |
download | golang-1.20-43a123c1ae6613b3efeed291fa552ecd909d3acf.tar.xz golang-1.20-43a123c1ae6613b3efeed291fa552ecd909d3acf.zip |
Adding upstream version 1.20.14.upstream/1.20.14upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/cmplxdivide1.go')
-rw-r--r-- | test/cmplxdivide1.go | 4114 |
1 files changed, 4114 insertions, 0 deletions
diff --git a/test/cmplxdivide1.go b/test/cmplxdivide1.go new file mode 100644 index 0000000..a52fb6f --- /dev/null +++ b/test/cmplxdivide1.go @@ -0,0 +1,4114 @@ +// skip +// # generated by cmplxdivide.c + +package main + +import "math" + +var ( + nan = math.NaN() + inf = math.Inf(1) + zero = 0.0 +) + +var tests = []struct { + f, g complex128 + out complex128 +}{ + {complex(zero, zero), complex(zero, zero), complex(nan, nan)}, + {complex(zero, zero), complex(zero, -zero), complex(nan, nan)}, + {complex(zero, zero), complex(zero, 1), complex(zero, zero)}, + {complex(zero, zero), complex(zero, -1), complex(-zero, zero)}, + {complex(zero, zero), complex(zero, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(zero, zero), complex(nan, nan)}, + {complex(zero, zero), complex(-zero, -zero), complex(nan, nan)}, + {complex(zero, zero), complex(zero, 1), complex(zero, zero)}, + {complex(zero, zero), complex(-zero, -1), complex(-zero, -zero)}, + {complex(zero, zero), complex(zero, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(1, zero), complex(zero, zero)}, + {complex(zero, zero), complex(1, -zero), complex(zero, zero)}, + {complex(zero, zero), complex(1, 1), complex(zero, zero)}, + {complex(zero, zero), complex(1, -1), complex(zero, zero)}, + {complex(zero, zero), complex(1, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(-1, zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, -zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, 1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, -1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, 2), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(2, zero), complex(zero, zero)}, + {complex(zero, zero), complex(2, -zero), complex(zero, zero)}, + {complex(zero, zero), complex(2, 1), complex(zero, zero)}, + {complex(zero, zero), complex(2, -1), complex(zero, zero)}, + {complex(zero, zero), complex(2, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(nan, zero), complex(nan, nan)}, + {complex(zero, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, zero), complex(nan, 1), complex(nan, nan)}, + {complex(zero, zero), complex(nan, -1), complex(nan, nan)}, + {complex(zero, zero), complex(nan, 2), complex(nan, nan)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(inf, zero), complex(zero, zero)}, + {complex(zero, zero), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, zero), complex(inf, 1), complex(zero, zero)}, + {complex(zero, zero), complex(inf, -1), complex(zero, zero)}, + {complex(zero, zero), complex(inf, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, -1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(zero, zero), complex(nan, nan)}, + {complex(zero, -zero), complex(zero, -zero), complex(nan, nan)}, + {complex(zero, -zero), complex(zero, 1), complex(zero, -zero)}, + {complex(zero, -zero), complex(zero, -1), complex(zero, -zero)}, + {complex(zero, -zero), complex(zero, 2), complex(zero, -zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(zero, zero), complex(nan, nan)}, + {complex(zero, -zero), complex(-zero, -zero), complex(nan, nan)}, + {complex(zero, -zero), complex(zero, 1), complex(zero, -zero)}, + {complex(zero, -zero), complex(-zero, -1), complex(-zero, zero)}, + {complex(zero, -zero), complex(zero, 2), complex(zero, -zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(1, zero), complex(zero, -zero)}, + {complex(zero, -zero), complex(1, -zero), complex(zero, zero)}, + {complex(zero, -zero), complex(1, 1), complex(zero, -zero)}, + {complex(zero, -zero), complex(1, -1), complex(zero, zero)}, + {complex(zero, -zero), complex(1, 2), complex(zero, -zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(-1, zero), complex(-zero, -zero)}, + {complex(zero, -zero), complex(-1, -zero), complex(-zero, zero)}, + {complex(zero, -zero), complex(-1, 1), complex(-zero, -zero)}, + {complex(zero, -zero), complex(-1, -1), complex(-zero, zero)}, + {complex(zero, -zero), complex(-1, 2), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(2, zero), complex(zero, -zero)}, + {complex(zero, -zero), complex(2, -zero), complex(zero, zero)}, + {complex(zero, -zero), complex(2, 1), complex(zero, -zero)}, + {complex(zero, -zero), complex(2, -1), complex(zero, zero)}, + {complex(zero, -zero), complex(2, 2), complex(zero, -zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(inf, zero), complex(zero, -zero)}, + {complex(zero, -zero), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, -zero), complex(inf, 1), complex(zero, -zero)}, + {complex(zero, -zero), complex(inf, -1), complex(zero, zero)}, + {complex(zero, -zero), complex(inf, 2), complex(zero, -zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, -zero), complex(-inf, -zero), complex(-zero, zero)}, + {complex(zero, -zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, -zero), complex(-inf, -1), complex(-zero, zero)}, + {complex(zero, -zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -zero), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, 1), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 1), complex(zero, -zero), complex(nan, inf)}, + {complex(zero, 1), complex(zero, 1), complex(1, zero)}, + {complex(zero, 1), complex(zero, -1), complex(-1, zero)}, + {complex(zero, 1), complex(zero, 2), complex(0.5, zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 1), complex(-zero, -zero), complex(nan, -inf)}, + {complex(zero, 1), complex(zero, 1), complex(1, zero)}, + {complex(zero, 1), complex(-zero, -1), complex(-1, -zero)}, + {complex(zero, 1), complex(zero, 2), complex(0.5, zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(1, zero), complex(zero, 1)}, + {complex(zero, 1), complex(1, -zero), complex(zero, 1)}, + {complex(zero, 1), complex(1, 1), complex(0.5, 0.5)}, + {complex(zero, 1), complex(1, -1), complex(-0.5, 0.5)}, + {complex(zero, 1), complex(1, 2), complex(0.4, 0.2)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(-1, zero), complex(-zero, -1)}, + {complex(zero, 1), complex(-1, -zero), complex(-zero, -1)}, + {complex(zero, 1), complex(-1, 1), complex(0.5, -0.5)}, + {complex(zero, 1), complex(-1, -1), complex(-0.5, -0.5)}, + {complex(zero, 1), complex(-1, 2), complex(0.4, -0.2)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(2, zero), complex(zero, 0.5)}, + {complex(zero, 1), complex(2, -zero), complex(zero, 0.5)}, + {complex(zero, 1), complex(2, 1), complex(0.2, 0.4)}, + {complex(zero, 1), complex(2, -1), complex(-0.2, 0.4)}, + {complex(zero, 1), complex(2, 2), complex(0.25, 0.25)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(nan, zero), complex(nan, nan)}, + {complex(zero, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, 1), complex(nan, 1), complex(nan, nan)}, + {complex(zero, 1), complex(nan, -1), complex(nan, nan)}, + {complex(zero, 1), complex(nan, 2), complex(nan, nan)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(inf, zero), complex(zero, zero)}, + {complex(zero, 1), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, 1), complex(inf, 1), complex(zero, zero)}, + {complex(zero, 1), complex(inf, -1), complex(zero, zero)}, + {complex(zero, 1), complex(inf, 2), complex(zero, zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, -1), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, -1), complex(zero, zero), complex(nan, -inf)}, + {complex(zero, -1), complex(zero, -zero), complex(nan, -inf)}, + {complex(zero, -1), complex(zero, 1), complex(-1, -zero)}, + {complex(zero, -1), complex(zero, -1), complex(1, -zero)}, + {complex(zero, -1), complex(zero, 2), complex(-0.5, -zero)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(zero, zero), complex(nan, -inf)}, + {complex(zero, -1), complex(-zero, -zero), complex(nan, inf)}, + {complex(zero, -1), complex(zero, 1), complex(-1, -zero)}, + {complex(zero, -1), complex(-zero, -1), complex(1, zero)}, + {complex(zero, -1), complex(zero, 2), complex(-0.5, -zero)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(1, zero), complex(zero, -1)}, + {complex(zero, -1), complex(1, -zero), complex(zero, -1)}, + {complex(zero, -1), complex(1, 1), complex(-0.5, -0.5)}, + {complex(zero, -1), complex(1, -1), complex(0.5, -0.5)}, + {complex(zero, -1), complex(1, 2), complex(-0.4, -0.2)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(-1, zero), complex(-zero, 1)}, + {complex(zero, -1), complex(-1, -zero), complex(-zero, 1)}, + {complex(zero, -1), complex(-1, 1), complex(-0.5, 0.5)}, + {complex(zero, -1), complex(-1, -1), complex(0.5, 0.5)}, + {complex(zero, -1), complex(-1, 2), complex(-0.4, 0.2)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(2, zero), complex(zero, -0.5)}, + {complex(zero, -1), complex(2, -zero), complex(zero, -0.5)}, + {complex(zero, -1), complex(2, 1), complex(-0.2, -0.4)}, + {complex(zero, -1), complex(2, -1), complex(0.2, -0.4)}, + {complex(zero, -1), complex(2, 2), complex(-0.25, -0.25)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(nan, zero), complex(nan, nan)}, + {complex(zero, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, -1), complex(nan, 1), complex(nan, nan)}, + {complex(zero, -1), complex(nan, -1), complex(nan, nan)}, + {complex(zero, -1), complex(nan, 2), complex(nan, nan)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(inf, zero), complex(zero, -zero)}, + {complex(zero, -1), complex(inf, -zero), complex(zero, -zero)}, + {complex(zero, -1), complex(inf, 1), complex(zero, -zero)}, + {complex(zero, -1), complex(inf, -1), complex(zero, -zero)}, + {complex(zero, -1), complex(inf, 2), complex(zero, -zero)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, -1), complex(-inf, zero), complex(-zero, zero)}, + {complex(zero, -1), complex(-inf, -zero), complex(-zero, zero)}, + {complex(zero, -1), complex(-inf, 1), complex(-zero, zero)}, + {complex(zero, -1), complex(-inf, -1), complex(-zero, zero)}, + {complex(zero, -1), complex(-inf, 2), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, 2), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 2), complex(zero, -zero), complex(nan, inf)}, + {complex(zero, 2), complex(zero, 1), complex(2, zero)}, + {complex(zero, 2), complex(zero, -1), complex(-2, zero)}, + {complex(zero, 2), complex(zero, 2), complex(1, zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 2), complex(-zero, -zero), complex(nan, -inf)}, + {complex(zero, 2), complex(zero, 1), complex(2, zero)}, + {complex(zero, 2), complex(-zero, -1), complex(-2, -zero)}, + {complex(zero, 2), complex(zero, 2), complex(1, zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(1, zero), complex(zero, 2)}, + {complex(zero, 2), complex(1, -zero), complex(zero, 2)}, + {complex(zero, 2), complex(1, 1), complex(1, 1)}, + {complex(zero, 2), complex(1, -1), complex(-1, 1)}, + {complex(zero, 2), complex(1, 2), complex(0.8, 0.4)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(-1, zero), complex(-zero, -2)}, + {complex(zero, 2), complex(-1, -zero), complex(-zero, -2)}, + {complex(zero, 2), complex(-1, 1), complex(1, -1)}, + {complex(zero, 2), complex(-1, -1), complex(-1, -1)}, + {complex(zero, 2), complex(-1, 2), complex(0.8, -0.4)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(2, zero), complex(zero, 1)}, + {complex(zero, 2), complex(2, -zero), complex(zero, 1)}, + {complex(zero, 2), complex(2, 1), complex(0.4, 0.8)}, + {complex(zero, 2), complex(2, -1), complex(-0.4, 0.8)}, + {complex(zero, 2), complex(2, 2), complex(0.5, 0.5)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(nan, zero), complex(nan, nan)}, + {complex(zero, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, 2), complex(nan, 1), complex(nan, nan)}, + {complex(zero, 2), complex(nan, -1), complex(nan, nan)}, + {complex(zero, 2), complex(nan, 2), complex(nan, nan)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(inf, zero), complex(zero, zero)}, + {complex(zero, 2), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, 2), complex(inf, 1), complex(zero, zero)}, + {complex(zero, 2), complex(inf, -1), complex(zero, zero)}, + {complex(zero, 2), complex(inf, 2), complex(zero, zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, -1), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(zero, zero), complex(zero, zero), complex(nan, nan)}, + {complex(zero, zero), complex(zero, -zero), complex(nan, nan)}, + {complex(zero, zero), complex(zero, 1), complex(zero, zero)}, + {complex(zero, zero), complex(zero, -1), complex(-zero, zero)}, + {complex(zero, zero), complex(zero, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(zero, zero), complex(nan, nan)}, + {complex(zero, zero), complex(-zero, -zero), complex(nan, nan)}, + {complex(zero, zero), complex(zero, 1), complex(zero, zero)}, + {complex(zero, zero), complex(-zero, -1), complex(-zero, -zero)}, + {complex(zero, zero), complex(zero, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(1, zero), complex(zero, zero)}, + {complex(zero, zero), complex(1, -zero), complex(zero, zero)}, + {complex(zero, zero), complex(1, 1), complex(zero, zero)}, + {complex(zero, zero), complex(1, -1), complex(zero, zero)}, + {complex(zero, zero), complex(1, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(-1, zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, -zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, 1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, -1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-1, 2), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(2, zero), complex(zero, zero)}, + {complex(zero, zero), complex(2, -zero), complex(zero, zero)}, + {complex(zero, zero), complex(2, 1), complex(zero, zero)}, + {complex(zero, zero), complex(2, -1), complex(zero, zero)}, + {complex(zero, zero), complex(2, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(nan, zero), complex(nan, nan)}, + {complex(zero, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, zero), complex(nan, 1), complex(nan, nan)}, + {complex(zero, zero), complex(nan, -1), complex(nan, nan)}, + {complex(zero, zero), complex(nan, 2), complex(nan, nan)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(inf, zero), complex(zero, zero)}, + {complex(zero, zero), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, zero), complex(inf, 1), complex(zero, zero)}, + {complex(zero, zero), complex(inf, -1), complex(zero, zero)}, + {complex(zero, zero), complex(inf, 2), complex(zero, zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, -1), complex(-zero, -zero)}, + {complex(zero, zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, zero), complex(nan, nan), complex(nan, nan)}, + {complex(zero, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(-zero, -zero), complex(zero, zero), complex(nan, nan)}, + {complex(-zero, -zero), complex(zero, -zero), complex(nan, nan)}, + {complex(-zero, -zero), complex(zero, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(zero, -1), complex(-zero, -zero)}, + {complex(-zero, -zero), complex(zero, 2), complex(-zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(zero, zero), complex(nan, nan)}, + {complex(-zero, -zero), complex(-zero, -zero), complex(nan, nan)}, + {complex(-zero, -zero), complex(zero, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(-zero, -1), complex(zero, -zero)}, + {complex(-zero, -zero), complex(zero, 2), complex(-zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(1, zero), complex(-zero, zero)}, + {complex(-zero, -zero), complex(1, -zero), complex(zero, -zero)}, + {complex(-zero, -zero), complex(1, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(1, -1), complex(zero, -zero)}, + {complex(-zero, -zero), complex(1, 2), complex(-zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(-1, zero), complex(-zero, zero)}, + {complex(-zero, -zero), complex(-1, -zero), complex(zero, -zero)}, + {complex(-zero, -zero), complex(-1, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(-1, -1), complex(zero, -zero)}, + {complex(-zero, -zero), complex(-1, 2), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(2, zero), complex(-zero, zero)}, + {complex(-zero, -zero), complex(2, -zero), complex(zero, -zero)}, + {complex(-zero, -zero), complex(2, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(2, -1), complex(zero, -zero)}, + {complex(-zero, -zero), complex(2, 2), complex(-zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(inf, zero), complex(-zero, zero)}, + {complex(-zero, -zero), complex(inf, -zero), complex(zero, -zero)}, + {complex(-zero, -zero), complex(inf, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(inf, -1), complex(zero, -zero)}, + {complex(-zero, -zero), complex(inf, 2), complex(-zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(-inf, zero), complex(-zero, zero)}, + {complex(-zero, -zero), complex(-inf, -zero), complex(zero, -zero)}, + {complex(-zero, -zero), complex(-inf, 1), complex(-zero, zero)}, + {complex(-zero, -zero), complex(-inf, -1), complex(zero, -zero)}, + {complex(-zero, -zero), complex(-inf, 2), complex(-zero, zero)}, + {complex(-zero, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, 1), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 1), complex(zero, -zero), complex(nan, inf)}, + {complex(zero, 1), complex(zero, 1), complex(1, zero)}, + {complex(zero, 1), complex(zero, -1), complex(-1, zero)}, + {complex(zero, 1), complex(zero, 2), complex(0.5, zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 1), complex(-zero, -zero), complex(nan, -inf)}, + {complex(zero, 1), complex(zero, 1), complex(1, zero)}, + {complex(zero, 1), complex(-zero, -1), complex(-1, -zero)}, + {complex(zero, 1), complex(zero, 2), complex(0.5, zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(1, zero), complex(zero, 1)}, + {complex(zero, 1), complex(1, -zero), complex(zero, 1)}, + {complex(zero, 1), complex(1, 1), complex(0.5, 0.5)}, + {complex(zero, 1), complex(1, -1), complex(-0.5, 0.5)}, + {complex(zero, 1), complex(1, 2), complex(0.4, 0.2)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(-1, zero), complex(-zero, -1)}, + {complex(zero, 1), complex(-1, -zero), complex(-zero, -1)}, + {complex(zero, 1), complex(-1, 1), complex(0.5, -0.5)}, + {complex(zero, 1), complex(-1, -1), complex(-0.5, -0.5)}, + {complex(zero, 1), complex(-1, 2), complex(0.4, -0.2)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(2, zero), complex(zero, 0.5)}, + {complex(zero, 1), complex(2, -zero), complex(zero, 0.5)}, + {complex(zero, 1), complex(2, 1), complex(0.2, 0.4)}, + {complex(zero, 1), complex(2, -1), complex(-0.2, 0.4)}, + {complex(zero, 1), complex(2, 2), complex(0.25, 0.25)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(nan, zero), complex(nan, nan)}, + {complex(zero, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, 1), complex(nan, 1), complex(nan, nan)}, + {complex(zero, 1), complex(nan, -1), complex(nan, nan)}, + {complex(zero, 1), complex(nan, 2), complex(nan, nan)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(inf, zero), complex(zero, zero)}, + {complex(zero, 1), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, 1), complex(inf, 1), complex(zero, zero)}, + {complex(zero, 1), complex(inf, -1), complex(zero, zero)}, + {complex(zero, 1), complex(inf, 2), complex(zero, zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 1), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, -1), complex(-zero, -zero)}, + {complex(zero, 1), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, 1), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(zero, zero), complex(nan, -inf)}, + {complex(-zero, -1), complex(zero, -zero), complex(nan, -inf)}, + {complex(-zero, -1), complex(zero, 1), complex(-1, zero)}, + {complex(-zero, -1), complex(zero, -1), complex(1, -zero)}, + {complex(-zero, -1), complex(zero, 2), complex(-0.5, zero)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(zero, zero), complex(nan, -inf)}, + {complex(-zero, -1), complex(-zero, -zero), complex(nan, inf)}, + {complex(-zero, -1), complex(zero, 1), complex(-1, zero)}, + {complex(-zero, -1), complex(-zero, -1), complex(1, -zero)}, + {complex(-zero, -1), complex(zero, 2), complex(-0.5, zero)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(1, zero), complex(-zero, -1)}, + {complex(-zero, -1), complex(1, -zero), complex(zero, -1)}, + {complex(-zero, -1), complex(1, 1), complex(-0.5, -0.5)}, + {complex(-zero, -1), complex(1, -1), complex(0.5, -0.5)}, + {complex(-zero, -1), complex(1, 2), complex(-0.4, -0.2)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(-1, zero), complex(-zero, 1)}, + {complex(-zero, -1), complex(-1, -zero), complex(zero, 1)}, + {complex(-zero, -1), complex(-1, 1), complex(-0.5, 0.5)}, + {complex(-zero, -1), complex(-1, -1), complex(0.5, 0.5)}, + {complex(-zero, -1), complex(-1, 2), complex(-0.4, 0.2)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(2, zero), complex(-zero, -0.5)}, + {complex(-zero, -1), complex(2, -zero), complex(zero, -0.5)}, + {complex(-zero, -1), complex(2, 1), complex(-0.2, -0.4)}, + {complex(-zero, -1), complex(2, -1), complex(0.2, -0.4)}, + {complex(-zero, -1), complex(2, 2), complex(-0.25, -0.25)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(nan, zero), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, 1), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, -1), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, 2), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(inf, zero), complex(-zero, -zero)}, + {complex(-zero, -1), complex(inf, -zero), complex(zero, -zero)}, + {complex(-zero, -1), complex(inf, 1), complex(-zero, -zero)}, + {complex(-zero, -1), complex(inf, -1), complex(zero, -zero)}, + {complex(-zero, -1), complex(inf, 2), complex(-zero, -zero)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(-zero, -1), complex(-inf, zero), complex(-zero, zero)}, + {complex(-zero, -1), complex(-inf, -zero), complex(zero, zero)}, + {complex(-zero, -1), complex(-inf, 1), complex(-zero, zero)}, + {complex(-zero, -1), complex(-inf, -1), complex(zero, zero)}, + {complex(-zero, -1), complex(-inf, 2), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-zero, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-zero, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(zero, 2), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 2), complex(zero, -zero), complex(nan, inf)}, + {complex(zero, 2), complex(zero, 1), complex(2, zero)}, + {complex(zero, 2), complex(zero, -1), complex(-2, zero)}, + {complex(zero, 2), complex(zero, 2), complex(1, zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(zero, zero), complex(nan, inf)}, + {complex(zero, 2), complex(-zero, -zero), complex(nan, -inf)}, + {complex(zero, 2), complex(zero, 1), complex(2, zero)}, + {complex(zero, 2), complex(-zero, -1), complex(-2, -zero)}, + {complex(zero, 2), complex(zero, 2), complex(1, zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(1, zero), complex(zero, 2)}, + {complex(zero, 2), complex(1, -zero), complex(zero, 2)}, + {complex(zero, 2), complex(1, 1), complex(1, 1)}, + {complex(zero, 2), complex(1, -1), complex(-1, 1)}, + {complex(zero, 2), complex(1, 2), complex(0.8, 0.4)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(-1, zero), complex(-zero, -2)}, + {complex(zero, 2), complex(-1, -zero), complex(-zero, -2)}, + {complex(zero, 2), complex(-1, 1), complex(1, -1)}, + {complex(zero, 2), complex(-1, -1), complex(-1, -1)}, + {complex(zero, 2), complex(-1, 2), complex(0.8, -0.4)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(2, zero), complex(zero, 1)}, + {complex(zero, 2), complex(2, -zero), complex(zero, 1)}, + {complex(zero, 2), complex(2, 1), complex(0.4, 0.8)}, + {complex(zero, 2), complex(2, -1), complex(-0.4, 0.8)}, + {complex(zero, 2), complex(2, 2), complex(0.5, 0.5)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(nan, zero), complex(nan, nan)}, + {complex(zero, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(zero, 2), complex(nan, 1), complex(nan, nan)}, + {complex(zero, 2), complex(nan, -1), complex(nan, nan)}, + {complex(zero, 2), complex(nan, 2), complex(nan, nan)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(inf, zero), complex(zero, zero)}, + {complex(zero, 2), complex(inf, -zero), complex(zero, zero)}, + {complex(zero, 2), complex(inf, 1), complex(zero, zero)}, + {complex(zero, 2), complex(inf, -1), complex(zero, zero)}, + {complex(zero, 2), complex(inf, 2), complex(zero, zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(zero, 2), complex(-inf, zero), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, 1), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, -1), complex(-zero, -zero)}, + {complex(zero, 2), complex(-inf, 2), complex(-zero, -zero)}, + {complex(zero, 2), complex(nan, nan), complex(nan, nan)}, + {complex(zero, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(zero, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(1, zero), complex(zero, zero), complex(inf, nan)}, + {complex(1, zero), complex(zero, -zero), complex(inf, nan)}, + {complex(1, zero), complex(zero, 1), complex(zero, -1)}, + {complex(1, zero), complex(zero, -1), complex(-zero, 1)}, + {complex(1, zero), complex(zero, 2), complex(zero, -0.5)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(zero, zero), complex(inf, nan)}, + {complex(1, zero), complex(-zero, -zero), complex(-inf, nan)}, + {complex(1, zero), complex(zero, 1), complex(zero, -1)}, + {complex(1, zero), complex(-zero, -1), complex(-zero, 1)}, + {complex(1, zero), complex(zero, 2), complex(zero, -0.5)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(1, zero), complex(1, zero)}, + {complex(1, zero), complex(1, -zero), complex(1, zero)}, + {complex(1, zero), complex(1, 1), complex(0.5, -0.5)}, + {complex(1, zero), complex(1, -1), complex(0.5, 0.5)}, + {complex(1, zero), complex(1, 2), complex(0.2, -0.4)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(-1, zero), complex(-1, -zero)}, + {complex(1, zero), complex(-1, -zero), complex(-1, -zero)}, + {complex(1, zero), complex(-1, 1), complex(-0.5, -0.5)}, + {complex(1, zero), complex(-1, -1), complex(-0.5, 0.5)}, + {complex(1, zero), complex(-1, 2), complex(-0.2, -0.4)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(2, zero), complex(0.5, zero)}, + {complex(1, zero), complex(2, -zero), complex(0.5, zero)}, + {complex(1, zero), complex(2, 1), complex(0.4, -0.2)}, + {complex(1, zero), complex(2, -1), complex(0.4, 0.2)}, + {complex(1, zero), complex(2, 2), complex(0.25, -0.25)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(nan, zero), complex(nan, nan)}, + {complex(1, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(1, zero), complex(nan, 1), complex(nan, nan)}, + {complex(1, zero), complex(nan, -1), complex(nan, nan)}, + {complex(1, zero), complex(nan, 2), complex(nan, nan)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(inf, zero), complex(zero, zero)}, + {complex(1, zero), complex(inf, -zero), complex(zero, zero)}, + {complex(1, zero), complex(inf, 1), complex(zero, zero)}, + {complex(1, zero), complex(inf, -1), complex(zero, zero)}, + {complex(1, zero), complex(inf, 2), complex(zero, zero)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(1, zero), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(1, zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(1, zero), complex(-inf, -1), complex(-zero, -zero)}, + {complex(1, zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(1, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, -zero), complex(zero, zero), complex(inf, nan)}, + {complex(1, -zero), complex(zero, -zero), complex(inf, nan)}, + {complex(1, -zero), complex(zero, 1), complex(zero, -1)}, + {complex(1, -zero), complex(zero, -1), complex(zero, 1)}, + {complex(1, -zero), complex(zero, 2), complex(zero, -0.5)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(zero, zero), complex(inf, nan)}, + {complex(1, -zero), complex(-zero, -zero), complex(-inf, nan)}, + {complex(1, -zero), complex(zero, 1), complex(zero, -1)}, + {complex(1, -zero), complex(-zero, -1), complex(-zero, 1)}, + {complex(1, -zero), complex(zero, 2), complex(zero, -0.5)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(1, zero), complex(1, -zero)}, + {complex(1, -zero), complex(1, -zero), complex(1, zero)}, + {complex(1, -zero), complex(1, 1), complex(0.5, -0.5)}, + {complex(1, -zero), complex(1, -1), complex(0.5, 0.5)}, + {complex(1, -zero), complex(1, 2), complex(0.2, -0.4)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(-1, zero), complex(-1, -zero)}, + {complex(1, -zero), complex(-1, -zero), complex(-1, zero)}, + {complex(1, -zero), complex(-1, 1), complex(-0.5, -0.5)}, + {complex(1, -zero), complex(-1, -1), complex(-0.5, 0.5)}, + {complex(1, -zero), complex(-1, 2), complex(-0.2, -0.4)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(2, zero), complex(0.5, -zero)}, + {complex(1, -zero), complex(2, -zero), complex(0.5, zero)}, + {complex(1, -zero), complex(2, 1), complex(0.4, -0.2)}, + {complex(1, -zero), complex(2, -1), complex(0.4, 0.2)}, + {complex(1, -zero), complex(2, 2), complex(0.25, -0.25)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(1, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(1, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(1, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(1, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(inf, zero), complex(zero, -zero)}, + {complex(1, -zero), complex(inf, -zero), complex(zero, zero)}, + {complex(1, -zero), complex(inf, 1), complex(zero, -zero)}, + {complex(1, -zero), complex(inf, -1), complex(zero, zero)}, + {complex(1, -zero), complex(inf, 2), complex(zero, -zero)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(1, -zero), complex(-inf, -zero), complex(-zero, zero)}, + {complex(1, -zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(1, -zero), complex(-inf, -1), complex(-zero, zero)}, + {complex(1, -zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(1, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(1, 1), complex(zero, zero), complex(inf, inf)}, + {complex(1, 1), complex(zero, -zero), complex(inf, inf)}, + {complex(1, 1), complex(zero, 1), complex(1, -1)}, + {complex(1, 1), complex(zero, -1), complex(-1, 1)}, + {complex(1, 1), complex(zero, 2), complex(0.5, -0.5)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(zero, zero), complex(inf, inf)}, + {complex(1, 1), complex(-zero, -zero), complex(-inf, -inf)}, + {complex(1, 1), complex(zero, 1), complex(1, -1)}, + {complex(1, 1), complex(-zero, -1), complex(-1, 1)}, + {complex(1, 1), complex(zero, 2), complex(0.5, -0.5)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(1, zero), complex(1, 1)}, + {complex(1, 1), complex(1, -zero), complex(1, 1)}, + {complex(1, 1), complex(1, 1), complex(1, zero)}, + {complex(1, 1), complex(1, -1), complex(zero, 1)}, + {complex(1, 1), complex(1, 2), complex(0.6, -0.2)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(-1, zero), complex(-1, -1)}, + {complex(1, 1), complex(-1, -zero), complex(-1, -1)}, + {complex(1, 1), complex(-1, 1), complex(-zero, -1)}, + {complex(1, 1), complex(-1, -1), complex(-1, -zero)}, + {complex(1, 1), complex(-1, 2), complex(0.2, -0.6)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(2, zero), complex(0.5, 0.5)}, + {complex(1, 1), complex(2, -zero), complex(0.5, 0.5)}, + {complex(1, 1), complex(2, 1), complex(0.6, 0.2)}, + {complex(1, 1), complex(2, -1), complex(0.2, 0.6)}, + {complex(1, 1), complex(2, 2), complex(0.5, zero)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(nan, zero), complex(nan, nan)}, + {complex(1, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(1, 1), complex(nan, 1), complex(nan, nan)}, + {complex(1, 1), complex(nan, -1), complex(nan, nan)}, + {complex(1, 1), complex(nan, 2), complex(nan, nan)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(inf, zero), complex(zero, zero)}, + {complex(1, 1), complex(inf, -zero), complex(zero, zero)}, + {complex(1, 1), complex(inf, 1), complex(zero, zero)}, + {complex(1, 1), complex(inf, -1), complex(zero, zero)}, + {complex(1, 1), complex(inf, 2), complex(zero, zero)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 1), complex(-inf, zero), complex(-zero, -zero)}, + {complex(1, 1), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(1, 1), complex(-inf, 1), complex(-zero, -zero)}, + {complex(1, 1), complex(-inf, -1), complex(-zero, -zero)}, + {complex(1, 1), complex(-inf, 2), complex(-zero, -zero)}, + {complex(1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(1, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, -1), complex(zero, zero), complex(inf, -inf)}, + {complex(1, -1), complex(zero, -zero), complex(inf, -inf)}, + {complex(1, -1), complex(zero, 1), complex(-1, -1)}, + {complex(1, -1), complex(zero, -1), complex(1, 1)}, + {complex(1, -1), complex(zero, 2), complex(-0.5, -0.5)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(zero, zero), complex(inf, -inf)}, + {complex(1, -1), complex(-zero, -zero), complex(-inf, inf)}, + {complex(1, -1), complex(zero, 1), complex(-1, -1)}, + {complex(1, -1), complex(-zero, -1), complex(1, 1)}, + {complex(1, -1), complex(zero, 2), complex(-0.5, -0.5)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(1, zero), complex(1, -1)}, + {complex(1, -1), complex(1, -zero), complex(1, -1)}, + {complex(1, -1), complex(1, 1), complex(zero, -1)}, + {complex(1, -1), complex(1, -1), complex(1, zero)}, + {complex(1, -1), complex(1, 2), complex(-0.2, -0.6)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(-1, zero), complex(-1, 1)}, + {complex(1, -1), complex(-1, -zero), complex(-1, 1)}, + {complex(1, -1), complex(-1, 1), complex(-1, -zero)}, + {complex(1, -1), complex(-1, -1), complex(-zero, 1)}, + {complex(1, -1), complex(-1, 2), complex(-0.6, -0.2)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(2, zero), complex(0.5, -0.5)}, + {complex(1, -1), complex(2, -zero), complex(0.5, -0.5)}, + {complex(1, -1), complex(2, 1), complex(0.2, -0.6)}, + {complex(1, -1), complex(2, -1), complex(0.6, -0.2)}, + {complex(1, -1), complex(2, 2), complex(zero, -0.5)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(nan, zero), complex(nan, nan)}, + {complex(1, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(1, -1), complex(nan, 1), complex(nan, nan)}, + {complex(1, -1), complex(nan, -1), complex(nan, nan)}, + {complex(1, -1), complex(nan, 2), complex(nan, nan)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(inf, zero), complex(zero, -zero)}, + {complex(1, -1), complex(inf, -zero), complex(zero, -zero)}, + {complex(1, -1), complex(inf, 1), complex(zero, -zero)}, + {complex(1, -1), complex(inf, -1), complex(zero, -zero)}, + {complex(1, -1), complex(inf, 2), complex(zero, -zero)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, -1), complex(-inf, zero), complex(-zero, zero)}, + {complex(1, -1), complex(-inf, -zero), complex(-zero, zero)}, + {complex(1, -1), complex(-inf, 1), complex(-zero, zero)}, + {complex(1, -1), complex(-inf, -1), complex(-zero, zero)}, + {complex(1, -1), complex(-inf, 2), complex(-zero, zero)}, + {complex(1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(1, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(1, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(1, 2), complex(zero, zero), complex(inf, inf)}, + {complex(1, 2), complex(zero, -zero), complex(inf, inf)}, + {complex(1, 2), complex(zero, 1), complex(2, -1)}, + {complex(1, 2), complex(zero, -1), complex(-2, 1)}, + {complex(1, 2), complex(zero, 2), complex(1, -0.5)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(zero, zero), complex(inf, inf)}, + {complex(1, 2), complex(-zero, -zero), complex(-inf, -inf)}, + {complex(1, 2), complex(zero, 1), complex(2, -1)}, + {complex(1, 2), complex(-zero, -1), complex(-2, 1)}, + {complex(1, 2), complex(zero, 2), complex(1, -0.5)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(1, zero), complex(1, 2)}, + {complex(1, 2), complex(1, -zero), complex(1, 2)}, + {complex(1, 2), complex(1, 1), complex(1.5, 0.5)}, + {complex(1, 2), complex(1, -1), complex(-0.5, 1.5)}, + {complex(1, 2), complex(1, 2), complex(1, zero)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(-1, zero), complex(-1, -2)}, + {complex(1, 2), complex(-1, -zero), complex(-1, -2)}, + {complex(1, 2), complex(-1, 1), complex(0.5, -1.5)}, + {complex(1, 2), complex(-1, -1), complex(-1.5, -0.5)}, + {complex(1, 2), complex(-1, 2), complex(0.6, -0.8)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(2, zero), complex(0.5, 1)}, + {complex(1, 2), complex(2, -zero), complex(0.5, 1)}, + {complex(1, 2), complex(2, 1), complex(0.8, 0.6)}, + {complex(1, 2), complex(2, -1), complex(zero, 1)}, + {complex(1, 2), complex(2, 2), complex(0.75, 0.25)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(nan, zero), complex(nan, nan)}, + {complex(1, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(1, 2), complex(nan, 1), complex(nan, nan)}, + {complex(1, 2), complex(nan, -1), complex(nan, nan)}, + {complex(1, 2), complex(nan, 2), complex(nan, nan)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(inf, zero), complex(zero, zero)}, + {complex(1, 2), complex(inf, -zero), complex(zero, zero)}, + {complex(1, 2), complex(inf, 1), complex(zero, zero)}, + {complex(1, 2), complex(inf, -1), complex(zero, zero)}, + {complex(1, 2), complex(inf, 2), complex(zero, zero)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(1, 2), complex(-inf, zero), complex(-zero, -zero)}, + {complex(1, 2), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(1, 2), complex(-inf, 1), complex(-zero, -zero)}, + {complex(1, 2), complex(-inf, -1), complex(-zero, -zero)}, + {complex(1, 2), complex(-inf, 2), complex(-zero, -zero)}, + {complex(1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(1, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(1, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(-1, zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-1, zero), complex(zero, -zero), complex(-inf, nan)}, + {complex(-1, zero), complex(zero, 1), complex(zero, 1)}, + {complex(-1, zero), complex(zero, -1), complex(-zero, -1)}, + {complex(-1, zero), complex(zero, 2), complex(zero, 0.5)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-1, zero), complex(-zero, -zero), complex(inf, nan)}, + {complex(-1, zero), complex(zero, 1), complex(zero, 1)}, + {complex(-1, zero), complex(-zero, -1), complex(-zero, -1)}, + {complex(-1, zero), complex(zero, 2), complex(zero, 0.5)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(1, zero), complex(-1, zero)}, + {complex(-1, zero), complex(1, -zero), complex(-1, zero)}, + {complex(-1, zero), complex(1, 1), complex(-0.5, 0.5)}, + {complex(-1, zero), complex(1, -1), complex(-0.5, -0.5)}, + {complex(-1, zero), complex(1, 2), complex(-0.2, 0.4)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(-1, zero), complex(1, -zero)}, + {complex(-1, zero), complex(-1, -zero), complex(1, -zero)}, + {complex(-1, zero), complex(-1, 1), complex(0.5, 0.5)}, + {complex(-1, zero), complex(-1, -1), complex(0.5, -0.5)}, + {complex(-1, zero), complex(-1, 2), complex(0.2, 0.4)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(2, zero), complex(-0.5, zero)}, + {complex(-1, zero), complex(2, -zero), complex(-0.5, zero)}, + {complex(-1, zero), complex(2, 1), complex(-0.4, 0.2)}, + {complex(-1, zero), complex(2, -1), complex(-0.4, -0.2)}, + {complex(-1, zero), complex(2, 2), complex(-0.25, 0.25)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(nan, zero), complex(nan, nan)}, + {complex(-1, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(-1, zero), complex(nan, 1), complex(nan, nan)}, + {complex(-1, zero), complex(nan, -1), complex(nan, nan)}, + {complex(-1, zero), complex(nan, 2), complex(nan, nan)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(inf, zero), complex(-zero, zero)}, + {complex(-1, zero), complex(inf, -zero), complex(-zero, zero)}, + {complex(-1, zero), complex(inf, 1), complex(-zero, zero)}, + {complex(-1, zero), complex(inf, -1), complex(-zero, zero)}, + {complex(-1, zero), complex(inf, 2), complex(-zero, zero)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, zero), complex(-inf, zero), complex(zero, -zero)}, + {complex(-1, zero), complex(-inf, -zero), complex(zero, -zero)}, + {complex(-1, zero), complex(-inf, 1), complex(zero, -zero)}, + {complex(-1, zero), complex(-inf, -1), complex(zero, -zero)}, + {complex(-1, zero), complex(-inf, 2), complex(zero, -zero)}, + {complex(-1, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-1, -zero), complex(zero, -zero), complex(-inf, nan)}, + {complex(-1, -zero), complex(zero, 1), complex(-zero, 1)}, + {complex(-1, -zero), complex(zero, -1), complex(-zero, -1)}, + {complex(-1, -zero), complex(zero, 2), complex(-zero, 0.5)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-1, -zero), complex(-zero, -zero), complex(inf, nan)}, + {complex(-1, -zero), complex(zero, 1), complex(-zero, 1)}, + {complex(-1, -zero), complex(-zero, -1), complex(zero, -1)}, + {complex(-1, -zero), complex(zero, 2), complex(-zero, 0.5)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(1, zero), complex(-1, zero)}, + {complex(-1, -zero), complex(1, -zero), complex(-1, -zero)}, + {complex(-1, -zero), complex(1, 1), complex(-0.5, 0.5)}, + {complex(-1, -zero), complex(1, -1), complex(-0.5, -0.5)}, + {complex(-1, -zero), complex(1, 2), complex(-0.2, 0.4)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(-1, zero), complex(1, zero)}, + {complex(-1, -zero), complex(-1, -zero), complex(1, -zero)}, + {complex(-1, -zero), complex(-1, 1), complex(0.5, 0.5)}, + {complex(-1, -zero), complex(-1, -1), complex(0.5, -0.5)}, + {complex(-1, -zero), complex(-1, 2), complex(0.2, 0.4)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(2, zero), complex(-0.5, zero)}, + {complex(-1, -zero), complex(2, -zero), complex(-0.5, -zero)}, + {complex(-1, -zero), complex(2, 1), complex(-0.4, 0.2)}, + {complex(-1, -zero), complex(2, -1), complex(-0.4, -0.2)}, + {complex(-1, -zero), complex(2, 2), complex(-0.25, 0.25)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(inf, zero), complex(-zero, zero)}, + {complex(-1, -zero), complex(inf, -zero), complex(-zero, -zero)}, + {complex(-1, -zero), complex(inf, 1), complex(-zero, zero)}, + {complex(-1, -zero), complex(inf, -1), complex(-zero, -zero)}, + {complex(-1, -zero), complex(inf, 2), complex(-zero, zero)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -zero), complex(-inf, zero), complex(zero, zero)}, + {complex(-1, -zero), complex(-inf, -zero), complex(zero, -zero)}, + {complex(-1, -zero), complex(-inf, 1), complex(zero, zero)}, + {complex(-1, -zero), complex(-inf, -1), complex(zero, -zero)}, + {complex(-1, -zero), complex(-inf, 2), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -zero), complex(nan, inf), complex(zero, zero)}, + {complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, 1), complex(zero, zero), complex(-inf, inf)}, + {complex(-1, 1), complex(zero, -zero), complex(-inf, inf)}, + {complex(-1, 1), complex(zero, 1), complex(1, 1)}, + {complex(-1, 1), complex(zero, -1), complex(-1, -1)}, + {complex(-1, 1), complex(zero, 2), complex(0.5, 0.5)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(zero, zero), complex(-inf, inf)}, + {complex(-1, 1), complex(-zero, -zero), complex(inf, -inf)}, + {complex(-1, 1), complex(zero, 1), complex(1, 1)}, + {complex(-1, 1), complex(-zero, -1), complex(-1, -1)}, + {complex(-1, 1), complex(zero, 2), complex(0.5, 0.5)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(1, zero), complex(-1, 1)}, + {complex(-1, 1), complex(1, -zero), complex(-1, 1)}, + {complex(-1, 1), complex(1, 1), complex(zero, 1)}, + {complex(-1, 1), complex(1, -1), complex(-1, zero)}, + {complex(-1, 1), complex(1, 2), complex(0.2, 0.6)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(-1, zero), complex(1, -1)}, + {complex(-1, 1), complex(-1, -zero), complex(1, -1)}, + {complex(-1, 1), complex(-1, 1), complex(1, -zero)}, + {complex(-1, 1), complex(-1, -1), complex(-zero, -1)}, + {complex(-1, 1), complex(-1, 2), complex(0.6, 0.2)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(2, zero), complex(-0.5, 0.5)}, + {complex(-1, 1), complex(2, -zero), complex(-0.5, 0.5)}, + {complex(-1, 1), complex(2, 1), complex(-0.2, 0.6)}, + {complex(-1, 1), complex(2, -1), complex(-0.6, 0.2)}, + {complex(-1, 1), complex(2, 2), complex(zero, 0.5)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(nan, zero), complex(nan, nan)}, + {complex(-1, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(-1, 1), complex(nan, 1), complex(nan, nan)}, + {complex(-1, 1), complex(nan, -1), complex(nan, nan)}, + {complex(-1, 1), complex(nan, 2), complex(nan, nan)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(inf, zero), complex(-zero, zero)}, + {complex(-1, 1), complex(inf, -zero), complex(-zero, zero)}, + {complex(-1, 1), complex(inf, 1), complex(-zero, zero)}, + {complex(-1, 1), complex(inf, -1), complex(-zero, zero)}, + {complex(-1, 1), complex(inf, 2), complex(-zero, zero)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 1), complex(-inf, zero), complex(zero, -zero)}, + {complex(-1, 1), complex(-inf, -zero), complex(zero, -zero)}, + {complex(-1, 1), complex(-inf, 1), complex(zero, -zero)}, + {complex(-1, 1), complex(-inf, -1), complex(zero, -zero)}, + {complex(-1, 1), complex(-inf, 2), complex(zero, -zero)}, + {complex(-1, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 1), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, -1), complex(zero, zero), complex(-inf, -inf)}, + {complex(-1, -1), complex(zero, -zero), complex(-inf, -inf)}, + {complex(-1, -1), complex(zero, 1), complex(-1, 1)}, + {complex(-1, -1), complex(zero, -1), complex(1, -1)}, + {complex(-1, -1), complex(zero, 2), complex(-0.5, 0.5)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(zero, zero), complex(-inf, -inf)}, + {complex(-1, -1), complex(-zero, -zero), complex(inf, inf)}, + {complex(-1, -1), complex(zero, 1), complex(-1, 1)}, + {complex(-1, -1), complex(-zero, -1), complex(1, -1)}, + {complex(-1, -1), complex(zero, 2), complex(-0.5, 0.5)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(1, zero), complex(-1, -1)}, + {complex(-1, -1), complex(1, -zero), complex(-1, -1)}, + {complex(-1, -1), complex(1, 1), complex(-1, zero)}, + {complex(-1, -1), complex(1, -1), complex(zero, -1)}, + {complex(-1, -1), complex(1, 2), complex(-0.6, 0.2)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(-1, zero), complex(1, 1)}, + {complex(-1, -1), complex(-1, -zero), complex(1, 1)}, + {complex(-1, -1), complex(-1, 1), complex(-zero, 1)}, + {complex(-1, -1), complex(-1, -1), complex(1, -zero)}, + {complex(-1, -1), complex(-1, 2), complex(-0.2, 0.6)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(2, zero), complex(-0.5, -0.5)}, + {complex(-1, -1), complex(2, -zero), complex(-0.5, -0.5)}, + {complex(-1, -1), complex(2, 1), complex(-0.6, -0.2)}, + {complex(-1, -1), complex(2, -1), complex(-0.2, -0.6)}, + {complex(-1, -1), complex(2, 2), complex(-0.5, zero)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(nan, zero), complex(nan, nan)}, + {complex(-1, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(-1, -1), complex(nan, 1), complex(nan, nan)}, + {complex(-1, -1), complex(nan, -1), complex(nan, nan)}, + {complex(-1, -1), complex(nan, 2), complex(nan, nan)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(inf, zero), complex(-zero, -zero)}, + {complex(-1, -1), complex(inf, -zero), complex(-zero, -zero)}, + {complex(-1, -1), complex(inf, 1), complex(-zero, -zero)}, + {complex(-1, -1), complex(inf, -1), complex(-zero, -zero)}, + {complex(-1, -1), complex(inf, 2), complex(-zero, -zero)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, -1), complex(-inf, zero), complex(zero, zero)}, + {complex(-1, -1), complex(-inf, -zero), complex(zero, zero)}, + {complex(-1, -1), complex(-inf, 1), complex(zero, zero)}, + {complex(-1, -1), complex(-inf, -1), complex(zero, zero)}, + {complex(-1, -1), complex(-inf, 2), complex(zero, zero)}, + {complex(-1, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-1, -1), complex(nan, inf), complex(-zero, zero)}, + {complex(-1, -1), complex(nan, -inf), complex(zero, -zero)}, + {complex(-1, 2), complex(zero, zero), complex(-inf, inf)}, + {complex(-1, 2), complex(zero, -zero), complex(-inf, inf)}, + {complex(-1, 2), complex(zero, 1), complex(2, 1)}, + {complex(-1, 2), complex(zero, -1), complex(-2, -1)}, + {complex(-1, 2), complex(zero, 2), complex(1, 0.5)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(zero, zero), complex(-inf, inf)}, + {complex(-1, 2), complex(-zero, -zero), complex(inf, -inf)}, + {complex(-1, 2), complex(zero, 1), complex(2, 1)}, + {complex(-1, 2), complex(-zero, -1), complex(-2, -1)}, + {complex(-1, 2), complex(zero, 2), complex(1, 0.5)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(1, zero), complex(-1, 2)}, + {complex(-1, 2), complex(1, -zero), complex(-1, 2)}, + {complex(-1, 2), complex(1, 1), complex(0.5, 1.5)}, + {complex(-1, 2), complex(1, -1), complex(-1.5, 0.5)}, + {complex(-1, 2), complex(1, 2), complex(0.6, 0.8)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(-1, zero), complex(1, -2)}, + {complex(-1, 2), complex(-1, -zero), complex(1, -2)}, + {complex(-1, 2), complex(-1, 1), complex(1.5, -0.5)}, + {complex(-1, 2), complex(-1, -1), complex(-0.5, -1.5)}, + {complex(-1, 2), complex(-1, 2), complex(1, zero)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(2, zero), complex(-0.5, 1)}, + {complex(-1, 2), complex(2, -zero), complex(-0.5, 1)}, + {complex(-1, 2), complex(2, 1), complex(zero, 1)}, + {complex(-1, 2), complex(2, -1), complex(-0.8, 0.6)}, + {complex(-1, 2), complex(2, 2), complex(0.25, 0.75)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(nan, zero), complex(nan, nan)}, + {complex(-1, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(-1, 2), complex(nan, 1), complex(nan, nan)}, + {complex(-1, 2), complex(nan, -1), complex(nan, nan)}, + {complex(-1, 2), complex(nan, 2), complex(nan, nan)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(inf, zero), complex(-zero, zero)}, + {complex(-1, 2), complex(inf, -zero), complex(-zero, zero)}, + {complex(-1, 2), complex(inf, 1), complex(-zero, zero)}, + {complex(-1, 2), complex(inf, -1), complex(-zero, zero)}, + {complex(-1, 2), complex(inf, 2), complex(-zero, zero)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(-1, 2), complex(-inf, zero), complex(zero, -zero)}, + {complex(-1, 2), complex(-inf, -zero), complex(zero, -zero)}, + {complex(-1, 2), complex(-inf, 1), complex(zero, -zero)}, + {complex(-1, 2), complex(-inf, -1), complex(zero, -zero)}, + {complex(-1, 2), complex(-inf, 2), complex(zero, -zero)}, + {complex(-1, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-1, 2), complex(nan, inf), complex(zero, zero)}, + {complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(2, zero), complex(zero, zero), complex(inf, nan)}, + {complex(2, zero), complex(zero, -zero), complex(inf, nan)}, + {complex(2, zero), complex(zero, 1), complex(zero, -2)}, + {complex(2, zero), complex(zero, -1), complex(-zero, 2)}, + {complex(2, zero), complex(zero, 2), complex(zero, -1)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(zero, zero), complex(inf, nan)}, + {complex(2, zero), complex(-zero, -zero), complex(-inf, nan)}, + {complex(2, zero), complex(zero, 1), complex(zero, -2)}, + {complex(2, zero), complex(-zero, -1), complex(-zero, 2)}, + {complex(2, zero), complex(zero, 2), complex(zero, -1)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(1, zero), complex(2, zero)}, + {complex(2, zero), complex(1, -zero), complex(2, zero)}, + {complex(2, zero), complex(1, 1), complex(1, -1)}, + {complex(2, zero), complex(1, -1), complex(1, 1)}, + {complex(2, zero), complex(1, 2), complex(0.4, -0.8)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(-1, zero), complex(-2, -zero)}, + {complex(2, zero), complex(-1, -zero), complex(-2, -zero)}, + {complex(2, zero), complex(-1, 1), complex(-1, -1)}, + {complex(2, zero), complex(-1, -1), complex(-1, 1)}, + {complex(2, zero), complex(-1, 2), complex(-0.4, -0.8)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(2, zero), complex(1, zero)}, + {complex(2, zero), complex(2, -zero), complex(1, zero)}, + {complex(2, zero), complex(2, 1), complex(0.8, -0.4)}, + {complex(2, zero), complex(2, -1), complex(0.8, 0.4)}, + {complex(2, zero), complex(2, 2), complex(0.5, -0.5)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(nan, zero), complex(nan, nan)}, + {complex(2, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(2, zero), complex(nan, 1), complex(nan, nan)}, + {complex(2, zero), complex(nan, -1), complex(nan, nan)}, + {complex(2, zero), complex(nan, 2), complex(nan, nan)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(inf, zero), complex(zero, zero)}, + {complex(2, zero), complex(inf, -zero), complex(zero, zero)}, + {complex(2, zero), complex(inf, 1), complex(zero, zero)}, + {complex(2, zero), complex(inf, -1), complex(zero, zero)}, + {complex(2, zero), complex(inf, 2), complex(zero, zero)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(2, zero), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(2, zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(2, zero), complex(-inf, -1), complex(-zero, -zero)}, + {complex(2, zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(2, zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, zero), complex(nan, inf), complex(zero, -zero)}, + {complex(2, zero), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, -zero), complex(zero, zero), complex(inf, nan)}, + {complex(2, -zero), complex(zero, -zero), complex(inf, nan)}, + {complex(2, -zero), complex(zero, 1), complex(zero, -2)}, + {complex(2, -zero), complex(zero, -1), complex(zero, 2)}, + {complex(2, -zero), complex(zero, 2), complex(zero, -1)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(zero, zero), complex(inf, nan)}, + {complex(2, -zero), complex(-zero, -zero), complex(-inf, nan)}, + {complex(2, -zero), complex(zero, 1), complex(zero, -2)}, + {complex(2, -zero), complex(-zero, -1), complex(-zero, 2)}, + {complex(2, -zero), complex(zero, 2), complex(zero, -1)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(1, zero), complex(2, -zero)}, + {complex(2, -zero), complex(1, -zero), complex(2, zero)}, + {complex(2, -zero), complex(1, 1), complex(1, -1)}, + {complex(2, -zero), complex(1, -1), complex(1, 1)}, + {complex(2, -zero), complex(1, 2), complex(0.4, -0.8)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(-1, zero), complex(-2, -zero)}, + {complex(2, -zero), complex(-1, -zero), complex(-2, zero)}, + {complex(2, -zero), complex(-1, 1), complex(-1, -1)}, + {complex(2, -zero), complex(-1, -1), complex(-1, 1)}, + {complex(2, -zero), complex(-1, 2), complex(-0.4, -0.8)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(2, zero), complex(1, -zero)}, + {complex(2, -zero), complex(2, -zero), complex(1, zero)}, + {complex(2, -zero), complex(2, 1), complex(0.8, -0.4)}, + {complex(2, -zero), complex(2, -1), complex(0.8, 0.4)}, + {complex(2, -zero), complex(2, 2), complex(0.5, -0.5)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(2, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(2, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(2, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(2, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(inf, zero), complex(zero, -zero)}, + {complex(2, -zero), complex(inf, -zero), complex(zero, zero)}, + {complex(2, -zero), complex(inf, 1), complex(zero, -zero)}, + {complex(2, -zero), complex(inf, -1), complex(zero, zero)}, + {complex(2, -zero), complex(inf, 2), complex(zero, -zero)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -zero), complex(-inf, zero), complex(-zero, -zero)}, + {complex(2, -zero), complex(-inf, -zero), complex(-zero, zero)}, + {complex(2, -zero), complex(-inf, 1), complex(-zero, -zero)}, + {complex(2, -zero), complex(-inf, -1), complex(-zero, zero)}, + {complex(2, -zero), complex(-inf, 2), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(2, -zero), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -zero), complex(nan, -inf), complex(zero, zero)}, + {complex(2, 1), complex(zero, zero), complex(inf, inf)}, + {complex(2, 1), complex(zero, -zero), complex(inf, inf)}, + {complex(2, 1), complex(zero, 1), complex(1, -2)}, + {complex(2, 1), complex(zero, -1), complex(-1, 2)}, + {complex(2, 1), complex(zero, 2), complex(0.5, -1)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(zero, zero), complex(inf, inf)}, + {complex(2, 1), complex(-zero, -zero), complex(-inf, -inf)}, + {complex(2, 1), complex(zero, 1), complex(1, -2)}, + {complex(2, 1), complex(-zero, -1), complex(-1, 2)}, + {complex(2, 1), complex(zero, 2), complex(0.5, -1)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(1, zero), complex(2, 1)}, + {complex(2, 1), complex(1, -zero), complex(2, 1)}, + {complex(2, 1), complex(1, 1), complex(1.5, -0.5)}, + {complex(2, 1), complex(1, -1), complex(0.5, 1.5)}, + {complex(2, 1), complex(1, 2), complex(0.8, -0.6)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(-1, zero), complex(-2, -1)}, + {complex(2, 1), complex(-1, -zero), complex(-2, -1)}, + {complex(2, 1), complex(-1, 1), complex(-0.5, -1.5)}, + {complex(2, 1), complex(-1, -1), complex(-1.5, 0.5)}, + {complex(2, 1), complex(-1, 2), complex(zero, -1)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(2, zero), complex(1, 0.5)}, + {complex(2, 1), complex(2, -zero), complex(1, 0.5)}, + {complex(2, 1), complex(2, 1), complex(1, zero)}, + {complex(2, 1), complex(2, -1), complex(0.6, 0.8)}, + {complex(2, 1), complex(2, 2), complex(0.75, -0.25)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(nan, zero), complex(nan, nan)}, + {complex(2, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(2, 1), complex(nan, 1), complex(nan, nan)}, + {complex(2, 1), complex(nan, -1), complex(nan, nan)}, + {complex(2, 1), complex(nan, 2), complex(nan, nan)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(inf, zero), complex(zero, zero)}, + {complex(2, 1), complex(inf, -zero), complex(zero, zero)}, + {complex(2, 1), complex(inf, 1), complex(zero, zero)}, + {complex(2, 1), complex(inf, -1), complex(zero, zero)}, + {complex(2, 1), complex(inf, 2), complex(zero, zero)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 1), complex(-inf, zero), complex(-zero, -zero)}, + {complex(2, 1), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(2, 1), complex(-inf, 1), complex(-zero, -zero)}, + {complex(2, 1), complex(-inf, -1), complex(-zero, -zero)}, + {complex(2, 1), complex(-inf, 2), complex(-zero, -zero)}, + {complex(2, 1), complex(nan, nan), complex(nan, nan)}, + {complex(2, 1), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 1), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, -1), complex(zero, zero), complex(inf, -inf)}, + {complex(2, -1), complex(zero, -zero), complex(inf, -inf)}, + {complex(2, -1), complex(zero, 1), complex(-1, -2)}, + {complex(2, -1), complex(zero, -1), complex(1, 2)}, + {complex(2, -1), complex(zero, 2), complex(-0.5, -1)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(zero, zero), complex(inf, -inf)}, + {complex(2, -1), complex(-zero, -zero), complex(-inf, inf)}, + {complex(2, -1), complex(zero, 1), complex(-1, -2)}, + {complex(2, -1), complex(-zero, -1), complex(1, 2)}, + {complex(2, -1), complex(zero, 2), complex(-0.5, -1)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(1, zero), complex(2, -1)}, + {complex(2, -1), complex(1, -zero), complex(2, -1)}, + {complex(2, -1), complex(1, 1), complex(0.5, -1.5)}, + {complex(2, -1), complex(1, -1), complex(1.5, 0.5)}, + {complex(2, -1), complex(1, 2), complex(zero, -1)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(-1, zero), complex(-2, 1)}, + {complex(2, -1), complex(-1, -zero), complex(-2, 1)}, + {complex(2, -1), complex(-1, 1), complex(-1.5, -0.5)}, + {complex(2, -1), complex(-1, -1), complex(-0.5, 1.5)}, + {complex(2, -1), complex(-1, 2), complex(-0.8, -0.6)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(2, zero), complex(1, -0.5)}, + {complex(2, -1), complex(2, -zero), complex(1, -0.5)}, + {complex(2, -1), complex(2, 1), complex(0.6, -0.8)}, + {complex(2, -1), complex(2, -1), complex(1, zero)}, + {complex(2, -1), complex(2, 2), complex(0.25, -0.75)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(nan, zero), complex(nan, nan)}, + {complex(2, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(2, -1), complex(nan, 1), complex(nan, nan)}, + {complex(2, -1), complex(nan, -1), complex(nan, nan)}, + {complex(2, -1), complex(nan, 2), complex(nan, nan)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(inf, zero), complex(zero, -zero)}, + {complex(2, -1), complex(inf, -zero), complex(zero, -zero)}, + {complex(2, -1), complex(inf, 1), complex(zero, -zero)}, + {complex(2, -1), complex(inf, -1), complex(zero, -zero)}, + {complex(2, -1), complex(inf, 2), complex(zero, -zero)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, -1), complex(-inf, zero), complex(-zero, zero)}, + {complex(2, -1), complex(-inf, -zero), complex(-zero, zero)}, + {complex(2, -1), complex(-inf, 1), complex(-zero, zero)}, + {complex(2, -1), complex(-inf, -1), complex(-zero, zero)}, + {complex(2, -1), complex(-inf, 2), complex(-zero, zero)}, + {complex(2, -1), complex(nan, nan), complex(nan, nan)}, + {complex(2, -1), complex(nan, inf), complex(-zero, -zero)}, + {complex(2, -1), complex(nan, -inf), complex(zero, zero)}, + {complex(2, 2), complex(zero, zero), complex(inf, inf)}, + {complex(2, 2), complex(zero, -zero), complex(inf, inf)}, + {complex(2, 2), complex(zero, 1), complex(2, -2)}, + {complex(2, 2), complex(zero, -1), complex(-2, 2)}, + {complex(2, 2), complex(zero, 2), complex(1, -1)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(zero, zero), complex(inf, inf)}, + {complex(2, 2), complex(-zero, -zero), complex(-inf, -inf)}, + {complex(2, 2), complex(zero, 1), complex(2, -2)}, + {complex(2, 2), complex(-zero, -1), complex(-2, 2)}, + {complex(2, 2), complex(zero, 2), complex(1, -1)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(1, zero), complex(2, 2)}, + {complex(2, 2), complex(1, -zero), complex(2, 2)}, + {complex(2, 2), complex(1, 1), complex(2, zero)}, + {complex(2, 2), complex(1, -1), complex(zero, 2)}, + {complex(2, 2), complex(1, 2), complex(1.2, -0.4)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(-1, zero), complex(-2, -2)}, + {complex(2, 2), complex(-1, -zero), complex(-2, -2)}, + {complex(2, 2), complex(-1, 1), complex(-zero, -2)}, + {complex(2, 2), complex(-1, -1), complex(-2, -zero)}, + {complex(2, 2), complex(-1, 2), complex(0.4, -1.2)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(2, zero), complex(1, 1)}, + {complex(2, 2), complex(2, -zero), complex(1, 1)}, + {complex(2, 2), complex(2, 1), complex(1.2, 0.4)}, + {complex(2, 2), complex(2, -1), complex(0.4, 1.2)}, + {complex(2, 2), complex(2, 2), complex(1, zero)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(nan, zero), complex(nan, nan)}, + {complex(2, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(2, 2), complex(nan, 1), complex(nan, nan)}, + {complex(2, 2), complex(nan, -1), complex(nan, nan)}, + {complex(2, 2), complex(nan, 2), complex(nan, nan)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(inf, zero), complex(zero, zero)}, + {complex(2, 2), complex(inf, -zero), complex(zero, zero)}, + {complex(2, 2), complex(inf, 1), complex(zero, zero)}, + {complex(2, 2), complex(inf, -1), complex(zero, zero)}, + {complex(2, 2), complex(inf, 2), complex(zero, zero)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(2, 2), complex(-inf, zero), complex(-zero, -zero)}, + {complex(2, 2), complex(-inf, -zero), complex(-zero, -zero)}, + {complex(2, 2), complex(-inf, 1), complex(-zero, -zero)}, + {complex(2, 2), complex(-inf, -1), complex(-zero, -zero)}, + {complex(2, 2), complex(-inf, 2), complex(-zero, -zero)}, + {complex(2, 2), complex(nan, nan), complex(nan, nan)}, + {complex(2, 2), complex(nan, inf), complex(zero, -zero)}, + {complex(2, 2), complex(nan, -inf), complex(-zero, zero)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(zero, zero), complex(nan, nan)}, + {complex(nan, zero), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(zero, 1), complex(nan, nan)}, + {complex(nan, zero), complex(zero, -1), complex(nan, nan)}, + {complex(nan, zero), complex(zero, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(zero, zero), complex(nan, nan)}, + {complex(nan, zero), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(zero, 1), complex(nan, nan)}, + {complex(nan, zero), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, zero), complex(zero, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(1, zero), complex(nan, nan)}, + {complex(nan, zero), complex(1, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(1, 1), complex(nan, nan)}, + {complex(nan, zero), complex(1, -1), complex(nan, nan)}, + {complex(nan, zero), complex(1, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(-1, zero), complex(nan, nan)}, + {complex(nan, zero), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(-1, 1), complex(nan, nan)}, + {complex(nan, zero), complex(-1, -1), complex(nan, nan)}, + {complex(nan, zero), complex(-1, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(2, zero), complex(nan, nan)}, + {complex(nan, zero), complex(2, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(2, 1), complex(nan, nan)}, + {complex(nan, zero), complex(2, -1), complex(nan, nan)}, + {complex(nan, zero), complex(2, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, zero), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(nan, 1), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -1), complex(nan, nan)}, + {complex(nan, zero), complex(nan, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(inf, zero), complex(nan, nan)}, + {complex(nan, zero), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(inf, 1), complex(nan, nan)}, + {complex(nan, zero), complex(inf, -1), complex(nan, nan)}, + {complex(nan, zero), complex(inf, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, zero), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, zero), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, zero), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, zero), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, zero), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(zero, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(1, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(1, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(1, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(1, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(1, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(-1, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(-1, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(-1, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(-1, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(2, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(2, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(2, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(2, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(2, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -zero), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -zero), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -zero), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -zero), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -zero), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(zero, zero), complex(nan, inf)}, + {complex(nan, 1), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, 1), complex(zero, 1), complex(nan, nan)}, + {complex(nan, 1), complex(zero, -1), complex(nan, nan)}, + {complex(nan, 1), complex(zero, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(zero, zero), complex(nan, inf)}, + {complex(nan, 1), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, 1), complex(zero, 1), complex(nan, nan)}, + {complex(nan, 1), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, 1), complex(zero, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(1, zero), complex(nan, nan)}, + {complex(nan, 1), complex(1, -zero), complex(nan, nan)}, + {complex(nan, 1), complex(1, 1), complex(nan, nan)}, + {complex(nan, 1), complex(1, -1), complex(nan, nan)}, + {complex(nan, 1), complex(1, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(-1, zero), complex(nan, nan)}, + {complex(nan, 1), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, 1), complex(-1, 1), complex(nan, nan)}, + {complex(nan, 1), complex(-1, -1), complex(nan, nan)}, + {complex(nan, 1), complex(-1, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(2, zero), complex(nan, nan)}, + {complex(nan, 1), complex(2, -zero), complex(nan, nan)}, + {complex(nan, 1), complex(2, 1), complex(nan, nan)}, + {complex(nan, 1), complex(2, -1), complex(nan, nan)}, + {complex(nan, 1), complex(2, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, zero), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, 1), complex(nan, 1), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -1), complex(nan, nan)}, + {complex(nan, 1), complex(nan, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(inf, zero), complex(nan, nan)}, + {complex(nan, 1), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, 1), complex(inf, 1), complex(nan, nan)}, + {complex(nan, 1), complex(inf, -1), complex(nan, nan)}, + {complex(nan, 1), complex(inf, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 1), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, 1), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, 1), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, 1), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, 1), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, 1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -1), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -1), complex(zero, 1), complex(nan, nan)}, + {complex(nan, -1), complex(zero, -1), complex(nan, nan)}, + {complex(nan, -1), complex(zero, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -1), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -1), complex(zero, 1), complex(nan, nan)}, + {complex(nan, -1), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, -1), complex(zero, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(1, zero), complex(nan, nan)}, + {complex(nan, -1), complex(1, -zero), complex(nan, nan)}, + {complex(nan, -1), complex(1, 1), complex(nan, nan)}, + {complex(nan, -1), complex(1, -1), complex(nan, nan)}, + {complex(nan, -1), complex(1, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(-1, zero), complex(nan, nan)}, + {complex(nan, -1), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, -1), complex(-1, 1), complex(nan, nan)}, + {complex(nan, -1), complex(-1, -1), complex(nan, nan)}, + {complex(nan, -1), complex(-1, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(2, zero), complex(nan, nan)}, + {complex(nan, -1), complex(2, -zero), complex(nan, nan)}, + {complex(nan, -1), complex(2, 1), complex(nan, nan)}, + {complex(nan, -1), complex(2, -1), complex(nan, nan)}, + {complex(nan, -1), complex(2, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -1), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -1), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -1), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -1), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -1), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -1), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -1), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -1), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -1), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -1), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -1), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -1), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -1), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(zero, zero), complex(nan, inf)}, + {complex(nan, 2), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, 2), complex(zero, 1), complex(nan, nan)}, + {complex(nan, 2), complex(zero, -1), complex(nan, nan)}, + {complex(nan, 2), complex(zero, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(zero, zero), complex(nan, inf)}, + {complex(nan, 2), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, 2), complex(zero, 1), complex(nan, nan)}, + {complex(nan, 2), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, 2), complex(zero, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(1, zero), complex(nan, nan)}, + {complex(nan, 2), complex(1, -zero), complex(nan, nan)}, + {complex(nan, 2), complex(1, 1), complex(nan, nan)}, + {complex(nan, 2), complex(1, -1), complex(nan, nan)}, + {complex(nan, 2), complex(1, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(-1, zero), complex(nan, nan)}, + {complex(nan, 2), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, 2), complex(-1, 1), complex(nan, nan)}, + {complex(nan, 2), complex(-1, -1), complex(nan, nan)}, + {complex(nan, 2), complex(-1, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(2, zero), complex(nan, nan)}, + {complex(nan, 2), complex(2, -zero), complex(nan, nan)}, + {complex(nan, 2), complex(2, 1), complex(nan, nan)}, + {complex(nan, 2), complex(2, -1), complex(nan, nan)}, + {complex(nan, 2), complex(2, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, zero), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, 2), complex(nan, 1), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -1), complex(nan, nan)}, + {complex(nan, 2), complex(nan, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(inf, zero), complex(nan, nan)}, + {complex(nan, 2), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, 2), complex(inf, 1), complex(nan, nan)}, + {complex(nan, 2), complex(inf, -1), complex(nan, nan)}, + {complex(nan, 2), complex(inf, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, 2), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, 2), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, 2), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, 2), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, 2), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, 2), complex(nan, nan), complex(nan, nan)}, + {complex(nan, 2), complex(nan, inf), complex(nan, nan)}, + {complex(nan, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(zero, zero), complex(inf, nan)}, + {complex(inf, zero), complex(zero, -zero), complex(inf, nan)}, + {complex(inf, zero), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, zero), complex(zero, -1), complex(nan, inf)}, + {complex(inf, zero), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(zero, zero), complex(inf, nan)}, + {complex(inf, zero), complex(-zero, -zero), complex(-inf, nan)}, + {complex(inf, zero), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, zero), complex(-zero, -1), complex(nan, inf)}, + {complex(inf, zero), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(1, zero), complex(inf, nan)}, + {complex(inf, zero), complex(1, -zero), complex(inf, nan)}, + {complex(inf, zero), complex(1, 1), complex(inf, -inf)}, + {complex(inf, zero), complex(1, -1), complex(inf, inf)}, + {complex(inf, zero), complex(1, 2), complex(inf, -inf)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(-1, zero), complex(-inf, nan)}, + {complex(inf, zero), complex(-1, -zero), complex(-inf, nan)}, + {complex(inf, zero), complex(-1, 1), complex(-inf, -inf)}, + {complex(inf, zero), complex(-1, -1), complex(-inf, inf)}, + {complex(inf, zero), complex(-1, 2), complex(-inf, -inf)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(2, zero), complex(inf, nan)}, + {complex(inf, zero), complex(2, -zero), complex(inf, nan)}, + {complex(inf, zero), complex(2, 1), complex(inf, -inf)}, + {complex(inf, zero), complex(2, -1), complex(inf, inf)}, + {complex(inf, zero), complex(2, 2), complex(inf, -inf)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, zero), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(inf, zero), complex(nan, 1), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -1), complex(nan, nan)}, + {complex(inf, zero), complex(nan, 2), complex(nan, nan)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(inf, zero), complex(nan, nan)}, + {complex(inf, zero), complex(inf, -zero), complex(nan, nan)}, + {complex(inf, zero), complex(inf, 1), complex(nan, nan)}, + {complex(inf, zero), complex(inf, -1), complex(nan, nan)}, + {complex(inf, zero), complex(inf, 2), complex(nan, nan)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, zero), complex(-inf, zero), complex(nan, nan)}, + {complex(inf, zero), complex(-inf, -zero), complex(nan, nan)}, + {complex(inf, zero), complex(-inf, 1), complex(nan, nan)}, + {complex(inf, zero), complex(-inf, -1), complex(nan, nan)}, + {complex(inf, zero), complex(-inf, 2), complex(nan, nan)}, + {complex(inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(zero, zero), complex(inf, nan)}, + {complex(inf, -zero), complex(zero, -zero), complex(inf, nan)}, + {complex(inf, -zero), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, -zero), complex(zero, -1), complex(nan, inf)}, + {complex(inf, -zero), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(zero, zero), complex(inf, nan)}, + {complex(inf, -zero), complex(-zero, -zero), complex(-inf, nan)}, + {complex(inf, -zero), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, -zero), complex(-zero, -1), complex(nan, inf)}, + {complex(inf, -zero), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(1, zero), complex(inf, nan)}, + {complex(inf, -zero), complex(1, -zero), complex(inf, nan)}, + {complex(inf, -zero), complex(1, 1), complex(inf, -inf)}, + {complex(inf, -zero), complex(1, -1), complex(inf, inf)}, + {complex(inf, -zero), complex(1, 2), complex(inf, -inf)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(-1, zero), complex(-inf, nan)}, + {complex(inf, -zero), complex(-1, -zero), complex(-inf, nan)}, + {complex(inf, -zero), complex(-1, 1), complex(-inf, -inf)}, + {complex(inf, -zero), complex(-1, -1), complex(-inf, inf)}, + {complex(inf, -zero), complex(-1, 2), complex(-inf, -inf)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(2, zero), complex(inf, nan)}, + {complex(inf, -zero), complex(2, -zero), complex(inf, nan)}, + {complex(inf, -zero), complex(2, 1), complex(inf, -inf)}, + {complex(inf, -zero), complex(2, -1), complex(inf, inf)}, + {complex(inf, -zero), complex(2, 2), complex(inf, -inf)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(inf, zero), complex(nan, nan)}, + {complex(inf, -zero), complex(inf, -zero), complex(nan, nan)}, + {complex(inf, -zero), complex(inf, 1), complex(nan, nan)}, + {complex(inf, -zero), complex(inf, -1), complex(nan, nan)}, + {complex(inf, -zero), complex(inf, 2), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -zero), complex(-inf, zero), complex(nan, nan)}, + {complex(inf, -zero), complex(-inf, -zero), complex(nan, nan)}, + {complex(inf, -zero), complex(-inf, 1), complex(nan, nan)}, + {complex(inf, -zero), complex(-inf, -1), complex(nan, nan)}, + {complex(inf, -zero), complex(-inf, 2), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(zero, zero), complex(inf, inf)}, + {complex(inf, 1), complex(zero, -zero), complex(inf, inf)}, + {complex(inf, 1), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, 1), complex(zero, -1), complex(nan, inf)}, + {complex(inf, 1), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(zero, zero), complex(inf, inf)}, + {complex(inf, 1), complex(-zero, -zero), complex(-inf, -inf)}, + {complex(inf, 1), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, 1), complex(-zero, -1), complex(nan, inf)}, + {complex(inf, 1), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(1, zero), complex(inf, nan)}, + {complex(inf, 1), complex(1, -zero), complex(inf, nan)}, + {complex(inf, 1), complex(1, 1), complex(inf, -inf)}, + {complex(inf, 1), complex(1, -1), complex(inf, inf)}, + {complex(inf, 1), complex(1, 2), complex(inf, -inf)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(-1, zero), complex(-inf, nan)}, + {complex(inf, 1), complex(-1, -zero), complex(-inf, nan)}, + {complex(inf, 1), complex(-1, 1), complex(-inf, -inf)}, + {complex(inf, 1), complex(-1, -1), complex(-inf, inf)}, + {complex(inf, 1), complex(-1, 2), complex(-inf, -inf)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(2, zero), complex(inf, nan)}, + {complex(inf, 1), complex(2, -zero), complex(inf, nan)}, + {complex(inf, 1), complex(2, 1), complex(inf, -inf)}, + {complex(inf, 1), complex(2, -1), complex(inf, inf)}, + {complex(inf, 1), complex(2, 2), complex(inf, -inf)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, zero), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(inf, 1), complex(nan, 1), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -1), complex(nan, nan)}, + {complex(inf, 1), complex(nan, 2), complex(nan, nan)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(inf, zero), complex(nan, nan)}, + {complex(inf, 1), complex(inf, -zero), complex(nan, nan)}, + {complex(inf, 1), complex(inf, 1), complex(nan, nan)}, + {complex(inf, 1), complex(inf, -1), complex(nan, nan)}, + {complex(inf, 1), complex(inf, 2), complex(nan, nan)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 1), complex(-inf, zero), complex(nan, nan)}, + {complex(inf, 1), complex(-inf, -zero), complex(nan, nan)}, + {complex(inf, 1), complex(-inf, 1), complex(nan, nan)}, + {complex(inf, 1), complex(-inf, -1), complex(nan, nan)}, + {complex(inf, 1), complex(-inf, 2), complex(nan, nan)}, + {complex(inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(zero, zero), complex(inf, -inf)}, + {complex(inf, -1), complex(zero, -zero), complex(inf, -inf)}, + {complex(inf, -1), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, -1), complex(zero, -1), complex(nan, inf)}, + {complex(inf, -1), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(zero, zero), complex(inf, -inf)}, + {complex(inf, -1), complex(-zero, -zero), complex(-inf, inf)}, + {complex(inf, -1), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, -1), complex(-zero, -1), complex(nan, inf)}, + {complex(inf, -1), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(1, zero), complex(inf, nan)}, + {complex(inf, -1), complex(1, -zero), complex(inf, nan)}, + {complex(inf, -1), complex(1, 1), complex(inf, -inf)}, + {complex(inf, -1), complex(1, -1), complex(inf, inf)}, + {complex(inf, -1), complex(1, 2), complex(inf, -inf)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(-1, zero), complex(-inf, nan)}, + {complex(inf, -1), complex(-1, -zero), complex(-inf, nan)}, + {complex(inf, -1), complex(-1, 1), complex(-inf, -inf)}, + {complex(inf, -1), complex(-1, -1), complex(-inf, inf)}, + {complex(inf, -1), complex(-1, 2), complex(-inf, -inf)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(2, zero), complex(inf, nan)}, + {complex(inf, -1), complex(2, -zero), complex(inf, nan)}, + {complex(inf, -1), complex(2, 1), complex(inf, -inf)}, + {complex(inf, -1), complex(2, -1), complex(inf, inf)}, + {complex(inf, -1), complex(2, 2), complex(inf, -inf)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, zero), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(inf, -1), complex(nan, 1), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -1), complex(nan, nan)}, + {complex(inf, -1), complex(nan, 2), complex(nan, nan)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(inf, zero), complex(nan, nan)}, + {complex(inf, -1), complex(inf, -zero), complex(nan, nan)}, + {complex(inf, -1), complex(inf, 1), complex(nan, nan)}, + {complex(inf, -1), complex(inf, -1), complex(nan, nan)}, + {complex(inf, -1), complex(inf, 2), complex(nan, nan)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, -1), complex(-inf, zero), complex(nan, nan)}, + {complex(inf, -1), complex(-inf, -zero), complex(nan, nan)}, + {complex(inf, -1), complex(-inf, 1), complex(nan, nan)}, + {complex(inf, -1), complex(-inf, -1), complex(nan, nan)}, + {complex(inf, -1), complex(-inf, 2), complex(nan, nan)}, + {complex(inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(zero, zero), complex(inf, inf)}, + {complex(inf, 2), complex(zero, -zero), complex(inf, inf)}, + {complex(inf, 2), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, 2), complex(zero, -1), complex(nan, inf)}, + {complex(inf, 2), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(zero, zero), complex(inf, inf)}, + {complex(inf, 2), complex(-zero, -zero), complex(-inf, -inf)}, + {complex(inf, 2), complex(zero, 1), complex(nan, -inf)}, + {complex(inf, 2), complex(-zero, -1), complex(nan, inf)}, + {complex(inf, 2), complex(zero, 2), complex(nan, -inf)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(1, zero), complex(inf, nan)}, + {complex(inf, 2), complex(1, -zero), complex(inf, nan)}, + {complex(inf, 2), complex(1, 1), complex(inf, -inf)}, + {complex(inf, 2), complex(1, -1), complex(inf, inf)}, + {complex(inf, 2), complex(1, 2), complex(inf, -inf)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(-1, zero), complex(-inf, nan)}, + {complex(inf, 2), complex(-1, -zero), complex(-inf, nan)}, + {complex(inf, 2), complex(-1, 1), complex(-inf, -inf)}, + {complex(inf, 2), complex(-1, -1), complex(-inf, inf)}, + {complex(inf, 2), complex(-1, 2), complex(-inf, -inf)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(2, zero), complex(inf, nan)}, + {complex(inf, 2), complex(2, -zero), complex(inf, nan)}, + {complex(inf, 2), complex(2, 1), complex(inf, -inf)}, + {complex(inf, 2), complex(2, -1), complex(inf, inf)}, + {complex(inf, 2), complex(2, 2), complex(inf, -inf)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, zero), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(inf, 2), complex(nan, 1), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -1), complex(nan, nan)}, + {complex(inf, 2), complex(nan, 2), complex(nan, nan)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(inf, zero), complex(nan, nan)}, + {complex(inf, 2), complex(inf, -zero), complex(nan, nan)}, + {complex(inf, 2), complex(inf, 1), complex(nan, nan)}, + {complex(inf, 2), complex(inf, -1), complex(nan, nan)}, + {complex(inf, 2), complex(inf, 2), complex(nan, nan)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(inf, 2), complex(-inf, zero), complex(nan, nan)}, + {complex(inf, 2), complex(-inf, -zero), complex(nan, nan)}, + {complex(inf, 2), complex(-inf, 1), complex(nan, nan)}, + {complex(inf, 2), complex(-inf, -1), complex(nan, nan)}, + {complex(inf, 2), complex(-inf, 2), complex(nan, nan)}, + {complex(inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(zero, -zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, zero), complex(zero, -1), complex(nan, -inf)}, + {complex(-inf, zero), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(-zero, -zero), complex(inf, nan)}, + {complex(-inf, zero), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, zero), complex(-zero, -1), complex(nan, -inf)}, + {complex(-inf, zero), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(1, zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(1, -zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(1, 1), complex(-inf, inf)}, + {complex(-inf, zero), complex(1, -1), complex(-inf, -inf)}, + {complex(-inf, zero), complex(1, 2), complex(-inf, inf)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(-1, zero), complex(inf, nan)}, + {complex(-inf, zero), complex(-1, -zero), complex(inf, nan)}, + {complex(-inf, zero), complex(-1, 1), complex(inf, inf)}, + {complex(-inf, zero), complex(-1, -1), complex(inf, -inf)}, + {complex(-inf, zero), complex(-1, 2), complex(inf, inf)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(2, zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(2, -zero), complex(-inf, nan)}, + {complex(-inf, zero), complex(2, 1), complex(-inf, inf)}, + {complex(-inf, zero), complex(2, -1), complex(-inf, -inf)}, + {complex(-inf, zero), complex(2, 2), complex(-inf, inf)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, zero), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -zero), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, 1), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -1), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, 2), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(inf, zero), complex(nan, nan)}, + {complex(-inf, zero), complex(inf, -zero), complex(nan, nan)}, + {complex(-inf, zero), complex(inf, 1), complex(nan, nan)}, + {complex(-inf, zero), complex(inf, -1), complex(nan, nan)}, + {complex(-inf, zero), complex(inf, 2), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, zero), complex(-inf, zero), complex(nan, nan)}, + {complex(-inf, zero), complex(-inf, -zero), complex(nan, nan)}, + {complex(-inf, zero), complex(-inf, 1), complex(nan, nan)}, + {complex(-inf, zero), complex(-inf, -1), complex(nan, nan)}, + {complex(-inf, zero), complex(-inf, 2), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(zero, -zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, -zero), complex(zero, -1), complex(nan, -inf)}, + {complex(-inf, -zero), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(zero, zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(-zero, -zero), complex(inf, nan)}, + {complex(-inf, -zero), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, -zero), complex(-zero, -1), complex(nan, -inf)}, + {complex(-inf, -zero), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(1, zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(1, -zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(1, 1), complex(-inf, inf)}, + {complex(-inf, -zero), complex(1, -1), complex(-inf, -inf)}, + {complex(-inf, -zero), complex(1, 2), complex(-inf, inf)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(-1, zero), complex(inf, nan)}, + {complex(-inf, -zero), complex(-1, -zero), complex(inf, nan)}, + {complex(-inf, -zero), complex(-1, 1), complex(inf, inf)}, + {complex(-inf, -zero), complex(-1, -1), complex(inf, -inf)}, + {complex(-inf, -zero), complex(-1, 2), complex(inf, inf)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(2, zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(2, -zero), complex(-inf, nan)}, + {complex(-inf, -zero), complex(2, 1), complex(-inf, inf)}, + {complex(-inf, -zero), complex(2, -1), complex(-inf, -inf)}, + {complex(-inf, -zero), complex(2, 2), complex(-inf, inf)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, zero), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -zero), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, 1), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -1), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, 2), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(inf, zero), complex(nan, nan)}, + {complex(-inf, -zero), complex(inf, -zero), complex(nan, nan)}, + {complex(-inf, -zero), complex(inf, 1), complex(nan, nan)}, + {complex(-inf, -zero), complex(inf, -1), complex(nan, nan)}, + {complex(-inf, -zero), complex(inf, 2), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(-inf, zero), complex(nan, nan)}, + {complex(-inf, -zero), complex(-inf, -zero), complex(nan, nan)}, + {complex(-inf, -zero), complex(-inf, 1), complex(nan, nan)}, + {complex(-inf, -zero), complex(-inf, -1), complex(nan, nan)}, + {complex(-inf, -zero), complex(-inf, 2), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(zero, zero), complex(-inf, inf)}, + {complex(-inf, 1), complex(zero, -zero), complex(-inf, inf)}, + {complex(-inf, 1), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, 1), complex(zero, -1), complex(nan, -inf)}, + {complex(-inf, 1), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(zero, zero), complex(-inf, inf)}, + {complex(-inf, 1), complex(-zero, -zero), complex(inf, -inf)}, + {complex(-inf, 1), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, 1), complex(-zero, -1), complex(nan, -inf)}, + {complex(-inf, 1), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(1, zero), complex(-inf, nan)}, + {complex(-inf, 1), complex(1, -zero), complex(-inf, nan)}, + {complex(-inf, 1), complex(1, 1), complex(-inf, inf)}, + {complex(-inf, 1), complex(1, -1), complex(-inf, -inf)}, + {complex(-inf, 1), complex(1, 2), complex(-inf, inf)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(-1, zero), complex(inf, nan)}, + {complex(-inf, 1), complex(-1, -zero), complex(inf, nan)}, + {complex(-inf, 1), complex(-1, 1), complex(inf, inf)}, + {complex(-inf, 1), complex(-1, -1), complex(inf, -inf)}, + {complex(-inf, 1), complex(-1, 2), complex(inf, inf)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(2, zero), complex(-inf, nan)}, + {complex(-inf, 1), complex(2, -zero), complex(-inf, nan)}, + {complex(-inf, 1), complex(2, 1), complex(-inf, inf)}, + {complex(-inf, 1), complex(2, -1), complex(-inf, -inf)}, + {complex(-inf, 1), complex(2, 2), complex(-inf, inf)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, zero), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -zero), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, 1), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -1), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, 2), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(inf, zero), complex(nan, nan)}, + {complex(-inf, 1), complex(inf, -zero), complex(nan, nan)}, + {complex(-inf, 1), complex(inf, 1), complex(nan, nan)}, + {complex(-inf, 1), complex(inf, -1), complex(nan, nan)}, + {complex(-inf, 1), complex(inf, 2), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 1), complex(-inf, zero), complex(nan, nan)}, + {complex(-inf, 1), complex(-inf, -zero), complex(nan, nan)}, + {complex(-inf, 1), complex(-inf, 1), complex(nan, nan)}, + {complex(-inf, 1), complex(-inf, -1), complex(nan, nan)}, + {complex(-inf, 1), complex(-inf, 2), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(zero, zero), complex(-inf, -inf)}, + {complex(-inf, -1), complex(zero, -zero), complex(-inf, -inf)}, + {complex(-inf, -1), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, -1), complex(zero, -1), complex(nan, -inf)}, + {complex(-inf, -1), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(zero, zero), complex(-inf, -inf)}, + {complex(-inf, -1), complex(-zero, -zero), complex(inf, inf)}, + {complex(-inf, -1), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, -1), complex(-zero, -1), complex(nan, -inf)}, + {complex(-inf, -1), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(1, zero), complex(-inf, nan)}, + {complex(-inf, -1), complex(1, -zero), complex(-inf, nan)}, + {complex(-inf, -1), complex(1, 1), complex(-inf, inf)}, + {complex(-inf, -1), complex(1, -1), complex(-inf, -inf)}, + {complex(-inf, -1), complex(1, 2), complex(-inf, inf)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(-1, zero), complex(inf, nan)}, + {complex(-inf, -1), complex(-1, -zero), complex(inf, nan)}, + {complex(-inf, -1), complex(-1, 1), complex(inf, inf)}, + {complex(-inf, -1), complex(-1, -1), complex(inf, -inf)}, + {complex(-inf, -1), complex(-1, 2), complex(inf, inf)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(2, zero), complex(-inf, nan)}, + {complex(-inf, -1), complex(2, -zero), complex(-inf, nan)}, + {complex(-inf, -1), complex(2, 1), complex(-inf, inf)}, + {complex(-inf, -1), complex(2, -1), complex(-inf, -inf)}, + {complex(-inf, -1), complex(2, 2), complex(-inf, inf)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, zero), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -zero), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, 1), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -1), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, 2), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(inf, zero), complex(nan, nan)}, + {complex(-inf, -1), complex(inf, -zero), complex(nan, nan)}, + {complex(-inf, -1), complex(inf, 1), complex(nan, nan)}, + {complex(-inf, -1), complex(inf, -1), complex(nan, nan)}, + {complex(-inf, -1), complex(inf, 2), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, -1), complex(-inf, zero), complex(nan, nan)}, + {complex(-inf, -1), complex(-inf, -zero), complex(nan, nan)}, + {complex(-inf, -1), complex(-inf, 1), complex(nan, nan)}, + {complex(-inf, -1), complex(-inf, -1), complex(nan, nan)}, + {complex(-inf, -1), complex(-inf, 2), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, -1), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(zero, zero), complex(-inf, inf)}, + {complex(-inf, 2), complex(zero, -zero), complex(-inf, inf)}, + {complex(-inf, 2), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, 2), complex(zero, -1), complex(nan, -inf)}, + {complex(-inf, 2), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(zero, zero), complex(-inf, inf)}, + {complex(-inf, 2), complex(-zero, -zero), complex(inf, -inf)}, + {complex(-inf, 2), complex(zero, 1), complex(nan, inf)}, + {complex(-inf, 2), complex(-zero, -1), complex(nan, -inf)}, + {complex(-inf, 2), complex(zero, 2), complex(nan, inf)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(1, zero), complex(-inf, nan)}, + {complex(-inf, 2), complex(1, -zero), complex(-inf, nan)}, + {complex(-inf, 2), complex(1, 1), complex(-inf, inf)}, + {complex(-inf, 2), complex(1, -1), complex(-inf, -inf)}, + {complex(-inf, 2), complex(1, 2), complex(-inf, inf)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(-1, zero), complex(inf, nan)}, + {complex(-inf, 2), complex(-1, -zero), complex(inf, nan)}, + {complex(-inf, 2), complex(-1, 1), complex(inf, inf)}, + {complex(-inf, 2), complex(-1, -1), complex(inf, -inf)}, + {complex(-inf, 2), complex(-1, 2), complex(inf, inf)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(2, zero), complex(-inf, nan)}, + {complex(-inf, 2), complex(2, -zero), complex(-inf, nan)}, + {complex(-inf, 2), complex(2, 1), complex(-inf, inf)}, + {complex(-inf, 2), complex(2, -1), complex(-inf, -inf)}, + {complex(-inf, 2), complex(2, 2), complex(-inf, inf)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, zero), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -zero), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, 1), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -1), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, 2), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(inf, zero), complex(nan, nan)}, + {complex(-inf, 2), complex(inf, -zero), complex(nan, nan)}, + {complex(-inf, 2), complex(inf, 1), complex(nan, nan)}, + {complex(-inf, 2), complex(inf, -1), complex(nan, nan)}, + {complex(-inf, 2), complex(inf, 2), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(-inf, 2), complex(-inf, zero), complex(nan, nan)}, + {complex(-inf, 2), complex(-inf, -zero), complex(nan, nan)}, + {complex(-inf, 2), complex(-inf, 1), complex(nan, nan)}, + {complex(-inf, 2), complex(-inf, -1), complex(nan, nan)}, + {complex(-inf, 2), complex(-inf, 2), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, inf), complex(nan, nan)}, + {complex(-inf, 2), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(zero, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-zero, -1), complex(nan, nan)}, + {complex(nan, nan), complex(zero, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-1, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-1, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(2, zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(2, 1), complex(nan, nan)}, + {complex(nan, nan), complex(2, -1), complex(nan, nan)}, + {complex(nan, nan), complex(2, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -1), complex(nan, nan)}, + {complex(nan, nan), complex(nan, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, nan), complex(nan, nan), complex(nan, nan)}, + {complex(nan, nan), complex(nan, inf), complex(nan, nan)}, + {complex(nan, nan), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(zero, zero), complex(nan, inf)}, + {complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(zero, 1), complex(inf, nan)}, + {complex(nan, inf), complex(-zero, -1), complex(-inf, nan)}, + {complex(nan, inf), complex(zero, 2), complex(inf, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(1, zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(1, 1), complex(inf, inf)}, + {complex(nan, inf), complex(1, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(1, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-1, zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, -zero), complex(nan, -inf)}, + {complex(nan, inf), complex(-1, 1), complex(inf, -inf)}, + {complex(nan, inf), complex(-1, -1), complex(-inf, -inf)}, + {complex(nan, inf), complex(-1, 2), complex(inf, -inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(2, zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, -zero), complex(nan, inf)}, + {complex(nan, inf), complex(2, 1), complex(inf, inf)}, + {complex(nan, inf), complex(2, -1), complex(-inf, inf)}, + {complex(nan, inf), complex(2, 2), complex(inf, inf)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(zero, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(zero, 1), complex(-inf, nan)}, + {complex(nan, -inf), complex(-zero, -1), complex(inf, nan)}, + {complex(nan, -inf), complex(zero, 2), complex(-inf, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(1, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(1, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(1, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(1, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-1, zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, -zero), complex(nan, inf)}, + {complex(nan, -inf), complex(-1, 1), complex(-inf, inf)}, + {complex(nan, -inf), complex(-1, -1), complex(inf, inf)}, + {complex(nan, -inf), complex(-1, 2), complex(-inf, inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(2, zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, -zero), complex(nan, -inf)}, + {complex(nan, -inf), complex(2, 1), complex(-inf, -inf)}, + {complex(nan, -inf), complex(2, -1), complex(inf, -inf)}, + {complex(nan, -inf), complex(2, 2), complex(-inf, -inf)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, -1), complex(nan, nan)}, + {complex(nan, -inf), complex(-inf, 2), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, nan), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, inf), complex(nan, nan)}, + {complex(nan, -inf), complex(nan, -inf), complex(nan, nan)}, +} |