// File: /workspace/github_cpp_makefile_star2_O2/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaQ::display(std::ostream&) const
std::ostream& FormulaQ::display (std::ostream &os) const { 
  if(!var.size()) return os << right;
  if(outlan == CVC3) {
    os << (type ? "(FORALL(" : "(EXISTS(");
    bool comma = false;
    for(auto v: var) {
      if(comma) os << ", ";
      comma = true;
      os << v << ":" << v->dom->name;
      }
    return os << "): " << right << ")";
    }
  if(outlan == SMT) {
    os << (type ? "(forall " : "(exists ");
    for(auto v: var) {
      os << "(" << v << " " << v->dom->name << ") ";
      }
    return os << iindent << right << ieol << ")" << iunindent;
    }
  if(outlan == SMT_INC) {
    os << (type ? "(forall (" : "(exists (");
    for(auto v: var) {
      os << "(" << v << " " << smtsort() << ") ";
      }
    return os << ")" << iindent << right << ieol << ")" << iunindent;
    }
  if(outlan == SPASS) {
    os << (type ? "forall([ " : "exists([ ");
    bool had = false;
    for(auto v: var) {
      if(had) os << ", ";
      os << v->dom->name << "(" << v << ")"; had = true;
      }
    return os << "], " << iindent << right << ieol << ")" << iunindent;
    }
  os << (type ? sym.forall : sym.exists);
  for(auto v: var) {
    os << v << sym.in << v->dom->name;
    /* os << "[" << subFindv(v);
    auto dom = subGet(v);
    if(dom->numOrder) os << "!";
    if(dom->numEdge) os << "?";
    // os << dom->numEq << ":" << dom->numNeq << ":" << dom->numQuantifier << ":" << dom->numOrder;
    os << "]"; */
    os << " ";
    }
  return os << right;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x148, %rsp            # imm = 0x148
movq %rsi, %r15
movq %rdi, %r14
movq 0x30(%rdi), %rax
cmpq 0x28(%rdi), %rax
je 0x1f0a1
leaq 0x2a92c(%rip), %rax     # 0x498ec
movl (%rax), %ecx
movb 0x10(%r14), %al
decl %ecx
cmpl $0x5, %ecx
movq %r14, 0x8(%rsp)
ja 0x1f321
leaq 0x12e87(%rip), %rdx     # 0x31e64
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x12ed7(%rip), %rcx     # 0x31ec4
leaq 0x12ed9(%rip), %rsi     # 0x31ecd
testb %al, %al
cmovneq %rcx, %rsi
movq %r15, %rdi
callq 0x7230
movq 0x28(%r14), %rbx
movq 0x30(%r14), %r14
xorl %ebp, %ebp
leaq 0x10(%rsp), %r13
leaq 0x12268(%rip), %r12     # 0x31280
cmpq %r14, %rbx
je 0x1f449
movq %r13, %rdi
movq %rbx, %rsi
callq 0x1160e
testb $0x1, %bpl
je 0x1f041
movq %r15, %rdi
leaq 0x139a1(%rip), %rsi     # 0x329dd
callq 0x7230
leaq 0x88(%rsp), %rdi
movq %r13, %rsi
callq 0x1160e
movq 0x88(%rsp), %rdi
movq (%rdi), %rax
movq %r15, %rsi
callq *0x10(%rax)
movq %rax, %rdi
movq %r12, %rsi
callq 0x7230
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rsi
movq %rax, %rdi
callq 0x7210
leaq 0x90(%rsp), %rdi
callq 0xefce
leaq 0x18(%rsp), %rdi
callq 0xefce
addq $0x10, %rbx
movb $0x1, %bpl
jmp 0x1f018
addq $0x18, %r14
leaq 0x108(%rsp), %rbx
movq %rbx, %rdi
movq %r14, %rsi
callq 0xf04a
movq (%rbx), %rdi
movq (%rdi), %rax
movq %r15, %rsi
callq *(%rax)
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
jmp 0x1f65f
leaq 0x12e26(%rip), %rcx     # 0x31f00
leaq 0x12e29(%rip), %rsi     # 0x31f0a
testb %al, %al
cmovneq %rcx, %rsi
movq %r15, %rdi
callq 0x7230
movq 0x28(%r14), %rbx
movq 0x30(%r14), %r12
xorl %ebp, %ebp
leaq 0x10(%rsp), %r14
leaq 0x135ad(%rip), %r13     # 0x326b2
cmpq %r12, %rbx
je 0x1f49e
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1160e
testb $0x1, %bpl
je 0x1f12e
movq %r15, %rdi
leaq 0x138b4(%rip), %rsi     # 0x329dd
callq 0x7230
movq 0x10(%rsp), %rax
movq 0x10(%rax), %rsi
movq %r15, %rdi
callq 0x7210
movq %rax, %rdi
leaq 0x12dab(%rip), %rsi     # 0x31ef4
callq 0x7230
movq %rax, %rbp
leaq 0x58(%rsp), %rdi
movq %r14, %rsi
callq 0x1160e
movq 0x58(%rsp), %rdi
movq (%rdi), %rax
movq %rbp, %rsi
callq *0x10(%rax)
movq %rax, %rdi
movq %r13, %rsi
callq 0x7230
leaq 0x60(%rsp), %rdi
callq 0xefce
leaq 0x18(%rsp), %rdi
callq 0xefce
addq $0x10, %rbx
movb $0x1, %bpl
jmp 0x1f105
leaq 0x12d3c(%rip), %rcx     # 0x31eda
leaq 0x12d3e(%rip), %rsi     # 0x31ee3
testb %al, %al
cmovneq %rcx, %rsi
movq %r15, %rdi
callq 0x7230
movq 0x28(%r14), %rbx
movq 0x30(%r14), %r14
leaq 0x10(%rsp), %r13
leaq 0x1348d(%rip), %rbp     # 0x32654
cmpq %r14, %rbx
je 0x1f529
movq %r13, %rdi
movq %rbx, %rsi
callq 0x1160e
movq %r15, %rdi
leaq 0x12d0f(%rip), %rsi     # 0x31ef4
callq 0x7230
movq %rax, %r12
leaq 0x78(%rsp), %rdi
movq %r13, %rsi
callq 0x1160e
movq 0x78(%rsp), %rdi
movq (%rdi), %rax
movq %r12, %rsi
callq *0x10(%rax)
movq %rax, %rdi
leaq 0x135f7(%rip), %rsi     # 0x32809
callq 0x7230
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rsi
movq %rax, %rdi
callq 0x7210
movq %rax, %rdi
movq %rbp, %rsi
callq 0x7230
leaq 0x80(%rsp), %rdi
callq 0xefce
leaq 0x18(%rsp), %rdi
callq 0xefce
addq $0x10, %rbx
jmp 0x1f1c7
leaq 0x12c92(%rip), %rcx     # 0x31eec
leaq 0x12c95(%rip), %rsi     # 0x31ef6
testb %al, %al
cmovneq %rcx, %rsi
movq %r15, %rdi
callq 0x7230
movq 0x28(%r14), %rbx
movq 0x30(%r14), %r12
leaq 0xd8(%rsp), %r14
leaq 0x10(%rsp), %rbp
cmpq %r12, %rbx
je 0x1f5d9
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1160e
movq %r15, %rdi
leaq 0x12c52(%rip), %rsi     # 0x31ef4
callq 0x7230
movq %rax, %r13
leaq 0x68(%rsp), %rdi
movq %r14, %rsi
callq 0x1160e
movq 0x68(%rsp), %rdi
movq (%rdi), %rax
movq %r13, %rsi
callq *0x10(%rax)
movq %rax, %rdi
leaq 0x1353a(%rip), %rsi     # 0x32809
callq 0x7230
movq %rax, %r13
movq %rbp, %rdi
callq 0x28009
movq %r13, %rdi
movq %rbp, %rsi
callq 0x7210
movq %rax, %rdi
leaq 0x13360(%rip), %rsi     # 0x32654
callq 0x7230
movq %rbp, %rdi
callq 0x7478
leaq 0x70(%rsp), %rdi
callq 0xefce
leaq 0xe0(%rsp), %rdi
callq 0xefce
addq $0x10, %rbx
jmp 0x1f284
leaq 0x2a5c8(%rip), %rcx     # 0x498f0
leaq 0x18(%rcx), %rsi
testb %al, %al
cmoveq %rcx, %rsi
leaq 0x118(%rsp), %rbx
movq %rbx, %rdi
callq 0xd15a
leaq 0x48(%rsp), %rdi
movq %rbx, %rsi
callq 0xd172
leaq 0x48(%rsp), %rsi
movq %r15, %rdi
callq 0x155f5
leaq 0x50(%rsp), %rdi
callq 0xefce
leaq 0x118(%rsp), %rdi
callq 0xd208
movq 0x28(%r14), %rbx
movq 0x30(%r14), %rax
movq %rax, 0x30(%rsp)
movl $0x90, %r12d
addq 0x29c1b(%rip), %r12     # 0x48fa8
leaq 0x130(%rsp), %rbp
leaq 0xa8(%rsp), %r13
cmpq 0x30(%rsp), %rbx
je 0x1f5a5
leaq 0x10(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x1160e
leaq 0x38(%rsp), %rdi
movq %r14, %rsi
callq 0x1160e
movq 0x38(%rsp), %rdi
movq (%rdi), %rax
movq %r15, %rsi
callq *0x10(%rax)
movq %rax, %r14
movq %rbp, %rdi
movq %r12, %rsi
callq 0xd15a
movq %r13, %rdi
movq %rbp, %rsi
callq 0xd172
movq %r14, %rdi
movq %r13, %rsi
callq 0x155f5
movq 0x10(%rsp), %rcx
movq 0x10(%rcx), %rsi
movq %rax, %rdi
callq 0x7210
leaq 0xb0(%rsp), %rdi
callq 0xefce
movq %rbp, %rdi
callq 0xd208
leaq 0x40(%rsp), %rdi
callq 0xefce
movq %r15, %rdi
leaq 0x133d8(%rip), %rsi     # 0x32809
callq 0x7230
leaq 0x18(%rsp), %rdi
callq 0xefce
addq $0x10, %rbx
jmp 0x1f39d
leaq 0x12a86(%rip), %rsi     # 0x31ed6
movq %r15, %rdi
callq 0x7230
movq %rax, %rbx
movq 0x8(%rsp), %rsi
addq $0x18, %rsi
leaq 0xf8(%rsp), %r14
movq %r14, %rdi
callq 0xf04a
movq (%r14), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
leaq 0x1322c(%rip), %rsi     # 0x326b2
movq %rax, %rdi
callq 0x7230
movq %rax, %rbx
leaq 0x100(%rsp), %rdi
jmp 0x1f65f
leaq 0x135cb(%rip), %rsi     # 0x32a70
movq %r15, %rdi
callq 0x7230
leaq 0x29dac(%rip), %rcx     # 0x49260
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
movq %rax, %rbx
movq 0x8(%rsp), %rsi
addq $0x18, %rsi
leaq 0xb8(%rsp), %r14
movq %r14, %rdi
callq 0xf04a
movq (%r14), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
leaq 0x29d83(%rip), %rcx     # 0x49270
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
leaq 0x131b3(%rip), %rsi     # 0x326b2
movq %rax, %rdi
callq 0x7230
leaq 0x29d6a(%rip), %rcx     # 0x49278
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
jmp 0x1f65f
leaq 0x29d30(%rip), %rax     # 0x49260
movq (%rax), %rsi
movq %r15, %rdi
callq 0x2d27c
movq %rax, %rbx
movq 0x8(%rsp), %rsi
addq $0x18, %rsi
leaq 0xe8(%rsp), %r14
movq %r14, %rdi
callq 0xf04a
movq (%r14), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
leaq 0x29d07(%rip), %rcx     # 0x49270
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
leaq 0x13137(%rip), %rsi     # 0x326b2
movq %rax, %rdi
callq 0x7230
leaq 0x29cee(%rip), %rcx     # 0x49278
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
jmp 0x1f65f
movq 0x8(%rsp), %rsi
addq $0x18, %rsi
leaq 0x98(%rsp), %rbx
movq %rbx, %rdi
callq 0xf04a
movq (%rbx), %rdi
movq (%rdi), %rax
movq %r15, %rsi
callq *(%rax)
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
jmp 0x1f65f
leaq 0x130d2(%rip), %rsi     # 0x326b2
movq %r15, %rdi
callq 0x7230
leaq 0x29c71(%rip), %rcx     # 0x49260
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
movq %rax, %rbx
movq 0x8(%rsp), %rsi
addq $0x18, %rsi
leaq 0xc8(%rsp), %r14
movq %r14, %rdi
callq 0xf04a
movq (%r14), %rdi
movq (%rdi), %rax
movq %rbx, %rsi
callq *(%rax)
leaq 0x29c48(%rip), %rcx     # 0x49270
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
leaq 0x13078(%rip), %rsi     # 0x326b2
movq %rax, %rdi
callq 0x7230
leaq 0x29c2f(%rip), %rcx     # 0x49278
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x2d27c
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0xefce
movq %rbx, %rax
addq $0x148, %rsp            # imm = 0x148
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0xa0(%rsp), %rdi
jmp 0x1f78f
movq %rax, %rbx
leaq 0x50(%rsp), %rdi
callq 0xefce
jmp 0x1f69b
movq %rax, %rbx
leaq 0x118(%rsp), %rdi
callq 0xd208
jmp 0x1f794
movq %rax, %rbx
leaq 0x100(%rsp), %rdi
jmp 0x1f78f
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
jmp 0x1f78f
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
jmp 0x1f78f
movq %rax, %rbx
leaq 0xf0(%rsp), %rdi
jmp 0x1f78f
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
jmp 0x1f78f
jmp 0x1f768
jmp 0x1f723
movq %rax, %rbx
jmp 0x1f730
movq %rax, %rbx
jmp 0x1f74a
jmp 0x1f768
movq %rax, %rbx
jmp 0x1f757
jmp 0x1f768
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x7478
jmp 0x1f726
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xefce
leaq 0xe0(%rsp), %rdi
jmp 0x1f78f
movq %rax, %rbx
leaq 0xb0(%rsp), %rdi
callq 0xefce
leaq 0x130(%rsp), %rdi
callq 0xd208
leaq 0x40(%rsp), %rdi
jmp 0x1f785
movq %rax, %rbx
leaq 0x60(%rsp), %rdi
jmp 0x1f785
movq %rax, %rbx
jmp 0x1f78a
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
jmp 0x1f785
movq %rax, %rbx
leaq 0x80(%rsp), %rdi
callq 0xefce
leaq 0x18(%rsp), %rdi
callq 0xefce
movq %rbx, %rdi
callq 0x7410