// File: /workspace/github_cpp_makefile_star2_O1/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 $0x78, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq 0x30(%rdi), %rax
cmpq 0x28(%rdi), %rax
je 0x2983a
leaq 0x2a1f3(%rip), %rax     # 0x538e4
movl (%rax), %ecx
movb 0x10(%rbx), %al
decl %ecx
cmpl $0x5, %ecx
movq %rbx, 0x20(%rsp)
ja 0x29bfa
leaq 0x17757(%rip), %rdx     # 0x40e64
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
leaq 0x177a7(%rip), %rcx     # 0x40ec4
leaq 0x177a9(%rip), %rsi     # 0x40ecd
testb %al, %al
cmovneq %rcx, %rsi
movl $0x8, %edx
movq %r14, %rdi
callq 0x72c0
movq 0x28(%rbx), %r15
movq 0x30(%rbx), %r12
cmpq %r12, %r15
je 0x297f8
xorl %eax, %eax
movq (%r15), %r13
movq 0x8(%r15), %rbx
testq %rbx, %rbx
je 0x2976b
movq 0x2986b(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29767
incl 0x8(%rbx)
jmp 0x2976b
lock
incl 0x8(%rbx)
testb $0x1, %al
je 0x29783
movl $0x2, %edx
movq %r14, %rdi
leaq 0x18283(%rip), %rsi     # 0x41a01
callq 0x72c0
testq %rbx, %rbx
je 0x2979d
movq 0x29839(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29799
incl 0x8(%rbx)
jmp 0x2979d
lock
incl 0x8(%rbx)
movq (%r13), %rax
movq %r13, %rdi
movq %r14, %rsi
callq *0x10(%rax)
movq %rax, %rbp
movl $0x1, %edx
movq %rax, %rdi
leaq 0x16ac4(%rip), %rsi     # 0x40280
callq 0x72c0
movq 0x10(%r13), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %rbp, %rdi
callq 0x72c0
testq %rbx, %rbx
je 0x297e9
movq %rbx, %rdi
callq 0x13308
movq %rbx, %rdi
callq 0x13308
addq $0x10, %r15
movb $0x1, %al
cmpq %r12, %r15
jne 0x2974a
leaq 0x176d7(%rip), %rsi     # 0x40ed6
movl $0x3, %edx
movq %r14, %rdi
callq 0x72c0
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x20(%rax), %rbx
testq %rbx, %rbx
je 0x29ea6
movq 0x2979f(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29ea2
incl 0x8(%rbx)
jmp 0x29ea6
movq 0x18(%rbx), %rdi
movq 0x20(%rbx), %rbx
testq %rbx, %rbx
je 0x29c91
movq 0x29776(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29c8d
incl 0x8(%rbx)
jmp 0x29c91
leaq 0x17696(%rip), %rcx     # 0x40f00
leaq 0x17699(%rip), %rsi     # 0x40f0a
testb %al, %al
cmovneq %rcx, %rsi
movl $0x9, %edx
movq %r14, %rdi
callq 0x72c0
movq 0x28(%rbx), %r12
movq 0x30(%rbx), %r13
cmpq %r13, %r12
je 0x2995b
xorl %eax, %eax
movq (%r12), %rbp
movq 0x8(%r12), %rbx
testq %rbx, %rbx
je 0x298ba
movq 0x2971c(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x298b6
incl 0x8(%rbx)
jmp 0x298ba
lock
incl 0x8(%rbx)
testb $0x1, %al
je 0x298d2
movl $0x2, %edx
movq %r14, %rdi
leaq 0x18134(%rip), %rsi     # 0x41a01
callq 0x72c0
movq 0x10(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r14, %rdi
callq 0x72c0
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
leaq 0x175fd(%rip), %rsi     # 0x40ef4
callq 0x72c0
testq %rbx, %rbx
je 0x29916
movq 0x296c0(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29912
incl 0x8(%rbx)
jmp 0x29916
lock
incl 0x8(%rbx)
movq (%rbp), %rax
movq %rbp, %rdi
movq %r15, %rsi
callq *0x10(%rax)
movl $0x1, %edx
movq %rax, %rdi
leaq 0x17da4(%rip), %rsi     # 0x416d6
callq 0x72c0
testq %rbx, %rbx
je 0x2994c
movq %rbx, %rdi
callq 0x13308
movq %rbx, %rdi
callq 0x13308
addq $0x10, %r12
movb $0x1, %al
cmpq %r13, %r12
jne 0x29897
leaq 0x18132(%rip), %rsi     # 0x41a94
movl $0x3, %edx
movq %r14, %rdi
callq 0x72c0
leaq 0x298ea(%rip), %rax     # 0x53260
movq (%rax), %rsi
movq %r14, %rdi
callq 0x3b148
movq 0x20(%rsp), %rcx
movq 0x18(%rcx), %rdi
movq 0x20(%rcx), %rbx
testq %rbx, %rbx
je 0x29ece
movq 0x2962a(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29eca
incl 0x8(%rbx)
jmp 0x29ece
leaq 0x17524(%rip), %rcx     # 0x40eda
leaq 0x17526(%rip), %rsi     # 0x40ee3
testb %al, %al
cmovneq %rcx, %rsi
movl $0x8, %edx
movq %r14, %rdi
callq 0x72c0
movq 0x28(%rbx), %r12
movq 0x30(%rbx), %r13
cmpq %r13, %r12
je 0x29c4d
movq (%r12), %rbp
movq 0x8(%r12), %rbx
testq %rbx, %rbx
je 0x29a04
movq 0x295d2(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29a00
incl 0x8(%rbx)
jmp 0x29a04
lock
incl 0x8(%rbx)
movl $0x1, %edx
movq %r14, %rdi
leaq 0x174e1(%rip), %rsi     # 0x40ef4
callq 0x72c0
testq %rbx, %rbx
je 0x29a32
movq 0x295a4(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29a2e
incl 0x8(%rbx)
jmp 0x29a32
lock
incl 0x8(%rbx)
movq (%rbp), %rax
movq %rbp, %rdi
movq %r14, %rsi
callq *0x10(%rax)
movq %rax, %r15
movl $0x1, %edx
movq %rax, %rdi
leaq 0x17ddc(%rip), %rsi     # 0x4182d
callq 0x72c0
movq 0x10(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r15, %rdi
callq 0x72c0
movl $0x2, %edx
movq %rax, %rdi
leaq 0x17c00(%rip), %rsi     # 0x41678
callq 0x72c0
testq %rbx, %rbx
je 0x29a92
movq %rbx, %rdi
callq 0x13308
movq %rbx, %rdi
callq 0x13308
addq $0x10, %r12
jmp 0x299d8
leaq 0x1744a(%rip), %rcx     # 0x40eec
leaq 0x1744d(%rip), %rsi     # 0x40ef6
testb %al, %al
cmovneq %rcx, %rsi
movl $0x9, %edx
movq %r14, %rdi
callq 0x72c0
movq 0x28(%rbx), %r13
movq 0x30(%rbx), %rbp
cmpq %rbp, %r13
je 0x29ba6
movq 0x294f4(%rip), %r15     # 0x52fc8
movq (%r13), %r12
movq 0x8(%r13), %rbx
testq %rbx, %rbx
je 0x29af0
cmpb $0x0, (%r15)
je 0x29aec
incl 0x8(%rbx)
jmp 0x29af0
lock
incl 0x8(%rbx)
movl $0x1, %edx
movq %r14, %rdi
leaq 0x173f5(%rip), %rsi     # 0x40ef4
callq 0x72c0
testq %rbx, %rbx
je 0x29b18
cmpb $0x0, (%r15)
je 0x29b14
incl 0x8(%rbx)
jmp 0x29b18
lock
incl 0x8(%rbx)
movq (%r12), %rax
movq %r12, %rdi
movq %r14, %rsi
callq *0x10(%rax)
movq %rax, %r12
movl $0x1, %edx
movq %rax, %rdi
leaq 0x17cf6(%rip), %rsi     # 0x4182d
callq 0x72c0
movq %rsp, %rdi
callq 0x34b0b
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r12, %rdi
callq 0x72c0
movl $0x2, %edx
movq %rax, %rdi
leaq 0x17b14(%rip), %rsi     # 0x41678
callq 0x72c0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x29b84
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
testq %rbx, %rbx
je 0x29b99
movq %rbx, %rdi
callq 0x13308
movq %rbx, %rdi
callq 0x13308
addq $0x10, %r13
cmpq %rbp, %r13
jne 0x29ad4
leaq 0x17b29(%rip), %rsi     # 0x416d6
movl $0x1, %edx
movq %r14, %rdi
callq 0x72c0
leaq 0x2969f(%rip), %rax     # 0x53260
movq (%rax), %rsi
movq %r14, %rdi
callq 0x3b148
movq 0x20(%rsp), %rcx
movq 0x18(%rcx), %rdi
movq 0x20(%rcx), %rbx
testq %rbx, %rbx
je 0x29f63
movq 0x293df(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29f5f
incl 0x8(%rbx)
jmp 0x29f63
leaq 0x277ff(%rip), %rcx     # 0x51400
movq %rcx, 0x40(%rsp)
leaq 0x29cdb(%rip), %rdi     # 0x538e8
leaq 0x20(%rdi), %rcx
leaq 0x8(%rdi), %rdx
leaq 0x28(%rdi), %rsi
testb %al, %al
cmovneq %rcx, %rdx
leaq 0x10(%rdi), %rax
movq (%rdx), %rcx
cmovneq %rsi, %rax
movq %rcx, 0x48(%rsp)
movq (%rax), %rax
movq %rax, 0x50(%rsp)
testq %rax, %rax
je 0x29ca2
movq 0x29385(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29c9e
incl 0x8(%rax)
jmp 0x29ca2
leaq 0x2960c(%rip), %rax     # 0x53260
movq (%rax), %rsi
movq %r14, %rdi
callq 0x3b148
movq 0x20(%rsp), %rcx
movq 0x18(%rcx), %rdi
movq 0x20(%rcx), %rbx
testq %rbx, %rbx
je 0x29f1a
movq 0x2934c(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29f16
incl 0x8(%rbx)
jmp 0x29f1a
lock
incl 0x8(%rbx)
movq (%rdi), %rax
movq %r14, %rsi
callq *(%rax)
jmp 0x29fb4
lock
incl 0x8(%rax)
leaq 0x68(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x10644
movq 0x68(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r14, %rdi
callq 0x72c0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x29cea
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x29cf9
callq 0x13308
leaq 0x27700(%rip), %rax     # 0x51400
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x29d14
callq 0x13308
movq 0x28(%rbx), %rbp
movq 0x30(%rbx), %r12
cmpq %r12, %rbp
je 0x29e74
movq (%rbp), %r15
movq 0x8(%rbp), %rbx
testq %rbx, %rbx
je 0x29d61
movq 0x2928f(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29d43
incl 0x8(%rbx)
jmp 0x29d47
lock
incl 0x8(%rbx)
testq %rbx, %rbx
je 0x29d61
movq 0x29275(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29d5d
incl 0x8(%rbx)
jmp 0x29d61
lock
incl 0x8(%rbx)
movq (%r15), %rax
movq %r15, %rdi
movq %r14, %rsi
callq *0x10(%rax)
movq %rax, %r13
leaq 0x27689(%rip), %rax     # 0x51400
movq %rax, 0x28(%rsp)
leaq 0x29b65(%rip), %rax     # 0x538e8
movq 0x98(%rax), %rcx
movq 0xa0(%rax), %rax
movq %rcx, 0x30(%rsp)
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0x29db5
movq 0x29221(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29db1
incl 0x8(%rax)
jmp 0x29db5
lock
incl 0x8(%rax)
leaq 0x58(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x10644
movq 0x58(%rsp), %rsi
movq (%rsi), %rax
movq %rsp, %rdi
callq *(%rax)
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rdi
callq 0x72c0
movq %rax, %r13
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x29e00
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
movq 0x10(%r15), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
movq %r13, %rdi
callq 0x72c0
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x29e22
callq 0x13308
leaq 0x275d7(%rip), %rax     # 0x51400
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x29e3d
callq 0x13308
testq %rbx, %rbx
je 0x29e4a
movq %rbx, %rdi
callq 0x13308
movl $0x1, %edx
movq %r14, %rdi
leaq 0x179d4(%rip), %rsi     # 0x4182d
callq 0x72c0
testq %rbx, %rbx
je 0x29e6b
movq %rbx, %rdi
callq 0x13308
addq $0x10, %rbp
jmp 0x29d1c
movq 0x20(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x20(%rax), %rbx
testq %rbx, %rbx
je 0x29fac
movq 0x29137(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x29fa8
incl 0x8(%rbx)
jmp 0x29fac
lock
incl 0x8(%rbx)
movq (%rdi), %rax
movq %r14, %rsi
callq *(%rax)
movq %rax, %r14
leaq 0x1781e(%rip), %rsi     # 0x416d6
movl $0x1, %edx
movq %rax, %rdi
callq 0x72c0
jmp 0x29fb7
lock
incl 0x8(%rbx)
movq (%rdi), %rcx
movq %rax, %rsi
callq *(%rcx)
leaq 0x29393(%rip), %rcx     # 0x53270
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x3b148
movq %rax, %r14
leaq 0x177e4(%rip), %rsi     # 0x416d6
movl $0x1, %edx
movq %rax, %rdi
callq 0x72c0
leaq 0x29372(%rip), %rax     # 0x53278
movq (%rax), %rsi
movq %r14, %rdi
callq 0x3b148
jmp 0x29fb4
lock
incl 0x8(%rbx)
movq (%rdi), %rcx
movq %rax, %rsi
callq *(%rcx)
leaq 0x29347(%rip), %rcx     # 0x53270
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x3b148
movq %rax, %r14
leaq 0x17798(%rip), %rsi     # 0x416d6
movl $0x1, %edx
movq %rax, %rdi
callq 0x72c0
leaq 0x29326(%rip), %rax     # 0x53278
movq (%rax), %rsi
movq %r14, %rdi
callq 0x3b148
jmp 0x29fb4
lock
incl 0x8(%rbx)
movq (%rdi), %rcx
movq %rax, %rsi
callq *(%rcx)
leaq 0x292fe(%rip), %rcx     # 0x53270
movq (%rcx), %rsi
movq %rax, %rdi
callq 0x3b148
movq %rax, %r14
leaq 0x1774f(%rip), %rsi     # 0x416d6
movl $0x1, %edx
movq %rax, %rdi
callq 0x72c0
leaq 0x292dd(%rip), %rax     # 0x53278
movq (%rax), %rsi
movq %r14, %rdi
callq 0x3b148
jmp 0x29fb4
lock
incl 0x8(%rbx)
movq (%rdi), %rax
movq %r14, %rsi
callq *(%rax)
movq %rax, %r14
testq %rbx, %rbx
je 0x29fc4
movq %rbx, %rdi
callq 0x13308
movq %r14, %rax
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2a0cb
movq %rax, %r14
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x29ffe
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
jmp 0x29ffe
movq %rax, %r14
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x2a012
callq 0x13308
jmp 0x2a012
movq %rax, %r14
leaq 0x273e7(%rip), %rax     # 0x51400
movq %rax, 0x40(%rsp)
movq 0x50(%rsp), %rbx
jmp 0x2a0e2
jmp 0x2a0cb
jmp 0x2a0cb
jmp 0x2a0cb
jmp 0x2a0cb
jmp 0x2a0cb
jmp 0x2a0cb
jmp 0x2a0cb
movq %rax, %r14
jmp 0x2a08a
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2a07b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
jmp 0x2a07b
jmp 0x2a0cb
jmp 0x2a0d2
jmp 0x2a0d2
jmp 0x2a0cb
movq %rax, %r14
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x2a08a
callq 0x13308
leaq 0x2736f(%rip), %rax     # 0x51400
movq %rax, 0x28(%rsp)
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x2a0d5
callq 0x13308
jmp 0x2a0d5
jmp 0x2a0d2
movq %rax, %r14
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x2a0d5
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x7280
jmp 0x2a0d5
jmp 0x2a0d2
movq %rax, %r14
jmp 0x2a0e2
jmp 0x2a0d2
movq %rax, %r14
testq %rbx, %rbx
je 0x2a0e2
movq %rbx, %rdi
callq 0x13308
testq %rbx, %rbx
je 0x2a0ef
movq %rbx, %rdi
callq 0x13308
movq %r14, %rdi
callq 0x7430