// File: /workspace/github_cpp_makefile_star2_O2/KokiKishimoto[P]cp_decomposition/testcp.cpp
// Function: main
int main(int argc, char **argv){
	std::string trainname;
	std::string testname;
	std::string validname;
	std::string subjectname;
	std::string objectname;
	std::string relationname;
	int i;
	if ((i = ArgPos((char *)"-train", argc, argv)) > 0) trainname = argv[i + 1];
	if ((i = ArgPos((char *)"-test", argc, argv)) > 0) testname = argv[i + 1];
	if ((i = ArgPos((char *)"-valid", argc, argv)) > 0) validname = argv[i + 1];
	if ((i = ArgPos((char *)"-subject_model", argc, argv)) > 0) subjectname = argv[i + 1];
	if ((i = ArgPos((char *)"-object_model", argc, argv)) > 0) objectname = argv[i + 1];
	if ((i = ArgPos((char *)"-relation_model", argc, argv)) > 0) relationname = argv[i + 1];
	TestCP test(trainname, testname, validname, subjectname, objectname, relationname);

	test.test_inv();
	return 0;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x630, %rsp            # imm = 0x630
movq %rsi, %rbx
movl %edi, %ebp
leaq 0xc0(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq 0xa0(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq 0x80(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x60(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
leaq 0x40(%rsp), %rdx
movq %rdx, -0x10(%rdx)
andq $0x0, -0x8(%rdx)
movb %cl, (%rax)
movb %cl, (%rdx)
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq 0x5b33(%rip), %rsi      # 0x8065
leaq 0x210(%rsp), %rdi
leaq 0x250(%rsp), %rdx
callq 0x29ca
leaq 0x210(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x242c
movl %eax, %r14d
leaq 0x210(%rsp), %rdi
callq 0x20d0
testl %r14d, %r14d
jle 0x2583
movl %r14d, %eax
movq 0x8(%rbx,%rax,8), %rsi
leaq 0xb0(%rsp), %rdi
callq 0x22e0
leaq 0x5ae2(%rip), %rsi      # 0x806c
leaq 0x1f0(%rsp), %rdi
leaq 0x250(%rsp), %rdx
callq 0x29ca
leaq 0x1f0(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x242c
movl %eax, %r14d
leaq 0x1f0(%rsp), %rdi
callq 0x20d0
testl %r14d, %r14d
jle 0x25db
movl %r14d, %eax
movq 0x8(%rbx,%rax,8), %rsi
leaq 0x90(%rsp), %rdi
callq 0x22e0
leaq 0x5a90(%rip), %rsi      # 0x8072
leaq 0x1d0(%rsp), %rdi
leaq 0x250(%rsp), %rdx
callq 0x29ca
leaq 0x1d0(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x242c
movl %eax, %r14d
leaq 0x1d0(%rsp), %rdi
callq 0x20d0
testl %r14d, %r14d
jle 0x2630
movl %r14d, %eax
movq 0x8(%rbx,%rax,8), %rsi
leaq 0x70(%rsp), %rdi
callq 0x22e0
leaq 0x5a42(%rip), %rsi      # 0x8079
leaq 0x1b0(%rsp), %rdi
leaq 0x250(%rsp), %rdx
callq 0x29ca
leaq 0x1b0(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x242c
movl %eax, %r14d
leaq 0x1b0(%rsp), %rdi
callq 0x20d0
testl %r14d, %r14d
jle 0x2685
movl %r14d, %eax
movq 0x8(%rbx,%rax,8), %rsi
leaq 0x50(%rsp), %rdi
callq 0x22e0
leaq 0x59fc(%rip), %rsi      # 0x8088
leaq 0x190(%rsp), %rdi
leaq 0x250(%rsp), %rdx
callq 0x29ca
leaq 0x190(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x242c
movl %eax, %r14d
leaq 0x190(%rsp), %rdi
callq 0x20d0
testl %r14d, %r14d
jle 0x26da
movl %r14d, %eax
movq 0x8(%rbx,%rax,8), %rsi
leaq 0x30(%rsp), %rdi
callq 0x22e0
leaq 0x59b5(%rip), %rsi      # 0x8096
leaq 0x170(%rsp), %rdi
leaq 0x250(%rsp), %rdx
callq 0x29ca
leaq 0x170(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0x242c
movl %eax, %ebp
leaq 0x170(%rsp), %rdi
callq 0x20d0
testl %ebp, %ebp
jle 0x272c
movl %ebp, %eax
movq 0x8(%rbx,%rax,8), %rsi
leaq 0x10(%rsp), %rdi
callq 0x22e0
leaq 0x150(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x2240
leaq 0x130(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x2240
leaq 0x110(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x2240
leaq 0xf0(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x2240
leaq 0xd0(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x2240
leaq 0x230(%rsp), %rbx
leaq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x2240
movq %rbx, (%rsp)
leaq 0x250(%rsp), %rdi
leaq 0x150(%rsp), %rsi
leaq 0x130(%rsp), %rdx
leaq 0x110(%rsp), %rcx
leaq 0xf0(%rsp), %r8
leaq 0xd0(%rsp), %r9
callq 0x2a06
leaq 0x230(%rsp), %rdi
callq 0x20d0
leaq 0xd0(%rsp), %rdi
callq 0x20d0
leaq 0xf0(%rsp), %rdi
callq 0x20d0
leaq 0x110(%rsp), %rdi
callq 0x20d0
leaq 0x130(%rsp), %rdi
callq 0x20d0
leaq 0x150(%rsp), %rdi
callq 0x20d0
leaq 0x250(%rsp), %rdi
callq 0x31c8
leaq 0x250(%rsp), %rdi
callq 0x36a8
leaq 0x10(%rsp), %rdi
callq 0x20d0
leaq 0x30(%rsp), %rdi
callq 0x20d0
leaq 0x50(%rsp), %rdi
callq 0x20d0
leaq 0x70(%rsp), %rdi
callq 0x20d0
leaq 0x90(%rsp), %rdi
callq 0x20d0
leaq 0xb0(%rsp), %rdi
callq 0x20d0
xorl %eax, %eax
addq $0x630, %rsp            # imm = 0x630
popq %rbx
popq %r14
popq %rbp
retq
movq %rax, %rbx
leaq 0x250(%rsp), %rdi
callq 0x36a8
jmp 0x2972
movq %rax, %rbx
leaq 0x230(%rsp), %rdi
callq 0x20d0
jmp 0x28bc
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0x20d0
jmp 0x28ce
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
callq 0x20d0
jmp 0x28e0
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x20d0
jmp 0x28f2
movq %rax, %rbx
leaq 0x130(%rsp), %rdi
callq 0x20d0
leaq 0x150(%rsp), %rdi
callq 0x20d0
jmp 0x2972
movq %rax, %rbx
jmp 0x28ff
jmp 0x296f
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
jmp 0x2907
jmp 0x296f
movq %rax, %rbx
leaq 0x190(%rsp), %rdi
jmp 0x2907
jmp 0x296f
movq %rax, %rbx
leaq 0x1b0(%rsp), %rdi
jmp 0x2907
jmp 0x296f
movq %rax, %rbx
leaq 0x1d0(%rsp), %rdi
jmp 0x2907
jmp 0x296f
movq %rax, %rbx
leaq 0x1f0(%rsp), %rdi
jmp 0x2907
jmp 0x296f
movq %rax, %rbx
leaq 0x210(%rsp), %rdi
jmp 0x2907
jmp 0x296f
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x20d0
leaq 0x30(%rsp), %rdi
callq 0x20d0
leaq 0x50(%rsp), %rdi
callq 0x20d0
leaq 0x70(%rsp), %rdi
callq 0x20d0
leaq 0x90(%rsp), %rdi
callq 0x20d0
leaq 0xb0(%rsp), %rdi
callq 0x20d0
movq %rbx, %rdi
callq 0x22c0