// File: UBOdin[P]jitd-cpp/include/policy/PureLocalPolicy.hpp
// Function: PureLocalPolicy<Record>::act()
inline bool act(){
      if(todos.empty()){ return false; }
      Action<Tuple> next = todos.top(); todos.pop();
      CogPtr<Tuple> target = next.target->get();
      CogPtr<Tuple> replacement = target;
      if(next.effect(replacement)){
        target->apply_to_children(std::bind(&PureLocalPolicy::dequeueCog, this, std::placeholders::_1));
        next.target->put(replacement);
        enqueueCog(next.target);
      }
      return true;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x15330
testb $0x1, %al
jne 0x13225
jmp 0x1322e
movb $0x0, -0x1(%rbp)
jmp 0x1346a
movq -0xf0(%rbp), %rdi
callq 0x195e0
movq %rax, %rsi
leaq -0x48(%rbp), %rdi
callq 0x19650
movq -0xf0(%rbp), %rdi
callq 0x15350
jmp 0x13254
leaq -0x48(%rbp), %rdi
callq 0x7930
movq %rax, %rsi
leaq -0x68(%rbp), %rdi
callq 0xf360
jmp 0x1326b
leaq -0x78(%rbp), %rdi
movq %rdi, -0x100(%rbp)
leaq -0x68(%rbp), %rsi
callq 0xab40
movq -0x100(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x196d0
movb %al, -0xf1(%rbp)
jmp 0x13297
movb -0xf1(%rbp), %al
testb $0x1, %al
jne 0x132a6
jmp 0x1342c
leaq -0x68(%rbp), %rdi
callq 0xf390
movq %rax, %rcx
movq -0xf0(%rbp), %rax
movq %rcx, -0x108(%rbp)
leaq 0x6449(%rip), %rcx      # 0x19710
movq %rcx, -0xc0(%rbp)
movq $0x0, -0xb8(%rbp)
movq %rax, -0xc8(%rbp)
movq 0x1ccd1(%rip), %rcx     # 0x2ffb8
leaq -0xb0(%rbp), %rdi
leaq -0xc0(%rbp), %rsi
leaq -0xc8(%rbp), %rdx
callq 0x16330
jmp 0x13303
leaq -0x98(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x16370
jmp 0x13318
movq -0x108(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
leaq -0x98(%rbp), %rsi
callq *%rax
jmp 0x13331
leaq -0x98(%rbp), %rdi
callq 0x16410
leaq -0x48(%rbp), %rdi
callq 0x7930
movq %rax, -0x118(%rbp)
leaq -0xd8(%rbp), %rdi
movq %rdi, -0x110(%rbp)
leaq -0x78(%rbp), %rsi
callq 0xab40
movq -0x118(%rbp), %rdi
movq -0x110(%rbp), %rsi
callq 0x150d0
jmp 0x13379
leaq -0xd8(%rbp), %rdi
callq 0x7560
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x120(%rbp)
leaq -0x48(%rbp), %rsi
callq 0x7790
movq -0xf0(%rbp), %rdi
movq -0x120(%rbp), %rsi
callq 0x153a0
jmp 0x133b1
leaq -0xe8(%rbp), %rdi
callq 0x7750
jmp 0x1342c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1345f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1344d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x16410
jmp 0x1344d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xd8(%rbp), %rdi
callq 0x7560
jmp 0x1344d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x7750
jmp 0x1344d
movb $0x1, -0x1(%rbp)
leaq -0x78(%rbp), %rdi
callq 0x7560
leaq -0x68(%rbp), %rdi
callq 0x7560
leaq -0x48(%rbp), %rdi
callq 0x15cd0
jmp 0x1346a
leaq -0x78(%rbp), %rdi
callq 0x7560
leaq -0x68(%rbp), %rdi
callq 0x7560
leaq -0x48(%rbp), %rdi
callq 0x15cd0
jmp 0x13478
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x50(%rbp), %rdi
callq 0x4420
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)