// File: /workspace/github_cpp_makefile_star2_O1/Laakeri[P]maxpre/src/./SIE.cpp
// Function: maxPreprocessor::Preprocessor::try2SIE(int, int)
int Preprocessor::try2SIE(int litX, int litY) {
	for (int c : pi.litClauses[litNegation(litX)]) {
		if (pi.clauses[c].lit.size() > 10) { // magic constant
			if (!binary_search(pi.clauses[c].lit.begin(), pi.clauses[c].lit.end(), litNegation(litY))) {
				return 0;
			}
		}
		else {
			bool f = false;
			for (int l : pi.clauses[c].lit) {
				if (l == litNegation(litY)) {
					f = true;
					break;
				}
			}
			if (!f) {
				return 0;
			}
		}
	}
	for (int c : pi.litClauses[litY]) {
		if (!binary_search(pi.clauses[c].lit.begin(), pi.clauses[c].lit.end(), litX)) {
			return 0;
		}
	}
	int rmC = 0;
	rmC += setVariable(litVariable(litX), litValue(litX));
	rmC += setVariable(litVariable(litY), !litValue(litY));
	rLog.removeClause(rmC);
	rLog.removeVariable(2);
	assert(pi.isVarRemoved(litVariable(litX)));
	assert(pi.isVarRemoved(litVariable(litY)));
	return rmC;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl %edx, %ebp
movq %rdi, %rbx
movl %esi, %eax
xorl $0x1, %eax
movslq %eax, %rcx
movq 0x18(%rdi), %rax
leaq (%rcx,%rcx,2), %rdx
movq (%rax,%rdx,8), %rcx
movq 0x8(%rax,%rdx,8), %rdx
cmpq %rdx, %rcx
sete %dil
je 0x137d3
movq (%rbx), %r8
movl %ebp, %r9d
xorl $0x1, %r9d
movslq (%rcx), %r10
leaq (%r10,%r10,4), %r11
movq (%r8,%r11,8), %r10
movq 0x8(%r8,%r11,8), %r11
movq %r11, %r14
subq %r10, %r14
sarq $0x2, %r14
cmpq $0xa, %r14
jbe 0x13783
testq %r14, %r14
jle 0x13777
movq %r14, %r15
shrq %r15
movq %r15, %r12
notq %r12
addq %r14, %r12
leaq (%r10,%r15,4), %r14
addq $0x4, %r14
cmpl %r9d, -0x4(%r14)
cmovlq %r14, %r10
cmovgeq %r15, %r12
movq %r12, %r14
testq %r12, %r12
jg 0x1374c
cmpq %r11, %r10
je 0x137c9
cmpl (%r10), %r9d
jge 0x137b6
jmp 0x137c9
cmpq %r11, %r10
je 0x137c9
addq $0x4, %r10
xorl %r14d, %r14d
movl -0x4(%r10), %r15d
xorl %ebp, %r15d
movzbl %r14b, %r14d
cmpl $0x1, %r15d
cmovel %r15d, %r14d
je 0x137b0
leaq 0x4(%r10), %r15
cmpq %r11, %r10
movq %r15, %r10
jne 0x1378f
testb $0x1, %r14b
je 0x137c9
addq $0x4, %rcx
cmpq %rdx, %rcx
sete %dil
jne 0x13727
jmp 0x137d3
testb $0x1, %dil
je 0x138ec
movslq %ebp, %rcx
leaq (%rcx,%rcx,2), %rdx
movq (%rax,%rdx,8), %rcx
movq 0x8(%rax,%rdx,8), %rax
cmpq %rax, %rcx
sete %dl
je 0x13859
movq (%rbx), %rdi
movslq (%rcx), %r8
leaq (%r8,%r8,4), %r9
movq (%rdi,%r9,8), %r8
movq 0x8(%rdi,%r9,8), %r9
movq %r9, %r10
subq %r8, %r10
sarq $0x2, %r10
testq %r10, %r10
jle 0x13838
movq %r10, %r11
shrq %r11
movq %r11, %r14
notq %r14
addq %r10, %r14
leaq (%r8,%r11,4), %r10
addq $0x4, %r10
cmpl %esi, -0x4(%r10)
cmovlq %r10, %r8
cmovgeq %r11, %r14
movq %r14, %r10
testq %r14, %r14
jg 0x1380d
cmpq %r9, %r8
je 0x13850
cmpl %esi, (%r8)
jg 0x13850
addq $0x4, %rcx
cmpq %rax, %rcx
sete %dl
jne 0x137ee
jmp 0x13859
testb $0x1, %dl
je 0x138ec
movl %esi, %r14d
sarl %r14d
xorl %edx, %edx
testb $0x1, %sil
sete %dl
movq %rbx, %rdi
movl %r14d, %esi
callq 0xa016
movl %eax, %r12d
movl %ebp, %r15d
sarl %r15d
andl $0x1, %ebp
movq %rbx, %rdi
movl %r15d, %esi
movl %ebp, %edx
callq 0xa016
movl %eax, %ebp
addl %r12d, %ebp
leaq 0x218(%rbx), %r12
movq %r12, %rdi
movl %ebp, %esi
callq 0x29970
movq %r12, %rdi
movl $0x2, %esi
callq 0x299ac
movq %rbx, %rdi
movl %r14d, %esi
callq 0x2859c
testb %al, %al
je 0x138f9
movq %rbx, %rdi
movl %r15d, %esi
callq 0x2859c
testb %al, %al
jne 0x138ee
leaq 0x2622d(%rip), %rdi     # 0x39b01
leaq 0x261e7(%rip), %rsi     # 0x39ac2
leaq 0x261ea(%rip), %rcx     # 0x39acc
movl $0x37, %edx
callq 0x31b0
xorl %ebp, %ebp
movl %ebp, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x2619f(%rip), %rdi     # 0x39a9f
leaq 0x261bb(%rip), %rsi     # 0x39ac2
leaq 0x261be(%rip), %rcx     # 0x39acc
movl $0x36, %edx
callq 0x31b0