// File: /workspace/github_cpp_makefile_star2_O2/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, %r14
movq %rdi, %r15
movq 0x4be3(%rip), %rbx      # 0xafc0
leaq 0x1705(%rip), %rsi      # 0x7ae9
movq %rbx, %rdi
callq 0x2140
leaq 0x1735(%rip), %rsi      # 0x7b28
movq %rbx, %rdi
callq 0x2140
movq %rax, %rdi
movq %r15, %rsi
callq 0x2140
movq %rax, %rdi
callq 0x20d0
leaq 0x1728(%rip), %rsi      # 0x7b3d
movq %rbx, %rdi
callq 0x2140
movq %rax, %rdi
movq %r12, %rsi
callq 0x2140
movq %rax, %rdi
callq 0x20d0
leaq 0x1719(%rip), %rsi      # 0x7b50
movq %rbx, %rdi
callq 0x2140
movq %rax, %rdi
movq %r14, %rsi
callq 0x2140
movq %rax, %rdi
callq 0x20d0
leaq 0x170a(%rip), %rsi      # 0x7b63
movq %rbx, %rdi
callq 0x2140
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4d63(%rip), %r13      # 0xb1d8
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4e2a(%rip)      # 0xb2d0
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4d26(%rip), %r13      # 0xb1e0
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4df5(%rip)      # 0xb2e0
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4ce9(%rip), %r13      # 0xb1e8
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4da8(%rip)      # 0xb2d8
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4cac(%rip), %r13      # 0xb1f0
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4d73(%rip)      # 0xb2e8
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4c87(%rip), %r13      # 0xb210
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4d36(%rip)      # 0xb2f0
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4c3a(%rip), %r13      # 0xb208
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4cf9(%rip)      # 0xb2f8
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4bed(%rip), %r13      # 0xb200
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4cbc(%rip)      # 0xb300
movl $0x80, %edi
callq 0x2160
movq %rax, %rbx
movq 0x4ba0(%rip), %r13      # 0xb1f8
pushq $0x18
popq %rdi
callq 0x2160
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movq %r13, %rdx
callq 0x3f5e
movq %rbx, %rdi
movq %r13, %rsi
movq %r12, %rdx
movq %r14, %rcx
callq 0x6ce2
movq %rbx, 0x4c7f(%rip)      # 0xb308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x66af
jmp 0x66bf
jmp 0x66af
jmp 0x66bf
jmp 0x66af
jmp 0x66bf
jmp 0x66af
jmp 0x66bf
jmp 0x66af
jmp 0x66bf
jmp 0x66af
jmp 0x66bf
jmp 0x66af
jmp 0x66bf
movq %rax, %r14
pushq $0x18
popq %rsi
movq %r12, %rdi
callq 0x2170
jmp 0x66c2
movq %rax, %r14
movl $0x80, %esi
movq %rbx, %rdi
callq 0x2170
movq %r14, %rdi
callq 0x22d0