// File: /workspace/github_cpp_makefile_star2_O1/luooofan[P]hblzbd_compiler/src/Pass/convert_ssa.cpp
// Function: ConvertSSA::AddBuiltInFunction(SSAModule*)
void ConvertSSA::AddBuiltInFunction(SSAModule* m) {
  auto memset_func = new SSAFunction("memset");
  m->AddBuiltinFunction(memset_func);
  glob_map["memset"] = new FunctionValue("memset", memset_func);
  auto getint_func = new SSAFunction("getint");
  m->AddBuiltinFunction(getint_func);
  glob_map["getint"] = new FunctionValue("getint", getint_func);
  auto getch_func = new SSAFunction("getch");
  m->AddBuiltinFunction(getch_func);
  glob_map["getch"] = new FunctionValue("getch", getch_func);
  auto getarray_func = new SSAFunction("getarray");
  m->AddBuiltinFunction(getarray_func);
  glob_map["getarray"] = new FunctionValue("getarray", getarray_func);
  auto putint_func = new SSAFunction("putint");
  m->AddBuiltinFunction(putint_func);
  glob_map["putint"] = new FunctionValue("putint", putint_func);
  auto putch_func = new SSAFunction("putch");
  m->AddBuiltinFunction(putch_func);
  glob_map["putch"] = new FunctionValue("putch", putch_func);
  auto putarray_func = new SSAFunction("putarray");
  m->AddBuiltinFunction(putarray_func);
  glob_map["putarray"] = new FunctionValue("putarray", putarray_func);
  auto _sysy_starttime_func = new SSAFunction("_sysy_starttime");
  m->AddBuiltinFunction(_sysy_starttime_func);
  glob_map["_sysy_starttime"] = new FunctionValue("_sysy_starttime", _sysy_starttime_func);
  auto _sysy_stoptime_func = new SSAFunction("_sysy_stoptime");
  m->AddBuiltinFunction(_sysy_stoptime_func);
  glob_map["_sysy_stoptime"] = new FunctionValue("_sysy_stoptime", _sysy_stoptime_func);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2e2c6(%rip), %rsi     # 0x6f967
leaq 0x2e2c5(%rip), %rdx     # 0x6f96d
leaq 0x8(%rsp), %rdi
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x416d6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2e26a(%rip), %rsi     # 0x6f967
leaq 0x2e269(%rip), %rdx     # 0x6f96d
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x38(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2e23e(%rip), %rsi     # 0x6f967
leaq 0x2e23d(%rip), %rdx     # 0x6f96d
leaq 0x28(%rsp), %rdi
callq 0xcaa0
addq $0xe0, %rbx
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41768
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4177f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2e181(%rip), %rsi     # 0x6f91c
leaq 0x2e180(%rip), %rdx     # 0x6f922
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x417cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2e12a(%rip), %rsi     # 0x6f91c
leaq 0x2e129(%rip), %rdx     # 0x6f922
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2e0ff(%rip), %rsi     # 0x6f91c
leaq 0x2e0fe(%rip), %rdx     # 0x6f922
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41850
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41867
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2e0a0(%rip), %rsi     # 0x6f923
leaq 0x2e09e(%rip), %rdx     # 0x6f928
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x418b3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2e049(%rip), %rsi     # 0x6f923
leaq 0x2e047(%rip), %rdx     # 0x6f928
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2e01e(%rip), %rsi     # 0x6f923
leaq 0x2e01c(%rip), %rdx     # 0x6f928
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41938
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4194f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dfbe(%rip), %rsi     # 0x6f929
leaq 0x2dfbf(%rip), %rdx     # 0x6f931
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4199b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2df67(%rip), %rsi     # 0x6f929
leaq 0x2df68(%rip), %rdx     # 0x6f931
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2df3c(%rip), %rsi     # 0x6f929
leaq 0x2df3d(%rip), %rdx     # 0x6f931
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41a20
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41a37
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dedf(%rip), %rsi     # 0x6f932
leaq 0x2dede(%rip), %rdx     # 0x6f938
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41a83
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2de88(%rip), %rsi     # 0x6f932
leaq 0x2de87(%rip), %rdx     # 0x6f938
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2de5d(%rip), %rsi     # 0x6f932
leaq 0x2de5c(%rip), %rdx     # 0x6f938
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41b08
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41b1f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2ddfe(%rip), %rsi     # 0x6f939
leaq 0x2ddfc(%rip), %rdx     # 0x6f93e
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41b6b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dda7(%rip), %rsi     # 0x6f939
leaq 0x2dda5(%rip), %rdx     # 0x6f93e
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2dd7c(%rip), %rsi     # 0x6f939
leaq 0x2dd7a(%rip), %rdx     # 0x6f93e
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41bf0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41c07
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dd1c(%rip), %rsi     # 0x6f93f
leaq 0x2dd1d(%rip), %rdx     # 0x6f947
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41c53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dcc5(%rip), %rsi     # 0x6f93f
leaq 0x2dcc6(%rip), %rdx     # 0x6f947
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2dc9a(%rip), %rsi     # 0x6f93f
leaq 0x2dc9b(%rip), %rdx     # 0x6f947
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41cd8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41cef
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dc3d(%rip), %rsi     # 0x6f948
leaq 0x2dc45(%rip), %rdx     # 0x6f957
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41d3b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r12, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2dbe6(%rip), %rsi     # 0x6f948
leaq 0x2dbee(%rip), %rdx     # 0x6f957
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
movq %r12, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2dbbb(%rip), %rsi     # 0x6f948
leaq 0x2dbc3(%rip), %rdx     # 0x6f957
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r15, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41dc0
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41dd7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2db65(%rip), %rsi     # 0x6f958
leaq 0x2db6c(%rip), %rdx     # 0x6f966
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x4469e
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41e23
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x351e6
movl $0x68, %edi
callq 0x8290
movq %rax, %r14
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2db0e(%rip), %rsi     # 0x6f958
leaq 0x2db15(%rip), %rdx     # 0x6f966
callq 0xcaa0
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x3339c
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2dae3(%rip), %rsi     # 0x6f958
leaq 0x2daea(%rip), %rdx     # 0x6f966
callq 0xcaa0
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x46e8a
movq %r14, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41ea8
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41ebf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41eed
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41eed
movq %rax, %rbx
xorl %ebp, %ebp
jmp 0x41ef7
movq %rax, %rbx
movb $0x1, %bpl
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41f16
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41f16
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x42059
movl $0x68, %esi
movq %r14, %rdi
jmp 0x42054
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41f4b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41f4b
movq %rax, %rbx
movl $0xb8, %esi
jmp 0x42028
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
jmp 0x41fd6
jmp 0x41ff2
jmp 0x41ff9
jmp 0x42018
jmp 0x4202d
jmp 0x42049
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41ff5
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41ff5
movq %rax, %rbx
xorl %ebp, %ebp
jmp 0x41fff
movq %rax, %rbx
movb $0x1, %bpl
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4201e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x4201e
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0x42059
movl $0x68, %esi
movq %r15, %rdi
jmp 0x42054
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4204c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x4204c
movq %rax, %rbx
movl $0xb8, %esi
movq %r12, %rdi
callq 0x82a0
movq %rbx, %rdi
callq 0x8540
nop