// File: /workspace/github_cpp_makefile_star2_O1/Laakeri[P]maxpre/src/touchedlist.cpp
// Function: maxPreprocessor::TouchedList::getBinaryLiterals(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>)
vector<int> TouchedList::getBinaryLiterals(string technique) {
	if (techniqueItr.count(technique) == 0) {
		techniqueItr[technique] = itr;
		vector<int> ret(2*vars);
		for (int i = 0; i < 2*vars; i++) {
			ret[i] = i;
		}
		return ret;
	}
	else {
		getItr++;
		uint64_t eitr = techniqueItr[technique];
		techniqueItr[technique] = itr;
		vector<int> ret;
		for (int i = (int)modClauses.size() - 1; i >= 0 && modClauses[i].F >= eitr; i--) {
			if (pi.clauses[modClauses[i].S].lit.size() == 2) {
				for (int l : pi.clauses[modClauses[i].S].lit) {
					if (getI[l] != getItr) {
						getI[l] = getItr;
						ret.push_back(l);
					}
				}
			}
		}
		return ret;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x140(%rsi), %r12
movq %r12, %rdi
movq %rdx, %rsi
callq 0x31818
leaq 0x148(%r14), %rcx
cmpq %rcx, %rax
je 0x30b40
incl 0x198(%r14)
movq %r12, %rdi
movq %r15, %rsi
callq 0x310b4
movq (%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x188(%r14), %r13
movq %r12, %rdi
movq %r15, %rsi
callq 0x310b4
movq %r13, (%rax)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movq 0x138(%r14), %rax
movq %rax, %rcx
subq 0x118(%r14), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x5, %rcx
movq 0x120(%r14), %rax
subq 0x128(%r14), %rax
movq 0x110(%r14), %rbp
shrq $0x4, %rax
subq 0x100(%r14), %rbp
shrq $0x4, %rbp
addq %rax, %rbp
addq %rcx, %rbp
testl %ebp, %ebp
jle 0x30b90
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
movq %rbp, %r12
movq 0x100(%r14), %rcx
movq %rcx, %rax
subq 0x108(%r14), %rax
decq %rbp
sarq $0x4, %rax
addq %r12, %rax
decq %rax
cmpq $0x1f, %rax
ja 0x309ce
movq %rbp, %rdx
shlq $0x4, %rdx
addq %rcx, %rdx
jmp 0x30a08
movq %rax, %rdx
shrq $0x5, %rdx
movq %rdx, %rsi
movabsq $-0x800000000000000, %rdi # imm = 0xF800000000000000
orq %rdi, %rsi
testq %rax, %rax
cmovgq %rdx, %rsi
movq 0x118(%r14), %rdi
movq %rsi, %r8
shlq $0x5, %r8
movq %rax, %rdx
subq %r8, %rdx
shlq $0x4, %rdx
addq (%rdi,%rsi,8), %rdx
movq 0x10(%rsp), %rsi
cmpq %rsi, (%rdx)
jb 0x30b90
cmpq $0x1f, %rax
ja 0x30a28
movq %rbp, %rdx
shlq $0x4, %rdx
addq %rcx, %rdx
jmp 0x30a62
movq %rax, %rdx
shrq $0x5, %rdx
movq %rdx, %rsi
movabsq $-0x800000000000000, %rdi # imm = 0xF800000000000000
orq %rdi, %rsi
testq %rax, %rax
cmovgq %rdx, %rsi
movq 0x118(%r14), %rdi
movq %rsi, %r8
shlq $0x5, %r8
movq %rax, %rdx
subq %r8, %rdx
shlq $0x4, %rdx
addq (%rdi,%rsi,8), %rdx
movq 0x1a0(%r14), %rsi
movslq 0x8(%rdx), %rdi
movq (%rsi), %rdx
leaq (%rdi,%rdi,4), %rsi
movq 0x8(%rdx,%rsi,8), %rdi
subq (%rdx,%rsi,8), %rdi
cmpq $0x8, %rdi
jne 0x30b34
cmpq $0x1f, %rax
ja 0x30a99
movq %rbp, %rax
shlq $0x4, %rax
addq %rax, %rcx
jmp 0x30ad3
movq %rax, %rcx
shrq $0x5, %rcx
movq %rcx, %rsi
movabsq $-0x800000000000000, %rdi # imm = 0xF800000000000000
orq %rdi, %rsi
testq %rax, %rax
cmovgq %rcx, %rsi
movq 0x118(%r14), %rcx
movq %rsi, %rdi
shlq $0x5, %rdi
subq %rdi, %rax
shlq $0x4, %rax
addq (%rcx,%rsi,8), %rax
movq %rax, %rcx
movslq 0x8(%rcx), %rax
leaq (%rax,%rax,4), %rax
movq (%rdx,%rax,8), %r13
movq 0x8(%rdx,%rax,8), %r15
cmpq %r15, %r13
je 0x30b34
movslq (%r13), %rax
movl %eax, 0xc(%rsp)
movq 0x170(%r14), %rcx
movl 0x198(%r14), %edx
cmpl %edx, (%rcx,%rax,4)
je 0x30b2e
movl %edx, (%rcx,%rax,4)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x30b21
movl 0xc(%rsp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x30b2e
movq %rbx, %rdi
leaq 0xc(%rsp), %rdx
callq 0x98e8
addq $0x4, %r13
jmp 0x30ae4
cmpq $0x1, %r12
jg 0x3099b
jmp 0x30b90
movq 0x188(%r14), %r13
movq %r12, %rdi
movq %r15, %rsi
callq 0x310b4
movq %r13, (%rax)
movslq 0x19c(%r14), %rsi
addq %rsi, %rsi
leaq 0xb(%rsp), %rdx
movq %rbx, %rdi
callq 0x8c32
cmpl $0x0, 0x19c(%r14)
jle 0x30b90
movq (%rbx), %rax
xorl %ecx, %ecx
movl %ecx, (%rax,%rcx,4)
incq %rcx
movslq 0x19c(%r14), %rdx
addq %rdx, %rdx
cmpq %rdx, %rcx
jl 0x30b7b
movq %rbx, %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x30bb9
movq 0x10(%rbx), %rsi
subq %rdi, %rsi
callq 0x32b0
movq %r14, %rdi
callq 0x34a0
nop