// File: /workspace/github_cpp_makefile_star2_O3/BlinfoldKing[P]lisval/src/lib/evaluator.cpp
// Function: Evaluator::Evaluator()
Evaluator::Evaluator() {
    vector<pair<Token*, function<Token*(Token*)>>> state;

    state.push_back(dec());
    state.push_back(not_());
    state.push_back(plus());
    state.push_back(minus());
    state.push_back(times());
    state.push_back(div());
    state.push_back(and_());
    state.push_back(or_());
    state.push_back(map());
    state.push_back(filter());
    state.push_back(reduce());
    state.push_back(eq());
    state.push_back(range());
    state.push_back(def());
    state.push_back(definitions());
    state.push_back(print());
    state.push_back(clear());

    this->state = state;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
movl $0x100, (%rdi)          # imm = 0x100
leaq 0x20(%rdi), %r14
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rdi)
movups %xmm0, 0x18(%rdi)
movups %xmm0, 0x28(%rdi)
movaps %xmm0, -0x60(%rbp)
movq $0x0, -0x50(%rbp)
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3c62
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x698b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3dc0
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x69bb
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3f18
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x69eb
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5244
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6a1b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4dfc
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6a4b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5020
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6a7b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x57a0
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6aab
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x557c
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6adb
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5d8e
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b0b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x6118
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b3b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x64a2
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b6b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x413c
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b9b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4360
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6bcb
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4bd8
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6bfb
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x59c4
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6c2b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5ade
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6c5b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5462
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9c3e
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6c8b
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x60(%rbp), %rsi
movq %r14, %rdi
callq 0x9928
leaq -0x60(%rbp), %rdi
callq 0x3ac4
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
jmp 0x6fcc
jmp 0x6fd4
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6fd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6fd7
movq %rax, %rdi
callq 0x3ab6
movq %rax, %r15
leaq 0x8(%rbx), %r12
leaq -0x60(%rbp), %rdi
callq 0x3ac4
movq %r14, %rdi
callq 0x3ac4
movq (%r12), %rdi
testq %rdi, %rdi
je 0x7001
movq 0x18(%rbx), %rsi
subq %rdi, %rsi
callq 0x31c0
movq %r15, %rdi
callq 0x32e0