// File: KokiKishimoto[P]cp_decomposition/./testdata.hpp
// Function: TestData::readFromRawFileRev(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, Data&)
void readFromRawFileRev(std::string filename, Data& traindata) {
		std::ifstream fin;

		fin.open(filename);
		std::string t0, t1, t2;
		while (fin >> t0 >> t1 >> t2) {
			int subj = addEntity(t0, traindata);
			int obj = addEntity(t2, traindata);
			int relation = addRelation(t1, traindata);
			int relation_rev = addRelation("**" + t1, traindata);
			triples.emplace_back(subj, relation, relation_rev, obj);
			if (subj == -1 || obj == -1 || relation == -1 || relation_rev == -1) triples.back().flag = true;
		}
		fin.close();
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x380, %rsp            # imm = 0x380
movq %rsi, -0x338(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x348(%rbp)
leaq -0x220(%rbp), %rdi
movq %rdi, -0x340(%rbp)
callq 0x22a0
movq -0x340(%rbp), %rdi
movq -0x338(%rbp), %rsi
movl $0x8, %edx
callq 0x21e0
jmp 0x49a6
leaq -0x250(%rbp), %rdi
callq 0x2320
leaq -0x270(%rbp), %rdi
callq 0x2320
leaq -0x290(%rbp), %rdi
callq 0x2320
leaq -0x220(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x2300
movq %rax, -0x350(%rbp)
jmp 0x49e6
movq -0x350(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x2300
movq %rax, -0x358(%rbp)
jmp 0x4a02
movq -0x358(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x2300
movq %rax, -0x360(%rbp)
jmp 0x4a1e
movq -0x360(%rbp), %rdi
movq (%rdi), %rax
movq -0x18(%rax), %rax
addq %rax, %rdi
callq 0x22f0
movb %al, -0x361(%rbp)
jmp 0x4a3c
movb -0x361(%rbp), %al
testb $0x1, %al
jne 0x4a4b
jmp 0x4ca2
leaq -0x2b8(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x20f0
jmp 0x4a60
movq -0x348(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x2b8(%rbp), %rsi
callq 0xa9a0
movl %eax, -0x368(%rbp)
jmp 0x4a7f
leaq -0x2b8(%rbp), %rdi
callq 0x2150
movl -0x368(%rbp), %eax
movl %eax, -0x294(%rbp)
leaq -0x2e0(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x20f0
jmp 0x4aac
movq -0x348(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x2e0(%rbp), %rsi
callq 0xa9a0
movl %eax, -0x36c(%rbp)
jmp 0x4acb
leaq -0x2e0(%rbp), %rdi
callq 0x2150
movl -0x36c(%rbp), %eax
movl %eax, -0x2bc(%rbp)
leaq -0x308(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x20f0
jmp 0x4af8
movq -0x348(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x308(%rbp), %rsi
callq 0xaa20
movl %eax, -0x370(%rbp)
jmp 0x4b17
leaq -0x308(%rbp), %rdi
callq 0x2150
movl -0x370(%rbp), %eax
movl %eax, -0x2e4(%rbp)
leaq 0xf57a(%rip), %rsi      # 0x140b0
leaq -0x330(%rbp), %rdi
leaq -0x270(%rbp), %rdx
callq 0xaaa0
jmp 0x4b4b
movq -0x348(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq -0x330(%rbp), %rsi
callq 0xaa20
movl %eax, -0x374(%rbp)
jmp 0x4b6a
leaq -0x330(%rbp), %rdi
callq 0x2150
movl -0x374(%rbp), %eax
movq -0x348(%rbp), %rdi
movl %eax, -0x30c(%rbp)
leaq -0x294(%rbp), %rsi
leaq -0x2e4(%rbp), %rdx
leaq -0x30c(%rbp), %rcx
leaq -0x2bc(%rbp), %r8
callq 0xabb0
jmp 0x4bac
cmpl $-0x1, -0x294(%rbp)
je 0x4bd4
cmpl $-0x1, -0x2bc(%rbp)
je 0x4bd4
cmpl $-0x1, -0x2e4(%rbp)
je 0x4bd4
cmpl $-0x1, -0x30c(%rbp)
jne 0x4c9d
movq -0x348(%rbp), %rdi
callq 0x9b20
movb $0x1, 0x10(%rax)
jmp 0x4c9d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x4d0d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
jmp 0x4ce9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x2b8(%rbp), %rdi
callq 0x2150
jmp 0x4ce9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x2150
jmp 0x4ce9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x308(%rbp), %rdi
callq 0x2150
jmp 0x4ce9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x228(%rbp)
movl %eax, -0x22c(%rbp)
leaq -0x330(%rbp), %rdi
callq 0x2150
jmp 0x4ce9
jmp 0x49ca
leaq -0x220(%rbp), %rdi
callq 0x2080
jmp 0x4cb0
leaq -0x290(%rbp), %rdi
callq 0x2150
leaq -0x270(%rbp), %rdi
callq 0x2150
leaq -0x250(%rbp), %rdi
callq 0x2150
leaq -0x220(%rbp), %rdi
callq 0x2090
addq $0x380, %rsp            # imm = 0x380
popq %rbp
retq
leaq -0x290(%rbp), %rdi
callq 0x2150
leaq -0x270(%rbp), %rdi
callq 0x2150
leaq -0x250(%rbp), %rdi
callq 0x2150
leaq -0x220(%rbp), %rdi
callq 0x2090
movq -0x228(%rbp), %rdi
callq 0x23a0
nopw %cs:(%rax,%rax)
nop