// File: /workspace/github_cpp_makefile_star2_O1/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 0x3c56
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6907
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3dca
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6937
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3f38
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6967
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5256
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6997
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4e26
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x69c7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x503e
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x69f7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x57b2
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6a27
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x559a
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6a57
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5dd6
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6a87
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x612c
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6ab7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x6482
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6ae7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4150
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b17
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4368
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b47
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x4c0e
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6b77
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x59ca
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6ba7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5afc
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6bd7
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x5468
leaq -0x60(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x9d34
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6c07
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq -0x60(%rbp), %rsi
movq %r14, %rdi
callq 0x9a32
leaq -0x60(%rbp), %rdi
callq 0x3ac0
addq $0x40, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
jmp 0x6f48
jmp 0x6f50
movq %rax, %r15
movq -0x30(%rbp), %rax
testq %rax, %rax
je 0x6f53
leaq -0x40(%rbp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
jmp 0x6f53
movq %rax, %rdi
callq 0x3ab1
movq %rax, %r15
leaq 0x8(%rbx), %r12
leaq -0x60(%rbp), %rdi
callq 0x3ac0
movq %r14, %rdi
callq 0x3ac0
movq (%r12), %rdi
testq %rdi, %rdi
je 0x6f7d
movq 0x18(%rbx), %rsi
subq %rdi, %rsi
callq 0x31c0
movq %r15, %rdi
callq 0x32e0