// File: /workspace/github_cpp_makefile_star2_O3/gvaumour[P]cache-simulator/src/common.cc
// Function: buildHash[abi:cxx11](unsigned long, unsigned long)
string buildHash(uint64_t a, uint64_t p)
{
	stringstream ss;
	ss << std::hex << a;
   	string addr = ss.str();

	while(addr.size() < 8)
		addr = string(1,'0') + addr;
			
	stringstream ss1;
	ss1 << std::hex << p;
   	string pc = ss1.str();	

	while(pc.size() < 8)
		pc = string(1,'0') + pc;

	return addr + pc;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x398, %rsp            # imm = 0x398
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x210(%rsp), %rdi
callq 0x5220
leaq 0x220(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movl 0x238(%rsp,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x238(%rsp,%rax)
movq %r15, %rsi
callq 0x51f0
movq %rbx, 0x40(%rsp)
leaq 0x228(%rsp), %rsi
leaq 0x20(%rsp), %rdi
callq 0x54f0
cmpq $0x7, 0x28(%rsp)
ja 0x2ea9a
leaq 0x98(%rsp), %rbx
leaq 0x10(%rsp), %rbp
movq %rsp, %r15
leaq 0x20(%rsp), %r12
leaq 0x88(%rsp), %r13
movq %rbp, (%rsp)
movl $0x1, %esi
movq %r15, %rdi
movl $0x30, %edx
callq 0x5380
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq %r15, %rdi
callq 0x5100
movq %rbx, 0x88(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2ea42
movq %rdx, 0x88(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x98(%rsp)
jmp 0x2ea48
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x90(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r12, %rdi
movq %r13, %rsi
callq 0x53f0
movq 0x88(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2ea80
callq 0x52b0
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x2ea8e
callq 0x52b0
cmpq $0x8, 0x28(%rsp)
jb 0x2e9ee
leaq 0x88(%rsp), %rdi
callq 0x5220
leaq 0x98(%rsp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
movl 0xb0(%rsp,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0xb0(%rsp,%rax)
movq %r14, %rsi
callq 0x51f0
leaq 0xa0(%rsp), %rsi
movq %rsp, %rdi
callq 0x54f0
cmpq $0x7, 0x8(%rsp)
ja 0x2eba3
leaq 0x78(%rsp), %r13
leaq 0x58(%rsp), %rbx
leaq 0x68(%rsp), %r14
movq %rsp, %r15
leaq 0x48(%rsp), %r12
movq %r13, 0x68(%rsp)
movl $0x1, %esi
movq %r14, %rdi
movl $0x30, %edx
callq 0x5380
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x5100
movq %rbx, 0x48(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2eb50
movq %rdx, 0x48(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x58(%rsp)
jmp 0x2eb56
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x50(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
movq %r12, %rsi
callq 0x53f0
movq 0x48(%rsp), %rdi
cmpq %rbx, %rdi
je 0x2eb88
callq 0x52b0
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x2eb97
callq 0x52b0
cmpq $0x8, 0x8(%rsp)
jb 0x2eb05
leaq 0x20(%rsp), %rsi
movq %rsp, %rdx
movq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x2f801
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ebcb
callq 0x52b0
movq 0x163c6(%rip), %rsi     # 0x44f98
leaq 0x88(%rsp), %rdi
callq 0x5240
leaq 0x108(%rsp), %rdi
callq 0x5120
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ebff
callq 0x52b0
movq 0x16392(%rip), %rsi     # 0x44f98
leaq 0x210(%rsp), %rdi
callq 0x5240
leaq 0x290(%rsp), %rdi
callq 0x5120
movq %rbx, %rax
addq $0x398, %rsp            # imm = 0x398
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2ec47
jmp 0x2ec39
movq %rax, %rbx
jmp 0x2ec71
jmp 0x2ec94
jmp 0x2ec42
movq %rax, %rbx
jmp 0x2ecbd
movq %rax, %rbx
jmp 0x2ec5e
movq %rax, %rbx
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x2ec5e
callq 0x52b0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ec71
callq 0x52b0
movq 0x16320(%rip), %rsi     # 0x44f98
leaq 0x88(%rsp), %rdi
callq 0x5240
leaq 0x108(%rsp), %rdi
callq 0x5120
jmp 0x2ecaa
movq %rax, %rbx
jmp 0x2ecaa
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x2ecaa
callq 0x52b0
leaq 0x30(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2ecbd
callq 0x52b0
movq 0x162d4(%rip), %rsi     # 0x44f98
leaq 0x210(%rsp), %rdi
callq 0x5240
leaq 0x290(%rsp), %rdi
callq 0x5120
movq %rbx, %rdi
callq 0x55a0