// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/autotest.cpp
// Function: drawTree(std::vector<lois::term, std::allocator<lois::term>>&, int)
void drawTree(vector<term>& v, int from) {
  cout << v[from];
  int children = 0;

  for(size_t i=0; i<v.size(); i++) if(i>from && strindex[i][i] == from)
    cout << "=" << v[i];
    
  for(size_t i=0; i<v.size(); i++) 
    if(strindex[from][i] == from && strindex[i][i] != from && strindex[from][from] != i) {
      bool direct = true;
      for(size_t j=0; j<v.size(); j++) 
        if(i!=j && j != from && strindex[from][j] == from && strindex[i][j] == j)
          direct = false;
      if(direct) {
        if(!children) cout << "["; else cout << ", ";
        children++;
        drawTree(v, i);
        }
      }

  if(children) cout << "]";
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %r14
movslq %esi, %r13
movq (%rdi), %rax
movq %r13, %rcx
shlq $0x4, %rcx
movq (%rax,%rcx), %rdi
testq %rdi, %rdi
movl %esi, 0x4(%rsp)
je 0x8367
movq (%rdi), %rax
movq 0x4ac6e(%rip), %rsi     # 0x52fd0
callq *0x10(%rax)
jmp 0x837f
movq 0x4ac62(%rip), %rdi     # 0x52fd0
leaq 0x37d7e(%rip), %rsi     # 0x400f3
movl $0xb, %edx
callq 0x72c0
movq 0x8(%r14), %rax
cmpq (%r14), %rax
je 0x8404
leaq 0x4afb1(%rip), %rbp     # 0x53340
xorl %r12d, %r12d
movq 0x4ac37(%rip), %rbx     # 0x52fd0
xorl %r15d, %r15d
cmpq %r13, %r15
jbe 0x83e9
movl 0x4(%rsp), %eax
cmpl %eax, (%rbp)
jne 0x83e9
movl $0x1, %edx
movq %rbx, %rdi
leaq 0x39267(%rip), %rsi     # 0x41620
callq 0x72c0
movq (%r14), %rax
movq (%rax,%r12), %rdi
testq %rdi, %rdi
je 0x83d5
movq (%rdi), %rax
movq %rbx, %rsi
callq *0x10(%rax)
jmp 0x83e9
movl $0xb, %edx
movq %rbx, %rdi
leaq 0x37d0f(%rip), %rsi     # 0x400f3
callq 0x72c0
incq %r15
movq 0x8(%r14), %rax
subq (%r14), %rax
sarq $0x4, %rax
addq $0x44, %rbp
addq $0x10, %r12
cmpq %rax, %r15
jb 0x839c
movq 0x8(%r14), %rax
subq (%r14), %rax
je 0x8550
sarq $0x4, %rax
leaq 0x4af24(%rip), %r8      # 0x53340
movq %r13, %r15
shlq $0x6, %r15
leaq (%r8,%r15), %r9
leaq (%r9,%r13,4), %r10
xorl %r11d, %r11d
movq %r8, %r12
xorl %ebp, %ebp
movl $0x0, (%rsp)
movl 0x4(%rsp), %ebx
movq %r9, 0x10(%rsp)
movq %r10, 0x8(%rsp)
cmpl %ebx, (%r9,%rbp,4)
jne 0x8509
movq %rbp, %rcx
shlq $0x6, %rcx
addq %r8, %rcx
cmpl %ebx, (%rcx,%rbp,4)
je 0x8509
movslq (%r10), %rcx
cmpq %rcx, %rbp
je 0x8509
cmpq $0x1, %rax
adcq $0x0, %rax
movb $0x1, %cl
xorl %edx, %edx
cmpq %rdx, %rbp
sete %sil
cmpq %rdx, %r13
sete %dil
orb %sil, %dil
jne 0x84a8
leaq (%r15,%rdx,4), %rsi
cmpl %ebx, (%r8,%rsi)
jne 0x84a8
movslq (%r12,%rdx,4), %rsi
cmpq %rsi, %rdx
movzbl %cl, %ecx
cmovel %r11d, %ecx
incq %rdx
cmpq %rdx, %rax
jne 0x847d
testb $0x1, %cl
je 0x8509
cmpl $0x0, (%rsp)
je 0x84d0
movl $0x2, %edx
movq 0x4ab09(%rip), %rdi     # 0x52fd0
leaq 0x39533(%rip), %rsi     # 0x41a01
jmp 0x84e3
movl $0x1, %edx
movq 0x4aaf4(%rip), %rdi     # 0x52fd0
leaq 0x394d0(%rip), %rsi     # 0x419b3
callq 0x72c0
incl (%rsp)
movq %r14, %rdi
movl %ebp, %esi
callq 0x832d
leaq 0x4ae44(%rip), %r8      # 0x53340
movq 0x10(%rsp), %r9
movq 0x8(%rsp), %r10
xorl %r11d, %r11d
movq 0x8(%r14), %rax
subq (%r14), %rax
incq %rbp
sarq $0x4, %rax
addq $0x40, %r12
cmpq %rax, %rbp
jb 0x8448
cmpl $0x0, (%rsp)
je 0x8550
movq 0x4aa9f(%rip), %rdi     # 0x52fd0
leaq 0x39d89(%rip), %rsi     # 0x422c1
movl $0x1, %edx
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x72c0
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq