// File: acliusBackHome[P]kamaya/dist/ParseDeclaration.cpp
// Function: ParseConstant::get_info[abi:cxx11]() const
string ParseConstant::get_info() const {
    char buff[64];
    switch (type) {
        case C_STRING:
            return "const string: " + *((string *) value);
        case C_SIGNED: {
            sprintf(buff, "const signed: %lld", *(long long *) value);
            return string(buff);
        }
        case C_UNSIGNED: {
            sprintf(buff, "const unsigned: %llu", *(unsigned long long *) value);
            return string(buff);
        }
        case C_FLOAT: {
            sprintf(buff, "const float: %.6Le", *(long double *) value);
            return string(buff);
        }
        case C_BOOL: {
            sprintf(buff, "const bool: %s", (*(bool *) value) ? "true" : "false");
            return string(buff);
        }
        case C_UNDEFINED: {
            return "undefined";
        }
    }
    return "unknown";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x90(%rbp)
movq %rdi, %rax
movq %rax, -0x88(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x80(%rbp)
movl (%rax), %eax
movq %rax, -0x78(%rbp)
subq $0x5, %rax
ja 0x69c86
movq -0x78(%rbp), %rax
leaq 0x26d4d(%rip), %rcx     # 0x90764
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x90(%rbp), %rdi
movq -0x80(%rbp), %rax
movq 0x8(%rax), %rdx
leaq 0x26fc5(%rip), %rsi     # 0x909fb
callq 0x16320
jmp 0x69cd4
movq -0x80(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdx
leaq 0x26fb8(%rip), %rsi     # 0x90a0a
xorl %eax, %eax
leaq -0x50(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
callq 0x40d0
leaq -0x51(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x45f0
movq -0x90(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movq -0x98(%rbp), %rdx
callq 0x4450
jmp 0x69a90
leaq -0x51(%rbp), %rdi
callq 0x4380
jmp 0x69cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x51(%rbp), %rdi
callq 0x4380
jmp 0x69ce4
movq -0x80(%rbp), %rax
movq 0x8(%rax), %rax
movq (%rax), %rdx
leaq 0x26f53(%rip), %rsi     # 0x90a1d
xorl %eax, %eax
leaq -0x50(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x40d0
leaq -0x65(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x45f0
movq -0x90(%rbp), %rdi
movq -0xb0(%rbp), %rsi
movq -0xa8(%rbp), %rdx
callq 0x4450
jmp 0x69b08
leaq -0x65(%rbp), %rdi
callq 0x4380
jmp 0x69cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x65(%rbp), %rdi
callq 0x4380
jmp 0x69ce4
movq -0x80(%rbp), %rax
movq 0x8(%rax), %rax
fldt (%rax)
movq %rsp, %rax
fstpt (%rax)
leaq 0x26eec(%rip), %rsi     # 0x90a32
xorl %eax, %eax
leaq -0x50(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x40d0
leaq -0x66(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x45f0
movq -0x90(%rbp), %rdi
movq -0xc0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
callq 0x4450
jmp 0x69b84
leaq -0x66(%rbp), %rdi
callq 0x4380
jmp 0x69cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x66(%rbp), %rdi
callq 0x4380
jmp 0x69ce4
movq -0x80(%rbp), %rax
movq 0x8(%rax), %rax
movb (%rax), %cl
leaq 0x25ef0(%rip), %rax     # 0x8faad
leaq 0x25eee(%rip), %rdx     # 0x8fab2
testb $0x1, %cl
cmovneq %rax, %rdx
leaq 0x26e73(%rip), %rsi     # 0x90a45
xorl %eax, %eax
leaq -0x50(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x40d0
leaq -0x67(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x45f0
movq -0x90(%rbp), %rdi
movq -0xd0(%rbp), %rsi
movq -0xc8(%rbp), %rdx
callq 0x4450
jmp 0x69c10
leaq -0x67(%rbp), %rdi
callq 0x4380
jmp 0x69cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x67(%rbp), %rdi
callq 0x4380
jmp 0x69ce4
leaq -0x68(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x45f0
movq -0x90(%rbp), %rdi
movq -0xd8(%rbp), %rdx
leaq 0x26683(%rip), %rsi     # 0x902e0
callq 0x4450
jmp 0x69c64
leaq -0x68(%rbp), %rdi
callq 0x4380
jmp 0x69cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x4380
jmp 0x69ce4
leaq -0x69(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x45f0
movq -0x90(%rbp), %rdi
movq -0xe0(%rbp), %rdx
leaq 0x2594c(%rip), %rsi     # 0x8f5f7
callq 0x4450
jmp 0x69cb2
leaq -0x69(%rbp), %rdi
callq 0x4380
jmp 0x69cd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x69(%rbp), %rdi
callq 0x4380
jmp 0x69ce4
movq -0x88(%rbp), %rax
addq $0xf0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x45e0
nopl (%rax)