// File: /workspace/github_cpp_makefile_star2_O1/acliusBackHome[P]kamaya/dist/IR.cpp
// Function: IR::getConstValueStr[abi:cxx11](ParseExpression const&)
string IR::getConstValueStr(const ParseExpression &init_expr) {
  const ParseConstant &E = init_expr.get_const();
  ConstValueType con_type = E.get_type();
  string arg1;
  switch (con_type) {
  case ConstValueType::C_SIGNED:
    return to_string((int)E.get_signed());
  case ConstValueType::C_UNSIGNED:
    return to_string((int)E.get_unsigned());
  case ConstValueType::C_FLOAT:
    return to_string((int)E.get_float());
  case ConstValueType::C_BOOL:
    return to_string((int)E.get_bool());
  case ConstValueType::C_STRING:
    return E.get_string();
  default:
    log("other constant type");
    break;
  }
  return "BadValue";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %rbx
movq %rsi, %rdi
callq 0x2d488
movq %rax, %r14
movq %rax, %rdi
callq 0x2fdda
leaq -0x60(%rbp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
cmpl $0x4, %eax
ja 0x3dadf
movl %eax, %eax
leaq 0xb01e(%rip), %rcx      # 0x48924
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2fa6c
fldz
jmp 0x3dc1f
movq %r14, %rdi
callq 0x2fa16
fldz
movl %eax, %r14d
fstp %st(0)
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
movl $0x1, %esi
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x4360
fldz
fstp %st(0)
movzbl %r14b, %edx
movq (%rbx), %rdi
movl $0x1, %esi
jmp 0x3dc18
movq %r14, %rdi
callq 0x2f910
fldz
movq %rax, %r15
fstp %st(0)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x3db9b
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x3db86
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3db98
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3db9b
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3d995
addl $-0x3, %r12d
jmp 0x3db9b
movq %r14, %rdi
callq 0x2f996
fnstcw -0x2a(%rbp)
movzwl -0x2a(%rbp), %eax
orl $0xc00, %eax            # imm = 0xC00
movw %ax, -0x2c(%rbp)
fldcw -0x2c(%rbp)
fistpl -0x30(%rbp)
fldcw -0x2a(%rbp)
movl -0x30(%rbp), %r12d
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x3dbbe
movl $0x4, %r15d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x3db8c
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3dbbb
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3dbbe
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r15d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3da24
addl $-0x3, %r15d
jmp 0x3dbbe
movq %r14, %rdi
callq 0x2f8a4
fldz
movq %rax, %r15
fstp %st(0)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x3dbec
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x3db92
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3dbe9
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3dbec
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3da9d
addl $-0x3, %r12d
jmp 0x3dbec
leaq -0x40(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xaebb(%rip), %rsi      # 0x489a9
leaq 0xaec7(%rip), %rdx      # 0x489bc
leaq -0x50(%rbp), %rdi
callq 0xf65c
movq 0x1e4cb(%rip), %rdi     # 0x5bfd0
leaq 0xaf8d(%rip), %rsi      # 0x48a99
movl $0x8, %edx
callq 0x4340
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq 0x1e4ab(%rip), %rdi     # 0x5bfd0
callq 0x4340
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x42c0
movsbl %al, %esi
movq %r14, %rdi
callq 0x4040
movq %rax, %rdi
callq 0x4220
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x3db62
callq 0x42b0
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xae4d(%rip), %rsi      # 0x489bd
leaq 0xae4e(%rip), %rdx      # 0x489c5
movq %rbx, %rdi
callq 0xf65c
fldz
jmp 0x3dc1f
addl $-0x2, %r12d
jmp 0x3db9b
addl $-0x2, %r15d
jmp 0x3dbbe
addl $-0x2, %r12d
jmp 0x3dbec
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x4360
fldz
jmp 0x3dc0a
decl %r15d
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x4360
fldz
fstp %st(0)
movl %r12d, %edi
addq (%rbx), %rdi
movl %r15d, %esi
jmp 0x3dc15
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x4360
fldz
fstp %st(0)
movl %r15d, %edi
addq (%rbx), %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0xeeb6
fldz
fstp %st(0)
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0x3dc2f
callq 0x42b0
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
fstp %st(0)
jmp 0x3dc5c
jmp 0x3dc5c
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x3dc5f
callq 0x42b0
jmp 0x3dc5f
fstp %st(0)
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0x3dc6d
callq 0x42b0
movq %rbx, %rdi
callq 0x4560
nop