// File: ef-gy[P]libefgy/src/test-case/tracer.cpp
// Function: testTracer(std::ostream&)
bool testTracer(std::ostream &log) {
  std::shared_ptr<tracer<int, void, 0>> frobrt(tracer<int, void, 0>(1));
  runtime frobrt2(new tracer<int, void, 0>(1));
  runtime frobrt3(frobrt);

  auto frobd = frobrt + 2;
  runtime frobde = frobrt + 3;

  frobde /= frobd;

  log << frobd << "\n";
  log << frobde << "\n";

  return true;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x140, %rsp            # imm = 0x140
movq %rdi, -0x8(%rbp)
movl $0x1, -0x2c(%rbp)
leaq -0x28(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
leaq -0x2c(%rbp), %rsi
callq 0x8280
movq -0xf0(%rbp), %rsi
leaq -0x18(%rbp), %rdi
callq 0x82c0
jmp 0x6cbc
leaq -0x28(%rbp), %rdi
callq 0x8320
movl $0x10, %edi
callq 0x6390
movq %rax, -0xf8(%rbp)
jmp 0x6cd8
movq -0xf8(%rbp), %rdi
movl $0x1, -0x54(%rbp)
leaq -0x54(%rbp), %rsi
callq 0x8280
jmp 0x6cf1
movq -0xf8(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x8340
jmp 0x6d03
leaq -0x68(%rbp), %rdi
leaq -0x18(%rbp), %rsi
movq %rsi, -0x108(%rbp)
callq 0x8370
movq -0x108(%rbp), %rsi
leaq -0x88(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x8370
movq -0x100(%rbp), %rsi
movl $0x2, -0x8c(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x8c(%rbp), %rdx
callq 0x6fa0
jmp 0x6d54
leaq -0x88(%rbp), %rdi
callq 0x83a0
leaq -0xc0(%rbp), %rdi
movq %rdi, -0x110(%rbp)
leaq -0x18(%rbp), %rsi
callq 0x8370
movq -0x110(%rbp), %rsi
movl $0x3, -0xc4(%rbp)
leaq -0xb0(%rbp), %rdi
leaq -0xc4(%rbp), %rdx
callq 0x6fa0
jmp 0x6d9d
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x120(%rbp)
leaq -0xb0(%rbp), %rsi
movq %rsi, -0x128(%rbp)
callq 0x83c0
movq -0x128(%rbp), %rdi
callq 0x83f0
leaq -0xc0(%rbp), %rdi
callq 0x83a0
leaq -0xe8(%rbp), %rdi
movq %rdi, -0x118(%rbp)
leaq -0x78(%rbp), %rsi
callq 0x8410
movq -0x120(%rbp), %rsi
movq -0x118(%rbp), %rdx
leaq -0xd8(%rbp), %rdi
callq 0x7020
jmp 0x6e09
leaq -0xd8(%rbp), %rdi
callq 0x83a0
leaq -0xe8(%rbp), %rdi
callq 0x83a0
movq -0x8(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x7080
movq %rax, -0x130(%rbp)
jmp 0x6e37
movq -0x130(%rbp), %rdi
leaq 0x313d3(%rip), %rsi     # 0x38218
callq 0x6380
jmp 0x6e4c
movq -0x8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x70e0
movq %rax, -0x138(%rbp)
jmp 0x6e65
movq -0x138(%rbp), %rdi
leaq 0x313a5(%rip), %rsi     # 0x38218
callq 0x6380
jmp 0x6e7a
leaq -0xa0(%rbp), %rdi
callq 0x83a0
leaq -0x78(%rbp), %rdi
callq 0x83f0
leaq -0x68(%rbp), %rdi
callq 0x83a0
leaq -0x50(%rbp), %rdi
callq 0x83a0
leaq -0x18(%rbp), %rdi
callq 0x8440
movb $0x1, %al
andb $0x1, %al
addq $0x140, %rsp            # imm = 0x140
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x8320
jmp 0x6f8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x6f85
movq -0xf8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl $0x10, %esi
callq 0x63a0
jmp 0x6f85
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x83a0
jmp 0x6f73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x83a0
jmp 0x6f6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xe8(%rbp), %rdi
callq 0x83a0
jmp 0x6f5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x83a0
leaq -0x78(%rbp), %rdi
callq 0x83f0
leaq -0x68(%rbp), %rdi
callq 0x83a0
leaq -0x50(%rbp), %rdi
callq 0x83a0
leaq -0x18(%rbp), %rdi
callq 0x8440
movq -0x38(%rbp), %rdi
callq 0x6600
nopw (%rax,%rax)