// File: /workspace/github_cpp_makefile_star2_O2/akinanop[P]mvl-solver/src/Variable.cc
// Function: Variable::Variable(int, int)
Variable::Variable(int var, int domain)
{
	VAR = var;
	VAL = -1;
	DOMAINSIZE = domain;
	ATOMINDEX = new int[DOMAINSIZE];
	ATOMLEVEL = new int[DOMAINSIZE];
	ATOMASSIGN = new int[DOMAINSIZE];
	ATOMCNTPOS = new int[DOMAINSIZE];
	ATOMCNTNEG = new int[DOMAINSIZE];
	VSIDS_SCORE = new double[DOMAINSIZE];
	VSIDS_SCORE_NEG = new double[DOMAINSIZE];
	CLAUSEID = new int[DOMAINSIZE];
	ATOMWATCHPOS = new VARRECORD *[DOMAINSIZE];
	ATOMWATCHNEG = new VARRECORD *[DOMAINSIZE];
	ATOMRECPOS = new vector<int> [DOMAINSIZE];
	ATOMRECNEG = new vector<int> [DOMAINSIZE];
	for(int i=0; i<DOMAINSIZE; i++)
	{ // CHANGED DEFAULT ATOMLEVEL TO -10
		ATOMLEVEL[i] = -10;
		ATOMASSIGN[i] = 0;
		ATOMCNTPOS[i] = 0;
		ATOMCNTNEG[i] = 0;
		VSIDS_SCORE[i] = 0;
		VSIDS_SCORE_NEG[i] = 0;
		CLAUSEID[i] = -10;
		ATOMWATCHPOS[i] = NULL;
		ATOMWATCHNEG[i] = NULL;
		ATOMINDEX[i] = -1;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %edx, %ebp
movq %rdi, %rbx
movslq %edx, %r15
pushq $0x18
popq %rcx
movq %r15, %rax
mulq %rcx
movq %rax, %r12
movq %rax, (%rsp)
seto %dl
addq $0x8, %r12
pushq $-0x1
popq %rcx
cmovbq %rcx, %r12
movl %esi, (%rdi)
movl %r15d, 0x8(%rdi)
testb %dl, %dl
cmovneq %rcx, %r12
orl $-0x1, 0x4(%rdi)
leaq (,%r15,4), %r14
testl %r15d, %r15d
cmovsq %rcx, %r14
leaq (,%r15,8), %r13
cmovsq %rcx, %r13
movq %r14, %rdi
callq 0x2030
movq %rax, 0x10(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, 0x18(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, 0x20(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, 0x28(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, 0x30(%rbx)
movq %r13, %rdi
callq 0x2030
movq %rax, 0x38(%rbx)
movq %r13, %rdi
callq 0x2030
movq %rax, 0x40(%rbx)
movq %r14, %rdi
callq 0x2030
movq %rax, 0x48(%rbx)
movq %r13, %rdi
callq 0x2030
movq %rax, 0x50(%rbx)
movq %r13, %rdi
movq (%rsp), %r13
callq 0x2030
movq %rax, 0x58(%rbx)
movq %r12, %rdi
callq 0x2030
leaq 0x8(%rax), %r14
movq %r15, (%rax)
testl %r15d, %r15d
je 0x5c7b
leaq -0x18(%r13), %rcx
movq %rcx, %rax
xorl %edx, %edx
pushq $0x18
popq %rsi
divq %rsi
subq %rdx, %rcx
addq $0x18, %rcx
movq %r14, %rdi
xorl %esi, %esi
movq %rcx, %rdx
callq 0x2160
movq %r14, 0x60(%rbx)
movq %r12, %rdi
callq 0x2030
leaq 0x8(%rax), %r14
movq %r15, (%rax)
testl %r15d, %r15d
je 0x5cb6
addq $-0x18, %r13
movq %r13, %rax
xorl %edx, %edx
pushq $0x18
popq %rcx
divq %rcx
subq %rdx, %r13
addq $0x18, %r13
movq %r14, %rdi
xorl %esi, %esi
movq %r13, %rdx
callq 0x2160
movq %r14, 0x68(%rbx)
xorl %eax, %eax
pushq $-0xa
popq %rcx
movslq %ebp, %rdx
cmpq %rdx, %rax
jge 0x5d21
movq 0x18(%rbx), %rdx
movl %ecx, (%rdx,%rax,4)
movq 0x20(%rbx), %rdx
andl $0x0, (%rdx,%rax,4)
movq 0x28(%rbx), %rdx
andl $0x0, (%rdx,%rax,4)
movq 0x30(%rbx), %rdx
andl $0x0, (%rdx,%rax,4)
movq 0x38(%rbx), %rdx
andq $0x0, (%rdx,%rax,8)
movq 0x40(%rbx), %rdx
andq $0x0, (%rdx,%rax,8)
movq 0x48(%rbx), %rdx
movl %ecx, (%rdx,%rax,4)
movq 0x50(%rbx), %rdx
andq $0x0, (%rdx,%rax,8)
movq 0x58(%rbx), %rdx
andq $0x0, (%rdx,%rax,8)
movq 0x10(%rbx), %rdx
orl $-0x1, (%rdx,%rax,4)
incq %rax
movl 0x8(%rbx), %ebp
jmp 0x5cbf
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq