// File: 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
movq %rsp, %rbp
subq $0x1c0, %rsp            # imm = 0x1C0
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x140(%rbp)
movq -0x10(%rbp), %rsi
addq $0x28, %rsi
leaq -0x30(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x35d60
movq -0x140(%rbp), %rdi
movq -0x138(%rbp), %rsi
callq 0x35da0
jmp 0x382cb
leaq -0x30(%rbp), %rdi
callq 0x12ac0
movb $0x0, -0x3d(%rbp)
movq $0x0, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x148(%rbp)
movq -0x10(%rbp), %rdi
callq 0x1b3b0
movq %rax, %rcx
movq -0x148(%rbp), %rax
cmpq %rcx, %rax
jae 0x385b1
testb $0x1, -0x3d(%rbp)
je 0x383c0
movq -0x8(%rbp), %rax
movq %rax, -0x158(%rbp)
leaq 0x6d645(%rip), %rsi     # 0xa5968
addq $0x120, %rsi            # imm = 0x120
leaq -0x70(%rbp), %rdi
movq %rdi, -0x150(%rbp)
callq 0x11380
movq -0x150(%rbp), %rsi
leaq -0x58(%rbp), %rdi
callq 0x113d0
jmp 0x3834c
movq -0x158(%rbp), %rdi
leaq -0x58(%rbp), %rsi
callq 0x29150
jmp 0x3835e
leaq -0x58(%rbp), %rdi
callq 0x114d0
leaq -0x70(%rbp), %rdi
callq 0x114f0
jmp 0x3845b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x12ac0
jmp 0x3878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x383b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x114d0
leaq -0x70(%rbp), %rdi
callq 0x114f0
jmp 0x3878e
movq -0x8(%rbp), %rax
movq %rax, -0x168(%rbp)
leaq 0x6d596(%rip), %rsi     # 0xa5968
addq $0x108, %rsi            # imm = 0x108
leaq -0x98(%rbp), %rdi
movq %rdi, -0x160(%rbp)
callq 0x11380
movq -0x160(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x113d0
jmp 0x383fe
movq -0x168(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x29150
jmp 0x38410
leaq -0x80(%rbp), %rdi
callq 0x114d0
leaq -0x98(%rbp), %rdi
callq 0x114f0
jmp 0x3845b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3844a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x80(%rbp), %rdi
callq 0x114d0
leaq -0x98(%rbp), %rdi
callq 0x114f0
jmp 0x3878e
movq -0x8(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x10(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x29730
movq %rax, %rsi
leaq -0xa8(%rbp), %rdi
movq %rdi, -0x170(%rbp)
callq 0x1b100
movq -0x178(%rbp), %rdi
movq -0x170(%rbp), %rsi
callq 0x410b0
jmp 0x3849e
leaq -0xa8(%rbp), %rdi
callq 0x10f20
movq -0x8(%rbp), %rax
movq %rax, -0x188(%rbp)
leaq 0x6d4ac(%rip), %rsi     # 0xa5968
addq $0x90, %rsi
leaq -0xd0(%rbp), %rdi
movq %rdi, -0x180(%rbp)
callq 0x11380
movq -0x180(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x113d0
jmp 0x384eb
movq -0x188(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x29150
jmp 0x38500
leaq -0xb8(%rbp), %rdi
callq 0x114d0
leaq -0xd0(%rbp), %rdi
callq 0x114f0
movq -0x8(%rbp), %rax
movq %rax, -0x190(%rbp)
movq -0x10(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x29730
movq %rax, %rdi
callq 0x11830
movq -0x190(%rbp), %rdi
movq 0x10(%rax), %rsi
callq 0x8280
movb $0x1, -0x3d(%rbp)
movq -0x48(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x382e0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x10f20
jmp 0x3878e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x385a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x114d0
leaq -0xd0(%rbp), %rdi
callq 0x114f0
jmp 0x3878e
movq -0x10(%rbp), %rdi
addq $0x18, %rdi
callq 0x29750
testb $0x1, %al
jne 0x38781
testb $0x1, -0x3d(%rbp)
je 0x3867a
movq -0x8(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq 0x6d386(%rip), %rsi     # 0xa5968
addq $0x120, %rsi            # imm = 0x120
leaq -0xf8(%rbp), %rdi
movq %rdi, -0x198(%rbp)
callq 0x11380
movq -0x198(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
callq 0x113d0
jmp 0x38611
movq -0x1a0(%rbp), %rdi
leaq -0xe0(%rbp), %rsi
callq 0x29150
jmp 0x38626
leaq -0xe0(%rbp), %rdi
callq 0x114d0
leaq -0xf8(%rbp), %rdi
callq 0x114f0
jmp 0x3871e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x38669
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0x114d0
leaq -0xf8(%rbp), %rdi
callq 0x114f0
jmp 0x3878e
movq -0x8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
leaq 0x6d2dc(%rip), %rsi     # 0xa5968
addq $0x108, %rsi            # imm = 0x108
leaq -0x120(%rbp), %rdi
movq %rdi, -0x1a8(%rbp)
callq 0x11380
movq -0x1a8(%rbp), %rsi
leaq -0x108(%rbp), %rdi
callq 0x113d0
jmp 0x386bb
movq -0x1b0(%rbp), %rdi
leaq -0x108(%rbp), %rsi
callq 0x29150
jmp 0x386d0
leaq -0x108(%rbp), %rdi
callq 0x114d0
leaq -0x120(%rbp), %rdi
callq 0x114f0
jmp 0x3871e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x38710
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x108(%rbp), %rdi
callq 0x114d0
leaq -0x120(%rbp), %rdi
callq 0x114f0
jmp 0x3878e
movq -0x8(%rbp), %rax
movq %rax, -0x1c0(%rbp)
movq -0x10(%rbp), %rsi
addq $0x18, %rsi
leaq -0x130(%rbp), %rdi
movq %rdi, -0x1b8(%rbp)
callq 0x11030
movq -0x1c0(%rbp), %rdi
movq -0x1b8(%rbp), %rsi
callq 0x40060
jmp 0x38759
leaq -0x130(%rbp), %rdi
callq 0x11060
jmp 0x38781
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x130(%rbp), %rdi
callq 0x11060
jmp 0x3878e
movq -0x8(%rbp), %rax
addq $0x1c0, %rsp            # imm = 0x1C0
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x84d0
nopw (%rax,%rax)