// File: eecs280staff[P]unit_test_framework/./unit_test_framework.hpp
// Function: unit_test_framework::TestCase::run(bool)
void run(bool quiet_mode) {
      try {
        if (not quiet_mode) {
          std::cout << "Running test: " << name << std::endl;
        }

        test_func();

        if (not quiet_mode) {
          std::cout << "PASS" << std::endl;
        }
      }
      catch (TestFailure& failure) {
        failure_msg = failure.to_string();

        if (not quiet_mode) {
          std::cout << "FAIL" << std::endl;
        }
      }
      catch (std::exception& e) {
        std::ostringstream oss;
        oss << "Uncaught " << Diagnostic::demangle(typeid(e).name())
            << " in test \"" << name << "\": \n";
        oss << e.what() << '\n';
        exception_msg = oss.str();

        if (not quiet_mode) {
          std::cout << "ERROR" << std::endl;
        }
      }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x270, %rsp            # imm = 0x270
movb %sil, %al
movq %rdi, -0x8(%rbp)
andb $0x1, %al
movb %al, -0x9(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x210(%rbp)
testb $0x1, -0x9(%rbp)
jne 0x6278
movq 0x7fd5(%rip), %rdi      # 0xdfc8
leaq 0x32a6(%rip), %rsi      # 0x92a0
callq 0x3220
movq %rax, -0x218(%rbp)
jmp 0x6008
movq -0x210(%rbp), %rsi
movq -0x218(%rbp), %rdi
callq 0x3210
movq %rax, -0x220(%rbp)
jmp 0x6024
movq -0x220(%rbp), %rdi
movq 0x7f76(%rip), %rsi      # 0xdfa8
callq 0x3270
jmp 0x6039
jmp 0x6278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x224(%rbp)
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x60e8
movq -0x18(%rbp), %rdi
callq 0x30e0
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rsi
leaq -0x208(%rbp), %rdi
callq 0x7e80
jmp 0x6085
movq -0x210(%rbp), %rdi
addq $0x28, %rdi
leaq -0x208(%rbp), %rsi
callq 0x32f0
leaq -0x208(%rbp), %rdi
callq 0x3160
testb $0x1, -0x9(%rbp)
jne 0x6333
movq 0x7f0f(%rip), %rdi      # 0xdfc8
leaq 0x3214(%rip), %rsi      # 0x92d4
callq 0x3220
movq %rax, -0x230(%rbp)
jmp 0x60ce
movq -0x230(%rbp), %rdi
movq 0x7ecc(%rip), %rsi      # 0xdfa8
callq 0x3270
jmp 0x60e3
jmp 0x6333
movl -0x224(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x6343
movq -0x18(%rbp), %rdi
callq 0x30e0
movq %rax, -0x28(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x3310
jmp 0x6116
leaq 0x3197(%rip), %rsi      # 0x92b4
leaq -0x1a0(%rbp), %rdi
callq 0x3220
movq %rax, -0x238(%rbp)
jmp 0x6132
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rax), %rdi
callq 0x7e40
movq %rax, %rsi
leaq -0x1c0(%rbp), %rdi
callq 0x7d30
jmp 0x6153
movq -0x238(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0x3210
movq %rax, -0x240(%rbp)
jmp 0x616f
movq -0x240(%rbp), %rdi
leaq 0x3141(%rip), %rsi      # 0x92be
callq 0x3220
movq %rax, -0x248(%rbp)
jmp 0x618b
movq -0x210(%rbp), %rsi
movq -0x248(%rbp), %rdi
callq 0x3210
movq %rax, -0x250(%rbp)
jmp 0x61a7
movq -0x250(%rbp), %rdi
leaq 0x3114(%rip), %rsi      # 0x92c9
callq 0x3220
jmp 0x61bc
leaq -0x1c0(%rbp), %rdi
callq 0x3160
movq -0x28(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x3220
movq %rax, -0x258(%rbp)
jmp 0x61ed
movq -0x258(%rbp), %rdi
movl $0xa, %esi
callq 0x32c0
jmp 0x6200
leaq -0x1e0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x3250
jmp 0x6215
movq -0x210(%rbp), %rdi
addq $0x48, %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x32f0
leaq -0x1e0(%rbp), %rdi
callq 0x3160
testb $0x1, -0x9(%rbp)
jne 0x62f8
movq 0x7d7f(%rip), %rdi      # 0xdfc8
leaq 0x307e(%rip), %rsi      # 0x92ce
callq 0x3220
movq %rax, -0x260(%rbp)
jmp 0x625e
movq -0x260(%rbp), %rdi
movq 0x7d3c(%rip), %rsi      # 0xdfa8
callq 0x3270
jmp 0x6273
jmp 0x62f8
movq -0x210(%rbp), %rax
movq 0x20(%rax), %rax
callq *%rax
jmp 0x6287
testb $0x1, -0x9(%rbp)
jne 0x62c0
movq 0x7d34(%rip), %rdi      # 0xdfc8
leaq 0x3014(%rip), %rsi      # 0x92af
callq 0x3220
movq %rax, -0x268(%rbp)
jmp 0x62a9
movq -0x268(%rbp), %rdi
movq 0x7cf1(%rip), %rsi      # 0xdfa8
callq 0x3270
jmp 0x62be
jmp 0x62c0
jmp 0x6338
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x6317
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
jmp 0x630b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x3160
jmp 0x630b
leaq -0x1a0(%rbp), %rdi
callq 0x3080
callq 0x3390
jmp 0x6338
leaq -0x1a0(%rbp), %rdi
callq 0x3080
callq 0x3390
jmp 0x631e
jmp 0x6343
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x18(%rbp)
movl %eax, -0x1c(%rbp)
callq 0x3390
jmp 0x6341
callq 0x3390
addq $0x270, %rsp            # imm = 0x270
popq %rbp
retq
jmp 0x6343
movq -0x18(%rbp), %rdi
callq 0x33e0
movq %rax, %rdi
callq 0x4930
nopw %cs:(%rax,%rax)
nop