aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--gcc/go/gofrontend/expressions.cc21
-rw-r--r--gcc/go/gofrontend/runtime.def6
-rw-r--r--gcc/testsuite/go.test/test/cmplxdivide.c87
-rw-r--r--gcc/testsuite/go.test/test/cmplxdivide.go27
-rw-r--r--gcc/testsuite/go.test/test/cmplxdivide1.go6511
6 files changed, 4171 insertions, 2483 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 183e5ca..f55daf7 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-6b01f8cdc11d86bd98165c91d6ae101bcf6b9e1a
+5364d15082de77d2759a01f254208d4cb4f579e3
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index 23caf61..50574c2 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -6979,27 +6979,6 @@ Binary_expression::do_get_backend(Translate_context* context)
// been converted to a String_concat_expression in do_lower.
go_assert(!left_type->is_string_type());
- // For complex division Go might want slightly different results than the
- // backend implementation provides, so we have our own runtime routine.
- if (this->op_ == OPERATOR_DIV && this->left_->type()->complex_type() != NULL)
- {
- Runtime::Function complex_code;
- switch (this->left_->type()->complex_type()->bits())
- {
- case 64:
- complex_code = Runtime::COMPLEX64_DIV;
- break;
- case 128:
- complex_code = Runtime::COMPLEX128_DIV;
- break;
- default:
- go_unreachable();
- }
- Expression* complex_div =
- Runtime::make_call(complex_code, loc, 2, this->left_, this->right_);
- return complex_div->get_backend(context);
- }
-
Bexpression* left = this->left_->get_backend(context);
Bexpression* right = this->right_->get_backend(context);
diff --git a/gcc/go/gofrontend/runtime.def b/gcc/go/gofrontend/runtime.def
index 9a3c680..4b606a6 100644
--- a/gcc/go/gofrontend/runtime.def
+++ b/gcc/go/gofrontend/runtime.def
@@ -62,12 +62,6 @@ DEF_GO_RUNTIME(STRINGTOSLICERUNE, "runtime.stringtoslicerune",
P2(POINTER, STRING), R1(SLICE))
-// Complex division.
-DEF_GO_RUNTIME(COMPLEX64_DIV, "__go_complex64_div",
- P2(COMPLEX64, COMPLEX64), R1(COMPLEX64))
-DEF_GO_RUNTIME(COMPLEX128_DIV, "__go_complex128_div",
- P2(COMPLEX128, COMPLEX128), R1(COMPLEX128))
-
// Make a slice.
DEF_GO_RUNTIME(MAKESLICE, "runtime.makeslice", P3(TYPE, INT, INT),
R1(POINTER))
diff --git a/gcc/testsuite/go.test/test/cmplxdivide.c b/gcc/testsuite/go.test/test/cmplxdivide.c
index 12dc4f1..89a2868 100644
--- a/gcc/testsuite/go.test/test/cmplxdivide.c
+++ b/gcc/testsuite/go.test/test/cmplxdivide.c
@@ -1,8 +1,19 @@
-// Copyright 2010 The Go Authors. All rights reserved.
+// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-// gcc '-std=c99' cmplxdivide.c && a.out >cmplxdivide1.go
+// This C program generates the file cmplxdivide1.go. It uses the
+// output of the operations by C99 as the reference to check
+// the implementation of complex numbers in Go.
+// The generated file, cmplxdivide1.go, is compiled along
+// with the driver cmplxdivide.go (the names are confusing
+// and unimaginative) to run the actual test. This is done by
+// the usual test runner.
+//
+// The file cmplxdivide1.go is checked in to the repository, but
+// if it needs to be regenerated, compile and run this C program
+// like this:
+// gcc '-std=c99' cmplxdivide.c && a.out >cmplxdivide1.go
#include <complex.h>
#include <math.h>
@@ -12,50 +23,63 @@
#define nelem(x) (sizeof(x)/sizeof((x)[0]))
double f[] = {
- 0,
- 1,
- -1,
- 2,
+ 0.0,
+ -0.0,
+ 1.0,
+ -1.0,
+ 2.0,
NAN,
INFINITY,
-INFINITY,
};
-char*
-fmt(double g)
-{
+char* fmt(double g) {
static char buf[10][30];
static int n;
char *p;
-
+
p = buf[n++];
- if(n == 10)
+ if(n == 10) {
n = 0;
+ }
+
sprintf(p, "%g", g);
- if(strcmp(p, "-0") == 0)
- strcpy(p, "negzero");
- return p;
-}
-int
-iscnan(double complex d)
-{
- return !isinf(creal(d)) && !isinf(cimag(d)) && (isnan(creal(d)) || isnan(cimag(d)));
-}
+ if(strcmp(p, "0") == 0) {
+ strcpy(p, "zero");
+ return p;
+ }
+
+ if(strcmp(p, "-0") == 0) {
+ strcpy(p, "-zero");
+ return p;
+ }
-double complex zero; // attempt to hide zero division from gcc
+ return p;
+}
-int
-main(void)
-{
+int main(void) {
int i, j, k, l;
double complex n, d, q;
-
+
printf("// skip\n");
printf("// # generated by cmplxdivide.c\n");
printf("\n");
printf("package main\n");
- printf("var tests = []Test{\n");
+ printf("\n");
+ printf("import \"math\"\n");
+ printf("\n");
+ printf("var (\n");
+ printf("\tnan = math.NaN()\n");
+ printf("\tinf = math.Inf(1)\n");
+ printf("\tzero = 0.0\n");
+ printf(")\n");
+ printf("\n");
+ printf("var tests = []struct {\n");
+ printf("\tf, g complex128\n");
+ printf("\tout complex128\n");
+ printf("}{\n");
+
for(i=0; i<nelem(f); i++)
for(j=0; j<nelem(f); j++)
for(k=0; k<nelem(f); k++)
@@ -63,17 +87,8 @@ main(void)
n = f[i] + f[j]*I;
d = f[k] + f[l]*I;
q = n/d;
-
- // BUG FIX.
- // Gcc gets the wrong answer for NaN/0 unless both sides are NaN.
- // That is, it treats (NaN+NaN*I)/0 = NaN+NaN*I (a complex NaN)
- // but it then computes (1+NaN*I)/0 = Inf+NaN*I (a complex infinity).
- // Since both numerators are complex NaNs, it seems that the
- // results should agree in kind. Override the gcc computation in this case.
- if(iscnan(n) && d == 0)
- q = (NAN+NAN*I) / zero;
- printf("\tTest{complex(%s, %s), complex(%s, %s), complex(%s, %s)},\n",
+ printf("\t{complex(%s, %s), complex(%s, %s), complex(%s, %s)},\n",
fmt(creal(n)), fmt(cimag(n)),
fmt(creal(d)), fmt(cimag(d)),
fmt(creal(q)), fmt(cimag(q)));
diff --git a/gcc/testsuite/go.test/test/cmplxdivide.go b/gcc/testsuite/go.test/test/cmplxdivide.go
index 40c8448..49cd5bf 100644
--- a/gcc/testsuite/go.test/test/cmplxdivide.go
+++ b/gcc/testsuite/go.test/test/cmplxdivide.go
@@ -1,36 +1,29 @@
// run cmplxdivide1.go
-// Copyright 2010 The Go Authors. All rights reserved.
+// Copyright 2010 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Driver for complex division table defined in cmplxdivide1.go
+// For details, see the comment at the top of cmplxdivide.c.
package main
import (
"fmt"
"math"
- "math/cmplx"
)
-type Test struct {
- f, g complex128
- out complex128
-}
-
-var nan = math.NaN()
-var inf = math.Inf(1)
-var negzero = math.Copysign(0, -1)
-
func calike(a, b complex128) bool {
- switch {
- case cmplx.IsInf(a) && cmplx.IsInf(b):
- return true
- case cmplx.IsNaN(a) && cmplx.IsNaN(b):
- return true
+ if imag(a) != imag(b) && !(math.IsNaN(imag(a)) && math.IsNaN(imag(b))) {
+ return false
}
- return a == b
+
+ if real(a) != real(b) && !(math.IsNaN(real(a)) && math.IsNaN(real(b))) {
+ return false
+ }
+
+ return true
}
func main() {
diff --git a/gcc/testsuite/go.test/test/cmplxdivide1.go b/gcc/testsuite/go.test/test/cmplxdivide1.go
index e9031dd..a52fb6f 100644
--- a/gcc/testsuite/go.test/test/cmplxdivide1.go
+++ b/gcc/testsuite/go.test/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)},
}