diff options
author | Martin Möhrmann <moehrmann@google.com> | 2017-02-25 23:50:56 +0100 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2017-03-15 22:45:17 +0000 |
commit | 16200c73331a679b43efc4699b5806c64a556f09 (patch) | |
tree | 652e78ca9384630ac9411ec6446d9cdaea397fb6 /test/cmplxdivide1.go | |
parent | 4b8f41daa63154949104d27d70acc3857a0b4b0b (diff) | |
download | go-16200c73331a679b43efc4699b5806c64a556f09.tar.gz go-16200c73331a679b43efc4699b5806c64a556f09.zip |
runtime: make complex division c99 compatible
- changes tests to check that the real and imaginary part of the go complex
division result is equal to the result gcc produces for c99
- changes complex division code to satisfy new complex division test
- adds float functions isNan, isFinite, isInf, abs and copysign
in the runtime package
Fixes #14644.
name old time/op new time/op delta
Complex128DivNormal-4 21.8ns ± 6% 13.9ns ± 6% -36.37% (p=0.000 n=20+20)
Complex128DivNisNaN-4 14.1ns ± 1% 15.0ns ± 1% +5.86% (p=0.000 n=20+19)
Complex128DivDisNaN-4 12.5ns ± 1% 16.7ns ± 1% +33.79% (p=0.000 n=19+20)
Complex128DivNisInf-4 10.1ns ± 1% 13.0ns ± 1% +28.25% (p=0.000 n=20+19)
Complex128DivDisInf-4 11.0ns ± 1% 20.9ns ± 1% +90.69% (p=0.000 n=16+19)
ComplexAlgMap-4 86.7ns ± 1% 86.8ns ± 2% ~ (p=0.804 n=20+20)
Change-Id: I261f3b4a81f6cc858bc7ff48f6fd1b39c300abf0
Reviewed-on: https://go-review.googlesource.com/37441
Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'test/cmplxdivide1.go')
-rw-r--r-- | test/cmplxdivide1.go | 6511 |
1 files changed, 4109 insertions, 2402 deletions
diff --git a/test/cmplxdivide1.go b/test/cmplxdivide1.go index e9031dd151..a52fb6fbcf 100644 --- a/test/cmplxdivide1.go +++ b/test/cmplxdivide1.go @@ -2,2406 +2,4113 @@ // # generated by cmplxdivide.c package main -var tests = []Test{ - Test{complex(0, 0), complex(0, 0), complex(-nan, -nan)}, - Test{complex(0, 0), complex(0, 1), complex(0, 0)}, - Test{complex(0, 0), complex(0, -1), complex(negzero, 0)}, - Test{complex(0, 0), complex(0, 2), complex(0, 0)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 0), complex(1, 0), complex(0, 0)}, - Test{complex(0, 0), complex(1, 1), complex(0, 0)}, - Test{complex(0, 0), complex(1, -1), complex(0, 0)}, - Test{complex(0, 0), complex(1, 2), complex(0, 0)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 0), complex(-1, 0), complex(negzero, negzero)}, - Test{complex(0, 0), complex(-1, 1), complex(negzero, negzero)}, - Test{complex(0, 0), complex(-1, -1), complex(negzero, negzero)}, - Test{complex(0, 0), complex(-1, 2), complex(0, negzero)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 0), complex(2, 0), complex(0, 0)}, - Test{complex(0, 0), complex(2, 1), complex(0, 0)}, - Test{complex(0, 0), complex(2, -1), complex(0, 0)}, - Test{complex(0, 0), complex(2, 2), complex(0, 0)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(0, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(0, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(0, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 0), complex(inf, 0), complex(0, 0)}, - Test{complex(0, 0), complex(inf, 1), complex(0, 0)}, - Test{complex(0, 0), complex(inf, -1), complex(0, 0)}, - Test{complex(0, 0), complex(inf, 2), complex(0, 0)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 0), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(0, 0), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(0, 0), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(0, 0), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(0, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(0, 0), complex(-nan, inf)}, - Test{complex(0, 1), complex(0, 1), complex(1, 0)}, - Test{complex(0, 1), complex(0, -1), complex(-1, 0)}, - Test{complex(0, 1), complex(0, 2), complex(0.5, 0)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(1, 0), complex(0, 1)}, - Test{complex(0, 1), complex(1, 1), complex(0.5, 0.5)}, - Test{complex(0, 1), complex(1, -1), complex(-0.5, 0.5)}, - Test{complex(0, 1), complex(1, 2), complex(0.4, 0.2)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(-1, 0), complex(negzero, -1)}, - Test{complex(0, 1), complex(-1, 1), complex(0.5, -0.5)}, - Test{complex(0, 1), complex(-1, -1), complex(-0.5, -0.5)}, - Test{complex(0, 1), complex(-1, 2), complex(0.4, -0.2)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(2, 0), complex(0, 0.5)}, - Test{complex(0, 1), complex(2, 1), complex(0.2, 0.4)}, - Test{complex(0, 1), complex(2, -1), complex(-0.2, 0.4)}, - Test{complex(0, 1), complex(2, 2), complex(0.25, 0.25)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(0, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(0, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(0, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(inf, 0), complex(0, 0)}, - Test{complex(0, 1), complex(inf, 1), complex(0, 0)}, - Test{complex(0, 1), complex(inf, -1), complex(0, 0)}, - Test{complex(0, 1), complex(inf, 2), complex(0, 0)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 1), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(0, 1), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(0, 1), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(0, 1), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(0, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(0, 0), complex(-nan, -inf)}, - Test{complex(0, -1), complex(0, 1), complex(-1, negzero)}, - Test{complex(0, -1), complex(0, -1), complex(1, negzero)}, - Test{complex(0, -1), complex(0, 2), complex(-0.5, negzero)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, -1), complex(1, 0), complex(0, -1)}, - Test{complex(0, -1), complex(1, 1), complex(-0.5, -0.5)}, - Test{complex(0, -1), complex(1, -1), complex(0.5, -0.5)}, - Test{complex(0, -1), complex(1, 2), complex(-0.4, -0.2)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, -1), complex(-1, 0), complex(negzero, 1)}, - Test{complex(0, -1), complex(-1, 1), complex(-0.5, 0.5)}, - Test{complex(0, -1), complex(-1, -1), complex(0.5, 0.5)}, - Test{complex(0, -1), complex(-1, 2), complex(-0.4, 0.2)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, -1), complex(2, 0), complex(0, -0.5)}, - Test{complex(0, -1), complex(2, 1), complex(-0.2, -0.4)}, - Test{complex(0, -1), complex(2, -1), complex(0.2, -0.4)}, - Test{complex(0, -1), complex(2, 2), complex(-0.25, -0.25)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(0, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(0, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(0, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, -1), complex(inf, 0), complex(0, negzero)}, - Test{complex(0, -1), complex(inf, 1), complex(0, negzero)}, - Test{complex(0, -1), complex(inf, -1), complex(0, negzero)}, - Test{complex(0, -1), complex(inf, 2), complex(0, negzero)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, -1), complex(-inf, 0), complex(negzero, 0)}, - Test{complex(0, -1), complex(-inf, 1), complex(negzero, 0)}, - Test{complex(0, -1), complex(-inf, -1), complex(negzero, 0)}, - Test{complex(0, -1), complex(-inf, 2), complex(negzero, 0)}, - Test{complex(0, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(0, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(0, 2), complex(0, 0), complex(-nan, inf)}, - Test{complex(0, 2), complex(0, 1), complex(2, 0)}, - Test{complex(0, 2), complex(0, -1), complex(-2, 0)}, - Test{complex(0, 2), complex(0, 2), complex(1, 0)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 2), complex(1, 0), complex(0, 2)}, - Test{complex(0, 2), complex(1, 1), complex(1, 1)}, - Test{complex(0, 2), complex(1, -1), complex(-1, 1)}, - Test{complex(0, 2), complex(1, 2), complex(0.8, 0.4)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 2), complex(-1, 0), complex(negzero, -2)}, - Test{complex(0, 2), complex(-1, 1), complex(1, -1)}, - Test{complex(0, 2), complex(-1, -1), complex(-1, -1)}, - Test{complex(0, 2), complex(-1, 2), complex(0.8, -0.4)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 2), complex(2, 0), complex(0, 1)}, - Test{complex(0, 2), complex(2, 1), complex(0.4, 0.8)}, - Test{complex(0, 2), complex(2, -1), complex(-0.4, 0.8)}, - Test{complex(0, 2), complex(2, 2), complex(0.5, 0.5)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(0, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(0, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(0, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 2), complex(inf, 0), complex(0, 0)}, - Test{complex(0, 2), complex(inf, 1), complex(0, 0)}, - Test{complex(0, 2), complex(inf, -1), complex(0, 0)}, - Test{complex(0, 2), complex(inf, 2), complex(0, 0)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(0, 2), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(0, 2), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(0, 2), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(0, 2), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(0, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(0, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(0, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(1, 0), complex(0, 0), complex(inf, -nan)}, - Test{complex(1, 0), complex(0, 1), complex(0, -1)}, - Test{complex(1, 0), complex(0, -1), complex(negzero, 1)}, - Test{complex(1, 0), complex(0, 2), complex(0, -0.5)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 0), complex(1, 0), complex(1, 0)}, - Test{complex(1, 0), complex(1, 1), complex(0.5, -0.5)}, - Test{complex(1, 0), complex(1, -1), complex(0.5, 0.5)}, - Test{complex(1, 0), complex(1, 2), complex(0.2, -0.4)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 0), complex(-1, 0), complex(-1, negzero)}, - Test{complex(1, 0), complex(-1, 1), complex(-0.5, -0.5)}, - Test{complex(1, 0), complex(-1, -1), complex(-0.5, 0.5)}, - Test{complex(1, 0), complex(-1, 2), complex(-0.2, -0.4)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 0), complex(2, 0), complex(0.5, 0)}, - Test{complex(1, 0), complex(2, 1), complex(0.4, -0.2)}, - Test{complex(1, 0), complex(2, -1), complex(0.4, 0.2)}, - Test{complex(1, 0), complex(2, 2), complex(0.25, -0.25)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(1, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(1, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(1, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 0), complex(inf, 0), complex(0, 0)}, - Test{complex(1, 0), complex(inf, 1), complex(0, 0)}, - Test{complex(1, 0), complex(inf, -1), complex(0, 0)}, - Test{complex(1, 0), complex(inf, 2), complex(0, 0)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 0), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(1, 0), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(1, 0), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(1, 0), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(0, 0), complex(inf, inf)}, - Test{complex(1, 1), complex(0, 1), complex(1, -1)}, - Test{complex(1, 1), complex(0, -1), complex(-1, 1)}, - Test{complex(1, 1), complex(0, 2), complex(0.5, -0.5)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(1, 0), complex(1, 1)}, - Test{complex(1, 1), complex(1, 1), complex(1, 0)}, - Test{complex(1, 1), complex(1, -1), complex(0, 1)}, - Test{complex(1, 1), complex(1, 2), complex(0.6, -0.2)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(-1, 0), complex(-1, -1)}, - Test{complex(1, 1), complex(-1, 1), complex(negzero, -1)}, - Test{complex(1, 1), complex(-1, -1), complex(-1, negzero)}, - Test{complex(1, 1), complex(-1, 2), complex(0.2, -0.6)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(2, 0), complex(0.5, 0.5)}, - Test{complex(1, 1), complex(2, 1), complex(0.6, 0.2)}, - Test{complex(1, 1), complex(2, -1), complex(0.2, 0.6)}, - Test{complex(1, 1), complex(2, 2), complex(0.5, 0)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(1, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(1, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(1, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(inf, 0), complex(0, 0)}, - Test{complex(1, 1), complex(inf, 1), complex(0, 0)}, - Test{complex(1, 1), complex(inf, -1), complex(0, 0)}, - Test{complex(1, 1), complex(inf, 2), complex(0, 0)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 1), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(1, 1), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(1, 1), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(1, 1), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, -1), complex(0, 0), complex(inf, -inf)}, - Test{complex(1, -1), complex(0, 1), complex(-1, -1)}, - Test{complex(1, -1), complex(0, -1), complex(1, 1)}, - Test{complex(1, -1), complex(0, 2), complex(-0.5, -0.5)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, -1), complex(1, 0), complex(1, -1)}, - Test{complex(1, -1), complex(1, 1), complex(0, -1)}, - Test{complex(1, -1), complex(1, -1), complex(1, 0)}, - Test{complex(1, -1), complex(1, 2), complex(-0.2, -0.6)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, -1), complex(-1, 0), complex(-1, 1)}, - Test{complex(1, -1), complex(-1, 1), complex(-1, negzero)}, - Test{complex(1, -1), complex(-1, -1), complex(negzero, 1)}, - Test{complex(1, -1), complex(-1, 2), complex(-0.6, -0.2)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, -1), complex(2, 0), complex(0.5, -0.5)}, - Test{complex(1, -1), complex(2, 1), complex(0.2, -0.6)}, - Test{complex(1, -1), complex(2, -1), complex(0.6, -0.2)}, - Test{complex(1, -1), complex(2, 2), complex(0, -0.5)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(1, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(1, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(1, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, -1), complex(inf, 0), complex(0, negzero)}, - Test{complex(1, -1), complex(inf, 1), complex(0, negzero)}, - Test{complex(1, -1), complex(inf, -1), complex(0, negzero)}, - Test{complex(1, -1), complex(inf, 2), complex(0, negzero)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, -1), complex(-inf, 0), complex(negzero, 0)}, - Test{complex(1, -1), complex(-inf, 1), complex(negzero, 0)}, - Test{complex(1, -1), complex(-inf, -1), complex(negzero, 0)}, - Test{complex(1, -1), complex(-inf, 2), complex(negzero, 0)}, - Test{complex(1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(1, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(1, 2), complex(0, 0), complex(inf, inf)}, - Test{complex(1, 2), complex(0, 1), complex(2, -1)}, - Test{complex(1, 2), complex(0, -1), complex(-2, 1)}, - Test{complex(1, 2), complex(0, 2), complex(1, -0.5)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 2), complex(1, 0), complex(1, 2)}, - Test{complex(1, 2), complex(1, 1), complex(1.5, 0.5)}, - Test{complex(1, 2), complex(1, -1), complex(-0.5, 1.5)}, - Test{complex(1, 2), complex(1, 2), complex(1, 0)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 2), complex(-1, 0), complex(-1, -2)}, - Test{complex(1, 2), complex(-1, 1), complex(0.5, -1.5)}, - Test{complex(1, 2), complex(-1, -1), complex(-1.5, -0.5)}, - Test{complex(1, 2), complex(-1, 2), complex(0.6, -0.8)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 2), complex(2, 0), complex(0.5, 1)}, - Test{complex(1, 2), complex(2, 1), complex(0.8, 0.6)}, - Test{complex(1, 2), complex(2, -1), complex(0, 1)}, - Test{complex(1, 2), complex(2, 2), complex(0.75, 0.25)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(1, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(1, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(1, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 2), complex(inf, 0), complex(0, 0)}, - Test{complex(1, 2), complex(inf, 1), complex(0, 0)}, - Test{complex(1, 2), complex(inf, -1), complex(0, 0)}, - Test{complex(1, 2), complex(inf, 2), complex(0, 0)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(1, 2), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(1, 2), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(1, 2), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(1, 2), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(1, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(1, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-1, 0), complex(0, 0), complex(-inf, -nan)}, - Test{complex(-1, 0), complex(0, 1), complex(0, 1)}, - Test{complex(-1, 0), complex(0, -1), complex(negzero, -1)}, - Test{complex(-1, 0), complex(0, 2), complex(0, 0.5)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 0), complex(1, 0), complex(-1, 0)}, - Test{complex(-1, 0), complex(1, 1), complex(-0.5, 0.5)}, - Test{complex(-1, 0), complex(1, -1), complex(-0.5, -0.5)}, - Test{complex(-1, 0), complex(1, 2), complex(-0.2, 0.4)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 0), complex(-1, 0), complex(1, negzero)}, - Test{complex(-1, 0), complex(-1, 1), complex(0.5, 0.5)}, - Test{complex(-1, 0), complex(-1, -1), complex(0.5, -0.5)}, - Test{complex(-1, 0), complex(-1, 2), complex(0.2, 0.4)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 0), complex(2, 0), complex(-0.5, 0)}, - Test{complex(-1, 0), complex(2, 1), complex(-0.4, 0.2)}, - Test{complex(-1, 0), complex(2, -1), complex(-0.4, -0.2)}, - Test{complex(-1, 0), complex(2, 2), complex(-0.25, 0.25)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(-1, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(-1, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(-1, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 0), complex(inf, 0), complex(negzero, 0)}, - Test{complex(-1, 0), complex(inf, 1), complex(negzero, 0)}, - Test{complex(-1, 0), complex(inf, -1), complex(negzero, 0)}, - Test{complex(-1, 0), complex(inf, 2), complex(negzero, 0)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 0), complex(-inf, 0), complex(0, negzero)}, - Test{complex(-1, 0), complex(-inf, 1), complex(0, negzero)}, - Test{complex(-1, 0), complex(-inf, -1), complex(0, negzero)}, - Test{complex(-1, 0), complex(-inf, 2), complex(0, negzero)}, - Test{complex(-1, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 0), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 0), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 1), complex(0, 0), complex(-inf, inf)}, - Test{complex(-1, 1), complex(0, 1), complex(1, 1)}, - Test{complex(-1, 1), complex(0, -1), complex(-1, -1)}, - Test{complex(-1, 1), complex(0, 2), complex(0.5, 0.5)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 1), complex(1, 0), complex(-1, 1)}, - Test{complex(-1, 1), complex(1, 1), complex(0, 1)}, - Test{complex(-1, 1), complex(1, -1), complex(-1, 0)}, - Test{complex(-1, 1), complex(1, 2), complex(0.2, 0.6)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 1), complex(-1, 0), complex(1, -1)}, - Test{complex(-1, 1), complex(-1, 1), complex(1, negzero)}, - Test{complex(-1, 1), complex(-1, -1), complex(negzero, -1)}, - Test{complex(-1, 1), complex(-1, 2), complex(0.6, 0.2)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 1), complex(2, 0), complex(-0.5, 0.5)}, - Test{complex(-1, 1), complex(2, 1), complex(-0.2, 0.6)}, - Test{complex(-1, 1), complex(2, -1), complex(-0.6, 0.2)}, - Test{complex(-1, 1), complex(2, 2), complex(0, 0.5)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(-1, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(-1, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(-1, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 1), complex(inf, 0), complex(negzero, 0)}, - Test{complex(-1, 1), complex(inf, 1), complex(negzero, 0)}, - Test{complex(-1, 1), complex(inf, -1), complex(negzero, 0)}, - Test{complex(-1, 1), complex(inf, 2), complex(negzero, 0)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 1), complex(-inf, 0), complex(0, negzero)}, - Test{complex(-1, 1), complex(-inf, 1), complex(0, negzero)}, - Test{complex(-1, 1), complex(-inf, -1), complex(0, negzero)}, - Test{complex(-1, 1), complex(-inf, 2), complex(0, negzero)}, - Test{complex(-1, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 1), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 1), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, -1), complex(0, 0), complex(-inf, -inf)}, - Test{complex(-1, -1), complex(0, 1), complex(-1, 1)}, - Test{complex(-1, -1), complex(0, -1), complex(1, -1)}, - Test{complex(-1, -1), complex(0, 2), complex(-0.5, 0.5)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, -1), complex(1, 0), complex(-1, -1)}, - Test{complex(-1, -1), complex(1, 1), complex(-1, 0)}, - Test{complex(-1, -1), complex(1, -1), complex(0, -1)}, - Test{complex(-1, -1), complex(1, 2), complex(-0.6, 0.2)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, -1), complex(-1, 0), complex(1, 1)}, - Test{complex(-1, -1), complex(-1, 1), complex(negzero, 1)}, - Test{complex(-1, -1), complex(-1, -1), complex(1, negzero)}, - Test{complex(-1, -1), complex(-1, 2), complex(-0.2, 0.6)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, -1), complex(2, 0), complex(-0.5, -0.5)}, - Test{complex(-1, -1), complex(2, 1), complex(-0.6, -0.2)}, - Test{complex(-1, -1), complex(2, -1), complex(-0.2, -0.6)}, - Test{complex(-1, -1), complex(2, 2), complex(-0.5, 0)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(-1, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(-1, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(-1, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, -1), complex(inf, 0), complex(negzero, negzero)}, - Test{complex(-1, -1), complex(inf, 1), complex(negzero, negzero)}, - Test{complex(-1, -1), complex(inf, -1), complex(negzero, negzero)}, - Test{complex(-1, -1), complex(inf, 2), complex(negzero, negzero)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, -1), complex(-inf, 0), complex(0, 0)}, - Test{complex(-1, -1), complex(-inf, 1), complex(0, 0)}, - Test{complex(-1, -1), complex(-inf, -1), complex(0, 0)}, - Test{complex(-1, -1), complex(-inf, 2), complex(0, 0)}, - Test{complex(-1, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, -1), complex(-nan, inf), complex(negzero, 0)}, - Test{complex(-1, -1), complex(-nan, -inf), complex(0, negzero)}, - Test{complex(-1, 2), complex(0, 0), complex(-inf, inf)}, - Test{complex(-1, 2), complex(0, 1), complex(2, 1)}, - Test{complex(-1, 2), complex(0, -1), complex(-2, -1)}, - Test{complex(-1, 2), complex(0, 2), complex(1, 0.5)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 2), complex(1, 0), complex(-1, 2)}, - Test{complex(-1, 2), complex(1, 1), complex(0.5, 1.5)}, - Test{complex(-1, 2), complex(1, -1), complex(-1.5, 0.5)}, - Test{complex(-1, 2), complex(1, 2), complex(0.6, 0.8)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 2), complex(-1, 0), complex(1, -2)}, - Test{complex(-1, 2), complex(-1, 1), complex(1.5, -0.5)}, - Test{complex(-1, 2), complex(-1, -1), complex(-0.5, -1.5)}, - Test{complex(-1, 2), complex(-1, 2), complex(1, 0)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 2), complex(2, 0), complex(-0.5, 1)}, - Test{complex(-1, 2), complex(2, 1), complex(0, 1)}, - Test{complex(-1, 2), complex(2, -1), complex(-0.8, 0.6)}, - Test{complex(-1, 2), complex(2, 2), complex(0.25, 0.75)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(-1, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(-1, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(-1, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 2), complex(inf, 0), complex(negzero, 0)}, - Test{complex(-1, 2), complex(inf, 1), complex(negzero, 0)}, - Test{complex(-1, 2), complex(inf, -1), complex(negzero, 0)}, - Test{complex(-1, 2), complex(inf, 2), complex(negzero, 0)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(-1, 2), complex(-inf, 0), complex(0, negzero)}, - Test{complex(-1, 2), complex(-inf, 1), complex(0, negzero)}, - Test{complex(-1, 2), complex(-inf, -1), complex(0, negzero)}, - Test{complex(-1, 2), complex(-inf, 2), complex(0, negzero)}, - Test{complex(-1, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-1, 2), complex(-nan, inf), complex(0, 0)}, - Test{complex(-1, 2), complex(-nan, -inf), complex(negzero, negzero)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(2, 0), complex(0, 0), complex(inf, -nan)}, - Test{complex(2, 0), complex(0, 1), complex(0, -2)}, - Test{complex(2, 0), complex(0, -1), complex(negzero, 2)}, - Test{complex(2, 0), complex(0, 2), complex(0, -1)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 0), complex(1, 0), complex(2, 0)}, - Test{complex(2, 0), complex(1, 1), complex(1, -1)}, - Test{complex(2, 0), complex(1, -1), complex(1, 1)}, - Test{complex(2, 0), complex(1, 2), complex(0.4, -0.8)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 0), complex(-1, 0), complex(-2, negzero)}, - Test{complex(2, 0), complex(-1, 1), complex(-1, -1)}, - Test{complex(2, 0), complex(-1, -1), complex(-1, 1)}, - Test{complex(2, 0), complex(-1, 2), complex(-0.4, -0.8)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 0), complex(2, 0), complex(1, 0)}, - Test{complex(2, 0), complex(2, 1), complex(0.8, -0.4)}, - Test{complex(2, 0), complex(2, -1), complex(0.8, 0.4)}, - Test{complex(2, 0), complex(2, 2), complex(0.5, -0.5)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(2, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(2, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(2, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 0), complex(inf, 0), complex(0, 0)}, - Test{complex(2, 0), complex(inf, 1), complex(0, 0)}, - Test{complex(2, 0), complex(inf, -1), complex(0, 0)}, - Test{complex(2, 0), complex(inf, 2), complex(0, 0)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 0), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(2, 0), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(2, 0), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(2, 0), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(2, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 0), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 0), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(0, 0), complex(inf, inf)}, - Test{complex(2, 1), complex(0, 1), complex(1, -2)}, - Test{complex(2, 1), complex(0, -1), complex(-1, 2)}, - Test{complex(2, 1), complex(0, 2), complex(0.5, -1)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(1, 0), complex(2, 1)}, - Test{complex(2, 1), complex(1, 1), complex(1.5, -0.5)}, - Test{complex(2, 1), complex(1, -1), complex(0.5, 1.5)}, - Test{complex(2, 1), complex(1, 2), complex(0.8, -0.6)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(-1, 0), complex(-2, -1)}, - Test{complex(2, 1), complex(-1, 1), complex(-0.5, -1.5)}, - Test{complex(2, 1), complex(-1, -1), complex(-1.5, 0.5)}, - Test{complex(2, 1), complex(-1, 2), complex(0, -1)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(2, 0), complex(1, 0.5)}, - Test{complex(2, 1), complex(2, 1), complex(1, 0)}, - Test{complex(2, 1), complex(2, -1), complex(0.6, 0.8)}, - Test{complex(2, 1), complex(2, 2), complex(0.75, -0.25)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(2, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(2, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(2, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(inf, 0), complex(0, 0)}, - Test{complex(2, 1), complex(inf, 1), complex(0, 0)}, - Test{complex(2, 1), complex(inf, -1), complex(0, 0)}, - Test{complex(2, 1), complex(inf, 2), complex(0, 0)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 1), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(2, 1), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(2, 1), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(2, 1), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(2, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 1), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 1), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, -1), complex(0, 0), complex(inf, -inf)}, - Test{complex(2, -1), complex(0, 1), complex(-1, -2)}, - Test{complex(2, -1), complex(0, -1), complex(1, 2)}, - Test{complex(2, -1), complex(0, 2), complex(-0.5, -1)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, -1), complex(1, 0), complex(2, -1)}, - Test{complex(2, -1), complex(1, 1), complex(0.5, -1.5)}, - Test{complex(2, -1), complex(1, -1), complex(1.5, 0.5)}, - Test{complex(2, -1), complex(1, 2), complex(0, -1)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, -1), complex(-1, 0), complex(-2, 1)}, - Test{complex(2, -1), complex(-1, 1), complex(-1.5, -0.5)}, - Test{complex(2, -1), complex(-1, -1), complex(-0.5, 1.5)}, - Test{complex(2, -1), complex(-1, 2), complex(-0.8, -0.6)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, -1), complex(2, 0), complex(1, -0.5)}, - Test{complex(2, -1), complex(2, 1), complex(0.6, -0.8)}, - Test{complex(2, -1), complex(2, -1), complex(1, 0)}, - Test{complex(2, -1), complex(2, 2), complex(0.25, -0.75)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(2, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(2, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(2, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, -1), complex(inf, 0), complex(0, negzero)}, - Test{complex(2, -1), complex(inf, 1), complex(0, negzero)}, - Test{complex(2, -1), complex(inf, -1), complex(0, negzero)}, - Test{complex(2, -1), complex(inf, 2), complex(0, negzero)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, -1), complex(-inf, 0), complex(negzero, 0)}, - Test{complex(2, -1), complex(-inf, 1), complex(negzero, 0)}, - Test{complex(2, -1), complex(-inf, -1), complex(negzero, 0)}, - Test{complex(2, -1), complex(-inf, 2), complex(negzero, 0)}, - Test{complex(2, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, -1), complex(-nan, inf), complex(negzero, negzero)}, - Test{complex(2, -1), complex(-nan, -inf), complex(0, 0)}, - Test{complex(2, 2), complex(0, 0), complex(inf, inf)}, - Test{complex(2, 2), complex(0, 1), complex(2, -2)}, - Test{complex(2, 2), complex(0, -1), complex(-2, 2)}, - Test{complex(2, 2), complex(0, 2), complex(1, -1)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 2), complex(1, 0), complex(2, 2)}, - Test{complex(2, 2), complex(1, 1), complex(2, 0)}, - Test{complex(2, 2), complex(1, -1), complex(0, 2)}, - Test{complex(2, 2), complex(1, 2), complex(1.2, -0.4)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 2), complex(-1, 0), complex(-2, -2)}, - Test{complex(2, 2), complex(-1, 1), complex(negzero, -2)}, - Test{complex(2, 2), complex(-1, -1), complex(-2, negzero)}, - Test{complex(2, 2), complex(-1, 2), complex(0.4, -1.2)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 2), complex(2, 0), complex(1, 1)}, - Test{complex(2, 2), complex(2, 1), complex(1.2, 0.4)}, - Test{complex(2, 2), complex(2, -1), complex(0.4, 1.2)}, - Test{complex(2, 2), complex(2, 2), complex(1, 0)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(2, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(2, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(2, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 2), complex(inf, 0), complex(0, 0)}, - Test{complex(2, 2), complex(inf, 1), complex(0, 0)}, - Test{complex(2, 2), complex(inf, -1), complex(0, 0)}, - Test{complex(2, 2), complex(inf, 2), complex(0, 0)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(2, 2), complex(-inf, 0), complex(negzero, negzero)}, - Test{complex(2, 2), complex(-inf, 1), complex(negzero, negzero)}, - Test{complex(2, 2), complex(-inf, -1), complex(negzero, negzero)}, - Test{complex(2, 2), complex(-inf, 2), complex(negzero, negzero)}, - Test{complex(2, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(2, 2), complex(-nan, inf), complex(0, negzero)}, - Test{complex(2, 2), complex(-nan, -inf), complex(negzero, 0)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, 0), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, 0), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, 0), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, 1), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, 1), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, 1), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, -1), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, -1), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, -1), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, 2), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, 2), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, 2), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(nan, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(0, 0), complex(inf, -nan)}, - Test{complex(inf, 0), complex(0, 1), complex(-nan, -inf)}, - Test{complex(inf, 0), complex(0, -1), complex(-nan, inf)}, - Test{complex(inf, 0), complex(0, 2), complex(-nan, -inf)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(1, 0), complex(inf, -nan)}, - Test{complex(inf, 0), complex(1, 1), complex(inf, -inf)}, - Test{complex(inf, 0), complex(1, -1), complex(inf, inf)}, - Test{complex(inf, 0), complex(1, 2), complex(inf, -inf)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-1, 0), complex(-inf, -nan)}, - Test{complex(inf, 0), complex(-1, 1), complex(-inf, -inf)}, - Test{complex(inf, 0), complex(-1, -1), complex(-inf, inf)}, - Test{complex(inf, 0), complex(-1, 2), complex(-inf, -inf)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(2, 0), complex(inf, -nan)}, - Test{complex(inf, 0), complex(2, 1), complex(inf, -inf)}, - Test{complex(inf, 0), complex(2, -1), complex(inf, inf)}, - Test{complex(inf, 0), complex(2, 2), complex(inf, -inf)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(inf, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(inf, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(inf, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(0, 0), complex(inf, inf)}, - Test{complex(inf, 1), complex(0, 1), complex(-nan, -inf)}, - Test{complex(inf, 1), complex(0, -1), complex(-nan, inf)}, - Test{complex(inf, 1), complex(0, 2), complex(-nan, -inf)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(1, 0), complex(inf, -nan)}, - Test{complex(inf, 1), complex(1, 1), complex(inf, -inf)}, - Test{complex(inf, 1), complex(1, -1), complex(inf, inf)}, - Test{complex(inf, 1), complex(1, 2), complex(inf, -inf)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-1, 0), complex(-inf, -nan)}, - Test{complex(inf, 1), complex(-1, 1), complex(-inf, -inf)}, - Test{complex(inf, 1), complex(-1, -1), complex(-inf, inf)}, - Test{complex(inf, 1), complex(-1, 2), complex(-inf, -inf)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(2, 0), complex(inf, -nan)}, - Test{complex(inf, 1), complex(2, 1), complex(inf, -inf)}, - Test{complex(inf, 1), complex(2, -1), complex(inf, inf)}, - Test{complex(inf, 1), complex(2, 2), complex(inf, -inf)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(inf, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(inf, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(inf, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(0, 0), complex(inf, -inf)}, - Test{complex(inf, -1), complex(0, 1), complex(-nan, -inf)}, - Test{complex(inf, -1), complex(0, -1), complex(-nan, inf)}, - Test{complex(inf, -1), complex(0, 2), complex(-nan, -inf)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(1, 0), complex(inf, -nan)}, - Test{complex(inf, -1), complex(1, 1), complex(inf, -inf)}, - Test{complex(inf, -1), complex(1, -1), complex(inf, inf)}, - Test{complex(inf, -1), complex(1, 2), complex(inf, -inf)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-1, 0), complex(-inf, -nan)}, - Test{complex(inf, -1), complex(-1, 1), complex(-inf, -inf)}, - Test{complex(inf, -1), complex(-1, -1), complex(-inf, inf)}, - Test{complex(inf, -1), complex(-1, 2), complex(-inf, -inf)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(2, 0), complex(inf, -nan)}, - Test{complex(inf, -1), complex(2, 1), complex(inf, -inf)}, - Test{complex(inf, -1), complex(2, -1), complex(inf, inf)}, - Test{complex(inf, -1), complex(2, 2), complex(inf, -inf)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(inf, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(inf, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(inf, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(0, 0), complex(inf, inf)}, - Test{complex(inf, 2), complex(0, 1), complex(-nan, -inf)}, - Test{complex(inf, 2), complex(0, -1), complex(-nan, inf)}, - Test{complex(inf, 2), complex(0, 2), complex(-nan, -inf)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(1, 0), complex(inf, -nan)}, - Test{complex(inf, 2), complex(1, 1), complex(inf, -inf)}, - Test{complex(inf, 2), complex(1, -1), complex(inf, inf)}, - Test{complex(inf, 2), complex(1, 2), complex(inf, -inf)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-1, 0), complex(-inf, -nan)}, - Test{complex(inf, 2), complex(-1, 1), complex(-inf, -inf)}, - Test{complex(inf, 2), complex(-1, -1), complex(-inf, inf)}, - Test{complex(inf, 2), complex(-1, 2), complex(-inf, -inf)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(2, 0), complex(inf, -nan)}, - Test{complex(inf, 2), complex(2, 1), complex(inf, -inf)}, - Test{complex(inf, 2), complex(2, -1), complex(inf, inf)}, - Test{complex(inf, 2), complex(2, 2), complex(inf, -inf)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(inf, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(inf, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(inf, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(0, 0), complex(-inf, -nan)}, - Test{complex(-inf, 0), complex(0, 1), complex(-nan, inf)}, - Test{complex(-inf, 0), complex(0, -1), complex(-nan, -inf)}, - Test{complex(-inf, 0), complex(0, 2), complex(-nan, inf)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(1, 0), complex(-inf, -nan)}, - Test{complex(-inf, 0), complex(1, 1), complex(-inf, inf)}, - Test{complex(-inf, 0), complex(1, -1), complex(-inf, -inf)}, - Test{complex(-inf, 0), complex(1, 2), complex(-inf, inf)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-1, 0), complex(inf, -nan)}, - Test{complex(-inf, 0), complex(-1, 1), complex(inf, inf)}, - Test{complex(-inf, 0), complex(-1, -1), complex(inf, -inf)}, - Test{complex(-inf, 0), complex(-1, 2), complex(inf, inf)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(2, 0), complex(-inf, -nan)}, - Test{complex(-inf, 0), complex(2, 1), complex(-inf, inf)}, - Test{complex(-inf, 0), complex(2, -1), complex(-inf, -inf)}, - Test{complex(-inf, 0), complex(2, 2), complex(-inf, inf)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(nan, 0), complex(nan, nan)}, - Test{complex(-inf, 0), complex(nan, 1), complex(nan, nan)}, - Test{complex(-inf, 0), complex(nan, -1), complex(nan, nan)}, - Test{complex(-inf, 0), complex(nan, 2), complex(nan, nan)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 0), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 0), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(0, 0), complex(-inf, inf)}, - Test{complex(-inf, 1), complex(0, 1), complex(-nan, inf)}, - Test{complex(-inf, 1), complex(0, -1), complex(-nan, -inf)}, - Test{complex(-inf, 1), complex(0, 2), complex(-nan, inf)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(1, 0), complex(-inf, -nan)}, - Test{complex(-inf, 1), complex(1, 1), complex(-inf, inf)}, - Test{complex(-inf, 1), complex(1, -1), complex(-inf, -inf)}, - Test{complex(-inf, 1), complex(1, 2), complex(-inf, inf)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-1, 0), complex(inf, -nan)}, - Test{complex(-inf, 1), complex(-1, 1), complex(inf, inf)}, - Test{complex(-inf, 1), complex(-1, -1), complex(inf, -inf)}, - Test{complex(-inf, 1), complex(-1, 2), complex(inf, inf)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(2, 0), complex(-inf, -nan)}, - Test{complex(-inf, 1), complex(2, 1), complex(-inf, inf)}, - Test{complex(-inf, 1), complex(2, -1), complex(-inf, -inf)}, - Test{complex(-inf, 1), complex(2, 2), complex(-inf, inf)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(nan, 0), complex(nan, nan)}, - Test{complex(-inf, 1), complex(nan, 1), complex(nan, nan)}, - Test{complex(-inf, 1), complex(nan, -1), complex(nan, nan)}, - Test{complex(-inf, 1), complex(nan, 2), complex(nan, nan)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(0, 0), complex(-inf, -inf)}, - Test{complex(-inf, -1), complex(0, 1), complex(-nan, inf)}, - Test{complex(-inf, -1), complex(0, -1), complex(-nan, -inf)}, - Test{complex(-inf, -1), complex(0, 2), complex(-nan, inf)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(1, 0), complex(-inf, -nan)}, - Test{complex(-inf, -1), complex(1, 1), complex(-inf, inf)}, - Test{complex(-inf, -1), complex(1, -1), complex(-inf, -inf)}, - Test{complex(-inf, -1), complex(1, 2), complex(-inf, inf)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-1, 0), complex(inf, -nan)}, - Test{complex(-inf, -1), complex(-1, 1), complex(inf, inf)}, - Test{complex(-inf, -1), complex(-1, -1), complex(inf, -inf)}, - Test{complex(-inf, -1), complex(-1, 2), complex(inf, inf)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(2, 0), complex(-inf, -nan)}, - Test{complex(-inf, -1), complex(2, 1), complex(-inf, inf)}, - Test{complex(-inf, -1), complex(2, -1), complex(-inf, -inf)}, - Test{complex(-inf, -1), complex(2, 2), complex(-inf, inf)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(nan, 0), complex(nan, nan)}, - Test{complex(-inf, -1), complex(nan, 1), complex(nan, nan)}, - Test{complex(-inf, -1), complex(nan, -1), complex(nan, nan)}, - Test{complex(-inf, -1), complex(nan, 2), complex(nan, nan)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, -1), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, -1), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(0, 0), complex(-inf, inf)}, - Test{complex(-inf, 2), complex(0, 1), complex(-nan, inf)}, - Test{complex(-inf, 2), complex(0, -1), complex(-nan, -inf)}, - Test{complex(-inf, 2), complex(0, 2), complex(-nan, inf)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(1, 0), complex(-inf, -nan)}, - Test{complex(-inf, 2), complex(1, 1), complex(-inf, inf)}, - Test{complex(-inf, 2), complex(1, -1), complex(-inf, -inf)}, - Test{complex(-inf, 2), complex(1, 2), complex(-inf, inf)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-1, 0), complex(inf, -nan)}, - Test{complex(-inf, 2), complex(-1, 1), complex(inf, inf)}, - Test{complex(-inf, 2), complex(-1, -1), complex(inf, -inf)}, - Test{complex(-inf, 2), complex(-1, 2), complex(inf, inf)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(2, 0), complex(-inf, -nan)}, - Test{complex(-inf, 2), complex(2, 1), complex(-inf, inf)}, - Test{complex(-inf, 2), complex(2, -1), complex(-inf, -inf)}, - Test{complex(-inf, 2), complex(2, 2), complex(-inf, inf)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(nan, 0), complex(nan, nan)}, - Test{complex(-inf, 2), complex(nan, 1), complex(nan, nan)}, - Test{complex(-inf, 2), complex(nan, -1), complex(nan, nan)}, - Test{complex(-inf, 2), complex(nan, 2), complex(nan, nan)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(nan, nan), complex(nan, nan)}, - Test{complex(-inf, 2), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-inf, 2), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(nan, nan), complex(0, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(0, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-1, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(2, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 0), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, -1), complex(nan, nan)}, - Test{complex(nan, nan), complex(-inf, 2), complex(nan, nan)}, - Test{complex(nan, nan), complex(nan, nan), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, inf), complex(nan, nan)}, - Test{complex(nan, nan), complex(-nan, -inf), complex(nan, nan)}, - Test{complex(-nan, inf), complex(0, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(0, 1), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(0, -1), complex(-inf, -nan)}, - Test{complex(-nan, inf), complex(0, 2), complex(inf, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(1, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(1, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(1, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(1, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-1, 0), complex(-nan, -inf)}, - Test{complex(-nan, inf), complex(-1, 1), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(-1, -1), complex(-inf, -inf)}, - Test{complex(-nan, inf), complex(-1, 2), complex(inf, -inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(2, 0), complex(-nan, inf)}, - Test{complex(-nan, inf), complex(2, 1), complex(inf, inf)}, - Test{complex(-nan, inf), complex(2, -1), complex(-inf, inf)}, - Test{complex(-nan, inf), complex(2, 2), complex(inf, inf)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(0, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(0, 1), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(0, -1), complex(inf, -nan)}, - Test{complex(-nan, -inf), complex(0, 2), complex(-inf, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(1, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(1, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(1, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(1, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-1, 0), complex(-nan, inf)}, - Test{complex(-nan, -inf), complex(-1, 1), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(-1, -1), complex(inf, inf)}, - Test{complex(-nan, -inf), complex(-1, 2), complex(-inf, inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(2, 0), complex(-nan, -inf)}, - Test{complex(-nan, -inf), complex(2, 1), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(2, -1), complex(inf, -inf)}, - Test{complex(-nan, -inf), complex(2, 2), complex(-inf, -inf)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, 0), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, -1), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, 2), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 0), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, -1), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-inf, 2), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(nan, nan), complex(nan, nan)}, - Test{complex(-nan, -inf), complex(-nan, inf), complex(-nan, -nan)}, - Test{complex(-nan, -inf), complex(-nan, -inf), complex(-nan, -nan)}, + +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)}, } |