// File: /workspace/github_cpp_makefile_star2_O3/Laakeri[P]maxpre/src/preprocessorinterface.cpp
// Function: maxPreprocessor::PreprocessorInterface::addClause(std::vector<int, std::allocator<int>>)
bool PreprocessorInterface::addClause(std::vector<int> clause) {
		if (!inProcessMode) return false;
		for (int& lit : clause) {
			assert(lit != 0);
			int tlit = litToPP(lit);
			if (tlit == 0) {
				int nvar = addVar(abs(lit));
				assert(nvar == abs(lit));
				tlit = litToPP(lit);
				assert(lit == litToSolver(tlit));
			}
			tlit = litFromDimacs(tlit);
			lit = tlit;
		}
		sort(clause.begin(), clause.end());
		clause.erase(unique(clause.begin(), clause.end()), clause.end());
		for (int i = 1; i < (int)clause.size(); i++) {
			if (clause[i] == litNegation(clause[i-1])) return true;
		}
		preprocessor.pi.addClause(clause);
		return true;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movb 0x1850(%rdi), %bl
cmpb $0x1, %bl
jne 0x319d3
movq %rsi, %r14
movq %rdi, %r15
movq (%rsi), %r12
movq 0x8(%rsi), %r13
cmpq %r13, %r12
je 0x31907
movb %bl, 0x7(%rsp)
movl (%r12), %eax
testl %eax, %eax
je 0x319e4
movq 0x1868(%r15), %rcx
movq 0x1870(%r15), %rdx
subq %rcx, %rdx
shrq $0x2, %rdx
movl %eax, %esi
negl %esi
cmovsl %eax, %esi
cmpl %edx, %esi
jg 0x3188d
movl %esi, %edx
movl -0x4(%rcx,%rdx,4), %ecx
movl %ecx, %ebp
negl %ebp
testl %eax, %eax
cmovgl %ecx, %ebp
testl %ebp, %ebp
jne 0x318e4
movq %r15, %rdi
callq 0x31452
movl (%r12), %ebx
movl %ebx, %ecx
negl %ecx
cmovsl %ebx, %ecx
cmpl %ecx, %eax
jne 0x31a22
movq 0x1868(%r15), %rcx
movq 0x1870(%r15), %rdx
subq %rcx, %rdx
shrq $0x2, %rdx
xorl %ebp, %ebp
cmpl %edx, %eax
jg 0x318d2
movl %eax, %eax
movl -0x4(%rcx,%rax,4), %eax
movl %eax, %ebp
negl %ebp
testl %ebx, %ebx
cmovgl %eax, %ebp
movq %r15, %rdi
movl %ebp, %esi
callq 0x31128
cmpl %eax, %ebx
jne 0x31a03
movl %ebp, %edi
callq 0x277d0
movl %eax, (%r12)
addq $0x4, %r12
cmpq %r13, %r12
jne 0x3184e
movq (%r14), %r12
movq 0x8(%r14), %r13
movb 0x7(%rsp), %bl
cmpq %r13, %r12
je 0x31940
movq %r13, %rax
subq %r12, %rax
sarq $0x2, %rax
bsrq %rax, %rdx
xorl $0x3f, %edx
addl %edx, %edx
xorq $0x7e, %rdx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2226b
movq %r12, %rdi
movq %r13, %rsi
callq 0x2234e
movq (%r14), %r12
movq 0x8(%r14), %r13
cmpq %r13, %r12
je 0x3198b
leaq 0x4(%r12), %rax
cmpq %r13, %rax
je 0x3198b
movl -0x4(%rax), %ecx
leaq 0x4(%rax), %rdx
cmpl (%rax), %ecx
movq %rdx, %rax
jne 0x3194a
leaq -0x8(%rdx), %rax
cmpq %r13, %rdx
je 0x3197b
movl %ecx, %esi
movl (%rdx), %ecx
cmpl %ecx, %esi
je 0x31975
movl %ecx, 0x4(%rax)
addq $0x4, %rax
addq $0x4, %rdx
jmp 0x31961
addq $0x4, %rax
cmpq %r13, %rax
je 0x3198b
movq %rax, 0x8(%r14)
movq %rax, %r13
subq %r12, %r13
shrq $0x2, %r13
cmpl $0x2, %r13d
jl 0x319ba
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
movl $0x1, %eax
movl -0x4(%r12,%rax,4), %ecx
xorl (%r12,%rax,4), %ecx
cmpl $0x1, %ecx
je 0x319d3
incq %rax
cmpq %rax, %r13
jne 0x319a4
addq $0x8, %r15
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
movq %r15, %rdi
movq %r14, %rsi
callq 0x27f82
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x836f(%rip), %rdi      # 0x39d5a
leaq 0x8371(%rip), %rsi      # 0x39d63
leaq 0x8582(%rip), %rcx      # 0x39f7b
movl $0xae, %edx
callq 0x31b0
leaq 0x85cb(%rip), %rdi      # 0x39fd5
leaq 0x8352(%rip), %rsi      # 0x39d63
leaq 0x8563(%rip), %rcx      # 0x39f7b
movl $0xb4, %edx
callq 0x31b0
leaq 0x859b(%rip), %rdi      # 0x39fc4
leaq 0x8333(%rip), %rsi      # 0x39d63
leaq 0x8544(%rip), %rcx      # 0x39f7b
movl $0xb2, %edx
callq 0x31b0
nop