OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [cmplxdivide1.go] - Rev 700

Compare with Previous | Blame | View Log

// # 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)},
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.