// File: /workspace/github_cpp_makefile_star2_O1/Laakeri[P]maxpre/src/touchedlist.cpp
// Function: maxPreprocessor::TouchedList::getTouchedVarsCh(unsigned long, std::vector<int, std::allocator<int>>&)
void TouchedList::getTouchedVarsCh(uint64_t eitr, std::vector<int>& ret) {
	for (int i = (int)touchedLiterals.size() - 1; i >= 0 && touchedLiterals[i].F >= eitr; i--) {
		if (getI[litVariable(touchedLiterals[i].S)] != getItr) {
			getI[litVariable(touchedLiterals[i].S)] = getItr;
			ret.push_back(litVariable(touchedLiterals[i].S));
		}
	}
	for (int i = (int)touchedClauses.size() - 1; i >= 0 && touchedClauses[i].F >= eitr; i--) {
		for (int l : pi.clauses[touchedClauses[i].S].lit) {
			if (getI[litVariable(l)] != getItr) {
				getI[litVariable(l)] = getItr;
				ret.push_back(litVariable(l));
			}
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r15
movabsq $-0x800000000000000, %r13 # imm = 0xF800000000000000
movq 0x48(%rdi), %rax
movq %rax, %rcx
subq 0x28(%rdi), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x5, %rcx
movq 0x30(%rdi), %rax
subq 0x38(%rdi), %rax
movq 0x20(%rdi), %rbp
shrq $0x4, %rax
subq 0x10(%rdi), %rbp
shrq $0x4, %rbp
addq %rax, %rbp
addq %rcx, %rbp
testl %ebp, %ebp
jle 0x2ff7a
andl $0x7fffffff, %ebp       # imm = 0x7FFFFFFF
leaq -0x1(%rbp), %r12
shlq $0x4, %rbp
addq $-0x10, %rbp
movq 0x10(%r15), %rcx
movq %rcx, %rax
subq 0x18(%r15), %rax
sarq $0x4, %rax
leaq (%r12,%rax), %rdx
cmpq $0x1f, %rdx
ja 0x2fe1b
leaq (%rcx,%rbp), %rsi
jmp 0x2fe4b
movq 0x28(%r15), %rdi
movq %rdx, %rsi
shrq $0x5, %rsi
movq %rsi, %r8
orq %r13, %r8
testq %rdx, %rdx
cmovgq %rsi, %r8
movq %r8, %r9
shlq $0x5, %r9
movq %rax, %rsi
subq %r9, %rsi
addq %r12, %rsi
shlq $0x4, %rsi
addq (%rdi,%r8,8), %rsi
cmpq %r14, (%rsi)
jb 0x2ff7a
cmpq $0x1f, %rdx
ja 0x2fe60
leaq (%rcx,%rbp), %rsi
jmp 0x2fe90
movq 0x28(%r15), %rdi
movq %rdx, %rsi
shrq $0x5, %rsi
movq %rsi, %r8
orq %r13, %r8
testq %rdx, %rdx
cmovgq %rsi, %r8
movq %r8, %r9
shlq $0x5, %r9
movq %rax, %rsi
subq %r9, %rsi
addq %r12, %rsi
shlq $0x4, %rsi
addq (%rdi,%r8,8), %rsi
movl 0x8(%rsi), %esi
sarl %esi
movslq %esi, %r8
movq 0x170(%r15), %rsi
movl 0x198(%r15), %edi
cmpl %edi, (%rsi,%r8,4)
je 0x2ff61
cmpq $0x1f, %rdx
ja 0x2febc
leaq (%rcx,%rbp), %r8
jmp 0x2feec
movq 0x28(%r15), %r9
movq %rdx, %r8
shrq $0x5, %r8
movq %r8, %r10
orq %r13, %r10
testq %rdx, %rdx
cmovgq %r8, %r10
movq %r10, %r11
shlq $0x5, %r11
movq %rax, %r8
subq %r11, %r8
addq %r12, %r8
shlq $0x4, %r8
addq (%r9,%r10,8), %r8
movl 0x8(%r8), %r8d
sarl %r8d
movslq %r8d, %r8
movl %edi, (%rsi,%r8,4)
cmpq $0x1f, %rdx
ja 0x2ff05
addq %rbp, %rcx
jmp 0x2ff35
movq 0x28(%r15), %rcx
movq %rdx, %rsi
shrq $0x5, %rsi
movq %rsi, %rdi
orq %r13, %rdi
testq %rdx, %rdx
cmovgq %rsi, %rdi
movq %rdi, %rdx
shlq $0x5, %rdx
subq %rdx, %rax
addq %r12, %rax
shlq $0x4, %rax
addq (%rcx,%rdi,8), %rax
movq %rax, %rcx
movl 0x8(%rcx), %eax
sarl %eax
movl %eax, 0xc(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x2ff54
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x2ff61
movq %rbx, %rdi
leaq 0xc(%rsp), %rdx
callq 0x20b8a
leaq -0x1(%r12), %rax
incq %r12
addq $-0x10, %rbp
cmpq $0x1, %r12
movq %rax, %r12
jg 0x2fdfc
movq 0xe8(%r15), %rax
movq %rax, %rcx
subq 0xc8(%r15), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x5, %rcx
movq 0xd0(%r15), %rax
subq 0xd8(%r15), %rax
movq 0xc0(%r15), %r13
shrq $0x4, %rax
subq 0xb0(%r15), %r13
shrq $0x4, %r13
addq %rax, %r13
addq %rcx, %r13
testl %r13d, %r13d
jle 0x30116
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
movq %r14, 0x10(%rsp)
movq %r13, %rbp
movq 0xb0(%r15), %rcx
movq %rcx, %rax
subq 0xb8(%r15), %rax
decq %r13
sarq $0x4, %rax
addq %rbp, %rax
decq %rax
cmpq $0x1f, %rax
ja 0x3000d
movq %r13, %rdx
shlq $0x4, %rdx
addq %rcx, %rdx
jmp 0x30047
movq %rax, %rdx
shrq $0x5, %rdx
movq %rdx, %rsi
movabsq $-0x800000000000000, %rdi # imm = 0xF800000000000000
orq %rdi, %rsi
testq %rax, %rax
cmovgq %rdx, %rsi
movq 0xc8(%r15), %rdi
movq %rsi, %r8
shlq $0x5, %r8
movq %rax, %rdx
subq %r8, %rdx
shlq $0x4, %rdx
addq (%rdi,%rsi,8), %rdx
cmpq %r14, (%rdx)
jb 0x30116
cmpq $0x1f, %rax
ja 0x30062
movq %r13, %rax
shlq $0x4, %rax
addq %rax, %rcx
jmp 0x3009c
movq %rax, %rcx
shrq $0x5, %rcx
movq %rcx, %rdx
movabsq $-0x800000000000000, %rsi # imm = 0xF800000000000000
orq %rsi, %rdx
testq %rax, %rax
cmovgq %rcx, %rdx
movq 0xc8(%r15), %rcx
movq %rdx, %rsi
shlq $0x5, %rsi
subq %rsi, %rax
shlq $0x4, %rax
addq (%rcx,%rdx,8), %rax
movq %rax, %rcx
movq 0x1a0(%r15), %rax
movslq 0x8(%rcx), %rcx
movq (%rax), %rax
leaq (%rcx,%rcx,4), %rcx
movq (%rax,%rcx,8), %r14
movq 0x8(%rax,%rcx,8), %r12
cmpq %r12, %r14
je 0x30107
movl (%r14), %eax
sarl %eax
movslq %eax, %rcx
movq 0x170(%r15), %rdx
movl 0x198(%r15), %esi
cmpl %esi, (%rdx,%rcx,4)
je 0x30101
movl %esi, (%rdx,%rcx,4)
movl %ecx, 0x8(%rsp)
movq 0x8(%rbx), %rsi
cmpq 0x10(%rbx), %rsi
je 0x300f4
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x8(%rbx)
jmp 0x30101
movq %rbx, %rdi
leaq 0x8(%rsp), %rdx
callq 0x20b8a
addq $0x4, %r14
jmp 0x300b7
cmpq $0x2, %rbp
movq 0x10(%rsp), %r14
jge 0x2ffda
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop