// File: /workspace/github_cpp_makefile_star2_O3/PrarabdhJoshi[P]DatabaseImplementation/./test.h
// Function: setup(char const*, char const*, char const*)
void setup (const char *catalog_path, const char *dbfile_dir, const char *tpch_dir) {
	cout << " \n** IMPORTANT: MAKE SURE THE INFORMATION BELOW IS CORRECT **\n";
	cout << " catalog location: \t" << catalog_path << endl;
	cout << " tpch files dir: \t" << tpch_dir << endl;
	cout << " heap files dir: \t" << dbfile_dir << endl;
	cout << " \n\n";

	s = new relation (supplier, new Schema (catalog_path, supplier), dbfile_dir);
	ps = new relation (partsupp, new Schema (catalog_path, partsupp), dbfile_dir);
	p = new relation (part, new Schema (catalog_path, part), dbfile_dir);
	n = new relation (nation, new Schema (catalog_path, nation), dbfile_dir);
	li = new relation (lineitem, new Schema (catalog_path, lineitem), dbfile_dir);
	r = new relation (region, new Schema (catalog_path, region), dbfile_dir);
	o = new relation (orders, new Schema (catalog_path, orders), dbfile_dir);
	c = new relation (customer, new Schema (catalog_path, customer), dbfile_dir);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rdx, %r12
movq %rsi, %rbx
movq %rdi, %r14
movq 0x5513(%rip), %r15      # 0xbfc0
leaq 0x2035(%rip), %rsi      # 0x8ae9
movl $0x3e, %edx
movq %r15, %rdi
callq 0x21c0
leaq 0x2060(%rip), %rsi      # 0x8b28
movl $0x14, %edx
movq %r15, %rdi
callq 0x21c0
testq %r14, %r14
je 0x6af6
movq %r14, %rdi
callq 0x20d0
movq 0x54d7(%rip), %rdi      # 0xbfc0
movq %r14, %rsi
movq %rax, %rdx
callq 0x21c0
jmp 0x6b0e
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%r15,%rax), %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x22e0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2110
leaq 0x2001(%rip), %rsi      # 0x8b3d
movl $0x12, %edx
movq %r15, %rdi
callq 0x21c0
testq %r12, %r12
je 0x6b6a
movq %r12, %rdi
callq 0x20d0
movq 0x5463(%rip), %rdi      # 0xbfc0
movq %r12, %rsi
movq %rax, %rdx
callq 0x21c0
jmp 0x6b82
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%r15,%rax), %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x22e0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2110
leaq 0x1fa0(%rip), %rsi      # 0x8b50
movl $0x12, %edx
movq %r15, %rdi
callq 0x21c0
testq %rbx, %rbx
je 0x6bde
movq %rbx, %rdi
callq 0x20d0
movq 0x53ef(%rip), %rdi      # 0xbfc0
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21c0
jmp 0x6bf6
movq (%r15), %rax
movq -0x18(%rax), %rax
leaq (%r15,%rax), %rdi
movl 0x20(%r15,%rax), %esi
orl $0x1, %esi
callq 0x22e0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2160
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2110
leaq 0x1f3f(%rip), %rsi      # 0x8b63
movl $0x3, %edx
movq %r15, %rdi
callq 0x21c0
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x55b3(%rip), %r12      # 0xc1f8
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x2055(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5663(%rip)      # 0xc2f0
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x555f(%rip), %r12      # 0xc200
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1ff9(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5617(%rip)      # 0xc300
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x550b(%rip), %r12      # 0xc208
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1f9d(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x55b3(%rip)      # 0xc2f8
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x54b7(%rip), %r12      # 0xc210
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1f41(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5567(%rip)      # 0xc308
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x547b(%rip), %r12      # 0xc230
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1ee5(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5513(%rip)      # 0xc310
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x5417(%rip), %r12      # 0xc228
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1e89(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x54bf(%rip)      # 0xc318
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x53b3(%rip), %r12      # 0xc220
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1e2d(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x546b(%rip)      # 0xc320
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x534f(%rip), %r12      # 0xc218
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4284
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1dd1(%rip), %rsi      # 0x8cce
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5417(%rip)      # 0xc328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x6f37
jmp 0x6f49
jmp 0x6f37
jmp 0x6f49
jmp 0x6f37
jmp 0x6f49
jmp 0x6f37
jmp 0x6f49
jmp 0x6f37
jmp 0x6f49
jmp 0x6f37
jmp 0x6f49
jmp 0x6f37
jmp 0x6f49
movq %rax, %rbx
movl $0x18, %esi
movq %r13, %rdi
callq 0x21a0
jmp 0x6f4c
movq %rax, %rbx
movl $0x80, %esi
movq %r15, %rdi
callq 0x21a0
movq %rbx, %rdi
callq 0x2310