// File: /workspace/github_cpp_makefile_star2_O3/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, %r15
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x2da4a(%rip), %rsi     # 0x6e967
leaq 0x2da49(%rip), %rdx     # 0x6e96d
leaq 0x8(%rsp), %rdi
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x40f52
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d9ee(%rip), %rsi     # 0x6e967
leaq 0x2d9ed(%rip), %rdx     # 0x6e96d
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x38(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x2d9c2(%rip), %rsi     # 0x6e967
leaq 0x2d9c1(%rip), %rdx     # 0x6e96d
leaq 0x28(%rsp), %rdi
callq 0xc772
addq $0xe0, %rbx
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x40fe4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x40ffb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d905(%rip), %rsi     # 0x6e91c
leaq 0x2d904(%rip), %rdx     # 0x6e922
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41047
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d8ae(%rip), %rsi     # 0x6e91c
leaq 0x2d8ad(%rip), %rdx     # 0x6e922
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d883(%rip), %rsi     # 0x6e91c
leaq 0x2d882(%rip), %rdx     # 0x6e922
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x410cc
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x410e3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d824(%rip), %rsi     # 0x6e923
leaq 0x2d822(%rip), %rdx     # 0x6e928
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4112f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d7cd(%rip), %rsi     # 0x6e923
leaq 0x2d7cb(%rip), %rdx     # 0x6e928
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d7a2(%rip), %rsi     # 0x6e923
leaq 0x2d7a0(%rip), %rdx     # 0x6e928
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x411b4
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x411cb
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d742(%rip), %rsi     # 0x6e929
leaq 0x2d743(%rip), %rdx     # 0x6e931
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41217
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d6eb(%rip), %rsi     # 0x6e929
leaq 0x2d6ec(%rip), %rdx     # 0x6e931
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d6c0(%rip), %rsi     # 0x6e929
leaq 0x2d6c1(%rip), %rdx     # 0x6e931
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4129c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x412b3
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d663(%rip), %rsi     # 0x6e932
leaq 0x2d662(%rip), %rdx     # 0x6e938
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x412ff
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d60c(%rip), %rsi     # 0x6e932
leaq 0x2d60b(%rip), %rdx     # 0x6e938
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d5e1(%rip), %rsi     # 0x6e932
leaq 0x2d5e0(%rip), %rdx     # 0x6e938
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41384
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4139b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d582(%rip), %rsi     # 0x6e939
leaq 0x2d580(%rip), %rdx     # 0x6e93e
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x413e7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d52b(%rip), %rsi     # 0x6e939
leaq 0x2d529(%rip), %rdx     # 0x6e93e
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d500(%rip), %rsi     # 0x6e939
leaq 0x2d4fe(%rip), %rdx     # 0x6e93e
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4146c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41483
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d4a0(%rip), %rsi     # 0x6e93f
leaq 0x2d4a1(%rip), %rdx     # 0x6e947
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x414cf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d449(%rip), %rsi     # 0x6e93f
leaq 0x2d44a(%rip), %rdx     # 0x6e947
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d41e(%rip), %rsi     # 0x6e93f
leaq 0x2d41f(%rip), %rdx     # 0x6e947
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41554
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4156b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d3c1(%rip), %rsi     # 0x6e948
leaq 0x2d3c9(%rip), %rdx     # 0x6e957
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x415b7
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r12
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d36a(%rip), %rsi     # 0x6e948
leaq 0x2d372(%rip), %rdx     # 0x6e957
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r12, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d33f(%rip), %rsi     # 0x6e948
leaq 0x2d347(%rip), %rdx     # 0x6e957
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r12, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x4163c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41653
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movl $0xb8, %edi
callq 0x8290
movq %rax, %r15
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d2e9(%rip), %rsi     # 0x6e958
leaq 0x2d2f0(%rip), %rdx     # 0x6e966
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x43f0a
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4169f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
movq %r14, %rdi
movq %r15, %rsi
callq 0x35342
movl $0x68, %edi
callq 0x8290
movq %rax, %r14
leaq 0x8(%rsp), %rdi
movq %r13, (%rdi)
leaq 0x2d292(%rip), %rsi     # 0x6e958
leaq 0x2d299(%rip), %rdx     # 0x6e966
callq 0xc772
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %r15, %rdx
callq 0x334f0
leaq 0x28(%rsp), %rdi
movq %rbp, (%rdi)
leaq 0x2d267(%rip), %rsi     # 0x6e958
leaq 0x2d26e(%rip), %rdx     # 0x6e966
callq 0xc772
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x4671a
movq %r14, (%rax)
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41724
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4173b
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x4181a
jmp 0x41836
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41773
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41773
movq %rax, %rbx
movl $0x68, %esi
movq %r14, %rdi
jmp 0x4189d
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
jmp 0x4181a
jmp 0x41836
jmp 0x4184d
jmp 0x41869
jmp 0x41876
jmp 0x41892
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %rbp, %rdi
je 0x41839
movq 0x38(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41839
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x418a2
movq 0x18(%rsp), %rsi
incq %rsi
jmp 0x4189d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x4186c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x4186c
movq %rax, %rbx
movl $0x68, %esi
movq %r12, %rdi
jmp 0x4189d
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x41895
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x82a0
jmp 0x41895
movq %rax, %rbx
movl $0xb8, %esi
movq %r15, %rdi
callq 0x82a0
movq %rbx, %rdi
callq 0x8540