// File: /workspace/github_cpp_makefile_star2_O1/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 0x5353(%rip), %r15      # 0xbfc0
leaq 0x1e65(%rip), %rsi      # 0x8ad9
movl $0x3e, %edx
movq %r15, %rdi
callq 0x21c0
leaq 0x1e90(%rip), %rsi      # 0x8b18
movl $0x14, %edx
movq %r15, %rdi
callq 0x21c0
testq %r14, %r14
je 0x6cb6
movq %r14, %rdi
callq 0x20d0
movq 0x5317(%rip), %rdi      # 0xbfc0
movq %r14, %rsi
movq %rax, %rdx
callq 0x21c0
jmp 0x6cce
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 0x1e31(%rip), %rsi      # 0x8b2d
movl $0x12, %edx
movq %r15, %rdi
callq 0x21c0
testq %r12, %r12
je 0x6d2a
movq %r12, %rdi
callq 0x20d0
movq 0x52a3(%rip), %rdi      # 0xbfc0
movq %r12, %rsi
movq %rax, %rdx
callq 0x21c0
jmp 0x6d42
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 0x1dd0(%rip), %rsi      # 0x8b40
movl $0x12, %edx
movq %r15, %rdi
callq 0x21c0
testq %rbx, %rbx
je 0x6d9e
movq %rbx, %rdi
callq 0x20d0
movq 0x522f(%rip), %rdi      # 0xbfc0
movq %rbx, %rsi
movq %rax, %rdx
callq 0x21c0
jmp 0x6db6
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 0x1d6f(%rip), %rsi      # 0x8b53
movl $0x3, %edx
movq %r15, %rdi
callq 0x21c0
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x53f3(%rip), %r12      # 0xc1f8
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1e85(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x54a3(%rip)      # 0xc2f0
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x539f(%rip), %r12      # 0xc200
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1e29(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5457(%rip)      # 0xc300
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x534b(%rip), %r12      # 0xc208
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1dcd(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x53f3(%rip)      # 0xc2f8
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x52f7(%rip), %r12      # 0xc210
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1d71(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x53a7(%rip)      # 0xc308
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x52bb(%rip), %r12      # 0xc230
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1d15(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5353(%rip)      # 0xc310
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x5257(%rip), %r12      # 0xc228
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1cb9(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x52ff(%rip)      # 0xc318
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x51f3(%rip), %r12      # 0xc220
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1c5d(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x52ab(%rip)      # 0xc320
movl $0x80, %edi
callq 0x2190
movq %rax, %r15
movq 0x518f(%rip), %r12      # 0xc218
movl $0x18, %edi
callq 0x2190
movq %rax, %r13
movq %rax, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x4394
movq %r12, (%r15)
movq %rbx, 0x8(%r15)
movq %r13, 0x78(%r15)
movq %r15, %rdi
addq $0x10, %rdi
leaq 0x1c01(%rip), %rsi      # 0x8cbe
movq %rbx, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0x2080
movq %r15, 0x5257(%rip)      # 0xc328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x70f7
jmp 0x7109
jmp 0x70f7
jmp 0x7109
jmp 0x70f7
jmp 0x7109
jmp 0x70f7
jmp 0x7109
jmp 0x70f7
jmp 0x7109
jmp 0x70f7
jmp 0x7109
jmp 0x70f7
jmp 0x7109
movq %rax, %rbx
movl $0x18, %esi
movq %r13, %rdi
callq 0x21a0
jmp 0x710c
movq %rax, %rbx
movl $0x80, %esi
movq %r15, %rdi
callq 0x21a0
movq %rbx, %rdi
callq 0x2310