// File: /workspace/github_cpp_makefile_star2_O1/Laakeri[P]maxpre/src/preprocessor.cpp
// Function: maxPreprocessor::Preprocessor::Preprocessor(std::vector<std::vector<int, std::allocator<int>>, std::allocator<std::vector<int, std::allocator<int>>>> const&, std::vector<unsigned long, std::allocator<unsigned long>> const&, unsigned long)
Preprocessor::Preprocessor(const vector<vector<int> >& clauses, const vector<uint64_t>& weights, uint64_t topWeight) : pi(clauses, weights, topWeight), amsLex(pi) {
	originalVars = pi.vars;
	originalClauses = pi.clauses.size();
	BIGIt = 1;
	BVEgate = true;

  BVEsortMaxFirst = false;
  BVElocalGrow = 0;
  BVEglobalGrow = 0;

	doneUnhiding = false;
	randGen.seed(123);
	skipTechnique = 0;
	rLog.weightRange = pi.getWeightSum();
	rLog.initialWeightRange = rLog.weightRange;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
callq 0x286a0
leaq 0x218(%rbx), %r14
movq %r14, %rdi
callq 0x297b6
movl $0x1, 0x2e8(%rbx)
movb $0x1, 0x2ec(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x2f0(%rbx)
movups %xmm0, 0x300(%rbx)
movups %xmm0, 0x310(%rbx)
movq $0x0, 0x320(%rbx)
movq $0x3b9aca07, 0x328(%rbx) # imm = 0x3B9ACA07
leaq 0x330(%rbx), %r15
movq %r15, %rdi
movq %rbx, %rsi
callq 0x2b2b0
leaq 0x3b0(%rbx), %rbp
leaq 0x400(%rbx), %r12
leaq 0x430(%rbx), %r13
leaq 0x460(%rbx), %rax
xorps %xmm0, %xmm0
movups %xmm0, 0x3e0(%rbx)
movups %xmm0, 0x3d0(%rbx)
movups %xmm0, 0x3c0(%rbx)
movups %xmm0, 0x3b0(%rbx)
movq $0x0, 0x3f0(%rbx)
movups %xmm0, 0x400(%rbx)
movups %xmm0, 0x410(%rbx)
movups %xmm0, 0x420(%rbx)
movq %rax, 0x430(%rbx)
movq $0x1, 0x438(%rbx)
movups %xmm0, 0x440(%rbx)
movl $0x3f800000, 0x450(%rbx) # imm = 0x3F800000
movups %xmm0, 0x458(%rbx)
movq $0x1571, 0x470(%rbx) # imm = 0x1571
movl $0x1571, %ecx           # imm = 0x1571
movl $0x8f, %eax
movq %rcx, %rdx
shrq $0x1e, %rdx
xorl %ecx, %edx
imull $0x6c078965, %edx, %ecx # imm = 0x6C078965
addl %eax, %ecx
addl $0xffffff72, %ecx       # imm = 0xFFFFFF72
movq %rcx, (%rbx,%rax,8)
incq %rax
cmpq $0x2fe, %rax            # imm = 0x2FE
jne 0x9e21
movq $0x270, 0x17f0(%rbx) # imm = 0x270
movl 0x60(%rbx), %eax
movl %eax, 0x214(%rbx)
movq 0x8(%rbx), %rax
subq (%rbx), %rax
shrq $0x3, %rax
imull $0xcccccccd, %eax, %eax # imm = 0xCCCCCCCD
movl %eax, 0x210(%rbx)
movl $0x1, 0x3ac(%rbx)
movw $0x1, 0x3a0(%rbx)
movq $0x0, 0x3a4(%rbx)
movb $0x0, 0x3f8(%rbx)
movq $0x7b, 0x470(%rbx)
movl $0x7b, %ecx
movl $0x8f, %eax
movq %rcx, %rdx
shrq $0x1e, %rdx
xorl %ecx, %edx
imull $0x6c078965, %edx, %ecx # imm = 0x6C078965
addl %eax, %ecx
addl $0xffffff72, %ecx       # imm = 0xFFFFFF72
movq %rcx, (%rbx,%rax,8)
incq %rax
cmpq $0x2fe, %rax            # imm = 0x2FE
jne 0x9eac
movq $0x270, 0x17f0(%rbx) # imm = 0x270
movl $0x0, 0x468(%rbx)
movq %rbx, %rdi
callq 0x29064
movq %rax, 0x2e0(%rbx)
movq %rax, 0x2d8(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, (%rsp)
movq %r13, %rdi
callq 0x91b6
movq 0x418(%rbx), %rdi
testq %rdi, %rdi
je 0x9f33
movq 0x428(%rbx), %rsi
subq %rdi, %rsi
callq 0x32b0
movq (%r12), %rdi
testq %rdi, %rdi
je 0x9f4b
movq 0x410(%rbx), %rsi
subq %rdi, %rsi
callq 0x32b0
movq 0x3e0(%rbx), %rdi
testq %rdi, %rdi
je 0x9f66
movq 0x3f0(%rbx), %rsi
subq %rdi, %rsi
callq 0x32b0
movq 0x3c8(%rbx), %rdi
testq %rdi, %rdi
je 0x9f81
movq 0x3d8(%rbx), %rsi
subq %rdi, %rsi
callq 0x32b0
movq (%rbp), %rdi
testq %rdi, %rdi
je 0x9f99
movq 0x3c0(%rbx), %rsi
subq %rdi, %rsi
callq 0x32b0
movq %r15, %rdi
callq 0x2b2e0
jmp 0x9fa7
movq %rax, (%rsp)
leaq 0x2f0(%rbx), %rdi
callq 0x8d2a
movq %r14, %rdi
callq 0x1f3aa
jmp 0x9fc1
movq %rax, (%rsp)
movq %rbx, %rdi
callq 0x9116
movq (%rsp), %rdi
callq 0x34a0