// File: cla7aye15I4nd[P]basic_interpreter/./lib/program.hpp
// Function: basic::basic_interpreter::insert(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 insert (const expression& expr) {
            step s;
            int id = to_int(expr[0]);

            if (expr.size() == 1) {
                if (program.count(id)) 
                    program.erase(id);
                return true;
            }
            
            s.expr = expr;
            if (!command_id.count(s.expr[1]))
                return false;
      
            s.type = command_id[s.expr[1]];
            s.expr.erase(s.expr.begin());
            s.expr.erase(s.expr.begin());

            if (!check(s)) return false;
      
            program[id] = s;
            return true;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xbd50
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xbd70
movq %rax, %rdi
callq 0x3be0
movl %eax, -0x3c(%rbp)
movq -0x18(%rbp), %rdi
callq 0xb390
cmpq $0x1, %rax
jne 0x5dd1
movq -0xa8(%rbp), %rdi
addq $0x38, %rdi
leaq -0x3c(%rbp), %rsi
callq 0x67f0
movq %rax, -0xb0(%rbp)
jmp 0x5d8b
movq -0xb0(%rbp), %rax
cmpq $0x0, %rax
je 0x5dc1
movq -0xa8(%rbp), %rdi
addq $0x38, %rdi
leaq -0x3c(%rbp), %rsi
callq 0xbd90
jmp 0x5dae
jmp 0x5dc1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x5faa
movb $0x1, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x5f93
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xbdc0
jmp 0x5de0
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0x5d00
movq %rax, %rsi
leaq 0x14480(%rip), %rdi     # 0x1a278
callq 0xc010
movq %rax, -0xb8(%rbp)
jmp 0x5e06
movq -0xb8(%rbp), %rax
cmpq $0x0, %rax
jne 0x5e23
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x5f93
leaq -0x30(%rbp), %rdi
movl $0x1, %esi
callq 0x5d00
movq %rax, %rsi
leaq 0x1443d(%rip), %rdi     # 0x1a278
callq 0xc070
movq %rax, -0xc0(%rbp)
jmp 0x5e49
movq -0xc0(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x68c0
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xc1c0
movq -0xd0(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0xc150
movq %rax, -0xc8(%rbp)
jmp 0x5e8f
movq -0xc8(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x68c0
movq %rax, -0x78(%rbp)
leaq -0x70(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0xc1c0
movq -0xe0(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0xc150
movq %rax, -0xd8(%rbp)
jmp 0x5ed4
movq -0xd8(%rbp), %rax
movq %rax, -0x80(%rbp)
leaq -0xa0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x66c0
jmp 0x5ef1
movq -0xa8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0xc200
movb %al, -0xe1(%rbp)
jmp 0x5f0c
movb -0xe1(%rbp), %al
xorb $-0x1, %al
movb %al, -0xe2(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x52c0
movb -0xe2(%rbp), %al
testb $0x1, %al
jne 0x5f32
jmp 0x5f59
movb $0x0, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
jmp 0x5f93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x52c0
jmp 0x5faa
movq -0xa8(%rbp), %rdi
addq $0x38, %rdi
leaq -0x3c(%rbp), %rsi
callq 0xc590
movq %rax, -0xf0(%rbp)
jmp 0x5f76
movq -0xf0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0xc670
jmp 0x5f88
movb $0x1, -0x1(%rbp)
movl $0x1, -0x50(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x52c0
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xf0, %rsp
popq %rbp
retq
leaq -0x38(%rbp), %rdi
callq 0x52c0
movq -0x48(%rbp), %rdi
callq 0x33e0
nopl (%rax)