// File: /workspace/github_c_makefile_star2_O0/mohuangrui[P]ArtraCFD/calculator.c
// Function: ComputeExpression
Real ComputeExpression(CalcVar *var, const char *str)
{
    Operand theOprd = {
        .bom = theOprd.space,
        .top = theOprd.space,
        .size = NOPRD - 1,
        .space = {0.0}
    };
    Operator theOprt = {
        .bom = theOprt.space,
        .top = theOprt.space,
        .size = NOPRT - 1,
        .space = {'\0'},
        .priority = { /* + - * / ^ exp ln lg abs sin cos tan ( ) [ ] { } \0 */
            {'>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'>', '>', '>', '>', '>', '<', '<', '<', '<', '<', '<', '<', '<', '>', '<', '>', '<', '>', '>'},
            {'<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '=', '<', 'w', '<', 'w', 'w'},
            {'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w'},
            {'<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', 'w', '<', '=', '<', 'w', 'w'},
            {'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w'},
            {'<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', 'w', '<', 'w', '<', '=', 'w'},
            {'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w', 'w'},
            {'<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', '<', 'w', '<', 'w', '<', 'w', '='}
        }
    };
    SolveExpression(var, str, &theOprd, &theOprt);
    return var->ans;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x370, %rsp            # imm = 0x370
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x1b8(%rbp), %rdi
xorl %esi, %esi
movl $0x1a8, %edx            # imm = 0x1A8
callq 0x20d0
leaq -0x1b8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x1b8(%rbp)
leaq -0x1b8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x1b0(%rbp)
movl $0x31, -0x1a8(%rbp)
leaq -0x368(%rbp), %rax
addq $0x14, %rax
movq %rax, -0x368(%rbp)
leaq -0x368(%rbp), %rax
addq $0x14, %rax
movq %rax, -0x360(%rbp)
movl $0x31, -0x358(%rbp)
leaq -0x368(%rbp), %rdi
addq $0x14, %rdi
xorl %esi, %esi
movl $0x32, %edx
callq 0x20d0
leaq -0x368(%rbp), %rdi
addq $0x46, %rdi
leaq 0x2107d(%rip), %rsi     # 0x243f8
movl $0x169, %edx            # imm = 0x169
callq 0x2150
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0x1b8(%rbp), %rdx
leaq -0x368(%rbp), %rcx
callq 0x33c0
movq -0x8(%rbp), %rax
movsd 0x20(%rax), %xmm0
addq $0x370, %rsp            # imm = 0x370
popq %rbp
retq
nopw %cs:(%rax,%rax)