LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O1/iZhangHui[P]CppPrimer/CH06_Functions/examples/inline_shorter.cc
// Function: main
int main()
{
	string s1("successes"), s2("failure");
	cout << shorterString(s1, s2) << endl;

	// call the size member of the string returned by shorterString
	cout << shorterString(s1, s2).size() << endl;

	// equivalent code as generated by the call to inline version
	// of shorterString
	cout << (s1.size() < s2.size() ? s1 : s2) << endl;
	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
leaq -0x58(%rbp), %r12
movq %r12, -0x10(%r12)
leaq 0xdb7(%rip), %rsi       # 0x2004
leaq 0xdb9(%rip), %rdx       # 0x200d
leaq -0x68(%rbp), %rbx
movq %rbx, %rdi
callq 0x13d8
leaq -0x38(%rbp), %r13
movq %r13, -0x10(%r13)
leaq 0xd9f(%rip), %rsi       # 0x200e
leaq 0xd9f(%rip), %rdx       # 0x2015
leaq -0x48(%rbp), %r14
movq %r14, %rdi
callq 0x13d8
movq -0x60(%rbp), %rdx
movq -0x40(%rbp), %rax
cmpq %rax, %rdx
movq %rbx, %rcx
cmovaq %r14, %rcx
movq (%rcx), %rsi
cmovaq %rax, %rdx
movq 0x2d36(%rip), %rdi      # 0x3fd8
callq 0x10b0
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x1090
movsbl %al, %esi
movq %r15, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1050
movq -0x60(%rbp), %rax
movq -0x40(%rbp), %rsi
cmpq %rsi, %rax
cmovbq %rax, %rsi
movq 0x2cf1(%rip), %rdi      # 0x3fd8
callq 0x1040
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x1090
movsbl %al, %esi
movq %r15, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1050
movq -0x60(%rbp), %rax
movq -0x40(%rbp), %rdx
cmpq %rdx, %rax
cmovbq %rbx, %r14
movq (%r14), %rsi
cmovbq %rax, %rdx
movq 0x2ca5(%rip), %rdi      # 0x3fd8
callq 0x10b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x1090
movsbl %al, %esi
movq %rbx, %rdi
callq 0x1030
movq %rax, %rdi
callq 0x1050
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x1377
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x10a0
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x138c
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x10a0
xorl %eax, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x13ba
movq %rax, %rbx
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x13ba
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x10a0
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x13cf
movq -0x58(%rbp), %rsi
incq %rsi
callq 0x10a0
movq %rbx, %rdi
callq 0x10d0
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/autotest.cpp
// Function: showTimeElapsed()
void showTimeElapsed() {
  long long curtime = getVa();
  
  if(curtime - lasttime < 100000) 
    cout << "time elapsed: " << (curtime-lasttime) << " \u03bcs" << endl;

  else
    printf("time elapsed: %.6f s\n", (curtime-lasttime)/1000000.0);

  lasttime = curtime;
  }

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
leaq 0x8(%rsp), %rbx
movq %rbx, %rdi
xorl %esi, %esi
callq 0x73b0
imulq $0xf4240, (%rbx), %r14  # imm = 0xF4240
addq 0x8(%rbx), %r14
movq %r14, %rax
subq 0x4b39e(%rip), %rax     # 0x532b8
cmpq $0x1869f, %rax          # imm = 0x1869F
jg 0x7f8f
movq 0x4b0a7(%rip), %rbx     # 0x52fd0
leaq 0x380f0(%rip), %rsi     # 0x40020
movl $0xe, %edx
movq %rbx, %rdi
callq 0x72c0
movq %r14, %rsi
subq 0x4b371(%rip), %rsi     # 0x532b8
movq %rbx, %rdi
callq 0x7100
movq %rax, %rbx
leaq 0x380d6(%rip), %rsi     # 0x4002f
movl $0x4, %edx
movq %rax, %rdi
callq 0x72c0
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %rbx, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
jmp 0x7faa
cvtsi2sd %rax, %xmm0
divsd 0x3806c(%rip), %xmm0    # 0x40008
leaq 0x38091(%rip), %rdi     # 0x40034
movb $0x1, %al
callq 0x7050
movq %r14, 0x4b307(%rip)     # 0x532b8
addq $0x18, %rsp
popq %rbx
popq %r14
retq
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/lois.h
// Function: lois::lsetof<lois::term>::lsetof(lois::lsetof<lois::term> const&)
lsetof<T>(const lsetof<T> &x) : ain(currentcontext) {
    if(in_substitution) {
      ain = x.ain;
      elts = x.elts;
      return;
      }
    if(debuglois) std::cout << ido << "copying " << x << " ain = " << emptycontext << std::endl;
    autoindenter i2;
    (*this) |= x;
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rsi, %r15
movq %rdi, %r12
leaq 0x4300a(%rip), %rax     # 0x53770
movq (%rax), %rcx
movq %rcx, (%rdi)
movq 0x8(%rax), %rax
movq %rax, 0x8(%rdi)
testq %rax, %rax
je 0x1078e
movq 0x42848(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x1078a
incl 0x8(%rax)
jmp 0x1078e
lock
incl 0x8(%rax)
leaq 0x8(%r12), %rbx
leaq 0x10(%r12), %r14
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r12)
movq $0x0, 0x20(%r12)
leaq 0x43427(%rip), %rax     # 0x53bd8
cmpb $0x1, (%rax)
jne 0x107dd
movq (%r15), %rax
movq %rax, (%r12)
leaq 0x8(%r15), %rsi
movq %rbx, %rdi
callq 0x16086
addq $0x10, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x1d404
jmp 0x108cd
leaq 0x433ac(%rip), %rax     # 0x53b90
cmpb $0x1, (%rax)
jne 0x108b1
leaq 0x42a74(%rip), %rax     # 0x53268
movq (%rax), %rsi
movq 0x427d2(%rip), %rdi     # 0x52fd0
callq 0x3b148
movq %rax, %r13
leaq 0x2face(%rip), %rsi     # 0x402db
movl $0x8, %edx
movq %rax, %rdi
callq 0x72c0
movq %r15, %rdi
movq %r13, %rsi
callq 0x2001a
movq %rax, %r13
leaq 0x2fab5(%rip), %rsi     # 0x402e4
movl $0x7, %edx
movq %rax, %rdi
callq 0x72c0
leaq 0x42f1d(%rip), %rax     # 0x53760
movq (%rax), %rcx
movq 0x8(%rax), %rax
movq %rcx, (%rsp)
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x1086d
movq 0x42769(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x10869
incl 0x8(%rax)
jmp 0x1086d
lock
incl 0x8(%rax)
movq %rsp, %rsi
movq %r13, %rdi
callq 0x160cc
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x7250
movsbl %al, %esi
movq %r13, %rdi
callq 0x7030
movq %rax, %rdi
callq 0x7190
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x108b1
callq 0x13308
leaq 0x43028(%rip), %r13     # 0x538e0
addl $0x2, (%r13)
movq %r12, %rdi
movq %r15, %rsi
callq 0x1d5ae
addl $-0x2, (%r13)
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
movq %rax, %r15
addl $-0x2, (%r13)
jmp 0x108fc
movq %rax, %r15
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x108fc
callq 0x13308
jmp 0x108fc
movq %rax, %r15
movq %r14, %rdi
callq 0x137ea
movq (%rbx), %rdi
testq %rdi, %rdi
je 0x10911
callq 0x13308
movq %r15, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/lois.h
// Function: lois::lsetof<lois::term> lois::newSet<lois::term>(lois::term, lois::term)
lsetof<T> newSet(T x, T y) {
  lsetof<T> res; 
  res.insert(x, currentcontext); 
  res.insert(y, currentcontext); 
  return res;   
  }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
movups %xmm0, (%rdi)
movq $0x0, 0x20(%rdi)
leaq 0x42249(%rip), %r12     # 0x53770
movq (%r12), %rax
movq %rax, (%rdi)
addq $0x8, %rdi
leaq 0x8(%r12), %rsi
callq 0x16086
movq (%r15), %rax
movq %rax, 0x58(%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x60(%rsp)
testq %rax, %rax
je 0x11567
movq 0x41a6f(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x11563
incl 0x8(%rax)
jmp 0x11567
lock
incl 0x8(%rax)
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0x48(%rsp)
movq %rax, 0x50(%rsp)
testq %rax, %rax
je 0x11594
movq 0x41a42(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x11590
incl 0x8(%rax)
jmp 0x11594
lock
incl 0x8(%rax)
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0x38(%rsp)
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x115c1
movq 0x41a15(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x115bd
incl 0x8(%rax)
jmp 0x115c1
lock
incl 0x8(%rax)
leaq 0x58(%rsp), %rsi
leaq 0x48(%rsp), %rdx
leaq 0x38(%rsp), %rcx
movq %rbx, %rdi
callq 0x1d826
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x115e7
callq 0x13308
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x115f6
callq 0x13308
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x11605
callq 0x13308
movq (%r14), %rax
movq %rax, 0x28(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x11630
movq 0x419a6(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x1162c
incl 0x8(%rax)
jmp 0x11630
lock
incl 0x8(%rax)
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0x18(%rsp)
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x1165d
movq 0x41979(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x11659
incl 0x8(%rax)
jmp 0x1165d
lock
incl 0x8(%rax)
movq (%r12), %rcx
movq 0x8(%r12), %rax
movq %rcx, 0x8(%rsp)
movq %rax, 0x10(%rsp)
testq %rax, %rax
je 0x1168a
movq 0x4194c(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x11686
incl 0x8(%rax)
jmp 0x1168a
lock
incl 0x8(%rax)
leaq 0x28(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x1d826
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x116b0
callq 0x13308
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x116bf
callq 0x13308
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x116ce
callq 0x13308
movq %rbx, %rax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %r14
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x116ef
callq 0x13308
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x116fe
callq 0x13308
movq 0x30(%rsp), %rdi
jmp 0x1172b
movq %rax, %r14
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x11717
callq 0x13308
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x11726
callq 0x13308
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x11735
callq 0x13308
movq %rbx, %rdi
callq 0x10992
movq %r14, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/loisextra.h
// Function: std::ostream& lois::operator<<<lois::term>(std::ostream&, lois::lvector<lois::term> const&)
std::ostream& operator << (std::ostream& os, const lvector<T>& p) { 
    bool first = true;
    os << "[";    
    for(auto& t: p) { if(!first) os << ","; first = false; os << t; }
    os << "]";
    return os;
    }

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x29df8(%rip), %rsi     # 0x419b3
movl $0x1, %edx
callq 0x72c0
movq (%r14), %r12
movq 0x8(%r14), %r13
cmpq %r13, %r12
je 0x17c24
movb $0x1, %al
leaq 0x28519(%rip), %r14     # 0x400f3
leaq 0x286f8(%rip), %r15     # 0x402d9
testb $0x1, %al
jne 0x17bf5
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq 0x72c0
movq (%r12), %rdi
testq %rdi, %rdi
je 0x17c09
movq (%rdi), %rax
movq %rbx, %rsi
callq *0x10(%rax)
jmp 0x17c19
movl $0xb, %edx
movq %rbx, %rdi
movq %r14, %rsi
callq 0x72c0
addq $0x10, %r12
xorl %eax, %eax
cmpq %r13, %r12
jne 0x17be1
leaq 0x2a696(%rip), %rsi     # 0x422c1
movl $0x1, %edx
movq %rbx, %rdi
callq 0x72c0
movq %rbx, %rax
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/loisextra.h
// Function: lois::rbool lois::operator==<lois::term>(lois::lvector<lois::term> const&, lois::lvector<lois::term> const&)
rbool operator == (const lvector<T>& a, const lvector<T>& b) { 
    lbool res = ftrue;
    if(a.size() != b.size()) { res = ffalse; return res;}
    for(int i=0; i<(int) a.size(); i++)
      res &= (a[i] == b[i]);
    return res; 
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r14
movq %rsi, %r15
movq %rdi, %rbx
leaq 0x3af95(%rip), %rax     # 0x537b0
movq (%rax), %rcx
movq 0x8(%rax), %rax
movq %rcx, 0x38(%rsp)
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x18846
movq 0x3a790(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x18842
incl 0x8(%rax)
jmp 0x18846
lock
incl 0x8(%rax)
movq %rsp, %rdi
leaq 0x38(%rsp), %r12
movq %r12, %rsi
callq 0x13832
movq 0x8(%r12), %rdi
testq %rdi, %rdi
je 0x18865
callq 0x13308
movq 0x8(%r15), %rax
subq (%r15), %rax
movq 0x8(%r14), %rcx
subq (%r14), %rcx
cmpq %rcx, %rax
jne 0x188ee
movq %rbx, 0x20(%rsp)
movq (%r15), %rsi
movq 0x8(%r15), %rax
subq %rsi, %rax
shrq $0x4, %rax
testl %eax, %eax
jle 0x188e2
xorl %ebp, %ebp
leaq 0x28(%rsp), %r12
movq %rsp, %r13
xorl %ebx, %ebx
addq %rbp, %rsi
movq (%r14), %rdx
addq %rbp, %rdx
movq %r12, %rdi
callq 0x2be82
movq %r13, %rdi
movq %r12, %rsi
callq 0x1388a
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x188c6
callq 0x13308
incq %rbx
movq (%r15), %rsi
movq 0x8(%r15), %rax
subq %rsi, %rax
shrq $0x4, %rax
cltq
addq $0x10, %rbp
cmpq %rax, %rbx
jl 0x1889b
movq 0x10(%rsp), %rax
movq 0x20(%rsp), %rbx
jmp 0x18902
leaq 0x3aecb(%rip), %rsi     # 0x537c0
movq %rsp, %rdi
callq 0x12e62
movq 0x10(%rsp), %rax
movq %rax, (%rbx)
movq 0x18(%rsp), %rax
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x18928
movq 0x3a6ae(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x18924
incl 0x8(%rax)
jmp 0x18928
lock
incl 0x8(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x18937
callq 0x13308
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x18946
callq 0x13308
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1895a
movq %rax, %rbx
jmp 0x18971
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x18971
callq 0x13308
movq %rsp, %rdi
callq 0x132e4
movq %rbx, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/lois.h
// Function: bool lois::usesenv<lois::rbool>(lois::rbool const&, std::shared_ptr<lois::Context>, std::shared_ptr<lois::Context>)
bool usesenv(const T& obj, contextptr anccontext = emptycontext, contextptr nowcontext = currentcontext) {
  contextptr e = nowcontext;
  while(e != anccontext) {
    if(!e) throw env_exception();
    for(auto w: e->var) if(isused(w, obj)) return true;
    e = e->parent;
    }
  return false;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, %r14
movq (%rdx), %rax
movq %rax, 0x10(%rsp)
movq 0x8(%rdx), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x1c50d
movq 0x36ac9(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x1c509
incl 0x8(%rax)
jmp 0x1c50d
lock
incl 0x8(%rax)
movq 0x10(%rsp), %rax
cmpq (%rsi), %rax
setne %bl
je 0x1c638
movq 0x36aa3(%rip), %rbp     # 0x52fc8
movq %rsi, 0x40(%rsp)
movb %bl, 0xf(%rsp)
testq %rax, %rax
je 0x1c65b
movq 0x20(%rax), %r12
movq 0x28(%rax), %r13
cmpq %r13, %r12
je 0x1c601
movq (%r12), %rax
movq 0x8(%r12), %r15
testq %r15, %r15
je 0x1c562
cmpb $0x0, (%rbp)
je 0x1c56e
incl 0x8(%r15)
jmp 0x1c573
movq %rax, 0x20(%rsp)
movq %r15, 0x28(%rsp)
jmp 0x1c593
lock
incl 0x8(%r15)
movq %rax, 0x20(%rsp)
movq %r15, 0x28(%rsp)
testq %r15, %r15
je 0x1c593
cmpb $0x0, (%rbp)
je 0x1c58e
incl 0x8(%r15)
jmp 0x1c593
lock
incl 0x8(%r15)
movq (%r14), %rax
movq %rax, 0x30(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x38(%rsp)
testq %rax, %rax
je 0x1c5b8
cmpb $0x0, (%rbp)
je 0x1c5b4
incl 0x8(%rax)
jmp 0x1c5b8
lock
incl 0x8(%rax)
leaq 0x20(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x29657
movl %eax, %ebx
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x1c5d8
callq 0x13308
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x1c5e7
callq 0x13308
testq %r15, %r15
je 0x1c5f4
movq %r15, %rdi
callq 0x13308
testb %bl, %bl
jne 0x1c634
addq $0x10, %r12
jmp 0x1c53f
movq 0x10(%rsp), %rsi
movq (%rsi), %rax
movq %rax, 0x10(%rsp)
addq $0x8, %rsi
leaq 0x18(%rsp), %rdi
callq 0x16086
movq 0x10(%rsp), %rax
movq 0x40(%rsp), %rsi
cmpq (%rsi), %rax
setne %bl
jne 0x1c52a
jmp 0x1c638
movb 0xf(%rsp), %bl
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x1c647
callq 0x13308
andb $0x1, %bl
movl %ebx, %eax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x8, %edi
callq 0x7150
leaq 0x34e8c(%rip), %rcx     # 0x514f8
movq %rcx, (%rax)
leaq 0x34e5a(%rip), %rsi     # 0x514d0
movq 0x36963(%rip), %rdx     # 0x52fe0
movq %rax, %rdi
callq 0x7400
movq %rax, %rbx
jmp 0x1c6b8
movq %rax, %rbx
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x1c69c
callq 0x13308
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x1c6ab
callq 0x13308
testq %r15, %r15
je 0x1c6b8
movq %r15, %rdi
callq 0x13308
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x1c6c7
callq 0x13308
movq %rbx, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/tests/../include/lois.h
// Function: bool lois::isused<lois::term>(std::shared_ptr<lois::Variable>, lois::lsetof<lois::term> const&)
bool isused(vptr w, const lsetof<T>& where) { 
  for(auto e: where.elts)
    if(isused(w, e->a) || isused(w, e->phi)) 
      return true;
  return false;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdi, 0x8(%rsp)
movq 0x10(%rsi), %r14
movq 0x18(%rsi), %rax
movq %rax, 0x40(%rsp)
cmpq %rax, %r14
setne 0x7(%rsp)
je 0x261aa
movq (%r14), %rbp
movq 0x8(%r14), %rbx
testq %rbx, %rbx
je 0x26071
movq 0x2cf65(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x2606d
incl 0x8(%rbx)
jmp 0x26071
lock
incl 0x8(%rbx)
movq 0x8(%rsp), %rcx
movq (%rcx), %rax
movq 0x8(%rcx), %r12
testq %r12, %r12
je 0x2609b
movq 0x2cf3f(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x26095
incl 0x8(%r12)
jmp 0x2609b
lock
incl 0x8(%r12)
movq 0x28(%rbp), %rdi
movq %rax, 0x30(%rsp)
movq %r12, 0x38(%rsp)
testq %r12, %r12
je 0x260c7
movq 0x2cf13(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x260c1
incl 0x8(%r12)
jmp 0x260c7
lock
incl 0x8(%r12)
movq (%rdi), %rax
leaq 0x30(%rsp), %rsi
callq *0x20(%rax)
movl %eax, %r13d
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x260e4
callq 0x13308
movb $0x1, %r15b
testb %r13b, %r13b
jne 0x2615a
movq 0x8(%rsp), %rcx
movq (%rcx), %rax
movq %rax, 0x20(%rsp)
movq 0x8(%rcx), %rax
movq %rax, 0x28(%rsp)
testq %rax, %rax
je 0x2611c
movq 0x2ceba(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x26118
incl 0x8(%rax)
jmp 0x2611c
lock
incl 0x8(%rax)
movq 0x18(%rbp), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%rbp), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x26148
movq 0x2ce8e(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x26144
incl 0x8(%rax)
jmp 0x26148
lock
incl 0x8(%rax)
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x29657
movl %eax, %r15d
testb %r13b, %r13b
jne 0x2617d
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2616e
callq 0x13308
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x2617d
callq 0x13308
testq %r12, %r12
je 0x2618a
movq %r12, %rdi
callq 0x13308
testq %rbx, %rbx
je 0x26197
movq %rbx, %rdi
callq 0x13308
testb %r15b, %r15b
jne 0x261aa
addq $0x10, %r14
cmpq 0x40(%rsp), %r14
jmp 0x26045
movb 0x7(%rsp), %al
andb $0x1, %al
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x261d1
callq 0x13308
movq 0x28(%rsp), %rdi
jmp 0x261e0
movq %rax, %r14
movq 0x38(%rsp), %rdi
testq %rdi, %rdi
je 0x261ea
callq 0x13308
testq %r12, %r12
je 0x261f7
movq %r12, %rdi
callq 0x13308
testq %rbx, %rbx
je 0x26204
movq %rbx, %rdi
callq 0x13308
movq %r14, %rdi
callq 0x7430
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/env.cpp
// Function: lois::ArbCondition::enable(lois::rbool)
bool ArbCondition::enable(rbool psi) { 
  disable();
  currentcontext = ourcontext = std::make_shared<Context> (currentcontext, psi);
  int res = solver->solveEnv();
  if(res == 1) { throw unsolvable_exception(); }
  return res == 2;
  }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x20, %rsp
movq %rsi, %r14
movq %rdi, %rbx
callq 0x28eae
leaq 0x18(%rsp), %rdi
movq $0x0, -0x8(%rdi)
leaq 0x2a81e(%rip), %rcx     # 0x53770
leaq 0x10(%rsp), %r15
leaq 0xf(%rsp), %rdx
movq %r15, %rsi
movq %r14, %r8
callq 0x294c2
movaps (%r15), %xmm0
xorps %xmm1, %xmm1
movaps %xmm1, (%r15)
movq 0x10(%rbx), %rdi
movups %xmm0, 0x8(%rbx)
leaq 0x10(%rbx), %r14
testq %rdi, %rdi
je 0x28f88
callq 0x13308
movq 0x8(%rbx), %rax
movq %rax, 0x2a7dd(%rip)     # 0x53770
leaq 0x2a7de(%rip), %rdi     # 0x53778
movq %r14, %rsi
callq 0x16086
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x28fb1
callq 0x13308
leaq 0x2a8b0(%rip), %rax     # 0x53868
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
cmpl $0x1, %eax
je 0x28fd6
cmpl $0x2, %eax
sete %al
addq $0x20, %rsp
popq %rbx
popq %r14
popq %r15
retq
movl $0x8, %edi
callq 0x7150
leaq 0x28999(%rip), %rcx     # 0x51980
movq %rcx, (%rax)
leaq 0x2893f(%rip), %rsi     # 0x51930
movq 0x29fe8(%rip), %rdx     # 0x52fe0
movq %rax, %rdi
callq 0x7400
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/env.cpp
// Function: lois::CondIterator::go()
void CondIterator::go() {
  if(state == ciIfThen)
    if(!enable(phi)) state = ciEnd;
  if(state == ciIfThenElse)
    if(!enable(phi)) state = ciElse;
  if(state == ciElse)
    if(!enable(!phi)) state = ciEnd;
  if(state == ciWhile) {
    if(!enable(phi)) { disable(); state = ciWhileFailed; }
    }
  }

// Assembly:
pushq %rbp
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
cmpl $0x0, 0x28(%rdi)
jne 0x29065
movq 0x18(%rbx), %rax
movq %rax, 0x38(%rsp)
movq 0x20(%rbx), %rax
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x2903b
movq 0x29f9b(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29037
incl 0x8(%rax)
jmp 0x2903b
lock
incl 0x8(%rax)
leaq 0x38(%rsp), %rsi
movq %rbx, %rdi
callq 0x28f2a
movl %eax, %ebp
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x29059
callq 0x13308
testb %bpl, %bpl
jne 0x29065
movl $0x4, 0x28(%rbx)
cmpl $0x1, 0x28(%rbx)
jne 0x290c1
movq 0x18(%rbx), %rax
movq %rax, 0x28(%rsp)
movq 0x20(%rbx), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x29097
movq 0x29f3f(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29093
incl 0x8(%rax)
jmp 0x29097
lock
incl 0x8(%rax)
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x28f2a
movl %eax, %ebp
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x290b5
callq 0x13308
testb %bpl, %bpl
jne 0x290c1
movl $0x3, 0x28(%rbx)
cmpl $0x3, 0x28(%rbx)
jne 0x2913b
movq 0x18(%rbx), %rax
movq %rax, 0x18(%rsp)
movq 0x20(%rbx), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x290f3
movq 0x29ee3(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x290ef
incl 0x8(%rax)
jmp 0x290f3
lock
incl 0x8(%rax)
leaq 0x48(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x29645
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x28f2a
movl %eax, %ebp
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x29120
callq 0x13308
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x2912f
callq 0x13308
testb %bpl, %bpl
jne 0x2913b
movl $0x4, 0x28(%rbx)
cmpl $0x2, 0x28(%rbx)
jne 0x2919f
movq 0x18(%rbx), %rax
movq %rax, 0x8(%rsp)
movq 0x20(%rbx), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
je 0x2916d
movq 0x29e69(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x29169
incl 0x8(%rax)
jmp 0x2916d
lock
incl 0x8(%rax)
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x28f2a
movl %eax, %ebp
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2918b
callq 0x13308
testb %bpl, %bpl
jne 0x2919f
movq %rbx, %rdi
callq 0x28eae
movl $0x5, 0x28(%rbx)
addq $0x58, %rsp
popq %rbx
popq %rbp
retq
movq %rax, %rbx
movq 0x40(%rsp), %rdi
jmp 0x291e0
movq %rax, %rbx
movq 0x10(%rsp), %rdi
jmp 0x291e0
movq %rax, %rbx
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x291d1
callq 0x13308
jmp 0x291d1
movq %rax, %rbx
movq 0x20(%rsp), %rdi
jmp 0x291e0
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x291ea
callq 0x13308
movq %rbx, %rdi
callq 0x7430
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::decomposeBin(lois::rbool, bool, std::vector<lois::rbool, std::allocator<lois::rbool>>&)
void decomposeBin(rbool b, bool bt, std::vector<rbool>& v) {
  auto dec = std::dynamic_pointer_cast<FormulaBi> (b.p);
  if(dec && dec->type == bt) {
    decomposeBin(dec->left, bt, v);
    decomposeBin(dec->right, bt, v);
    }
  else
    v.push_back(b);
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdx, %r14
movl %esi, %ebp
movq %rdi, %r12
movq (%rdi), %rdi
testq %rdi, %rdi
je 0x2a13f
leaq 0x27a8c(%rip), %rsi     # 0x51bb8
leaq 0x27b95(%rip), %rdx     # 0x51cc8
xorl %ecx, %ecx
callq 0x72b0
movq %rax, %r15
jmp 0x2a142
xorl %r15d, %r15d
testq %r15, %r15
je 0x2a162
movq 0x8(%r12), %rbx
testq %rbx, %rbx
je 0x2a16d
movq 0x28e70(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x2a169
incl 0x8(%rbx)
jmp 0x2a16d
xorl %r15d, %r15d
xorl %ebx, %ebx
jmp 0x2a16d
lock
incl 0x8(%rbx)
testq %r15, %r15
je 0x2a1a0
cmpb %bpl, 0x10(%r15)
jne 0x2a1a0
movq 0x18(%r15), %rax
movq %rax, 0x10(%rsp)
movq 0x20(%r15), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x2a1b1
movq 0x28e32(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2a1ad
incl 0x8(%rax)
jmp 0x2a1b1
movq %r14, %rdi
movq %r12, %rsi
callq 0x2d1f8
jmp 0x2a21a
lock
incl 0x8(%rax)
movzbl %bpl, %ebp
leaq 0x10(%rsp), %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x2a109
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2a1d3
callq 0x13308
movq 0x28(%r15), %rax
movq %rax, (%rsp)
movq 0x30(%r15), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x2a1fe
movq 0x28dd8(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2a1fa
incl 0x8(%rax)
jmp 0x2a1fe
lock
incl 0x8(%rax)
movq %rsp, %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x2a109
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2a21a
callq 0x13308
testq %rbx, %rbx
je 0x2a227
movq %rbx, %rdi
callq 0x13308
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq 0x8(%rsp), %rdi
jmp 0x2a246
movq %rax, %r14
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2a255
callq 0x13308
jmp 0x2a255
movq %rax, %r14
testq %rbx, %rbx
je 0x2a262
movq %rbx, %rdi
callq 0x13308
movq %r14, %rdi
callq 0x7430
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaQ::verifyAt(int)
bool FormulaQ::verifyAt(int at) {
  if(at == -1) return right->verify();
  auto dom = subGet(var[at]);
  int& nextval(dom->nextval);
  triesleft -= nextval;
  if(triesleft < 0) return false;
  for(int z=0; z<nextval; z++) { 
    var[at]->value = z; 
    if(verifyAt(at-1) != type) return !type;
    }
  var[at]->value = nextval;
  nextval++;
  bool b = generateAll(at, dom, nextval-1, 0);
  nextval--;
  return b;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %r14
cmpl $-0x1, %esi
je 0x2b752
movl %esi, %r15d
movslq %esi, %rdx
movq 0x28(%r14), %rax
shlq $0x4, %rdx
movq (%rax,%rdx), %rcx
movq %rcx, 0x10(%rsp)
movq %rdx, 0x8(%rsp)
movq 0x8(%rax,%rdx), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x2b76e
movq 0x27880(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2b76a
incl 0x8(%rax)
jmp 0x2b76e
movq 0x18(%r14), %rdi
movq (%rdi), %rax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *0x20(%rax)
lock
incl 0x8(%rax)
leaq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %rsi
callq 0x2b878
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2b78c
callq 0x13308
movq 0x20(%rsp), %r13
movl (%r13), %eax
subl %eax, 0x28005(%rip)     # 0x537a0
js 0x2b7e5
cmpl $0x0, (%r13)
setg %bl
movq %r15, 0x30(%rsp)
jle 0x2b7e9
decl %r15d
xorl %r12d, %r12d
movq 0x28(%r14), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx), %rax
movl %r12d, 0x44(%rax)
movq %r14, %rdi
movl %r15d, %esi
callq 0x2b700
movb 0x10(%r14), %bpl
cmpb %al, %bpl
jne 0x2b7eb
incl %r12d
cmpl (%r13), %r12d
setl %bl
jl 0x2b7b2
jmp 0x2b7ef
xorl %ebp, %ebp
jmp 0x2b82e
jmp 0x2b7ef
xorb $0x1, %bpl
testb $0x1, %bl
jne 0x2b82e
movl (%r13), %eax
movq 0x28(%r14), %rcx
movq 0x8(%rsp), %rdx
movq (%rcx,%rdx), %rcx
movl %eax, 0x44(%rcx)
movl (%r13), %ecx
leal 0x1(%rcx), %eax
movl %eax, (%r13)
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
movq 0x30(%rsp), %rsi
xorl %r8d, %r8d
callq 0x2b9a6
movl %eax, %ebp
decl (%r13)
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x2b83d
callq 0x13308
andb $0x1, %bpl
movl %ebp, %eax
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2b85e
movq %rax, %rbx
movq 0x18(%rsp), %rdi
jmp 0x2b866
movq %rax, %rbx
movq 0x28(%rsp), %rdi
testq %rdi, %rdi
je 0x2b870
callq 0x13308
movq %rbx, %rdi
callq 0x7430
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaQ::generateAll(int, std::shared_ptr<lois::Subdomain>&, int, int)
bool FormulaQ::generateAll(int at, std::shared_ptr<Subdomain>& dom, int val, int rid) {
  if(rid >= int(dom->rels.size())) {
    if(val < dom->nextval-1) 
      return generateAll(at, dom, val+1, 0);
    else
      return verifyAt(at-1);
    }
  else return dom->rels[rid]->exists(this, at, dom, val, rid);
  }

// Assembly:
movl %r8d, %r9d
movl %ecx, %r8d
movq %rdx, %rcx
movl %esi, %edx
movq %rdi, %rsi
movq (%rcx), %rdi
movq 0x8(%rdi), %rax
movq 0x10(%rdi), %r10
subq %rax, %r10
shrq $0x4, %r10
cmpl %r9d, %r10d
jg 0x2b9de
movl (%rdi), %r9d
decl %r9d
cmpl %r8d, %r9d
jle 0x2b9f1
incl %r8d
xorl %r9d, %r9d
jmp 0x2b9c6
movslq %r9d, %rdi
shlq $0x4, %rdi
movq (%rax,%rdi), %rdi
movq (%rdi), %rax
movq (%rax), %rax
jmpq *%rax
decl %edx
movq %rsi, %rdi
movl %edx, %esi
jmp 0x2b700
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::Variable::display(std::ostream&) const
std::ostream& Variable::display (std::ostream& os) const {
  if(!id) id = ++vids;
  if(outlan == SMT || outlan == SMT_INC) os << "?";
  if(outlan == SPASS) os << "lois";
  if(name != "") os << name;
  else { os << autoprefix; autoname(os, id-1); }
  return os;
  }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
movq %rsi, %rbx
movq %rdi, %r14
cmpl $0x0, 0x40(%rdi)
jne 0x2c357
movl 0x27459(%rip), %eax     # 0x537a4
incl %eax
movl %eax, 0x27451(%rip)     # 0x537a4
movl %eax, 0x40(%r14)
leaq 0x27586(%rip), %r15     # 0x538e4
movl (%r15), %eax
andl $-0x5, %eax
cmpl $0x2, %eax
jne 0x2c37d
leaq 0x14be2(%rip), %rsi     # 0x40f52
movl $0x1, %edx
movq %rbx, %rdi
callq 0x72c0
cmpl $0x3, (%r15)
jne 0x2c397
leaq 0x14bca(%rip), %rsi     # 0x40f54
movl $0x4, %edx
movq %rbx, %rdi
callq 0x72c0
leaq 0x48(%r14), %rdi
leaq 0x152ee(%rip), %rsi     # 0x41690
callq 0x70c0
testl %eax, %eax
je 0x2c3bd
movq 0x48(%r14), %rsi
movq 0x50(%r14), %rdx
movq %rbx, %rdi
callq 0x72c0
jmp 0x2c3e1
movq 0x27424(%rip), %rsi     # 0x537e8
movq 0x27425(%rip), %rdx     # 0x537f0
movq %rbx, %rdi
callq 0x72c0
movl 0x40(%r14), %esi
decl %esi
movq %rbx, %rdi
callq 0x2c2ce
movq %rbx, %rax
popq %rbx
popq %r14
popq %r15
retq
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::subInit(std::shared_ptr<lois::Variable>)
void subInit(vptr v) {
  if(v->curcheck < checkid) {
    v->curcheck = checkid;
    v->sublink = v;
    v->sub = nullsub;
    }
  }

// Assembly:
pushq %rbx
movq %rdi, %rbx
movq (%rdi), %rdi
movl 0x273b1(%rip), %eax     # 0x537a8
cmpl %eax, 0x18(%rdi)
jge 0x2c42f
movl %eax, 0x18(%rdi)
movq %rdi, 0x30(%rdi)
addq $0x38, %rdi
leaq 0x8(%rbx), %rsi
callq 0x16086
movq (%rbx), %rdi
movq 0x273ee(%rip), %rax     # 0x53808
movq %rax, 0x20(%rdi)
addq $0x28, %rdi
leaq 0x273e7(%rip), %rsi     # 0x53810
popq %rbx
jmp 0x16086
popq %rbx
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::Variable::subFindv(std::shared_ptr<lois::TermVariable>)
vptr Variable::subFindv(tvptr v) {
  vptr vv = std::dynamic_pointer_cast<Variable> (v);
  subInit(vv);
  vv->sublink = (vv->sublink == vv) ? vv : subFindv(vv->sublink);
  return vv->sublink;
  }

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rdx, %r14
movq %rsi, %r12
movq %rdi, %rbx
movq (%rdx), %rdi
testq %rdi, %rdi
je 0x2c46a
leaq 0x25751(%rip), %rsi     # 0x51ba8
leaq 0x255ea(%rip), %rdx     # 0x51a48
xorl %ecx, %ecx
callq 0x72b0
movq %rax, %r15
jmp 0x2c46d
xorl %r15d, %r15d
testq %r15, %r15
je 0x2c48d
movq 0x8(%r14), %r14
testq %r14, %r14
je 0x2c49a
movq 0x26b46(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x2c495
incl 0x8(%r14)
jmp 0x2c49a
xorl %r15d, %r15d
xorl %r14d, %r14d
jmp 0x2c49a
lock
incl 0x8(%r14)
movq %r15, 0x20(%rsp)
movq %r14, 0x28(%rsp)
testq %r14, %r14
je 0x2c4c0
movq 0x26b18(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x2c4bb
incl 0x8(%r14)
jmp 0x2c4c0
lock
incl 0x8(%r14)
leaq 0x20(%rsp), %r13
movq %r13, %rdi
callq 0x2c3ea
movq 0x8(%r13), %rdi
testq %rdi, %rdi
je 0x2c4db
callq 0x13308
movq 0x30(%r15), %r13
cmpq %r15, %r13
je 0x2c508
movq %r13, 0x10(%rsp)
movq 0x38(%r15), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x2c530
movq 0x26aca(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2c52c
incl 0x8(%rax)
jmp 0x2c530
movq %r15, (%rsp)
movq %r14, 0x8(%rsp)
testq %r14, %r14
je 0x2c542
movq 0x26aab(%rip), %rax     # 0x52fc8
cmpb $0x0, (%rax)
je 0x2c5d2
incl 0x8(%r14)
jmp 0x2c542
lock
incl 0x8(%rax)
movq (%r12), %rax
movq %rsp, %rdi
leaq 0x10(%rsp), %rdx
movq %r12, %rsi
callq *0x28(%rax)
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movq 0x38(%r15), %rdi
movq %rax, 0x30(%r15)
movq %rcx, 0x38(%r15)
testq %rdi, %rdi
je 0x2c568
callq 0x13308
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2c577
callq 0x13308
cmpq %r15, %r13
je 0x2c58b
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2c58b
callq 0x13308
movq 0x30(%r15), %rax
movq %rax, (%rbx)
movq 0x38(%r15), %rax
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x2c5b4
movq 0x26a22(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2c5b0
incl 0x8(%rax)
jmp 0x2c5b4
lock
incl 0x8(%rax)
testq %r14, %r14
je 0x2c5c1
movq %r14, %rdi
callq 0x13308
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
lock
incl 0x8(%r14)
jmp 0x2c542
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2c5ee
callq 0x13308
testq %r14, %r14
je 0x2c5fb
movq %r14, %rdi
callq 0x13308
movq %rbx, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::TermConst::subFindv(std::shared_ptr<lois::TermVariable>)
vptr TermConst::subFindv(tvptr inv) {
  vptr vv = std::dynamic_pointer_cast<Variable> (inv);
  if(!vv) vv = v;
  subInit(vv);
  vv->sublink = (vv->sublink == vv) ? vv : subFindv(vv->sublink);
  return vv->sublink;
  }

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movq (%rdx), %rdi
testq %rdi, %rdi
je 0x2c961
leaq 0x25257(%rip), %rsi     # 0x51ba8
leaq 0x250f0(%rip), %rdx     # 0x51a48
xorl %ecx, %ecx
callq 0x72b0
jmp 0x2c963
xorl %eax, %eax
testq %rax, %rax
je 0x2c98b
movq %rax, (%rsp)
movq 0x8(%r15), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
je 0x2c998
movq 0x26647(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2c994
incl 0x8(%rax)
jmp 0x2c998
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
jmp 0x2c998
lock
incl 0x8(%rax)
cmpq $0x0, (%rsp)
jne 0x2c9b5
movq 0x18(%r14), %rax
leaq 0x8(%rsp), %rdi
movq %rax, -0x8(%rdi)
leaq 0x20(%r14), %rsi
callq 0x16086
movq (%rsp), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x38(%rsp)
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x2c9e2
movq 0x265f4(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2c9de
incl 0x8(%rax)
jmp 0x2c9e2
lock
incl 0x8(%rax)
leaq 0x38(%rsp), %r15
movq %r15, %rdi
callq 0x2c3ea
movq 0x8(%r15), %rdi
testq %rdi, %rdi
je 0x2c9fd
callq 0x13308
movq (%rsp), %r15
movq 0x30(%r15), %r12
cmpq %r15, %r12
je 0x2ca2e
movq %r12, 0x28(%rsp)
movq 0x38(%r15), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x2ca5b
movq 0x265a4(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2ca57
incl 0x8(%rax)
jmp 0x2ca5b
movq %r15, 0x10(%rsp)
movq 0x8(%rsp), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x2ca6e
movq 0x2657f(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2cb08
incl 0x8(%rax)
jmp 0x2ca6e
lock
incl 0x8(%rax)
movq (%r14), %rax
leaq 0x10(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %r14, %rsi
callq *0x28(%rax)
movq (%rsp), %rax
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rdx
xorps %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movq 0x38(%rax), %rdi
movq %rcx, 0x30(%rax)
movq %rdx, 0x38(%rax)
testq %rdi, %rdi
je 0x2ca9a
callq 0x13308
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2caa9
callq 0x13308
cmpq %r15, %r12
je 0x2cabd
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2cabd
callq 0x13308
movq (%rsp), %rax
movq 0x30(%rax), %rcx
movq %rcx, (%rbx)
movq 0x38(%rax), %rax
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x2caea
movq 0x264ec(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2cae6
incl 0x8(%rax)
jmp 0x2caea
lock
incl 0x8(%rax)
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2caf9
callq 0x13308
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
lock
incl 0x8(%rax)
jmp 0x2ca6e
movq %rax, %rbx
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2cb23
callq 0x13308
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2cb32
callq 0x13308
movq %rbx, %rdi
callq 0x7430
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::subGet(lois::term const&)
std::shared_ptr<Subdomain> subGet(const term& t) {
  vptr v = t.p->subFindv(t.p);
  if(v == nullvptr) return nullsub;
  if(!v->sub) v->sub = std::make_shared<Subdomain> ();
  return v->sub;
  }

// Assembly:
pushq %rbx
subq $0x20, %rsp
movq %rsi, %rax
movq %rdi, %rbx
movq (%rsi), %rsi
movq %rsi, 0x10(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
je 0x2cbcb
movq 0x2640b(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2cbc7
incl 0x8(%rax)
jmp 0x2cbcb
lock
incl 0x8(%rax)
movq (%rsi), %rax
movq %rsp, %rdi
leaq 0x10(%rsp), %rdx
callq *0x28(%rax)
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2cbe8
callq 0x13308
movq (%rsp), %rax
cmpq 0x26b9d(%rip), %rax     # 0x53790
je 0x2cc62
cmpq $0x0, 0x20(%rax)
jne 0x2cc51
movl $0x38, %edi
callq 0x7270
movabsq $0x100000001, %rcx      # imm = 0x100000001
movq %rcx, 0x8(%rax)
leaq 0x25345(%rip), %rcx     # 0x51f60
movq %rcx, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movl $0x0, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rax)
movups %xmm0, 0x28(%rax)
movq (%rsp), %rdx
movq %rcx, 0x20(%rdx)
movq 0x28(%rdx), %rdi
movq %rax, 0x28(%rdx)
testq %rdi, %rdi
je 0x2cc51
callq 0x13308
movq (%rsp), %rax
movq 0x20(%rax), %rcx
movq %rcx, (%rbx)
movq 0x28(%rax), %rax
jmp 0x2cc73
movq 0x26b9f(%rip), %rax     # 0x53808
movq %rax, (%rbx)
movq 0x26b9d(%rip), %rax     # 0x53810
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x2cc91
movq 0x26345(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2cc8d
incl 0x8(%rax)
jmp 0x2cc91
lock
incl 0x8(%rax)
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2cca0
callq 0x13308
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
retq
movq %rax, %rbx
movq 0x8(%rsp), %rdi
jmp 0x2ccbb
movq %rax, %rbx
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ccc5
callq 0x13308
movq %rbx, %rdi
callq 0x7430
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::subJoin(lois::term const&, lois::term const&)
std::shared_ptr<Subdomain> subJoin(const term& t1, const term &t2) {
  vptr v1 = t1.p->subFindv(t1.p);
  vptr v2 = t2.p->subFindv(t2.p);
  if(v1->sublink != v2->sublink) {
    v2->sublink = v1->sublink;
    subJoin(v1->sub, v2->sub);
    }
  if(!v1->sub) v1->sub = std::make_shared<Subdomain> ();
  return v1->sub;
  }

// Assembly:
pushq %r14
pushq %rbx
subq $0x48, %rsp
movq %rdx, %r14
movq %rsi, %rax
movq %rdi, %rbx
movq (%rsi), %rsi
movq %rsi, 0x38(%rsp)
movq 0x8(%rax), %rax
movq %rax, 0x40(%rsp)
testq %rax, %rax
je 0x2cd08
movq 0x262ce(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2cd04
incl 0x8(%rax)
jmp 0x2cd08
lock
incl 0x8(%rax)
movq (%rsi), %rax
leaq 0x8(%rsp), %rdi
leaq 0x38(%rsp), %rdx
callq *0x28(%rax)
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2cd27
callq 0x13308
movq (%r14), %rsi
movq %rsi, 0x18(%rsp)
movq 0x8(%r14), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x2cd52
movq 0x26284(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2cd4e
incl 0x8(%rax)
jmp 0x2cd52
lock
incl 0x8(%rax)
movq (%rsi), %rax
leaq 0x28(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq *0x28(%rax)
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x2cd71
callq 0x13308
movq 0x8(%rsp), %rsi
movq 0x28(%rsp), %rdi
movq 0x30(%rsi), %rax
cmpq 0x30(%rdi), %rax
je 0x2cdad
movq %rax, 0x30(%rdi)
addq $0x38, %rdi
addq $0x38, %rsi
callq 0x16086
movq 0x8(%rsp), %rdi
addq $0x20, %rdi
movq 0x28(%rsp), %rsi
addq $0x20, %rsi
callq 0x2c86e
movq 0x8(%rsp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x2ce0f
movl $0x38, %edi
callq 0x7270
movabsq $0x100000001, %rcx      # imm = 0x100000001
movq %rcx, 0x8(%rax)
leaq 0x25188(%rip), %rcx     # 0x51f60
movq %rcx, (%rax)
movq %rax, %rcx
addq $0x10, %rcx
movl $0x0, 0x10(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rax)
movups %xmm0, 0x28(%rax)
movq 0x8(%rsp), %rdx
movq %rcx, 0x20(%rdx)
movq 0x28(%rdx), %rdi
movq %rax, 0x28(%rdx)
testq %rdi, %rdi
je 0x2ce0f
callq 0x13308
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rcx
movq %rcx, (%rbx)
movq 0x28(%rax), %rax
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x2ce3d
movq 0x26199(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2ce39
incl 0x8(%rax)
jmp 0x2ce3d
lock
incl 0x8(%rax)
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x2ce4c
callq 0x13308
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2ce5b
callq 0x13308
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
retq
jmp 0x2ce68
movq %rax, %rbx
movq 0x30(%rsp), %rdi
jmp 0x2ce7a
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x2ce84
callq 0x13308
movq 0x10(%rsp), %rdi
jmp 0x2ce93
movq %rax, %rbx
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x2ce9d
callq 0x13308
movq %rbx, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::TermBinary::getValue()
int TermBinary::getValue() { 
  std::shared_ptr<Subdomain> d = subGet(left);
  if(d != subGet(right)) throw subdomain_exception();
  int i = 0;
  while(d->rels[i]->rel != r) i++;
  int r = d->rels[i]->checkterm(op, left.p->getValue(), right.p->getValue());
  return r;
  }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %r14
leaq 0x20(%rdi), %rsi
movq %rsp, %rdi
callq 0x2cb95
leaq 0x30(%r14), %rbx
leaq 0x10(%rsp), %rdi
movq %rbx, %rsi
callq 0x2cb95
movq (%rsp), %r15
movq 0x10(%rsp), %r12
movq 0x18(%rsp), %rdi
testq %rdi, %rdi
je 0x2ceea
callq 0x13308
cmpq %r12, %r15
jne 0x2cf4d
movq 0x8(%r15), %rax
movq 0x10(%r14), %rcx
movq (%rax), %r15
addq $0x10, %rax
cmpq %rcx, 0x8(%r15)
jne 0x2cef7
movl 0x18(%r14), %ebp
movq 0x20(%r14), %rdi
movq (%rdi), %rax
callq *(%rax)
movl %eax, %r14d
movq (%rbx), %rdi
movq (%rdi), %rax
callq *(%rax)
movq (%r15), %r8
movq %r15, %rdi
movl %ebp, %esi
movl %r14d, %edx
movl %eax, %ecx
callq *0x10(%r8)
movl %eax, %ebx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2cf3e
callq 0x13308
movl %ebx, %eax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movl $0x8, %edi
callq 0x7150
leaq 0x24c7a(%rip), %rcx     # 0x51bd8
movq %rcx, (%rax)
leaq 0x24a80(%rip), %rsi     # 0x519e8
movq 0x26071(%rip), %rdx     # 0x52fe0
movq %rax, %rdi
callq 0x7400
jmp 0x2cf7b
jmp 0x2cf7b
movq %rax, %rbx
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
je 0x2cf8d
callq 0x13308
movq %rbx, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/../include/loisinternal.h
// Function: lois::Formula::qsimplify()
rbool qsimplify() {
    if(!qty[0]) return ftrue;
    if(!qty[1]) return ffalse;
    rbool ret = qsimplify2();
    return ret;
    }

// Assembly:
pushq %rbx
movq %rdi, %rbx
cmpl $0x0, 0x8(%rsi)
je 0x2ddb7
cmpl $0x0, 0xc(%rsi)
je 0x2ddca
movq (%rsi), %rax
movq %rbx, %rdi
callq *0x58(%rax)
jmp 0x2ddf9
movq 0x259f2(%rip), %rax     # 0x537b0
movq %rax, (%rbx)
movq 0x259f0(%rip), %rax     # 0x537b8
jmp 0x2dddb
movq 0x259ef(%rip), %rax     # 0x537c0
movq %rax, (%rbx)
movq 0x259ed(%rip), %rax     # 0x537c8
movq %rax, 0x8(%rbx)
testq %rax, %rax
je 0x2ddf9
movq 0x251dd(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2ddf5
incl 0x8(%rax)
jmp 0x2ddf9
lock
incl 0x8(%rax)
movq %rbx, %rax
popq %rbx
retq
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaBi::verify()
bool verify() { 
    bool b;
    if(type) b= left->verify() && right->verify(); 
    else b= left->verify() || right->verify();
#ifdef AGGSYM
    qty[b]++; 
#endif
    return b;
    }

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movb 0x10(%rdi), %bpl
movq 0x18(%rdi), %rdi
movq (%rdi), %rax
callq *0x20(%rax)
movl %eax, %ecx
cmpb $0x1, %bpl
jne 0x2f224
testb %cl, %cl
jne 0x2f22a
xorl %eax, %eax
jmp 0x2f234
movb $0x1, %al
testb %cl, %cl
jne 0x2f234
movq 0x28(%rbx), %rdi
movq (%rdi), %rax
callq *0x20(%rax)
movzbl %al, %eax
incl 0x8(%rbx,%rax,4)
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaBi::uses(std::shared_ptr<lois::Variable>)
bool uses(vptr v) { 
    if(v == lastusecheck) return usestat;
    lastusecheck = v; usestat = 0;
    if(left->uses(v)) usestat |= 1;
    if(right->uses(v)) usestat |= 2;
    return usestat; }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %r14
movq (%rsi), %rax
cmpq 0x38(%rdi), %rax
je 0x2f29f
movq %rsi, %rbx
movq %rax, 0x38(%r14)
leaq 0x40(%r14), %rdi
addq $0x8, %rsi
callq 0x16086
movl $0x0, 0x48(%r14)
movq 0x18(%r14), %rdi
movq (%rbx), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%rbx), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x2f2af
movq 0x23d33(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2f2ab
incl 0x8(%rax)
jmp 0x2f2af
addq $0x48, %r14
movq %r14, %r15
jmp 0x2f32b
lock
incl 0x8(%rax)
movq (%rdi), %rax
leaq 0x18(%rsp), %rsi
callq *0x28(%rax)
movl %eax, %ebp
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x2f2cb
callq 0x13308
leaq 0x48(%r14), %r15
testb %bpl, %bpl
je 0x2f2d8
orb $0x1, (%r15)
movq 0x28(%r14), %rdi
movq (%rbx), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rbx), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
je 0x2f307
movq 0x23ccf(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2f303
incl 0x8(%rax)
jmp 0x2f307
lock
incl 0x8(%rax)
movq (%rdi), %rax
leaq 0x8(%rsp), %rsi
callq *0x28(%rax)
movl %eax, %ebx
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
je 0x2f323
callq 0x13308
testb %bl, %bl
je 0x2f32b
orb $0x2, (%r15)
cmpl $0x0, (%r15)
setne %al
addq $0x28, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x10(%rsp), %rdi
jmp 0x2f34f
movq %rax, %rbx
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x2f359
callq 0x13308
movq %rbx, %rdi
callq 0x7430
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaEq::FormulaEq(bool, lois::term, lois::term)
FormulaEq(bool t, term v1, term v2) : type(t), t1(v1), t2(v2) {
    // todo
    // if(t1 == t2) aerror("ta sama zmienna", t1, t2);
    /* if(v1->sortid < v2->sortid) {
      fv.push_back(v1);
      fv.push_back(v2);
      }
    else {
      fv.push_back(v2);
      fv.push_back(v1);
      } */
    }

// Assembly:
leaq 0x223ed(%rip), %rax     # 0x51e18
movq %rax, (%rdi)
movb %sil, 0x10(%rdi)
movq (%rdx), %rax
movq %rax, 0x18(%rdi)
movq 0x8(%rdx), %rax
movq %rax, 0x20(%rdi)
testq %rax, %rax
je 0x2fa5b
movq 0x2357b(%rip), %rdx     # 0x52fc8
cmpb $0x0, (%rdx)
je 0x2fa57
incl 0x8(%rax)
jmp 0x2fa5b
lock
incl 0x8(%rax)
movq (%rcx), %rax
movq %rax, 0x28(%rdi)
movq 0x8(%rcx), %rax
movq %rax, 0x30(%rdi)
testq %rax, %rax
je 0x2fa83
movq 0x23552(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x2fa7f
incl 0x8(%rax)
retq
lock
incl 0x8(%rax)
retq
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaEq::verify()
bool verify() { 
    bool b;
    if(type) b= t1.p->getValue() == t2.p->getValue(); 
    else b = t1.p->getValue() != t2.p->getValue();
#ifdef AGGSYM
    qty[b]++; 
#endif
    return b;
    }

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
movq %rdi, %rbx
movb 0x10(%rdi), %r14b
movq 0x18(%rdi), %rdi
movq (%rdi), %rax
callq *(%rax)
movl %eax, %ebp
movq 0x28(%rbx), %rdi
movq (%rdi), %rax
callq *(%rax)
cmpl %eax, %ebp
setne %al
xorb %r14b, %al
movzbl %al, %eax
incl 0x8(%rbx,%rax,4)
popq %rbx
popq %r14
popq %rbp
retq
nop
// File: /workspace/github_cpp_makefile_star2_O1/eryxcc[P]lois/src/formula.cpp
// Function: lois::FormulaBinary::FormulaBinary(lois::Relation*, int, lois::term, lois::term)
FormulaBinary(Relation *r, int i, term v1, term v2) : id(i), rel(r), t1(v1), t2(v2) {
    /* if(v1->sortid < v2->sortid) {
      fv.push_back(v1);
      fv.push_back(v2);
      }
    else {
      fv.push_back(v2);
      fv.push_back(v1);
      } */
    }

// Assembly:
leaq 0x21769(%rip), %rax     # 0x51ed8
movq %rax, (%rdi)
movl %edx, 0x10(%rdi)
movq %rsi, 0x18(%rdi)
movq (%rcx), %rax
movq %rax, 0x20(%rdi)
movq 0x8(%rcx), %rax
movq %rax, 0x28(%rdi)
testq %rax, %rax
je 0x307a2
movq 0x22834(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x3079e
incl 0x8(%rax)
jmp 0x307a2
lock
incl 0x8(%rax)
movq (%r8), %rax
movq %rax, 0x30(%rdi)
movq 0x8(%r8), %rax
movq %rax, 0x38(%rdi)
testq %rax, %rax
je 0x307ca
movq 0x2280b(%rip), %rcx     # 0x52fc8
cmpb $0x0, (%rcx)
je 0x307c6
incl 0x8(%rax)
retq
lock
incl 0x8(%rax)
retq
nop