// File: /workspace/github_cpp_makefile_star2_O1/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 0x32964
movq %rsi, %r14
movq %rdi, %r15
movb %bl, 0x7(%rsp)
movq (%rsi), %r12
movq 0x8(%rsi), %r13
cmpq %r13, %r12
je 0x3288e
movl (%r12), %eax
testl %eax, %eax
je 0x32975
movq 0x1868(%r15), %rcx
movq 0x1870(%r15), %rdx
subq %rcx, %rdx
shrq $0x2, %rdx
movl %eax, %esi
negl %esi
cmovsl %eax, %esi
xorl %ebp, %ebp
cmpl %edx, %esi
jg 0x3281f
movl %esi, %edx
movl -0x4(%rcx,%rdx,4), %ecx
movl %ecx, %ebp
negl %ebp
testl %eax, %eax
cmovgl %ecx, %ebp
testl %ebp, %ebp
jne 0x3287a
movq %r15, %rdi
callq 0x323ea
movl (%r12), %ebx
movl %ebx, %ecx
negl %ecx
cmovsl %ebx, %ecx
cmpl %ecx, %eax
jne 0x329b3
movq 0x1868(%r15), %rax
movq 0x1870(%r15), %rdx
subq %rax, %rdx
shrq $0x2, %rdx
xorl %ebp, %ebp
cmpl %edx, %ecx
jg 0x32868
movl %ecx, %ecx
movl -0x4(%rax,%rcx,4), %eax
movl %eax, %ebp
negl %ebp
testl %ebx, %ebx
cmovgl %eax, %ebp
movq %r15, %rdi
movl %ebp, %esi
callq 0x320ae
cmpl %eax, %ebx
jne 0x32994
movl %ebp, %edi
callq 0x284a8
movl %eax, (%r12)
addq $0x4, %r12
jmp 0x327d9
movq (%r14), %r12
movq 0x8(%r14), %r13
cmpq %r13, %r12
je 0x328c7
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 0x22eaf
movq %r12, %rdi
movq %r13, %rsi
callq 0x22f92
movq (%r14), %rdi
movq 0x8(%r14), %rsi
callq 0x2352e
movq 0x8(%r14), %rcx
cmpq %rcx, %rax
movb 0x7(%rsp), %bl
je 0x328f6
movq 0x8(%r14), %rdx
movq %rdx, %rsi
subq %rcx, %rsi
addq %rsi, %rax
cmpq %rax, %rdx
je 0x328f6
movq %rax, 0x8(%r14)
movq (%r14), %rcx
movq 0x8(%r14), %rax
subq %rcx, %rax
shrq $0x2, %rax
cmpl $0x2, %eax
setge %dl
jl 0x3294b
movl (%rcx), %esi
xorl 0x4(%rcx), %esi
cmpl $0x1, %esi
je 0x32947
andl $0x7fffffff, %eax       # imm = 0x7FFFFFFF
movl $0x2, %edx
subq %rax, %rdx
movl $0x1, %esi
leaq (%rdx,%rsi), %rdi
cmpq $0x1, %rdi
je 0x3294b
movl (%rcx,%rsi,4), %edi
xorl 0x4(%rcx,%rsi,4), %edi
incq %rsi
cmpl $0x1, %edi
jne 0x32928
cmpq %rax, %rsi
setb %dl
testb %dl, %dl
jne 0x32964
addq $0x8, %r15
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
movq %r15, %rdi
movq %r14, %rsi
callq 0x28c8e
movl %ebx, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x82ca(%rip), %rdi      # 0x3ac46
leaq 0x82cc(%rip), %rsi      # 0x3ac4f
leaq 0x84dd(%rip), %rcx      # 0x3ae67
movl $0xae, %edx
callq 0x31b0
leaq 0x8526(%rip), %rdi      # 0x3aec1
leaq 0x82ad(%rip), %rsi      # 0x3ac4f
leaq 0x84be(%rip), %rcx      # 0x3ae67
movl $0xb4, %edx
callq 0x31b0
leaq 0x84f6(%rip), %rdi      # 0x3aeb0
leaq 0x828e(%rip), %rsi      # 0x3ac4f
leaq 0x849f(%rip), %rcx      # 0x3ae67
movl $0xb2, %edx
callq 0x31b0