// File: /workspace/github_cpp_makefile_star2_O3/eryxcc[P]lois/tests/../include/lois.h
// Function: std::ostream& lois::operator<<<lois::lpair<lois::term, lois::term>>(std::ostream&, lois::SimpleSetOf<lois::lpair<lois::term, lois::term>> const&)
std::ostream& operator << (std::ostream & os, const SimpleSetOf<T>& e) {
  os << e.a; // os << e.a;
  bool comma = false;
  for(size_t i=0; i<e.var.size(); i++) {
    if(comma) os << sym.sfecomma; else os << sym.sfepipe;
    os << e.var[i]; os << sym.in; os << e.var[i]->dom->name;
    comma = true;
    }
  if(!e.phi.isTrue()) {
    if(comma) os << sym.sfecomma; else os << sym.sfepipe;
    os << e.phi;
    }
  return os;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x138, %rsp            # imm = 0x138
movq %rsi, %r14
movq %rdi, %rbx
movq 0x28(%rsi), %rax
movq %rax, 0x118(%rsp)
movq 0x30(%rsi), %rax
movq %rax, 0x120(%rsp)
testq %rax, %rax
je 0x242b6
movq 0x2dd20(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x242b2
incl 0x8(%rax)
jmp 0x242b6
lock
incl 0x8(%rax)
movq 0x38(%r14), %rax
movq %rax, 0x128(%rsp)
movq 0x40(%r14), %rax
movq %rax, 0x130(%rsp)
testq %rax, %rax
je 0x242e8
movq 0x2dcee(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x242e4
incl 0x8(%rax)
jmp 0x242e8
lock
incl 0x8(%rax)
leaq 0x118(%rsp), %rsi
movq %rbx, %rdi
callq 0x2327d
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x2430a
callq 0x133fc
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x2431c
callq 0x133fc
movq (%r14), %rax
movq 0x8(%r14), %rcx
cmpq %rax, %rcx
je 0x24658
movq %rcx, 0xb8(%rsp)
movq %rax, 0xc0(%rsp)
xorl %r12d, %r12d
leaq 0x2c0e2(%rip), %rbp     # 0x50428
leaq 0x2e5a3(%rip), %r15     # 0x528f0
xorl %r13d, %r13d
xorl %eax, %eax
testb $0x1, %al
je 0x24392
movq %rbp, 0x80(%rsp)
movq 0x128(%r15), %rcx
movq 0x130(%r15), %rax
movq %rcx, 0x88(%rsp)
movq %rax, 0x90(%rsp)
testq %rax, %rax
je 0x243cd
movq 0x2dc40(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x243c9
incl 0x8(%rax)
jmp 0x243cd
movq %rbp, 0x68(%rsp)
movq 0x110(%r15), %rcx
movq 0x118(%r15), %rax
movq %rcx, 0x70(%rsp)
movq %rax, 0x78(%rsp)
testq %rax, %rax
je 0x24446
movq 0x2dc09(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x24442
incl 0x8(%rax)
jmp 0x24446
lock
incl 0x8(%rax)
leaq 0x108(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x106b8
movq 0x108(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x72c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2441e
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x24430
callq 0x133fc
movq %rbp, 0x80(%rsp)
movq 0x90(%rsp), %rdi
jmp 0x244b0
lock
incl 0x8(%rax)
leaq 0xf8(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x106b8
movq 0xf8(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x72c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24494
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x244a6
callq 0x133fc
movq %rbp, 0x68(%rsp)
movq 0x78(%rsp), %rdi
testq %rdi, %rdi
je 0x244ba
callq 0x133fc
movq (%r14), %rax
movq (%rax,%r12), %rcx
movq %rcx, 0xa8(%rsp)
movq 0x8(%rax,%r12), %rax
movq %rax, 0xb0(%rsp)
testq %rax, %rax
je 0x244f0
movq 0x2dae6(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x244ec
incl 0x8(%rax)
jmp 0x244f0
lock
incl 0x8(%rax)
movq %rbx, %rdi
leaq 0xa8(%rsp), %rsi
callq 0x2a2f4
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x24512
callq 0x133fc
movq %rbp, 0x50(%rsp)
movq 0x98(%r15), %rcx
movq 0xa0(%r15), %rax
movq %rcx, 0x58(%rsp)
movq %rax, 0x60(%rsp)
testq %rax, %rax
je 0x24549
movq 0x2da8d(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x24545
incl 0x8(%rax)
jmp 0x24549
lock
incl 0x8(%rax)
leaq 0xe8(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x106b8
movq 0xe8(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x72c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24597
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x245a9
callq 0x133fc
movq %rbp, 0x50(%rsp)
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x245bd
callq 0x133fc
movq (%r14), %rax
movq (%rax,%r12), %rax
movq 0x10(%rax), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbx, %rdi
callq 0x72c0
incq %r13
movq 0x8(%r14), %rcx
subq (%r14), %rcx
sarq $0x4, %rcx
addq $0x10, %r12
movb $0x1, %al
cmpq %rcx, %r13
jb 0x24352
movq 0x18(%r14), %rax
leaq 0x2e1b1(%rip), %rcx     # 0x527b0
cmpq (%rcx), %rax
je 0x247e9
movq 0xb8(%rsp), %rax
cmpq 0xc0(%rsp), %rax
je 0x2466c
movq %rbp, 0x38(%rsp)
movq 0x128(%r15), %rcx
movq 0x130(%r15), %rax
movq %rcx, 0x40(%rsp)
movq %rax, 0x48(%rsp)
testq %rax, %rax
je 0x24721
movq 0x2d981(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x2471d
incl 0x8(%rax)
jmp 0x24721
movq 0x18(%r14), %rax
leaq 0x2e14d(%rip), %rcx     # 0x527b0
cmpq (%rcx), %rax
je 0x247e9
leaq 0x2bdb5(%rip), %r15     # 0x50428
movq %r15, 0x20(%rsp)
leaq 0x2e271(%rip), %rax     # 0x528f0
movq 0x110(%rax), %rcx
movq 0x118(%rax), %rax
movq %rcx, 0x28(%rsp)
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x246b1
movq 0x2d925(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x246ad
incl 0x8(%rax)
jmp 0x246b1
lock
incl 0x8(%rax)
leaq 0xc8(%rsp), %rdi
leaq 0x20(%rsp), %rsi
callq 0x106b8
movq 0xc8(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x72c0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x246ff
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x24711
callq 0x133fc
movq %r15, 0x20(%rsp)
movq 0x30(%rsp), %rdi
jmp 0x2478b
lock
incl 0x8(%rax)
leaq 0xd8(%rsp), %rdi
leaq 0x38(%rsp), %rsi
callq 0x106b8
movq 0xd8(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x72c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2476f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x24781
callq 0x133fc
movq %rbp, 0x38(%rsp)
movq 0x48(%rsp), %rdi
testq %rdi, %rdi
je 0x24795
callq 0x133fc
movq 0x18(%r14), %rax
movq %rax, 0x98(%rsp)
movq 0x20(%r14), %rax
movq %rax, 0xa0(%rsp)
testq %rax, %rax
je 0x247c7
movq 0x2d80f(%rip), %rcx     # 0x51fc8
cmpb $0x0, (%rcx)
je 0x247c3
incl 0x8(%rax)
jmp 0x247c7
lock
incl 0x8(%rax)
leaq 0x98(%rsp), %rsi
movq %rbx, %rdi
callq 0x297cc
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x247e9
callq 0x133fc
movq %rbx, %rax
addq $0x138, %rsp            # imm = 0x138
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24821
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
jmp 0x24821
movq %rax, %rbx
movq 0xe0(%rsp), %rdi
testq %rdi, %rdi
je 0x24838
callq 0x133fc
jmp 0x24838
movq %rax, %rbx
movq %rbp, 0x38(%rsp)
movq 0x48(%rsp), %rdi
jmp 0x2499b
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2486a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
jmp 0x2486a
movq %rax, %rbx
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x24881
callq 0x133fc
jmp 0x24881
movq %rax, %rbx
movq %r15, 0x20(%rsp)
movq 0x30(%rsp), %rdi
jmp 0x2499b
movq %rax, %rbx
movq 0xa0(%rsp), %rdi
jmp 0x2499b
movq %rax, %rbx
leaq 0x118(%rsp), %rdi
callq 0x11a6c
jmp 0x249a5
movq %rax, %rbx
jmp 0x248f4
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x248e2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
jmp 0x248e2
movq %rax, %rbx
jmp 0x24926
movq %rax, %rbx
movq 0x100(%rsp), %rdi
testq %rdi, %rdi
je 0x248f4
callq 0x133fc
movq %rbp, 0x68(%rsp)
movq 0x78(%rsp), %rdi
jmp 0x2499b
movq %rax, %rbx
jmp 0x24938
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x24926
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x24938
callq 0x133fc
movq %rbp, 0x80(%rsp)
movq 0x90(%rsp), %rdi
jmp 0x2499b
movq %rax, %rbx
movq 0xb0(%rsp), %rdi
jmp 0x2499b
movq %rax, %rbx
jmp 0x24991
movq %rax, %rbx
jmp 0x2497f
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2497f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x24991
callq 0x133fc
movq %rbp, 0x50(%rsp)
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x249a5
callq 0x133fc
movq %rbx, %rdi
callq 0x7430
nop