// File: /workspace/github_cpp_makefile_star2_O3/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 0x2cbac
movq %rax, %r14
movq %rax, %rdi
callq 0x2f50a
leaq -0x60(%rbp), %r13
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
cmpl $0x4, %eax
ja 0x3d145
movl %eax, %eax
leaq 0xa9b8(%rip), %rcx      # 0x47924
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2f1a8
fldz
jmp 0x3d285
movq %r14, %rdi
callq 0x2f152
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 0x3d27e
movq %r14, %rdi
callq 0x2f04c
fldz
movq %rax, %r15
fstp %st(0)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x3d201
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x3d1ec
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3d1fe
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3d201
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3cffb
addl $-0x3, %r12d
jmp 0x3d201
movq %r14, %rdi
callq 0x2f0d2
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 0x3d224
movl $0x4, %r15d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x3d1f2
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3d221
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3d224
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r15d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3d08a
addl $-0x3, %r15d
jmp 0x3d224
movq %r14, %rdi
callq 0x2efe0
fldz
movq %rax, %r15
fstp %st(0)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x3d252
movl $0x4, %r12d
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x3d1f8
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x3d24f
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x3d252
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %r12d
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x3d103
addl $-0x3, %r12d
jmp 0x3d252
leaq -0x40(%rbp), %r15
movq %r15, -0x10(%r15)
leaq 0xa855(%rip), %rsi      # 0x479a9
leaq 0xa861(%rip), %rdx      # 0x479bc
leaq -0x50(%rbp), %rdi
callq 0xf868
movq 0x1de65(%rip), %rdi     # 0x5afd0
leaq 0xa927(%rip), %rsi      # 0x47a99
movl $0x8, %edx
callq 0x4340
movq -0x50(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq 0x1de45(%rip), %rdi     # 0x5afd0
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 0x3d1c8
callq 0x42b0
leaq 0x10(%rbx), %rax
movq %rax, (%rbx)
leaq 0xa7e7(%rip), %rsi      # 0x479bd
leaq 0xa7e8(%rip), %rdx      # 0x479c5
movq %rbx, %rdi
callq 0xf868
fldz
jmp 0x3d285
addl $-0x2, %r12d
jmp 0x3d201
addl $-0x2, %r15d
jmp 0x3d224
addl $-0x2, %r12d
jmp 0x3d252
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 0x3d270
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 0x3d27b
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 0xf0a6
fldz
fstp %st(0)
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0x3d295
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 0x3d2c2
jmp 0x3d2c2
movq %rax, %rbx
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x3d2c5
callq 0x42b0
jmp 0x3d2c5
fstp %st(0)
movq %rax, %rbx
movq -0x70(%rbp), %rdi
cmpq %r13, %rdi
je 0x3d2d3
callq 0x42b0
movq %rbx, %rdi
callq 0x4560
nop