// File: /workspace/github_cpp_makefile_star2_O1/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 0x4ae2
movq 0x8(%rsp), %rsi
leaq 0x5e3c(%rip), %rdi      # 0x91b8
callq 0x5092
leaq 0x5e38(%rip), %rcx      # 0x91c0
cmpq %rcx, %rax
je 0x3419
movq 0x8(%rsp), %rsi
leaq 0x5e1b(%rip), %rdi      # 0x91b8
callq 0x4c5c
movl (%rax), %eax
movl %eax, (%rsp)
movq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5472
movl (%rsp), %eax
leaq 0x48(%rsp), %r15
movl %eax, -0x8(%r15)
movq %r15, %rdi
movq %rbx, %rsi
callq 0x4870
leaq 0x40(%rsp), %rsi
movq %r14, %rdi
callq 0x4cd8
movl %eax, %ebp
movq %r15, %rdi
callq 0x2aa8
testb %bpl, %bpl
je 0x3419
movl (%rsp), %eax
leaq 0x28(%rsp), %r12
movl %eax, -0x8(%r12)
movq %r12, %rdi
movq %rbx, %rsi
callq 0x4870
leaq 0x20(%rsp), %rsi
movq %r14, %rdi
callq 0x35ce
movq %r12, %rdi
callq 0x2aa8
movb $0x1, %bpl
jmp 0x341b
xorl %ebp, %ebp
movq %rbx, %rdi
callq 0x2aa8
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 0x2aa8
jmp 0x3448
movq %rdx, %r15
movq %rax, %r14
cmpl $0x4, %r15d
jne 0x3484
movq %r14, %rdi
callq 0x20b0
movq 0x5b73(%rip), %rdi      # 0x8fd0
leaq 0x2c66(%rip), %rsi      # 0x60ca
movl $0xe, %edx
callq 0x21e0
movq 0x5b5b(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x341b
cmpl $0x3, %r15d
jne 0x34c3
movq %r14, %rdi
callq 0x20b0
movq 0x5b37(%rip), %rdi      # 0x8fd0
leaq 0x2c1b(%rip), %rsi      # 0x60bb
movl $0xe, %edx
callq 0x21e0
movq 0x5b1f(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x341b
cmpl $0x2, %r15d
jne 0x3502
movq %r14, %rdi
callq 0x20b0
movq 0x5af8(%rip), %rdi      # 0x8fd0
leaq 0x2bc7(%rip), %rsi      # 0x60a6
movl $0x14, %edx
callq 0x21e0
movq 0x5ae0(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x341b
cmpl $0x1, %r15d
jne 0x358f
movq %r14, %rdi
callq 0x20b0
movq 0x5ab5(%rip), %rdi      # 0x8fd0
leaq 0x2b72(%rip), %rsi      # 0x6094
movl $0x11, %edx
callq 0x21e0
movq 0x5a9d(%rip), %rdi      # 0x8fd0
callq 0x20c0
movb $0x1, %bpl
callq 0x2270
jmp 0x341b
jmp 0x358c
jmp 0x358c
movq %rax, %r14
callq 0x2270
jmp 0x358f
movq %rax, %r14
callq 0x2270
jmp 0x358f
jmp 0x358c
movq %rax, %r14
callq 0x2270
jmp 0x358f
jmp 0x358c
movq %rax, %r14
callq 0x2270
jmp 0x358f
movq %rax, %rdi
callq 0x2df1
movq %rax, %r14
movq %r15, %rdi
callq 0x2aa8
jmp 0x358f
jmp 0x358c
movq %rax, %r14
movq %rbx, %rdi
callq 0x2aa8
movq %r14, %rdi
callq 0x22a0
nop