403Webshell
Server IP : 192.241.186.36  /  Your IP : 216.73.216.164
Web Server : Apache/2.4.29 (Ubuntu)
System : Linux webserver7 4.15.0-194-generic #205-Ubuntu SMP Fri Sep 16 19:49:27 UTC 2022 x86_64
User : root ( 0)
PHP Version : 7.4.32
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/local/go/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/local/go/test/cmplxdivide1.go
// skip
// # generated by cmplxdivide.c

package main

import "math"

var (
	nan     = math.NaN()
	inf     = math.Inf(1)
	zero    = 0.0
)

var tests = []struct {
	f, g complex128
	out  complex128
}{
	{complex(zero, zero), complex(zero, zero), complex(nan, nan)},
	{complex(zero, zero), complex(zero, -zero), complex(nan, nan)},
	{complex(zero, zero), complex(zero, 1), complex(zero, zero)},
	{complex(zero, zero), complex(zero, -1), complex(-zero, zero)},
	{complex(zero, zero), complex(zero, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(zero, zero), complex(nan, nan)},
	{complex(zero, zero), complex(-zero, -zero), complex(nan, nan)},
	{complex(zero, zero), complex(zero, 1), complex(zero, zero)},
	{complex(zero, zero), complex(-zero, -1), complex(-zero, -zero)},
	{complex(zero, zero), complex(zero, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(1, zero), complex(zero, zero)},
	{complex(zero, zero), complex(1, -zero), complex(zero, zero)},
	{complex(zero, zero), complex(1, 1), complex(zero, zero)},
	{complex(zero, zero), complex(1, -1), complex(zero, zero)},
	{complex(zero, zero), complex(1, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(-1, zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, -zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, 1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, -1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, 2), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(2, zero), complex(zero, zero)},
	{complex(zero, zero), complex(2, -zero), complex(zero, zero)},
	{complex(zero, zero), complex(2, 1), complex(zero, zero)},
	{complex(zero, zero), complex(2, -1), complex(zero, zero)},
	{complex(zero, zero), complex(2, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(nan, zero), complex(nan, nan)},
	{complex(zero, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, zero), complex(nan, 1), complex(nan, nan)},
	{complex(zero, zero), complex(nan, -1), complex(nan, nan)},
	{complex(zero, zero), complex(nan, 2), complex(nan, nan)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(inf, zero), complex(zero, zero)},
	{complex(zero, zero), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, zero), complex(inf, 1), complex(zero, zero)},
	{complex(zero, zero), complex(inf, -1), complex(zero, zero)},
	{complex(zero, zero), complex(inf, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, -1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(zero, zero), complex(nan, nan)},
	{complex(zero, -zero), complex(zero, -zero), complex(nan, nan)},
	{complex(zero, -zero), complex(zero, 1), complex(zero, -zero)},
	{complex(zero, -zero), complex(zero, -1), complex(zero, -zero)},
	{complex(zero, -zero), complex(zero, 2), complex(zero, -zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(zero, zero), complex(nan, nan)},
	{complex(zero, -zero), complex(-zero, -zero), complex(nan, nan)},
	{complex(zero, -zero), complex(zero, 1), complex(zero, -zero)},
	{complex(zero, -zero), complex(-zero, -1), complex(-zero, zero)},
	{complex(zero, -zero), complex(zero, 2), complex(zero, -zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(1, zero), complex(zero, -zero)},
	{complex(zero, -zero), complex(1, -zero), complex(zero, zero)},
	{complex(zero, -zero), complex(1, 1), complex(zero, -zero)},
	{complex(zero, -zero), complex(1, -1), complex(zero, zero)},
	{complex(zero, -zero), complex(1, 2), complex(zero, -zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(-1, zero), complex(-zero, -zero)},
	{complex(zero, -zero), complex(-1, -zero), complex(-zero, zero)},
	{complex(zero, -zero), complex(-1, 1), complex(-zero, -zero)},
	{complex(zero, -zero), complex(-1, -1), complex(-zero, zero)},
	{complex(zero, -zero), complex(-1, 2), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(2, zero), complex(zero, -zero)},
	{complex(zero, -zero), complex(2, -zero), complex(zero, zero)},
	{complex(zero, -zero), complex(2, 1), complex(zero, -zero)},
	{complex(zero, -zero), complex(2, -1), complex(zero, zero)},
	{complex(zero, -zero), complex(2, 2), complex(zero, -zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(inf, zero), complex(zero, -zero)},
	{complex(zero, -zero), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, -zero), complex(inf, 1), complex(zero, -zero)},
	{complex(zero, -zero), complex(inf, -1), complex(zero, zero)},
	{complex(zero, -zero), complex(inf, 2), complex(zero, -zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, -zero), complex(-inf, -zero), complex(-zero, zero)},
	{complex(zero, -zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, -zero), complex(-inf, -1), complex(-zero, zero)},
	{complex(zero, -zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -zero), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, 1), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 1), complex(zero, -zero), complex(nan, inf)},
	{complex(zero, 1), complex(zero, 1), complex(1, zero)},
	{complex(zero, 1), complex(zero, -1), complex(-1, zero)},
	{complex(zero, 1), complex(zero, 2), complex(0.5, zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 1), complex(-zero, -zero), complex(nan, -inf)},
	{complex(zero, 1), complex(zero, 1), complex(1, zero)},
	{complex(zero, 1), complex(-zero, -1), complex(-1, -zero)},
	{complex(zero, 1), complex(zero, 2), complex(0.5, zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(1, zero), complex(zero, 1)},
	{complex(zero, 1), complex(1, -zero), complex(zero, 1)},
	{complex(zero, 1), complex(1, 1), complex(0.5, 0.5)},
	{complex(zero, 1), complex(1, -1), complex(-0.5, 0.5)},
	{complex(zero, 1), complex(1, 2), complex(0.4, 0.2)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(-1, zero), complex(-zero, -1)},
	{complex(zero, 1), complex(-1, -zero), complex(-zero, -1)},
	{complex(zero, 1), complex(-1, 1), complex(0.5, -0.5)},
	{complex(zero, 1), complex(-1, -1), complex(-0.5, -0.5)},
	{complex(zero, 1), complex(-1, 2), complex(0.4, -0.2)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(2, zero), complex(zero, 0.5)},
	{complex(zero, 1), complex(2, -zero), complex(zero, 0.5)},
	{complex(zero, 1), complex(2, 1), complex(0.2, 0.4)},
	{complex(zero, 1), complex(2, -1), complex(-0.2, 0.4)},
	{complex(zero, 1), complex(2, 2), complex(0.25, 0.25)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(nan, zero), complex(nan, nan)},
	{complex(zero, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, 1), complex(nan, 1), complex(nan, nan)},
	{complex(zero, 1), complex(nan, -1), complex(nan, nan)},
	{complex(zero, 1), complex(nan, 2), complex(nan, nan)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(inf, zero), complex(zero, zero)},
	{complex(zero, 1), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, 1), complex(inf, 1), complex(zero, zero)},
	{complex(zero, 1), complex(inf, -1), complex(zero, zero)},
	{complex(zero, 1), complex(inf, 2), complex(zero, zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, -1), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, -1), complex(zero, zero), complex(nan, -inf)},
	{complex(zero, -1), complex(zero, -zero), complex(nan, -inf)},
	{complex(zero, -1), complex(zero, 1), complex(-1, -zero)},
	{complex(zero, -1), complex(zero, -1), complex(1, -zero)},
	{complex(zero, -1), complex(zero, 2), complex(-0.5, -zero)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(zero, zero), complex(nan, -inf)},
	{complex(zero, -1), complex(-zero, -zero), complex(nan, inf)},
	{complex(zero, -1), complex(zero, 1), complex(-1, -zero)},
	{complex(zero, -1), complex(-zero, -1), complex(1, zero)},
	{complex(zero, -1), complex(zero, 2), complex(-0.5, -zero)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(1, zero), complex(zero, -1)},
	{complex(zero, -1), complex(1, -zero), complex(zero, -1)},
	{complex(zero, -1), complex(1, 1), complex(-0.5, -0.5)},
	{complex(zero, -1), complex(1, -1), complex(0.5, -0.5)},
	{complex(zero, -1), complex(1, 2), complex(-0.4, -0.2)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(-1, zero), complex(-zero, 1)},
	{complex(zero, -1), complex(-1, -zero), complex(-zero, 1)},
	{complex(zero, -1), complex(-1, 1), complex(-0.5, 0.5)},
	{complex(zero, -1), complex(-1, -1), complex(0.5, 0.5)},
	{complex(zero, -1), complex(-1, 2), complex(-0.4, 0.2)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(2, zero), complex(zero, -0.5)},
	{complex(zero, -1), complex(2, -zero), complex(zero, -0.5)},
	{complex(zero, -1), complex(2, 1), complex(-0.2, -0.4)},
	{complex(zero, -1), complex(2, -1), complex(0.2, -0.4)},
	{complex(zero, -1), complex(2, 2), complex(-0.25, -0.25)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(nan, zero), complex(nan, nan)},
	{complex(zero, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, -1), complex(nan, 1), complex(nan, nan)},
	{complex(zero, -1), complex(nan, -1), complex(nan, nan)},
	{complex(zero, -1), complex(nan, 2), complex(nan, nan)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(inf, zero), complex(zero, -zero)},
	{complex(zero, -1), complex(inf, -zero), complex(zero, -zero)},
	{complex(zero, -1), complex(inf, 1), complex(zero, -zero)},
	{complex(zero, -1), complex(inf, -1), complex(zero, -zero)},
	{complex(zero, -1), complex(inf, 2), complex(zero, -zero)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, -1), complex(-inf, zero), complex(-zero, zero)},
	{complex(zero, -1), complex(-inf, -zero), complex(-zero, zero)},
	{complex(zero, -1), complex(-inf, 1), complex(-zero, zero)},
	{complex(zero, -1), complex(-inf, -1), complex(-zero, zero)},
	{complex(zero, -1), complex(-inf, 2), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, 2), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 2), complex(zero, -zero), complex(nan, inf)},
	{complex(zero, 2), complex(zero, 1), complex(2, zero)},
	{complex(zero, 2), complex(zero, -1), complex(-2, zero)},
	{complex(zero, 2), complex(zero, 2), complex(1, zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 2), complex(-zero, -zero), complex(nan, -inf)},
	{complex(zero, 2), complex(zero, 1), complex(2, zero)},
	{complex(zero, 2), complex(-zero, -1), complex(-2, -zero)},
	{complex(zero, 2), complex(zero, 2), complex(1, zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(1, zero), complex(zero, 2)},
	{complex(zero, 2), complex(1, -zero), complex(zero, 2)},
	{complex(zero, 2), complex(1, 1), complex(1, 1)},
	{complex(zero, 2), complex(1, -1), complex(-1, 1)},
	{complex(zero, 2), complex(1, 2), complex(0.8, 0.4)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(-1, zero), complex(-zero, -2)},
	{complex(zero, 2), complex(-1, -zero), complex(-zero, -2)},
	{complex(zero, 2), complex(-1, 1), complex(1, -1)},
	{complex(zero, 2), complex(-1, -1), complex(-1, -1)},
	{complex(zero, 2), complex(-1, 2), complex(0.8, -0.4)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(2, zero), complex(zero, 1)},
	{complex(zero, 2), complex(2, -zero), complex(zero, 1)},
	{complex(zero, 2), complex(2, 1), complex(0.4, 0.8)},
	{complex(zero, 2), complex(2, -1), complex(-0.4, 0.8)},
	{complex(zero, 2), complex(2, 2), complex(0.5, 0.5)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(nan, zero), complex(nan, nan)},
	{complex(zero, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, 2), complex(nan, 1), complex(nan, nan)},
	{complex(zero, 2), complex(nan, -1), complex(nan, nan)},
	{complex(zero, 2), complex(nan, 2), complex(nan, nan)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(inf, zero), complex(zero, zero)},
	{complex(zero, 2), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, 2), complex(inf, 1), complex(zero, zero)},
	{complex(zero, 2), complex(inf, -1), complex(zero, zero)},
	{complex(zero, 2), complex(inf, 2), complex(zero, zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, -1), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(zero, zero), complex(zero, zero), complex(nan, nan)},
	{complex(zero, zero), complex(zero, -zero), complex(nan, nan)},
	{complex(zero, zero), complex(zero, 1), complex(zero, zero)},
	{complex(zero, zero), complex(zero, -1), complex(-zero, zero)},
	{complex(zero, zero), complex(zero, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(zero, zero), complex(nan, nan)},
	{complex(zero, zero), complex(-zero, -zero), complex(nan, nan)},
	{complex(zero, zero), complex(zero, 1), complex(zero, zero)},
	{complex(zero, zero), complex(-zero, -1), complex(-zero, -zero)},
	{complex(zero, zero), complex(zero, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(1, zero), complex(zero, zero)},
	{complex(zero, zero), complex(1, -zero), complex(zero, zero)},
	{complex(zero, zero), complex(1, 1), complex(zero, zero)},
	{complex(zero, zero), complex(1, -1), complex(zero, zero)},
	{complex(zero, zero), complex(1, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(-1, zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, -zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, 1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, -1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-1, 2), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(2, zero), complex(zero, zero)},
	{complex(zero, zero), complex(2, -zero), complex(zero, zero)},
	{complex(zero, zero), complex(2, 1), complex(zero, zero)},
	{complex(zero, zero), complex(2, -1), complex(zero, zero)},
	{complex(zero, zero), complex(2, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(nan, zero), complex(nan, nan)},
	{complex(zero, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, zero), complex(nan, 1), complex(nan, nan)},
	{complex(zero, zero), complex(nan, -1), complex(nan, nan)},
	{complex(zero, zero), complex(nan, 2), complex(nan, nan)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(inf, zero), complex(zero, zero)},
	{complex(zero, zero), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, zero), complex(inf, 1), complex(zero, zero)},
	{complex(zero, zero), complex(inf, -1), complex(zero, zero)},
	{complex(zero, zero), complex(inf, 2), complex(zero, zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, -1), complex(-zero, -zero)},
	{complex(zero, zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, zero), complex(nan, nan), complex(nan, nan)},
	{complex(zero, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(-zero, -zero), complex(zero, zero), complex(nan, nan)},
	{complex(-zero, -zero), complex(zero, -zero), complex(nan, nan)},
	{complex(-zero, -zero), complex(zero, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(zero, -1), complex(-zero, -zero)},
	{complex(-zero, -zero), complex(zero, 2), complex(-zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(zero, zero), complex(nan, nan)},
	{complex(-zero, -zero), complex(-zero, -zero), complex(nan, nan)},
	{complex(-zero, -zero), complex(zero, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(-zero, -1), complex(zero, -zero)},
	{complex(-zero, -zero), complex(zero, 2), complex(-zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(1, zero), complex(-zero, zero)},
	{complex(-zero, -zero), complex(1, -zero), complex(zero, -zero)},
	{complex(-zero, -zero), complex(1, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(1, -1), complex(zero, -zero)},
	{complex(-zero, -zero), complex(1, 2), complex(-zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(-1, zero), complex(-zero, zero)},
	{complex(-zero, -zero), complex(-1, -zero), complex(zero, -zero)},
	{complex(-zero, -zero), complex(-1, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(-1, -1), complex(zero, -zero)},
	{complex(-zero, -zero), complex(-1, 2), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(2, zero), complex(-zero, zero)},
	{complex(-zero, -zero), complex(2, -zero), complex(zero, -zero)},
	{complex(-zero, -zero), complex(2, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(2, -1), complex(zero, -zero)},
	{complex(-zero, -zero), complex(2, 2), complex(-zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(inf, zero), complex(-zero, zero)},
	{complex(-zero, -zero), complex(inf, -zero), complex(zero, -zero)},
	{complex(-zero, -zero), complex(inf, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(inf, -1), complex(zero, -zero)},
	{complex(-zero, -zero), complex(inf, 2), complex(-zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(-inf, zero), complex(-zero, zero)},
	{complex(-zero, -zero), complex(-inf, -zero), complex(zero, -zero)},
	{complex(-zero, -zero), complex(-inf, 1), complex(-zero, zero)},
	{complex(-zero, -zero), complex(-inf, -1), complex(zero, -zero)},
	{complex(-zero, -zero), complex(-inf, 2), complex(-zero, zero)},
	{complex(-zero, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-zero, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, 1), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 1), complex(zero, -zero), complex(nan, inf)},
	{complex(zero, 1), complex(zero, 1), complex(1, zero)},
	{complex(zero, 1), complex(zero, -1), complex(-1, zero)},
	{complex(zero, 1), complex(zero, 2), complex(0.5, zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 1), complex(-zero, -zero), complex(nan, -inf)},
	{complex(zero, 1), complex(zero, 1), complex(1, zero)},
	{complex(zero, 1), complex(-zero, -1), complex(-1, -zero)},
	{complex(zero, 1), complex(zero, 2), complex(0.5, zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(1, zero), complex(zero, 1)},
	{complex(zero, 1), complex(1, -zero), complex(zero, 1)},
	{complex(zero, 1), complex(1, 1), complex(0.5, 0.5)},
	{complex(zero, 1), complex(1, -1), complex(-0.5, 0.5)},
	{complex(zero, 1), complex(1, 2), complex(0.4, 0.2)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(-1, zero), complex(-zero, -1)},
	{complex(zero, 1), complex(-1, -zero), complex(-zero, -1)},
	{complex(zero, 1), complex(-1, 1), complex(0.5, -0.5)},
	{complex(zero, 1), complex(-1, -1), complex(-0.5, -0.5)},
	{complex(zero, 1), complex(-1, 2), complex(0.4, -0.2)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(2, zero), complex(zero, 0.5)},
	{complex(zero, 1), complex(2, -zero), complex(zero, 0.5)},
	{complex(zero, 1), complex(2, 1), complex(0.2, 0.4)},
	{complex(zero, 1), complex(2, -1), complex(-0.2, 0.4)},
	{complex(zero, 1), complex(2, 2), complex(0.25, 0.25)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(nan, zero), complex(nan, nan)},
	{complex(zero, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, 1), complex(nan, 1), complex(nan, nan)},
	{complex(zero, 1), complex(nan, -1), complex(nan, nan)},
	{complex(zero, 1), complex(nan, 2), complex(nan, nan)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(inf, zero), complex(zero, zero)},
	{complex(zero, 1), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, 1), complex(inf, 1), complex(zero, zero)},
	{complex(zero, 1), complex(inf, -1), complex(zero, zero)},
	{complex(zero, 1), complex(inf, 2), complex(zero, zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 1), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, -1), complex(-zero, -zero)},
	{complex(zero, 1), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, 1), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(zero, zero), complex(nan, -inf)},
	{complex(-zero, -1), complex(zero, -zero), complex(nan, -inf)},
	{complex(-zero, -1), complex(zero, 1), complex(-1, zero)},
	{complex(-zero, -1), complex(zero, -1), complex(1, -zero)},
	{complex(-zero, -1), complex(zero, 2), complex(-0.5, zero)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(zero, zero), complex(nan, -inf)},
	{complex(-zero, -1), complex(-zero, -zero), complex(nan, inf)},
	{complex(-zero, -1), complex(zero, 1), complex(-1, zero)},
	{complex(-zero, -1), complex(-zero, -1), complex(1, -zero)},
	{complex(-zero, -1), complex(zero, 2), complex(-0.5, zero)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(1, zero), complex(-zero, -1)},
	{complex(-zero, -1), complex(1, -zero), complex(zero, -1)},
	{complex(-zero, -1), complex(1, 1), complex(-0.5, -0.5)},
	{complex(-zero, -1), complex(1, -1), complex(0.5, -0.5)},
	{complex(-zero, -1), complex(1, 2), complex(-0.4, -0.2)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(-1, zero), complex(-zero, 1)},
	{complex(-zero, -1), complex(-1, -zero), complex(zero, 1)},
	{complex(-zero, -1), complex(-1, 1), complex(-0.5, 0.5)},
	{complex(-zero, -1), complex(-1, -1), complex(0.5, 0.5)},
	{complex(-zero, -1), complex(-1, 2), complex(-0.4, 0.2)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(2, zero), complex(-zero, -0.5)},
	{complex(-zero, -1), complex(2, -zero), complex(zero, -0.5)},
	{complex(-zero, -1), complex(2, 1), complex(-0.2, -0.4)},
	{complex(-zero, -1), complex(2, -1), complex(0.2, -0.4)},
	{complex(-zero, -1), complex(2, 2), complex(-0.25, -0.25)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(nan, zero), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, 1), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, -1), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, 2), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(inf, zero), complex(-zero, -zero)},
	{complex(-zero, -1), complex(inf, -zero), complex(zero, -zero)},
	{complex(-zero, -1), complex(inf, 1), complex(-zero, -zero)},
	{complex(-zero, -1), complex(inf, -1), complex(zero, -zero)},
	{complex(-zero, -1), complex(inf, 2), complex(-zero, -zero)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(-zero, -1), complex(-inf, zero), complex(-zero, zero)},
	{complex(-zero, -1), complex(-inf, -zero), complex(zero, zero)},
	{complex(-zero, -1), complex(-inf, 1), complex(-zero, zero)},
	{complex(-zero, -1), complex(-inf, -1), complex(zero, zero)},
	{complex(-zero, -1), complex(-inf, 2), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-zero, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-zero, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(zero, 2), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 2), complex(zero, -zero), complex(nan, inf)},
	{complex(zero, 2), complex(zero, 1), complex(2, zero)},
	{complex(zero, 2), complex(zero, -1), complex(-2, zero)},
	{complex(zero, 2), complex(zero, 2), complex(1, zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(zero, zero), complex(nan, inf)},
	{complex(zero, 2), complex(-zero, -zero), complex(nan, -inf)},
	{complex(zero, 2), complex(zero, 1), complex(2, zero)},
	{complex(zero, 2), complex(-zero, -1), complex(-2, -zero)},
	{complex(zero, 2), complex(zero, 2), complex(1, zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(1, zero), complex(zero, 2)},
	{complex(zero, 2), complex(1, -zero), complex(zero, 2)},
	{complex(zero, 2), complex(1, 1), complex(1, 1)},
	{complex(zero, 2), complex(1, -1), complex(-1, 1)},
	{complex(zero, 2), complex(1, 2), complex(0.8, 0.4)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(-1, zero), complex(-zero, -2)},
	{complex(zero, 2), complex(-1, -zero), complex(-zero, -2)},
	{complex(zero, 2), complex(-1, 1), complex(1, -1)},
	{complex(zero, 2), complex(-1, -1), complex(-1, -1)},
	{complex(zero, 2), complex(-1, 2), complex(0.8, -0.4)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(2, zero), complex(zero, 1)},
	{complex(zero, 2), complex(2, -zero), complex(zero, 1)},
	{complex(zero, 2), complex(2, 1), complex(0.4, 0.8)},
	{complex(zero, 2), complex(2, -1), complex(-0.4, 0.8)},
	{complex(zero, 2), complex(2, 2), complex(0.5, 0.5)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(nan, zero), complex(nan, nan)},
	{complex(zero, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(zero, 2), complex(nan, 1), complex(nan, nan)},
	{complex(zero, 2), complex(nan, -1), complex(nan, nan)},
	{complex(zero, 2), complex(nan, 2), complex(nan, nan)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(inf, zero), complex(zero, zero)},
	{complex(zero, 2), complex(inf, -zero), complex(zero, zero)},
	{complex(zero, 2), complex(inf, 1), complex(zero, zero)},
	{complex(zero, 2), complex(inf, -1), complex(zero, zero)},
	{complex(zero, 2), complex(inf, 2), complex(zero, zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(zero, 2), complex(-inf, zero), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, 1), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, -1), complex(-zero, -zero)},
	{complex(zero, 2), complex(-inf, 2), complex(-zero, -zero)},
	{complex(zero, 2), complex(nan, nan), complex(nan, nan)},
	{complex(zero, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(zero, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(1, zero), complex(zero, zero), complex(inf, nan)},
	{complex(1, zero), complex(zero, -zero), complex(inf, nan)},
	{complex(1, zero), complex(zero, 1), complex(zero, -1)},
	{complex(1, zero), complex(zero, -1), complex(-zero, 1)},
	{complex(1, zero), complex(zero, 2), complex(zero, -0.5)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(zero, zero), complex(inf, nan)},
	{complex(1, zero), complex(-zero, -zero), complex(-inf, nan)},
	{complex(1, zero), complex(zero, 1), complex(zero, -1)},
	{complex(1, zero), complex(-zero, -1), complex(-zero, 1)},
	{complex(1, zero), complex(zero, 2), complex(zero, -0.5)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(1, zero), complex(1, zero)},
	{complex(1, zero), complex(1, -zero), complex(1, zero)},
	{complex(1, zero), complex(1, 1), complex(0.5, -0.5)},
	{complex(1, zero), complex(1, -1), complex(0.5, 0.5)},
	{complex(1, zero), complex(1, 2), complex(0.2, -0.4)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(-1, zero), complex(-1, -zero)},
	{complex(1, zero), complex(-1, -zero), complex(-1, -zero)},
	{complex(1, zero), complex(-1, 1), complex(-0.5, -0.5)},
	{complex(1, zero), complex(-1, -1), complex(-0.5, 0.5)},
	{complex(1, zero), complex(-1, 2), complex(-0.2, -0.4)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(2, zero), complex(0.5, zero)},
	{complex(1, zero), complex(2, -zero), complex(0.5, zero)},
	{complex(1, zero), complex(2, 1), complex(0.4, -0.2)},
	{complex(1, zero), complex(2, -1), complex(0.4, 0.2)},
	{complex(1, zero), complex(2, 2), complex(0.25, -0.25)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(nan, zero), complex(nan, nan)},
	{complex(1, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(1, zero), complex(nan, 1), complex(nan, nan)},
	{complex(1, zero), complex(nan, -1), complex(nan, nan)},
	{complex(1, zero), complex(nan, 2), complex(nan, nan)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(inf, zero), complex(zero, zero)},
	{complex(1, zero), complex(inf, -zero), complex(zero, zero)},
	{complex(1, zero), complex(inf, 1), complex(zero, zero)},
	{complex(1, zero), complex(inf, -1), complex(zero, zero)},
	{complex(1, zero), complex(inf, 2), complex(zero, zero)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(1, zero), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(1, zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(1, zero), complex(-inf, -1), complex(-zero, -zero)},
	{complex(1, zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(1, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, -zero), complex(zero, zero), complex(inf, nan)},
	{complex(1, -zero), complex(zero, -zero), complex(inf, nan)},
	{complex(1, -zero), complex(zero, 1), complex(zero, -1)},
	{complex(1, -zero), complex(zero, -1), complex(zero, 1)},
	{complex(1, -zero), complex(zero, 2), complex(zero, -0.5)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(zero, zero), complex(inf, nan)},
	{complex(1, -zero), complex(-zero, -zero), complex(-inf, nan)},
	{complex(1, -zero), complex(zero, 1), complex(zero, -1)},
	{complex(1, -zero), complex(-zero, -1), complex(-zero, 1)},
	{complex(1, -zero), complex(zero, 2), complex(zero, -0.5)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(1, zero), complex(1, -zero)},
	{complex(1, -zero), complex(1, -zero), complex(1, zero)},
	{complex(1, -zero), complex(1, 1), complex(0.5, -0.5)},
	{complex(1, -zero), complex(1, -1), complex(0.5, 0.5)},
	{complex(1, -zero), complex(1, 2), complex(0.2, -0.4)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(-1, zero), complex(-1, -zero)},
	{complex(1, -zero), complex(-1, -zero), complex(-1, zero)},
	{complex(1, -zero), complex(-1, 1), complex(-0.5, -0.5)},
	{complex(1, -zero), complex(-1, -1), complex(-0.5, 0.5)},
	{complex(1, -zero), complex(-1, 2), complex(-0.2, -0.4)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(2, zero), complex(0.5, -zero)},
	{complex(1, -zero), complex(2, -zero), complex(0.5, zero)},
	{complex(1, -zero), complex(2, 1), complex(0.4, -0.2)},
	{complex(1, -zero), complex(2, -1), complex(0.4, 0.2)},
	{complex(1, -zero), complex(2, 2), complex(0.25, -0.25)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(1, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(1, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(1, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(1, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(inf, zero), complex(zero, -zero)},
	{complex(1, -zero), complex(inf, -zero), complex(zero, zero)},
	{complex(1, -zero), complex(inf, 1), complex(zero, -zero)},
	{complex(1, -zero), complex(inf, -1), complex(zero, zero)},
	{complex(1, -zero), complex(inf, 2), complex(zero, -zero)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(1, -zero), complex(-inf, -zero), complex(-zero, zero)},
	{complex(1, -zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(1, -zero), complex(-inf, -1), complex(-zero, zero)},
	{complex(1, -zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(1, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(1, 1), complex(zero, zero), complex(inf, inf)},
	{complex(1, 1), complex(zero, -zero), complex(inf, inf)},
	{complex(1, 1), complex(zero, 1), complex(1, -1)},
	{complex(1, 1), complex(zero, -1), complex(-1, 1)},
	{complex(1, 1), complex(zero, 2), complex(0.5, -0.5)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(zero, zero), complex(inf, inf)},
	{complex(1, 1), complex(-zero, -zero), complex(-inf, -inf)},
	{complex(1, 1), complex(zero, 1), complex(1, -1)},
	{complex(1, 1), complex(-zero, -1), complex(-1, 1)},
	{complex(1, 1), complex(zero, 2), complex(0.5, -0.5)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(1, zero), complex(1, 1)},
	{complex(1, 1), complex(1, -zero), complex(1, 1)},
	{complex(1, 1), complex(1, 1), complex(1, zero)},
	{complex(1, 1), complex(1, -1), complex(zero, 1)},
	{complex(1, 1), complex(1, 2), complex(0.6, -0.2)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(-1, zero), complex(-1, -1)},
	{complex(1, 1), complex(-1, -zero), complex(-1, -1)},
	{complex(1, 1), complex(-1, 1), complex(-zero, -1)},
	{complex(1, 1), complex(-1, -1), complex(-1, -zero)},
	{complex(1, 1), complex(-1, 2), complex(0.2, -0.6)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(2, zero), complex(0.5, 0.5)},
	{complex(1, 1), complex(2, -zero), complex(0.5, 0.5)},
	{complex(1, 1), complex(2, 1), complex(0.6, 0.2)},
	{complex(1, 1), complex(2, -1), complex(0.2, 0.6)},
	{complex(1, 1), complex(2, 2), complex(0.5, zero)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(nan, zero), complex(nan, nan)},
	{complex(1, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(1, 1), complex(nan, 1), complex(nan, nan)},
	{complex(1, 1), complex(nan, -1), complex(nan, nan)},
	{complex(1, 1), complex(nan, 2), complex(nan, nan)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(inf, zero), complex(zero, zero)},
	{complex(1, 1), complex(inf, -zero), complex(zero, zero)},
	{complex(1, 1), complex(inf, 1), complex(zero, zero)},
	{complex(1, 1), complex(inf, -1), complex(zero, zero)},
	{complex(1, 1), complex(inf, 2), complex(zero, zero)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 1), complex(-inf, zero), complex(-zero, -zero)},
	{complex(1, 1), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(1, 1), complex(-inf, 1), complex(-zero, -zero)},
	{complex(1, 1), complex(-inf, -1), complex(-zero, -zero)},
	{complex(1, 1), complex(-inf, 2), complex(-zero, -zero)},
	{complex(1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(1, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, -1), complex(zero, zero), complex(inf, -inf)},
	{complex(1, -1), complex(zero, -zero), complex(inf, -inf)},
	{complex(1, -1), complex(zero, 1), complex(-1, -1)},
	{complex(1, -1), complex(zero, -1), complex(1, 1)},
	{complex(1, -1), complex(zero, 2), complex(-0.5, -0.5)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(zero, zero), complex(inf, -inf)},
	{complex(1, -1), complex(-zero, -zero), complex(-inf, inf)},
	{complex(1, -1), complex(zero, 1), complex(-1, -1)},
	{complex(1, -1), complex(-zero, -1), complex(1, 1)},
	{complex(1, -1), complex(zero, 2), complex(-0.5, -0.5)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(1, zero), complex(1, -1)},
	{complex(1, -1), complex(1, -zero), complex(1, -1)},
	{complex(1, -1), complex(1, 1), complex(zero, -1)},
	{complex(1, -1), complex(1, -1), complex(1, zero)},
	{complex(1, -1), complex(1, 2), complex(-0.2, -0.6)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(-1, zero), complex(-1, 1)},
	{complex(1, -1), complex(-1, -zero), complex(-1, 1)},
	{complex(1, -1), complex(-1, 1), complex(-1, -zero)},
	{complex(1, -1), complex(-1, -1), complex(-zero, 1)},
	{complex(1, -1), complex(-1, 2), complex(-0.6, -0.2)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(2, zero), complex(0.5, -0.5)},
	{complex(1, -1), complex(2, -zero), complex(0.5, -0.5)},
	{complex(1, -1), complex(2, 1), complex(0.2, -0.6)},
	{complex(1, -1), complex(2, -1), complex(0.6, -0.2)},
	{complex(1, -1), complex(2, 2), complex(zero, -0.5)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(nan, zero), complex(nan, nan)},
	{complex(1, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(1, -1), complex(nan, 1), complex(nan, nan)},
	{complex(1, -1), complex(nan, -1), complex(nan, nan)},
	{complex(1, -1), complex(nan, 2), complex(nan, nan)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(inf, zero), complex(zero, -zero)},
	{complex(1, -1), complex(inf, -zero), complex(zero, -zero)},
	{complex(1, -1), complex(inf, 1), complex(zero, -zero)},
	{complex(1, -1), complex(inf, -1), complex(zero, -zero)},
	{complex(1, -1), complex(inf, 2), complex(zero, -zero)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, -1), complex(-inf, zero), complex(-zero, zero)},
	{complex(1, -1), complex(-inf, -zero), complex(-zero, zero)},
	{complex(1, -1), complex(-inf, 1), complex(-zero, zero)},
	{complex(1, -1), complex(-inf, -1), complex(-zero, zero)},
	{complex(1, -1), complex(-inf, 2), complex(-zero, zero)},
	{complex(1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(1, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(1, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(1, 2), complex(zero, zero), complex(inf, inf)},
	{complex(1, 2), complex(zero, -zero), complex(inf, inf)},
	{complex(1, 2), complex(zero, 1), complex(2, -1)},
	{complex(1, 2), complex(zero, -1), complex(-2, 1)},
	{complex(1, 2), complex(zero, 2), complex(1, -0.5)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(zero, zero), complex(inf, inf)},
	{complex(1, 2), complex(-zero, -zero), complex(-inf, -inf)},
	{complex(1, 2), complex(zero, 1), complex(2, -1)},
	{complex(1, 2), complex(-zero, -1), complex(-2, 1)},
	{complex(1, 2), complex(zero, 2), complex(1, -0.5)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(1, zero), complex(1, 2)},
	{complex(1, 2), complex(1, -zero), complex(1, 2)},
	{complex(1, 2), complex(1, 1), complex(1.5, 0.5)},
	{complex(1, 2), complex(1, -1), complex(-0.5, 1.5)},
	{complex(1, 2), complex(1, 2), complex(1, zero)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(-1, zero), complex(-1, -2)},
	{complex(1, 2), complex(-1, -zero), complex(-1, -2)},
	{complex(1, 2), complex(-1, 1), complex(0.5, -1.5)},
	{complex(1, 2), complex(-1, -1), complex(-1.5, -0.5)},
	{complex(1, 2), complex(-1, 2), complex(0.6, -0.8)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(2, zero), complex(0.5, 1)},
	{complex(1, 2), complex(2, -zero), complex(0.5, 1)},
	{complex(1, 2), complex(2, 1), complex(0.8, 0.6)},
	{complex(1, 2), complex(2, -1), complex(zero, 1)},
	{complex(1, 2), complex(2, 2), complex(0.75, 0.25)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(nan, zero), complex(nan, nan)},
	{complex(1, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(1, 2), complex(nan, 1), complex(nan, nan)},
	{complex(1, 2), complex(nan, -1), complex(nan, nan)},
	{complex(1, 2), complex(nan, 2), complex(nan, nan)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(inf, zero), complex(zero, zero)},
	{complex(1, 2), complex(inf, -zero), complex(zero, zero)},
	{complex(1, 2), complex(inf, 1), complex(zero, zero)},
	{complex(1, 2), complex(inf, -1), complex(zero, zero)},
	{complex(1, 2), complex(inf, 2), complex(zero, zero)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(1, 2), complex(-inf, zero), complex(-zero, -zero)},
	{complex(1, 2), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(1, 2), complex(-inf, 1), complex(-zero, -zero)},
	{complex(1, 2), complex(-inf, -1), complex(-zero, -zero)},
	{complex(1, 2), complex(-inf, 2), complex(-zero, -zero)},
	{complex(1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(1, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(1, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(-1, zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-1, zero), complex(zero, -zero), complex(-inf, nan)},
	{complex(-1, zero), complex(zero, 1), complex(zero, 1)},
	{complex(-1, zero), complex(zero, -1), complex(-zero, -1)},
	{complex(-1, zero), complex(zero, 2), complex(zero, 0.5)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-1, zero), complex(-zero, -zero), complex(inf, nan)},
	{complex(-1, zero), complex(zero, 1), complex(zero, 1)},
	{complex(-1, zero), complex(-zero, -1), complex(-zero, -1)},
	{complex(-1, zero), complex(zero, 2), complex(zero, 0.5)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(1, zero), complex(-1, zero)},
	{complex(-1, zero), complex(1, -zero), complex(-1, zero)},
	{complex(-1, zero), complex(1, 1), complex(-0.5, 0.5)},
	{complex(-1, zero), complex(1, -1), complex(-0.5, -0.5)},
	{complex(-1, zero), complex(1, 2), complex(-0.2, 0.4)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(-1, zero), complex(1, -zero)},
	{complex(-1, zero), complex(-1, -zero), complex(1, -zero)},
	{complex(-1, zero), complex(-1, 1), complex(0.5, 0.5)},
	{complex(-1, zero), complex(-1, -1), complex(0.5, -0.5)},
	{complex(-1, zero), complex(-1, 2), complex(0.2, 0.4)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(2, zero), complex(-0.5, zero)},
	{complex(-1, zero), complex(2, -zero), complex(-0.5, zero)},
	{complex(-1, zero), complex(2, 1), complex(-0.4, 0.2)},
	{complex(-1, zero), complex(2, -1), complex(-0.4, -0.2)},
	{complex(-1, zero), complex(2, 2), complex(-0.25, 0.25)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(nan, zero), complex(nan, nan)},
	{complex(-1, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(-1, zero), complex(nan, 1), complex(nan, nan)},
	{complex(-1, zero), complex(nan, -1), complex(nan, nan)},
	{complex(-1, zero), complex(nan, 2), complex(nan, nan)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(inf, zero), complex(-zero, zero)},
	{complex(-1, zero), complex(inf, -zero), complex(-zero, zero)},
	{complex(-1, zero), complex(inf, 1), complex(-zero, zero)},
	{complex(-1, zero), complex(inf, -1), complex(-zero, zero)},
	{complex(-1, zero), complex(inf, 2), complex(-zero, zero)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, zero), complex(-inf, zero), complex(zero, -zero)},
	{complex(-1, zero), complex(-inf, -zero), complex(zero, -zero)},
	{complex(-1, zero), complex(-inf, 1), complex(zero, -zero)},
	{complex(-1, zero), complex(-inf, -1), complex(zero, -zero)},
	{complex(-1, zero), complex(-inf, 2), complex(zero, -zero)},
	{complex(-1, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-1, -zero), complex(zero, -zero), complex(-inf, nan)},
	{complex(-1, -zero), complex(zero, 1), complex(-zero, 1)},
	{complex(-1, -zero), complex(zero, -1), complex(-zero, -1)},
	{complex(-1, -zero), complex(zero, 2), complex(-zero, 0.5)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-1, -zero), complex(-zero, -zero), complex(inf, nan)},
	{complex(-1, -zero), complex(zero, 1), complex(-zero, 1)},
	{complex(-1, -zero), complex(-zero, -1), complex(zero, -1)},
	{complex(-1, -zero), complex(zero, 2), complex(-zero, 0.5)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(1, zero), complex(-1, zero)},
	{complex(-1, -zero), complex(1, -zero), complex(-1, -zero)},
	{complex(-1, -zero), complex(1, 1), complex(-0.5, 0.5)},
	{complex(-1, -zero), complex(1, -1), complex(-0.5, -0.5)},
	{complex(-1, -zero), complex(1, 2), complex(-0.2, 0.4)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(-1, zero), complex(1, zero)},
	{complex(-1, -zero), complex(-1, -zero), complex(1, -zero)},
	{complex(-1, -zero), complex(-1, 1), complex(0.5, 0.5)},
	{complex(-1, -zero), complex(-1, -1), complex(0.5, -0.5)},
	{complex(-1, -zero), complex(-1, 2), complex(0.2, 0.4)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(2, zero), complex(-0.5, zero)},
	{complex(-1, -zero), complex(2, -zero), complex(-0.5, -zero)},
	{complex(-1, -zero), complex(2, 1), complex(-0.4, 0.2)},
	{complex(-1, -zero), complex(2, -1), complex(-0.4, -0.2)},
	{complex(-1, -zero), complex(2, 2), complex(-0.25, 0.25)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(inf, zero), complex(-zero, zero)},
	{complex(-1, -zero), complex(inf, -zero), complex(-zero, -zero)},
	{complex(-1, -zero), complex(inf, 1), complex(-zero, zero)},
	{complex(-1, -zero), complex(inf, -1), complex(-zero, -zero)},
	{complex(-1, -zero), complex(inf, 2), complex(-zero, zero)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -zero), complex(-inf, zero), complex(zero, zero)},
	{complex(-1, -zero), complex(-inf, -zero), complex(zero, -zero)},
	{complex(-1, -zero), complex(-inf, 1), complex(zero, zero)},
	{complex(-1, -zero), complex(-inf, -1), complex(zero, -zero)},
	{complex(-1, -zero), complex(-inf, 2), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -zero), complex(nan, inf), complex(zero, zero)},
	{complex(-1, -zero), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, 1), complex(zero, zero), complex(-inf, inf)},
	{complex(-1, 1), complex(zero, -zero), complex(-inf, inf)},
	{complex(-1, 1), complex(zero, 1), complex(1, 1)},
	{complex(-1, 1), complex(zero, -1), complex(-1, -1)},
	{complex(-1, 1), complex(zero, 2), complex(0.5, 0.5)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(zero, zero), complex(-inf, inf)},
	{complex(-1, 1), complex(-zero, -zero), complex(inf, -inf)},
	{complex(-1, 1), complex(zero, 1), complex(1, 1)},
	{complex(-1, 1), complex(-zero, -1), complex(-1, -1)},
	{complex(-1, 1), complex(zero, 2), complex(0.5, 0.5)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(1, zero), complex(-1, 1)},
	{complex(-1, 1), complex(1, -zero), complex(-1, 1)},
	{complex(-1, 1), complex(1, 1), complex(zero, 1)},
	{complex(-1, 1), complex(1, -1), complex(-1, zero)},
	{complex(-1, 1), complex(1, 2), complex(0.2, 0.6)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(-1, zero), complex(1, -1)},
	{complex(-1, 1), complex(-1, -zero), complex(1, -1)},
	{complex(-1, 1), complex(-1, 1), complex(1, -zero)},
	{complex(-1, 1), complex(-1, -1), complex(-zero, -1)},
	{complex(-1, 1), complex(-1, 2), complex(0.6, 0.2)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(2, zero), complex(-0.5, 0.5)},
	{complex(-1, 1), complex(2, -zero), complex(-0.5, 0.5)},
	{complex(-1, 1), complex(2, 1), complex(-0.2, 0.6)},
	{complex(-1, 1), complex(2, -1), complex(-0.6, 0.2)},
	{complex(-1, 1), complex(2, 2), complex(zero, 0.5)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(nan, zero), complex(nan, nan)},
	{complex(-1, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(-1, 1), complex(nan, 1), complex(nan, nan)},
	{complex(-1, 1), complex(nan, -1), complex(nan, nan)},
	{complex(-1, 1), complex(nan, 2), complex(nan, nan)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(inf, zero), complex(-zero, zero)},
	{complex(-1, 1), complex(inf, -zero), complex(-zero, zero)},
	{complex(-1, 1), complex(inf, 1), complex(-zero, zero)},
	{complex(-1, 1), complex(inf, -1), complex(-zero, zero)},
	{complex(-1, 1), complex(inf, 2), complex(-zero, zero)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 1), complex(-inf, zero), complex(zero, -zero)},
	{complex(-1, 1), complex(-inf, -zero), complex(zero, -zero)},
	{complex(-1, 1), complex(-inf, 1), complex(zero, -zero)},
	{complex(-1, 1), complex(-inf, -1), complex(zero, -zero)},
	{complex(-1, 1), complex(-inf, 2), complex(zero, -zero)},
	{complex(-1, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 1), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 1), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, -1), complex(zero, zero), complex(-inf, -inf)},
	{complex(-1, -1), complex(zero, -zero), complex(-inf, -inf)},
	{complex(-1, -1), complex(zero, 1), complex(-1, 1)},
	{complex(-1, -1), complex(zero, -1), complex(1, -1)},
	{complex(-1, -1), complex(zero, 2), complex(-0.5, 0.5)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(zero, zero), complex(-inf, -inf)},
	{complex(-1, -1), complex(-zero, -zero), complex(inf, inf)},
	{complex(-1, -1), complex(zero, 1), complex(-1, 1)},
	{complex(-1, -1), complex(-zero, -1), complex(1, -1)},
	{complex(-1, -1), complex(zero, 2), complex(-0.5, 0.5)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(1, zero), complex(-1, -1)},
	{complex(-1, -1), complex(1, -zero), complex(-1, -1)},
	{complex(-1, -1), complex(1, 1), complex(-1, zero)},
	{complex(-1, -1), complex(1, -1), complex(zero, -1)},
	{complex(-1, -1), complex(1, 2), complex(-0.6, 0.2)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(-1, zero), complex(1, 1)},
	{complex(-1, -1), complex(-1, -zero), complex(1, 1)},
	{complex(-1, -1), complex(-1, 1), complex(-zero, 1)},
	{complex(-1, -1), complex(-1, -1), complex(1, -zero)},
	{complex(-1, -1), complex(-1, 2), complex(-0.2, 0.6)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(2, zero), complex(-0.5, -0.5)},
	{complex(-1, -1), complex(2, -zero), complex(-0.5, -0.5)},
	{complex(-1, -1), complex(2, 1), complex(-0.6, -0.2)},
	{complex(-1, -1), complex(2, -1), complex(-0.2, -0.6)},
	{complex(-1, -1), complex(2, 2), complex(-0.5, zero)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(nan, zero), complex(nan, nan)},
	{complex(-1, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(-1, -1), complex(nan, 1), complex(nan, nan)},
	{complex(-1, -1), complex(nan, -1), complex(nan, nan)},
	{complex(-1, -1), complex(nan, 2), complex(nan, nan)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(inf, zero), complex(-zero, -zero)},
	{complex(-1, -1), complex(inf, -zero), complex(-zero, -zero)},
	{complex(-1, -1), complex(inf, 1), complex(-zero, -zero)},
	{complex(-1, -1), complex(inf, -1), complex(-zero, -zero)},
	{complex(-1, -1), complex(inf, 2), complex(-zero, -zero)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, -1), complex(-inf, zero), complex(zero, zero)},
	{complex(-1, -1), complex(-inf, -zero), complex(zero, zero)},
	{complex(-1, -1), complex(-inf, 1), complex(zero, zero)},
	{complex(-1, -1), complex(-inf, -1), complex(zero, zero)},
	{complex(-1, -1), complex(-inf, 2), complex(zero, zero)},
	{complex(-1, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-1, -1), complex(nan, inf), complex(-zero, zero)},
	{complex(-1, -1), complex(nan, -inf), complex(zero, -zero)},
	{complex(-1, 2), complex(zero, zero), complex(-inf, inf)},
	{complex(-1, 2), complex(zero, -zero), complex(-inf, inf)},
	{complex(-1, 2), complex(zero, 1), complex(2, 1)},
	{complex(-1, 2), complex(zero, -1), complex(-2, -1)},
	{complex(-1, 2), complex(zero, 2), complex(1, 0.5)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(zero, zero), complex(-inf, inf)},
	{complex(-1, 2), complex(-zero, -zero), complex(inf, -inf)},
	{complex(-1, 2), complex(zero, 1), complex(2, 1)},
	{complex(-1, 2), complex(-zero, -1), complex(-2, -1)},
	{complex(-1, 2), complex(zero, 2), complex(1, 0.5)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(1, zero), complex(-1, 2)},
	{complex(-1, 2), complex(1, -zero), complex(-1, 2)},
	{complex(-1, 2), complex(1, 1), complex(0.5, 1.5)},
	{complex(-1, 2), complex(1, -1), complex(-1.5, 0.5)},
	{complex(-1, 2), complex(1, 2), complex(0.6, 0.8)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(-1, zero), complex(1, -2)},
	{complex(-1, 2), complex(-1, -zero), complex(1, -2)},
	{complex(-1, 2), complex(-1, 1), complex(1.5, -0.5)},
	{complex(-1, 2), complex(-1, -1), complex(-0.5, -1.5)},
	{complex(-1, 2), complex(-1, 2), complex(1, zero)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(2, zero), complex(-0.5, 1)},
	{complex(-1, 2), complex(2, -zero), complex(-0.5, 1)},
	{complex(-1, 2), complex(2, 1), complex(zero, 1)},
	{complex(-1, 2), complex(2, -1), complex(-0.8, 0.6)},
	{complex(-1, 2), complex(2, 2), complex(0.25, 0.75)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(nan, zero), complex(nan, nan)},
	{complex(-1, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(-1, 2), complex(nan, 1), complex(nan, nan)},
	{complex(-1, 2), complex(nan, -1), complex(nan, nan)},
	{complex(-1, 2), complex(nan, 2), complex(nan, nan)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(inf, zero), complex(-zero, zero)},
	{complex(-1, 2), complex(inf, -zero), complex(-zero, zero)},
	{complex(-1, 2), complex(inf, 1), complex(-zero, zero)},
	{complex(-1, 2), complex(inf, -1), complex(-zero, zero)},
	{complex(-1, 2), complex(inf, 2), complex(-zero, zero)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(-1, 2), complex(-inf, zero), complex(zero, -zero)},
	{complex(-1, 2), complex(-inf, -zero), complex(zero, -zero)},
	{complex(-1, 2), complex(-inf, 1), complex(zero, -zero)},
	{complex(-1, 2), complex(-inf, -1), complex(zero, -zero)},
	{complex(-1, 2), complex(-inf, 2), complex(zero, -zero)},
	{complex(-1, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-1, 2), complex(nan, inf), complex(zero, zero)},
	{complex(-1, 2), complex(nan, -inf), complex(-zero, -zero)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(2, zero), complex(zero, zero), complex(inf, nan)},
	{complex(2, zero), complex(zero, -zero), complex(inf, nan)},
	{complex(2, zero), complex(zero, 1), complex(zero, -2)},
	{complex(2, zero), complex(zero, -1), complex(-zero, 2)},
	{complex(2, zero), complex(zero, 2), complex(zero, -1)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(zero, zero), complex(inf, nan)},
	{complex(2, zero), complex(-zero, -zero), complex(-inf, nan)},
	{complex(2, zero), complex(zero, 1), complex(zero, -2)},
	{complex(2, zero), complex(-zero, -1), complex(-zero, 2)},
	{complex(2, zero), complex(zero, 2), complex(zero, -1)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(1, zero), complex(2, zero)},
	{complex(2, zero), complex(1, -zero), complex(2, zero)},
	{complex(2, zero), complex(1, 1), complex(1, -1)},
	{complex(2, zero), complex(1, -1), complex(1, 1)},
	{complex(2, zero), complex(1, 2), complex(0.4, -0.8)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(-1, zero), complex(-2, -zero)},
	{complex(2, zero), complex(-1, -zero), complex(-2, -zero)},
	{complex(2, zero), complex(-1, 1), complex(-1, -1)},
	{complex(2, zero), complex(-1, -1), complex(-1, 1)},
	{complex(2, zero), complex(-1, 2), complex(-0.4, -0.8)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(2, zero), complex(1, zero)},
	{complex(2, zero), complex(2, -zero), complex(1, zero)},
	{complex(2, zero), complex(2, 1), complex(0.8, -0.4)},
	{complex(2, zero), complex(2, -1), complex(0.8, 0.4)},
	{complex(2, zero), complex(2, 2), complex(0.5, -0.5)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(nan, zero), complex(nan, nan)},
	{complex(2, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(2, zero), complex(nan, 1), complex(nan, nan)},
	{complex(2, zero), complex(nan, -1), complex(nan, nan)},
	{complex(2, zero), complex(nan, 2), complex(nan, nan)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(inf, zero), complex(zero, zero)},
	{complex(2, zero), complex(inf, -zero), complex(zero, zero)},
	{complex(2, zero), complex(inf, 1), complex(zero, zero)},
	{complex(2, zero), complex(inf, -1), complex(zero, zero)},
	{complex(2, zero), complex(inf, 2), complex(zero, zero)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(2, zero), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(2, zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(2, zero), complex(-inf, -1), complex(-zero, -zero)},
	{complex(2, zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(2, zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, zero), complex(nan, inf), complex(zero, -zero)},
	{complex(2, zero), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, -zero), complex(zero, zero), complex(inf, nan)},
	{complex(2, -zero), complex(zero, -zero), complex(inf, nan)},
	{complex(2, -zero), complex(zero, 1), complex(zero, -2)},
	{complex(2, -zero), complex(zero, -1), complex(zero, 2)},
	{complex(2, -zero), complex(zero, 2), complex(zero, -1)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(zero, zero), complex(inf, nan)},
	{complex(2, -zero), complex(-zero, -zero), complex(-inf, nan)},
	{complex(2, -zero), complex(zero, 1), complex(zero, -2)},
	{complex(2, -zero), complex(-zero, -1), complex(-zero, 2)},
	{complex(2, -zero), complex(zero, 2), complex(zero, -1)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(1, zero), complex(2, -zero)},
	{complex(2, -zero), complex(1, -zero), complex(2, zero)},
	{complex(2, -zero), complex(1, 1), complex(1, -1)},
	{complex(2, -zero), complex(1, -1), complex(1, 1)},
	{complex(2, -zero), complex(1, 2), complex(0.4, -0.8)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(-1, zero), complex(-2, -zero)},
	{complex(2, -zero), complex(-1, -zero), complex(-2, zero)},
	{complex(2, -zero), complex(-1, 1), complex(-1, -1)},
	{complex(2, -zero), complex(-1, -1), complex(-1, 1)},
	{complex(2, -zero), complex(-1, 2), complex(-0.4, -0.8)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(2, zero), complex(1, -zero)},
	{complex(2, -zero), complex(2, -zero), complex(1, zero)},
	{complex(2, -zero), complex(2, 1), complex(0.8, -0.4)},
	{complex(2, -zero), complex(2, -1), complex(0.8, 0.4)},
	{complex(2, -zero), complex(2, 2), complex(0.5, -0.5)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(2, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(2, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(2, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(2, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(inf, zero), complex(zero, -zero)},
	{complex(2, -zero), complex(inf, -zero), complex(zero, zero)},
	{complex(2, -zero), complex(inf, 1), complex(zero, -zero)},
	{complex(2, -zero), complex(inf, -1), complex(zero, zero)},
	{complex(2, -zero), complex(inf, 2), complex(zero, -zero)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -zero), complex(-inf, zero), complex(-zero, -zero)},
	{complex(2, -zero), complex(-inf, -zero), complex(-zero, zero)},
	{complex(2, -zero), complex(-inf, 1), complex(-zero, -zero)},
	{complex(2, -zero), complex(-inf, -1), complex(-zero, zero)},
	{complex(2, -zero), complex(-inf, 2), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(2, -zero), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -zero), complex(nan, -inf), complex(zero, zero)},
	{complex(2, 1), complex(zero, zero), complex(inf, inf)},
	{complex(2, 1), complex(zero, -zero), complex(inf, inf)},
	{complex(2, 1), complex(zero, 1), complex(1, -2)},
	{complex(2, 1), complex(zero, -1), complex(-1, 2)},
	{complex(2, 1), complex(zero, 2), complex(0.5, -1)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(zero, zero), complex(inf, inf)},
	{complex(2, 1), complex(-zero, -zero), complex(-inf, -inf)},
	{complex(2, 1), complex(zero, 1), complex(1, -2)},
	{complex(2, 1), complex(-zero, -1), complex(-1, 2)},
	{complex(2, 1), complex(zero, 2), complex(0.5, -1)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(1, zero), complex(2, 1)},
	{complex(2, 1), complex(1, -zero), complex(2, 1)},
	{complex(2, 1), complex(1, 1), complex(1.5, -0.5)},
	{complex(2, 1), complex(1, -1), complex(0.5, 1.5)},
	{complex(2, 1), complex(1, 2), complex(0.8, -0.6)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(-1, zero), complex(-2, -1)},
	{complex(2, 1), complex(-1, -zero), complex(-2, -1)},
	{complex(2, 1), complex(-1, 1), complex(-0.5, -1.5)},
	{complex(2, 1), complex(-1, -1), complex(-1.5, 0.5)},
	{complex(2, 1), complex(-1, 2), complex(zero, -1)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(2, zero), complex(1, 0.5)},
	{complex(2, 1), complex(2, -zero), complex(1, 0.5)},
	{complex(2, 1), complex(2, 1), complex(1, zero)},
	{complex(2, 1), complex(2, -1), complex(0.6, 0.8)},
	{complex(2, 1), complex(2, 2), complex(0.75, -0.25)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(nan, zero), complex(nan, nan)},
	{complex(2, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(2, 1), complex(nan, 1), complex(nan, nan)},
	{complex(2, 1), complex(nan, -1), complex(nan, nan)},
	{complex(2, 1), complex(nan, 2), complex(nan, nan)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(inf, zero), complex(zero, zero)},
	{complex(2, 1), complex(inf, -zero), complex(zero, zero)},
	{complex(2, 1), complex(inf, 1), complex(zero, zero)},
	{complex(2, 1), complex(inf, -1), complex(zero, zero)},
	{complex(2, 1), complex(inf, 2), complex(zero, zero)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 1), complex(-inf, zero), complex(-zero, -zero)},
	{complex(2, 1), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(2, 1), complex(-inf, 1), complex(-zero, -zero)},
	{complex(2, 1), complex(-inf, -1), complex(-zero, -zero)},
	{complex(2, 1), complex(-inf, 2), complex(-zero, -zero)},
	{complex(2, 1), complex(nan, nan), complex(nan, nan)},
	{complex(2, 1), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 1), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, -1), complex(zero, zero), complex(inf, -inf)},
	{complex(2, -1), complex(zero, -zero), complex(inf, -inf)},
	{complex(2, -1), complex(zero, 1), complex(-1, -2)},
	{complex(2, -1), complex(zero, -1), complex(1, 2)},
	{complex(2, -1), complex(zero, 2), complex(-0.5, -1)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(zero, zero), complex(inf, -inf)},
	{complex(2, -1), complex(-zero, -zero), complex(-inf, inf)},
	{complex(2, -1), complex(zero, 1), complex(-1, -2)},
	{complex(2, -1), complex(-zero, -1), complex(1, 2)},
	{complex(2, -1), complex(zero, 2), complex(-0.5, -1)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(1, zero), complex(2, -1)},
	{complex(2, -1), complex(1, -zero), complex(2, -1)},
	{complex(2, -1), complex(1, 1), complex(0.5, -1.5)},
	{complex(2, -1), complex(1, -1), complex(1.5, 0.5)},
	{complex(2, -1), complex(1, 2), complex(zero, -1)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(-1, zero), complex(-2, 1)},
	{complex(2, -1), complex(-1, -zero), complex(-2, 1)},
	{complex(2, -1), complex(-1, 1), complex(-1.5, -0.5)},
	{complex(2, -1), complex(-1, -1), complex(-0.5, 1.5)},
	{complex(2, -1), complex(-1, 2), complex(-0.8, -0.6)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(2, zero), complex(1, -0.5)},
	{complex(2, -1), complex(2, -zero), complex(1, -0.5)},
	{complex(2, -1), complex(2, 1), complex(0.6, -0.8)},
	{complex(2, -1), complex(2, -1), complex(1, zero)},
	{complex(2, -1), complex(2, 2), complex(0.25, -0.75)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(nan, zero), complex(nan, nan)},
	{complex(2, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(2, -1), complex(nan, 1), complex(nan, nan)},
	{complex(2, -1), complex(nan, -1), complex(nan, nan)},
	{complex(2, -1), complex(nan, 2), complex(nan, nan)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(inf, zero), complex(zero, -zero)},
	{complex(2, -1), complex(inf, -zero), complex(zero, -zero)},
	{complex(2, -1), complex(inf, 1), complex(zero, -zero)},
	{complex(2, -1), complex(inf, -1), complex(zero, -zero)},
	{complex(2, -1), complex(inf, 2), complex(zero, -zero)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, -1), complex(-inf, zero), complex(-zero, zero)},
	{complex(2, -1), complex(-inf, -zero), complex(-zero, zero)},
	{complex(2, -1), complex(-inf, 1), complex(-zero, zero)},
	{complex(2, -1), complex(-inf, -1), complex(-zero, zero)},
	{complex(2, -1), complex(-inf, 2), complex(-zero, zero)},
	{complex(2, -1), complex(nan, nan), complex(nan, nan)},
	{complex(2, -1), complex(nan, inf), complex(-zero, -zero)},
	{complex(2, -1), complex(nan, -inf), complex(zero, zero)},
	{complex(2, 2), complex(zero, zero), complex(inf, inf)},
	{complex(2, 2), complex(zero, -zero), complex(inf, inf)},
	{complex(2, 2), complex(zero, 1), complex(2, -2)},
	{complex(2, 2), complex(zero, -1), complex(-2, 2)},
	{complex(2, 2), complex(zero, 2), complex(1, -1)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(zero, zero), complex(inf, inf)},
	{complex(2, 2), complex(-zero, -zero), complex(-inf, -inf)},
	{complex(2, 2), complex(zero, 1), complex(2, -2)},
	{complex(2, 2), complex(-zero, -1), complex(-2, 2)},
	{complex(2, 2), complex(zero, 2), complex(1, -1)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(1, zero), complex(2, 2)},
	{complex(2, 2), complex(1, -zero), complex(2, 2)},
	{complex(2, 2), complex(1, 1), complex(2, zero)},
	{complex(2, 2), complex(1, -1), complex(zero, 2)},
	{complex(2, 2), complex(1, 2), complex(1.2, -0.4)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(-1, zero), complex(-2, -2)},
	{complex(2, 2), complex(-1, -zero), complex(-2, -2)},
	{complex(2, 2), complex(-1, 1), complex(-zero, -2)},
	{complex(2, 2), complex(-1, -1), complex(-2, -zero)},
	{complex(2, 2), complex(-1, 2), complex(0.4, -1.2)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(2, zero), complex(1, 1)},
	{complex(2, 2), complex(2, -zero), complex(1, 1)},
	{complex(2, 2), complex(2, 1), complex(1.2, 0.4)},
	{complex(2, 2), complex(2, -1), complex(0.4, 1.2)},
	{complex(2, 2), complex(2, 2), complex(1, zero)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(nan, zero), complex(nan, nan)},
	{complex(2, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(2, 2), complex(nan, 1), complex(nan, nan)},
	{complex(2, 2), complex(nan, -1), complex(nan, nan)},
	{complex(2, 2), complex(nan, 2), complex(nan, nan)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(inf, zero), complex(zero, zero)},
	{complex(2, 2), complex(inf, -zero), complex(zero, zero)},
	{complex(2, 2), complex(inf, 1), complex(zero, zero)},
	{complex(2, 2), complex(inf, -1), complex(zero, zero)},
	{complex(2, 2), complex(inf, 2), complex(zero, zero)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(2, 2), complex(-inf, zero), complex(-zero, -zero)},
	{complex(2, 2), complex(-inf, -zero), complex(-zero, -zero)},
	{complex(2, 2), complex(-inf, 1), complex(-zero, -zero)},
	{complex(2, 2), complex(-inf, -1), complex(-zero, -zero)},
	{complex(2, 2), complex(-inf, 2), complex(-zero, -zero)},
	{complex(2, 2), complex(nan, nan), complex(nan, nan)},
	{complex(2, 2), complex(nan, inf), complex(zero, -zero)},
	{complex(2, 2), complex(nan, -inf), complex(-zero, zero)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(zero, zero), complex(nan, nan)},
	{complex(nan, zero), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(zero, 1), complex(nan, nan)},
	{complex(nan, zero), complex(zero, -1), complex(nan, nan)},
	{complex(nan, zero), complex(zero, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(zero, zero), complex(nan, nan)},
	{complex(nan, zero), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(zero, 1), complex(nan, nan)},
	{complex(nan, zero), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, zero), complex(zero, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(1, zero), complex(nan, nan)},
	{complex(nan, zero), complex(1, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(1, 1), complex(nan, nan)},
	{complex(nan, zero), complex(1, -1), complex(nan, nan)},
	{complex(nan, zero), complex(1, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(-1, zero), complex(nan, nan)},
	{complex(nan, zero), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(-1, 1), complex(nan, nan)},
	{complex(nan, zero), complex(-1, -1), complex(nan, nan)},
	{complex(nan, zero), complex(-1, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(2, zero), complex(nan, nan)},
	{complex(nan, zero), complex(2, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(2, 1), complex(nan, nan)},
	{complex(nan, zero), complex(2, -1), complex(nan, nan)},
	{complex(nan, zero), complex(2, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, zero), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(nan, 1), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -1), complex(nan, nan)},
	{complex(nan, zero), complex(nan, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(inf, zero), complex(nan, nan)},
	{complex(nan, zero), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(inf, 1), complex(nan, nan)},
	{complex(nan, zero), complex(inf, -1), complex(nan, nan)},
	{complex(nan, zero), complex(inf, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, zero), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, zero), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, zero), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, zero), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, zero), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(zero, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(1, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(1, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(1, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(1, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(1, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(-1, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(-1, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(-1, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(-1, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(2, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(2, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(2, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(2, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(2, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -zero), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -zero), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -zero), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -zero), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -zero), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(zero, zero), complex(nan, inf)},
	{complex(nan, 1), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, 1), complex(zero, 1), complex(nan, nan)},
	{complex(nan, 1), complex(zero, -1), complex(nan, nan)},
	{complex(nan, 1), complex(zero, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(zero, zero), complex(nan, inf)},
	{complex(nan, 1), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, 1), complex(zero, 1), complex(nan, nan)},
	{complex(nan, 1), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, 1), complex(zero, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(1, zero), complex(nan, nan)},
	{complex(nan, 1), complex(1, -zero), complex(nan, nan)},
	{complex(nan, 1), complex(1, 1), complex(nan, nan)},
	{complex(nan, 1), complex(1, -1), complex(nan, nan)},
	{complex(nan, 1), complex(1, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(-1, zero), complex(nan, nan)},
	{complex(nan, 1), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, 1), complex(-1, 1), complex(nan, nan)},
	{complex(nan, 1), complex(-1, -1), complex(nan, nan)},
	{complex(nan, 1), complex(-1, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(2, zero), complex(nan, nan)},
	{complex(nan, 1), complex(2, -zero), complex(nan, nan)},
	{complex(nan, 1), complex(2, 1), complex(nan, nan)},
	{complex(nan, 1), complex(2, -1), complex(nan, nan)},
	{complex(nan, 1), complex(2, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, zero), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, 1), complex(nan, 1), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -1), complex(nan, nan)},
	{complex(nan, 1), complex(nan, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(inf, zero), complex(nan, nan)},
	{complex(nan, 1), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, 1), complex(inf, 1), complex(nan, nan)},
	{complex(nan, 1), complex(inf, -1), complex(nan, nan)},
	{complex(nan, 1), complex(inf, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 1), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, 1), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, 1), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, 1), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, 1), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, 1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -1), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -1), complex(zero, 1), complex(nan, nan)},
	{complex(nan, -1), complex(zero, -1), complex(nan, nan)},
	{complex(nan, -1), complex(zero, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -1), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -1), complex(zero, 1), complex(nan, nan)},
	{complex(nan, -1), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, -1), complex(zero, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(1, zero), complex(nan, nan)},
	{complex(nan, -1), complex(1, -zero), complex(nan, nan)},
	{complex(nan, -1), complex(1, 1), complex(nan, nan)},
	{complex(nan, -1), complex(1, -1), complex(nan, nan)},
	{complex(nan, -1), complex(1, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(-1, zero), complex(nan, nan)},
	{complex(nan, -1), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, -1), complex(-1, 1), complex(nan, nan)},
	{complex(nan, -1), complex(-1, -1), complex(nan, nan)},
	{complex(nan, -1), complex(-1, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(2, zero), complex(nan, nan)},
	{complex(nan, -1), complex(2, -zero), complex(nan, nan)},
	{complex(nan, -1), complex(2, 1), complex(nan, nan)},
	{complex(nan, -1), complex(2, -1), complex(nan, nan)},
	{complex(nan, -1), complex(2, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -1), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -1), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -1), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -1), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -1), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -1), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -1), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -1), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -1), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -1), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -1), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -1), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -1), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(zero, zero), complex(nan, inf)},
	{complex(nan, 2), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, 2), complex(zero, 1), complex(nan, nan)},
	{complex(nan, 2), complex(zero, -1), complex(nan, nan)},
	{complex(nan, 2), complex(zero, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(zero, zero), complex(nan, inf)},
	{complex(nan, 2), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, 2), complex(zero, 1), complex(nan, nan)},
	{complex(nan, 2), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, 2), complex(zero, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(1, zero), complex(nan, nan)},
	{complex(nan, 2), complex(1, -zero), complex(nan, nan)},
	{complex(nan, 2), complex(1, 1), complex(nan, nan)},
	{complex(nan, 2), complex(1, -1), complex(nan, nan)},
	{complex(nan, 2), complex(1, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(-1, zero), complex(nan, nan)},
	{complex(nan, 2), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, 2), complex(-1, 1), complex(nan, nan)},
	{complex(nan, 2), complex(-1, -1), complex(nan, nan)},
	{complex(nan, 2), complex(-1, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(2, zero), complex(nan, nan)},
	{complex(nan, 2), complex(2, -zero), complex(nan, nan)},
	{complex(nan, 2), complex(2, 1), complex(nan, nan)},
	{complex(nan, 2), complex(2, -1), complex(nan, nan)},
	{complex(nan, 2), complex(2, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, zero), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, 2), complex(nan, 1), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -1), complex(nan, nan)},
	{complex(nan, 2), complex(nan, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(inf, zero), complex(nan, nan)},
	{complex(nan, 2), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, 2), complex(inf, 1), complex(nan, nan)},
	{complex(nan, 2), complex(inf, -1), complex(nan, nan)},
	{complex(nan, 2), complex(inf, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, 2), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, 2), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, 2), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, 2), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, 2), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, 2), complex(nan, nan), complex(nan, nan)},
	{complex(nan, 2), complex(nan, inf), complex(nan, nan)},
	{complex(nan, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(zero, zero), complex(inf, nan)},
	{complex(inf, zero), complex(zero, -zero), complex(inf, nan)},
	{complex(inf, zero), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, zero), complex(zero, -1), complex(nan, inf)},
	{complex(inf, zero), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(zero, zero), complex(inf, nan)},
	{complex(inf, zero), complex(-zero, -zero), complex(-inf, nan)},
	{complex(inf, zero), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, zero), complex(-zero, -1), complex(nan, inf)},
	{complex(inf, zero), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(1, zero), complex(inf, nan)},
	{complex(inf, zero), complex(1, -zero), complex(inf, nan)},
	{complex(inf, zero), complex(1, 1), complex(inf, -inf)},
	{complex(inf, zero), complex(1, -1), complex(inf, inf)},
	{complex(inf, zero), complex(1, 2), complex(inf, -inf)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(-1, zero), complex(-inf, nan)},
	{complex(inf, zero), complex(-1, -zero), complex(-inf, nan)},
	{complex(inf, zero), complex(-1, 1), complex(-inf, -inf)},
	{complex(inf, zero), complex(-1, -1), complex(-inf, inf)},
	{complex(inf, zero), complex(-1, 2), complex(-inf, -inf)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(2, zero), complex(inf, nan)},
	{complex(inf, zero), complex(2, -zero), complex(inf, nan)},
	{complex(inf, zero), complex(2, 1), complex(inf, -inf)},
	{complex(inf, zero), complex(2, -1), complex(inf, inf)},
	{complex(inf, zero), complex(2, 2), complex(inf, -inf)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, zero), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(inf, zero), complex(nan, 1), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -1), complex(nan, nan)},
	{complex(inf, zero), complex(nan, 2), complex(nan, nan)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(inf, zero), complex(nan, nan)},
	{complex(inf, zero), complex(inf, -zero), complex(nan, nan)},
	{complex(inf, zero), complex(inf, 1), complex(nan, nan)},
	{complex(inf, zero), complex(inf, -1), complex(nan, nan)},
	{complex(inf, zero), complex(inf, 2), complex(nan, nan)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, zero), complex(-inf, zero), complex(nan, nan)},
	{complex(inf, zero), complex(-inf, -zero), complex(nan, nan)},
	{complex(inf, zero), complex(-inf, 1), complex(nan, nan)},
	{complex(inf, zero), complex(-inf, -1), complex(nan, nan)},
	{complex(inf, zero), complex(-inf, 2), complex(nan, nan)},
	{complex(inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(zero, zero), complex(inf, nan)},
	{complex(inf, -zero), complex(zero, -zero), complex(inf, nan)},
	{complex(inf, -zero), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, -zero), complex(zero, -1), complex(nan, inf)},
	{complex(inf, -zero), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(zero, zero), complex(inf, nan)},
	{complex(inf, -zero), complex(-zero, -zero), complex(-inf, nan)},
	{complex(inf, -zero), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, -zero), complex(-zero, -1), complex(nan, inf)},
	{complex(inf, -zero), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(1, zero), complex(inf, nan)},
	{complex(inf, -zero), complex(1, -zero), complex(inf, nan)},
	{complex(inf, -zero), complex(1, 1), complex(inf, -inf)},
	{complex(inf, -zero), complex(1, -1), complex(inf, inf)},
	{complex(inf, -zero), complex(1, 2), complex(inf, -inf)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(-1, zero), complex(-inf, nan)},
	{complex(inf, -zero), complex(-1, -zero), complex(-inf, nan)},
	{complex(inf, -zero), complex(-1, 1), complex(-inf, -inf)},
	{complex(inf, -zero), complex(-1, -1), complex(-inf, inf)},
	{complex(inf, -zero), complex(-1, 2), complex(-inf, -inf)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(2, zero), complex(inf, nan)},
	{complex(inf, -zero), complex(2, -zero), complex(inf, nan)},
	{complex(inf, -zero), complex(2, 1), complex(inf, -inf)},
	{complex(inf, -zero), complex(2, -1), complex(inf, inf)},
	{complex(inf, -zero), complex(2, 2), complex(inf, -inf)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(inf, zero), complex(nan, nan)},
	{complex(inf, -zero), complex(inf, -zero), complex(nan, nan)},
	{complex(inf, -zero), complex(inf, 1), complex(nan, nan)},
	{complex(inf, -zero), complex(inf, -1), complex(nan, nan)},
	{complex(inf, -zero), complex(inf, 2), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -zero), complex(-inf, zero), complex(nan, nan)},
	{complex(inf, -zero), complex(-inf, -zero), complex(nan, nan)},
	{complex(inf, -zero), complex(-inf, 1), complex(nan, nan)},
	{complex(inf, -zero), complex(-inf, -1), complex(nan, nan)},
	{complex(inf, -zero), complex(-inf, 2), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(zero, zero), complex(inf, inf)},
	{complex(inf, 1), complex(zero, -zero), complex(inf, inf)},
	{complex(inf, 1), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, 1), complex(zero, -1), complex(nan, inf)},
	{complex(inf, 1), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(zero, zero), complex(inf, inf)},
	{complex(inf, 1), complex(-zero, -zero), complex(-inf, -inf)},
	{complex(inf, 1), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, 1), complex(-zero, -1), complex(nan, inf)},
	{complex(inf, 1), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(1, zero), complex(inf, nan)},
	{complex(inf, 1), complex(1, -zero), complex(inf, nan)},
	{complex(inf, 1), complex(1, 1), complex(inf, -inf)},
	{complex(inf, 1), complex(1, -1), complex(inf, inf)},
	{complex(inf, 1), complex(1, 2), complex(inf, -inf)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(-1, zero), complex(-inf, nan)},
	{complex(inf, 1), complex(-1, -zero), complex(-inf, nan)},
	{complex(inf, 1), complex(-1, 1), complex(-inf, -inf)},
	{complex(inf, 1), complex(-1, -1), complex(-inf, inf)},
	{complex(inf, 1), complex(-1, 2), complex(-inf, -inf)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(2, zero), complex(inf, nan)},
	{complex(inf, 1), complex(2, -zero), complex(inf, nan)},
	{complex(inf, 1), complex(2, 1), complex(inf, -inf)},
	{complex(inf, 1), complex(2, -1), complex(inf, inf)},
	{complex(inf, 1), complex(2, 2), complex(inf, -inf)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, zero), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(inf, 1), complex(nan, 1), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -1), complex(nan, nan)},
	{complex(inf, 1), complex(nan, 2), complex(nan, nan)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(inf, zero), complex(nan, nan)},
	{complex(inf, 1), complex(inf, -zero), complex(nan, nan)},
	{complex(inf, 1), complex(inf, 1), complex(nan, nan)},
	{complex(inf, 1), complex(inf, -1), complex(nan, nan)},
	{complex(inf, 1), complex(inf, 2), complex(nan, nan)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 1), complex(-inf, zero), complex(nan, nan)},
	{complex(inf, 1), complex(-inf, -zero), complex(nan, nan)},
	{complex(inf, 1), complex(-inf, 1), complex(nan, nan)},
	{complex(inf, 1), complex(-inf, -1), complex(nan, nan)},
	{complex(inf, 1), complex(-inf, 2), complex(nan, nan)},
	{complex(inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(zero, zero), complex(inf, -inf)},
	{complex(inf, -1), complex(zero, -zero), complex(inf, -inf)},
	{complex(inf, -1), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, -1), complex(zero, -1), complex(nan, inf)},
	{complex(inf, -1), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(zero, zero), complex(inf, -inf)},
	{complex(inf, -1), complex(-zero, -zero), complex(-inf, inf)},
	{complex(inf, -1), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, -1), complex(-zero, -1), complex(nan, inf)},
	{complex(inf, -1), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(1, zero), complex(inf, nan)},
	{complex(inf, -1), complex(1, -zero), complex(inf, nan)},
	{complex(inf, -1), complex(1, 1), complex(inf, -inf)},
	{complex(inf, -1), complex(1, -1), complex(inf, inf)},
	{complex(inf, -1), complex(1, 2), complex(inf, -inf)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(-1, zero), complex(-inf, nan)},
	{complex(inf, -1), complex(-1, -zero), complex(-inf, nan)},
	{complex(inf, -1), complex(-1, 1), complex(-inf, -inf)},
	{complex(inf, -1), complex(-1, -1), complex(-inf, inf)},
	{complex(inf, -1), complex(-1, 2), complex(-inf, -inf)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(2, zero), complex(inf, nan)},
	{complex(inf, -1), complex(2, -zero), complex(inf, nan)},
	{complex(inf, -1), complex(2, 1), complex(inf, -inf)},
	{complex(inf, -1), complex(2, -1), complex(inf, inf)},
	{complex(inf, -1), complex(2, 2), complex(inf, -inf)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, zero), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(inf, -1), complex(nan, 1), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -1), complex(nan, nan)},
	{complex(inf, -1), complex(nan, 2), complex(nan, nan)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(inf, zero), complex(nan, nan)},
	{complex(inf, -1), complex(inf, -zero), complex(nan, nan)},
	{complex(inf, -1), complex(inf, 1), complex(nan, nan)},
	{complex(inf, -1), complex(inf, -1), complex(nan, nan)},
	{complex(inf, -1), complex(inf, 2), complex(nan, nan)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, -1), complex(-inf, zero), complex(nan, nan)},
	{complex(inf, -1), complex(-inf, -zero), complex(nan, nan)},
	{complex(inf, -1), complex(-inf, 1), complex(nan, nan)},
	{complex(inf, -1), complex(-inf, -1), complex(nan, nan)},
	{complex(inf, -1), complex(-inf, 2), complex(nan, nan)},
	{complex(inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(zero, zero), complex(inf, inf)},
	{complex(inf, 2), complex(zero, -zero), complex(inf, inf)},
	{complex(inf, 2), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, 2), complex(zero, -1), complex(nan, inf)},
	{complex(inf, 2), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(zero, zero), complex(inf, inf)},
	{complex(inf, 2), complex(-zero, -zero), complex(-inf, -inf)},
	{complex(inf, 2), complex(zero, 1), complex(nan, -inf)},
	{complex(inf, 2), complex(-zero, -1), complex(nan, inf)},
	{complex(inf, 2), complex(zero, 2), complex(nan, -inf)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(1, zero), complex(inf, nan)},
	{complex(inf, 2), complex(1, -zero), complex(inf, nan)},
	{complex(inf, 2), complex(1, 1), complex(inf, -inf)},
	{complex(inf, 2), complex(1, -1), complex(inf, inf)},
	{complex(inf, 2), complex(1, 2), complex(inf, -inf)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(-1, zero), complex(-inf, nan)},
	{complex(inf, 2), complex(-1, -zero), complex(-inf, nan)},
	{complex(inf, 2), complex(-1, 1), complex(-inf, -inf)},
	{complex(inf, 2), complex(-1, -1), complex(-inf, inf)},
	{complex(inf, 2), complex(-1, 2), complex(-inf, -inf)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(2, zero), complex(inf, nan)},
	{complex(inf, 2), complex(2, -zero), complex(inf, nan)},
	{complex(inf, 2), complex(2, 1), complex(inf, -inf)},
	{complex(inf, 2), complex(2, -1), complex(inf, inf)},
	{complex(inf, 2), complex(2, 2), complex(inf, -inf)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, zero), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(inf, 2), complex(nan, 1), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -1), complex(nan, nan)},
	{complex(inf, 2), complex(nan, 2), complex(nan, nan)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(inf, zero), complex(nan, nan)},
	{complex(inf, 2), complex(inf, -zero), complex(nan, nan)},
	{complex(inf, 2), complex(inf, 1), complex(nan, nan)},
	{complex(inf, 2), complex(inf, -1), complex(nan, nan)},
	{complex(inf, 2), complex(inf, 2), complex(nan, nan)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(inf, 2), complex(-inf, zero), complex(nan, nan)},
	{complex(inf, 2), complex(-inf, -zero), complex(nan, nan)},
	{complex(inf, 2), complex(-inf, 1), complex(nan, nan)},
	{complex(inf, 2), complex(-inf, -1), complex(nan, nan)},
	{complex(inf, 2), complex(-inf, 2), complex(nan, nan)},
	{complex(inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(zero, -zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, zero), complex(zero, -1), complex(nan, -inf)},
	{complex(-inf, zero), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(-zero, -zero), complex(inf, nan)},
	{complex(-inf, zero), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, zero), complex(-zero, -1), complex(nan, -inf)},
	{complex(-inf, zero), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(1, zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(1, -zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(1, 1), complex(-inf, inf)},
	{complex(-inf, zero), complex(1, -1), complex(-inf, -inf)},
	{complex(-inf, zero), complex(1, 2), complex(-inf, inf)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(-1, zero), complex(inf, nan)},
	{complex(-inf, zero), complex(-1, -zero), complex(inf, nan)},
	{complex(-inf, zero), complex(-1, 1), complex(inf, inf)},
	{complex(-inf, zero), complex(-1, -1), complex(inf, -inf)},
	{complex(-inf, zero), complex(-1, 2), complex(inf, inf)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(2, zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(2, -zero), complex(-inf, nan)},
	{complex(-inf, zero), complex(2, 1), complex(-inf, inf)},
	{complex(-inf, zero), complex(2, -1), complex(-inf, -inf)},
	{complex(-inf, zero), complex(2, 2), complex(-inf, inf)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, zero), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -zero), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, 1), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -1), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, 2), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(inf, zero), complex(nan, nan)},
	{complex(-inf, zero), complex(inf, -zero), complex(nan, nan)},
	{complex(-inf, zero), complex(inf, 1), complex(nan, nan)},
	{complex(-inf, zero), complex(inf, -1), complex(nan, nan)},
	{complex(-inf, zero), complex(inf, 2), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, zero), complex(-inf, zero), complex(nan, nan)},
	{complex(-inf, zero), complex(-inf, -zero), complex(nan, nan)},
	{complex(-inf, zero), complex(-inf, 1), complex(nan, nan)},
	{complex(-inf, zero), complex(-inf, -1), complex(nan, nan)},
	{complex(-inf, zero), complex(-inf, 2), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(zero, -zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, -zero), complex(zero, -1), complex(nan, -inf)},
	{complex(-inf, -zero), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(zero, zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(-zero, -zero), complex(inf, nan)},
	{complex(-inf, -zero), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, -zero), complex(-zero, -1), complex(nan, -inf)},
	{complex(-inf, -zero), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(1, zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(1, -zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(1, 1), complex(-inf, inf)},
	{complex(-inf, -zero), complex(1, -1), complex(-inf, -inf)},
	{complex(-inf, -zero), complex(1, 2), complex(-inf, inf)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(-1, zero), complex(inf, nan)},
	{complex(-inf, -zero), complex(-1, -zero), complex(inf, nan)},
	{complex(-inf, -zero), complex(-1, 1), complex(inf, inf)},
	{complex(-inf, -zero), complex(-1, -1), complex(inf, -inf)},
	{complex(-inf, -zero), complex(-1, 2), complex(inf, inf)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(2, zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(2, -zero), complex(-inf, nan)},
	{complex(-inf, -zero), complex(2, 1), complex(-inf, inf)},
	{complex(-inf, -zero), complex(2, -1), complex(-inf, -inf)},
	{complex(-inf, -zero), complex(2, 2), complex(-inf, inf)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, zero), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -zero), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, 1), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -1), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, 2), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(inf, zero), complex(nan, nan)},
	{complex(-inf, -zero), complex(inf, -zero), complex(nan, nan)},
	{complex(-inf, -zero), complex(inf, 1), complex(nan, nan)},
	{complex(-inf, -zero), complex(inf, -1), complex(nan, nan)},
	{complex(-inf, -zero), complex(inf, 2), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(-inf, zero), complex(nan, nan)},
	{complex(-inf, -zero), complex(-inf, -zero), complex(nan, nan)},
	{complex(-inf, -zero), complex(-inf, 1), complex(nan, nan)},
	{complex(-inf, -zero), complex(-inf, -1), complex(nan, nan)},
	{complex(-inf, -zero), complex(-inf, 2), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -zero), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(zero, zero), complex(-inf, inf)},
	{complex(-inf, 1), complex(zero, -zero), complex(-inf, inf)},
	{complex(-inf, 1), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, 1), complex(zero, -1), complex(nan, -inf)},
	{complex(-inf, 1), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(zero, zero), complex(-inf, inf)},
	{complex(-inf, 1), complex(-zero, -zero), complex(inf, -inf)},
	{complex(-inf, 1), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, 1), complex(-zero, -1), complex(nan, -inf)},
	{complex(-inf, 1), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(1, zero), complex(-inf, nan)},
	{complex(-inf, 1), complex(1, -zero), complex(-inf, nan)},
	{complex(-inf, 1), complex(1, 1), complex(-inf, inf)},
	{complex(-inf, 1), complex(1, -1), complex(-inf, -inf)},
	{complex(-inf, 1), complex(1, 2), complex(-inf, inf)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(-1, zero), complex(inf, nan)},
	{complex(-inf, 1), complex(-1, -zero), complex(inf, nan)},
	{complex(-inf, 1), complex(-1, 1), complex(inf, inf)},
	{complex(-inf, 1), complex(-1, -1), complex(inf, -inf)},
	{complex(-inf, 1), complex(-1, 2), complex(inf, inf)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(2, zero), complex(-inf, nan)},
	{complex(-inf, 1), complex(2, -zero), complex(-inf, nan)},
	{complex(-inf, 1), complex(2, 1), complex(-inf, inf)},
	{complex(-inf, 1), complex(2, -1), complex(-inf, -inf)},
	{complex(-inf, 1), complex(2, 2), complex(-inf, inf)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, zero), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -zero), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, 1), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -1), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, 2), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(inf, zero), complex(nan, nan)},
	{complex(-inf, 1), complex(inf, -zero), complex(nan, nan)},
	{complex(-inf, 1), complex(inf, 1), complex(nan, nan)},
	{complex(-inf, 1), complex(inf, -1), complex(nan, nan)},
	{complex(-inf, 1), complex(inf, 2), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 1), complex(-inf, zero), complex(nan, nan)},
	{complex(-inf, 1), complex(-inf, -zero), complex(nan, nan)},
	{complex(-inf, 1), complex(-inf, 1), complex(nan, nan)},
	{complex(-inf, 1), complex(-inf, -1), complex(nan, nan)},
	{complex(-inf, 1), complex(-inf, 2), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(zero, zero), complex(-inf, -inf)},
	{complex(-inf, -1), complex(zero, -zero), complex(-inf, -inf)},
	{complex(-inf, -1), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, -1), complex(zero, -1), complex(nan, -inf)},
	{complex(-inf, -1), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(zero, zero), complex(-inf, -inf)},
	{complex(-inf, -1), complex(-zero, -zero), complex(inf, inf)},
	{complex(-inf, -1), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, -1), complex(-zero, -1), complex(nan, -inf)},
	{complex(-inf, -1), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(1, zero), complex(-inf, nan)},
	{complex(-inf, -1), complex(1, -zero), complex(-inf, nan)},
	{complex(-inf, -1), complex(1, 1), complex(-inf, inf)},
	{complex(-inf, -1), complex(1, -1), complex(-inf, -inf)},
	{complex(-inf, -1), complex(1, 2), complex(-inf, inf)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(-1, zero), complex(inf, nan)},
	{complex(-inf, -1), complex(-1, -zero), complex(inf, nan)},
	{complex(-inf, -1), complex(-1, 1), complex(inf, inf)},
	{complex(-inf, -1), complex(-1, -1), complex(inf, -inf)},
	{complex(-inf, -1), complex(-1, 2), complex(inf, inf)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(2, zero), complex(-inf, nan)},
	{complex(-inf, -1), complex(2, -zero), complex(-inf, nan)},
	{complex(-inf, -1), complex(2, 1), complex(-inf, inf)},
	{complex(-inf, -1), complex(2, -1), complex(-inf, -inf)},
	{complex(-inf, -1), complex(2, 2), complex(-inf, inf)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, zero), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -zero), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, 1), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -1), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, 2), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(inf, zero), complex(nan, nan)},
	{complex(-inf, -1), complex(inf, -zero), complex(nan, nan)},
	{complex(-inf, -1), complex(inf, 1), complex(nan, nan)},
	{complex(-inf, -1), complex(inf, -1), complex(nan, nan)},
	{complex(-inf, -1), complex(inf, 2), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, -1), complex(-inf, zero), complex(nan, nan)},
	{complex(-inf, -1), complex(-inf, -zero), complex(nan, nan)},
	{complex(-inf, -1), complex(-inf, 1), complex(nan, nan)},
	{complex(-inf, -1), complex(-inf, -1), complex(nan, nan)},
	{complex(-inf, -1), complex(-inf, 2), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, -1), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(zero, zero), complex(-inf, inf)},
	{complex(-inf, 2), complex(zero, -zero), complex(-inf, inf)},
	{complex(-inf, 2), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, 2), complex(zero, -1), complex(nan, -inf)},
	{complex(-inf, 2), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(zero, zero), complex(-inf, inf)},
	{complex(-inf, 2), complex(-zero, -zero), complex(inf, -inf)},
	{complex(-inf, 2), complex(zero, 1), complex(nan, inf)},
	{complex(-inf, 2), complex(-zero, -1), complex(nan, -inf)},
	{complex(-inf, 2), complex(zero, 2), complex(nan, inf)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(1, zero), complex(-inf, nan)},
	{complex(-inf, 2), complex(1, -zero), complex(-inf, nan)},
	{complex(-inf, 2), complex(1, 1), complex(-inf, inf)},
	{complex(-inf, 2), complex(1, -1), complex(-inf, -inf)},
	{complex(-inf, 2), complex(1, 2), complex(-inf, inf)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(-1, zero), complex(inf, nan)},
	{complex(-inf, 2), complex(-1, -zero), complex(inf, nan)},
	{complex(-inf, 2), complex(-1, 1), complex(inf, inf)},
	{complex(-inf, 2), complex(-1, -1), complex(inf, -inf)},
	{complex(-inf, 2), complex(-1, 2), complex(inf, inf)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(2, zero), complex(-inf, nan)},
	{complex(-inf, 2), complex(2, -zero), complex(-inf, nan)},
	{complex(-inf, 2), complex(2, 1), complex(-inf, inf)},
	{complex(-inf, 2), complex(2, -1), complex(-inf, -inf)},
	{complex(-inf, 2), complex(2, 2), complex(-inf, inf)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, zero), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -zero), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, 1), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -1), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, 2), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(inf, zero), complex(nan, nan)},
	{complex(-inf, 2), complex(inf, -zero), complex(nan, nan)},
	{complex(-inf, 2), complex(inf, 1), complex(nan, nan)},
	{complex(-inf, 2), complex(inf, -1), complex(nan, nan)},
	{complex(-inf, 2), complex(inf, 2), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(-inf, 2), complex(-inf, zero), complex(nan, nan)},
	{complex(-inf, 2), complex(-inf, -zero), complex(nan, nan)},
	{complex(-inf, 2), complex(-inf, 1), complex(nan, nan)},
	{complex(-inf, 2), complex(-inf, -1), complex(nan, nan)},
	{complex(-inf, 2), complex(-inf, 2), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, nan), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, inf), complex(nan, nan)},
	{complex(-inf, 2), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(zero, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-zero, -1), complex(nan, nan)},
	{complex(nan, nan), complex(zero, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-1, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-1, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(2, zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(2, 1), complex(nan, nan)},
	{complex(nan, nan), complex(2, -1), complex(nan, nan)},
	{complex(nan, nan), complex(2, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -1), complex(nan, nan)},
	{complex(nan, nan), complex(nan, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, nan), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, nan), complex(nan, nan), complex(nan, nan)},
	{complex(nan, nan), complex(nan, inf), complex(nan, nan)},
	{complex(nan, nan), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(zero, zero), complex(nan, inf)},
	{complex(nan, inf), complex(-zero, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(zero, 1), complex(inf, nan)},
	{complex(nan, inf), complex(-zero, -1), complex(-inf, nan)},
	{complex(nan, inf), complex(zero, 2), complex(inf, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(1, zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(1, 1), complex(inf, inf)},
	{complex(nan, inf), complex(1, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(1, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-1, zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, -zero), complex(nan, -inf)},
	{complex(nan, inf), complex(-1, 1), complex(inf, -inf)},
	{complex(nan, inf), complex(-1, -1), complex(-inf, -inf)},
	{complex(nan, inf), complex(-1, 2), complex(inf, -inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(2, zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, -zero), complex(nan, inf)},
	{complex(nan, inf), complex(2, 1), complex(inf, inf)},
	{complex(nan, inf), complex(2, -1), complex(-inf, inf)},
	{complex(nan, inf), complex(2, 2), complex(inf, inf)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(zero, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(-zero, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(zero, 1), complex(-inf, nan)},
	{complex(nan, -inf), complex(-zero, -1), complex(inf, nan)},
	{complex(nan, -inf), complex(zero, 2), complex(-inf, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(1, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(1, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(1, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(1, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-1, zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, -zero), complex(nan, inf)},
	{complex(nan, -inf), complex(-1, 1), complex(-inf, inf)},
	{complex(nan, -inf), complex(-1, -1), complex(inf, inf)},
	{complex(nan, -inf), complex(-1, 2), complex(-inf, inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(2, zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, -zero), complex(nan, -inf)},
	{complex(nan, -inf), complex(2, 1), complex(-inf, -inf)},
	{complex(nan, -inf), complex(2, -1), complex(inf, -inf)},
	{complex(nan, -inf), complex(2, 2), complex(-inf, -inf)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -zero), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, -1), complex(nan, nan)},
	{complex(nan, -inf), complex(-inf, 2), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, nan), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, inf), complex(nan, nan)},
	{complex(nan, -inf), complex(nan, -inf), complex(nan, nan)},
}

Youez - 2016 - github.com/yon3zu
LinuXploit