// File: /workspace/github_cpp_makefile_star2_O3/cla7aye15I4nd[P]basic_interpreter/./lib/program.hpp
// Function: basic::basic_interpreter::feedback(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> const&)
bool feedback(const expression& expr) {
            step s;
            s.expr = expr;

            if (!command_id.count(s.expr[0]))
                return false;
      
            s.type = command_id[s.expr[0]];
            s.expr.erase(s.expr.begin());
            if (!check(s)) return false;
            
            try {
                execute(s);
            } catch(eDIVIDE_BY_ZERO) {
                std::cout << "DIVIDE BY ZERO" << std::endl;
            } catch(eINVALID_NUMBER) {
                std::cout << "INVALID NUMBER" << std::endl;
            } catch(eVARIABLE_NOT_DEFINED) {
                std::cout << "VARIABLE NOT DEFINED" << std::endl;
            } catch(eLINE_NUMBER_ERROR) {
                std::cout << "LINE NUMBER ERROR" << std::endl;
            }
            return true;
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movq %rdi, %r14
leaq 0x8(%rsp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq $0x0, 0x10(%rbx)
movq %rbx, %rdi
callq 0x4ad8
movq 0x8(%rsp), %rsi
leaq 0x5e4c(%rip), %rdi      # 0x91b8
callq 0x50ac
leaq 0x5e48(%rip), %rcx      # 0x91c0
cmpq %rcx, %rax
je 0x3409
movq 0x8(%rsp), %rsi
leaq 0x5e2b(%rip), %rdi      # 0x91b8
callq 0x4c6e
movl (%rax), %eax
movl %eax, (%rsp)
movq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x548c
movl (%rsp), %eax
leaq 0x48(%rsp), %r15
movl %eax, -0x8(%r15)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x4866
leaq 0x40(%rsp), %rsi
movq %r14, %rdi
callq 0x4cea
movl %eax, %ebp
movq %r15, %rdi
callq 0x2aa2
testb %bpl, %bpl
je 0x3409
movl (%rsp), %eax
leaq 0x28(%rsp), %r12
movl %eax, -0x8(%r12)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x4866
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x35be
movq %r12, %rdi
callq 0x2aa2
movb $0x1, %bpl
jmp 0x340b
xorl %ebp, %ebp
movq %rbx, %rdi
callq 0x2aa2
movl %ebp, %eax
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rdx, %r15
movq %rax, %r14
movq %r12, %rdi
callq 0x2aa2
jmp 0x3438
movq %rdx, %r15
movq %rax, %r14
cmpl $0x4, %r15d
jne 0x3474
movq %r14, %rdi
callq 0x20b0
movq 0x5b83(%rip), %rdi      # 0x8fd0
leaq 0x2c76(%rip), %rsi      # 0x60ca
movl $0xe, %edx
callq 0x21e0
movq 0x5b6b(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x340b
cmpl $0x3, %r15d
jne 0x34b3
movq %r14, %rdi
callq 0x20b0
movq 0x5b47(%rip), %rdi      # 0x8fd0
leaq 0x2c2b(%rip), %rsi      # 0x60bb
movl $0xe, %edx
callq 0x21e0
movq 0x5b2f(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x340b
cmpl $0x2, %r15d
jne 0x34f2
movq %r14, %rdi
callq 0x20b0
movq 0x5b08(%rip), %rdi      # 0x8fd0
leaq 0x2bd7(%rip), %rsi      # 0x60a6
movl $0x14, %edx
callq 0x21e0
movq 0x5af0(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x340b
cmpl $0x1, %r15d
jne 0x357f
movq %r14, %rdi
callq 0x20b0
movq 0x5ac5(%rip), %rdi      # 0x8fd0
leaq 0x2b82(%rip), %rsi      # 0x6094
movl $0x11, %edx
callq 0x21e0
movq 0x5aad(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x340b
jmp 0x357c
jmp 0x357c
movq %rax, %r14
callq 0x2270
jmp 0x357f
movq %rax, %r14
callq 0x2270
jmp 0x357f
jmp 0x357c
movq %rax, %r14
callq 0x2270
jmp 0x357f
jmp 0x357c
movq %rax, %r14
callq 0x2270
jmp 0x357f
movq %rax, %rdi
callq 0x2ded
movq %rax, %r14
movq %r15, %rdi
callq 0x2aa2
jmp 0x357f
jmp 0x357c
movq %rax, %r14
movq %rbx, %rdi
callq 0x2aa2
movq %r14, %rdi
callq 0x22a0
nop