// File: /workspace/github_cpp_makefile_star2_O2/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 %rbx
subq $0x68, %rsp
movq %rdi, %r14
leaq 0x10(%rsp), %rbx
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
andq $0x0, 0x10(%rbx)
movq %rbx, %rdi
callq 0x47f8
movq 0x10(%rsp), %rsi
leaq 0x7035(%rip), %rdi      # 0xa1d8
callq 0x48c2
testq %rax, %rax
je 0x3229
movq 0x10(%rsp), %rsi
leaq 0x701f(%rip), %rdi      # 0xa1d8
callq 0x48dc
movl (%rax), %eax
movl %eax, 0x8(%rsp)
movq 0x10(%rsp), %rsi
movq %rbx, %rdi
callq 0x4942
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x34cc
leaq 0x48(%rsp), %rsi
movq %r14, %rdi
callq 0x4948
movl %eax, %ebp
leaq 0x50(%rsp), %rdi
callq 0x2988
testb %bpl, %bpl
je 0x3229
leaq 0x28(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x34cc
leaq 0x28(%rsp), %rsi
movq %r14, %rdi
callq 0x33b8
leaq 0x30(%rsp), %rdi
callq 0x2988
movb $0x1, %bpl
jmp 0x322b
xorl %ebp, %ebp
movq %rbx, %rdi
callq 0x2988
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rdx, %r15
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x2988
jmp 0x3258
movq %rdx, %r15
movq %rax, %r14
cmpl $0x4, %r15d
jne 0x328b
movq %r14, %rdi
callq 0x20b0
movq 0x6d63(%rip), %rdi      # 0x9fd0
leaq 0x2e5e(%rip), %rsi      # 0x60d2
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movb $0x1, %bpl
callq 0x22a0
jmp 0x322b
cmpl $0x3, %r15d
jne 0x32c1
movq %r14, %rdi
callq 0x20b0
movq 0x6d30(%rip), %rdi      # 0x9fd0
leaq 0x2e1c(%rip), %rsi      # 0x60c3
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movb $0x1, %bpl
callq 0x22a0
jmp 0x322b
cmpl $0x2, %r15d
jne 0x32f7
movq %r14, %rdi
callq 0x20b0
movq 0x6cfa(%rip), %rdi      # 0x9fd0
leaq 0x2dd1(%rip), %rsi      # 0x60ae
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movb $0x1, %bpl
callq 0x22a0
jmp 0x322b
cmpl $0x1, %r15d
jne 0x3379
movq %r14, %rdi
callq 0x20b0
movq 0x6cc4(%rip), %rdi      # 0x9fd0
leaq 0x2d89(%rip), %rsi      # 0x609c
callq 0x21c0
movq %rax, %rdi
callq 0x20f0
movb $0x1, %bpl
callq 0x22a0
jmp 0x322b
jmp 0x3376
jmp 0x3376
movq %rax, %r14
callq 0x22a0
jmp 0x3379
movq %rax, %r14
callq 0x22a0
jmp 0x3379
jmp 0x3376
movq %rax, %r14
callq 0x22a0
jmp 0x3379
jmp 0x3376
movq %rax, %r14
callq 0x22a0
jmp 0x3379
movq %rax, %rdi
callq 0x2c7e
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0x2988
jmp 0x3379
jmp 0x3376
movq %rax, %r14
movq %rbx, %rdi
callq 0x2988
movq %r14, %rdi
callq 0x22d0
nop