// File: /workspace/github_cpp_makefile_star2_O1/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 %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x198, %rsp            # imm = 0x198
movl %esi, %ebx
movq %rdi, %r14
testl %esi, %esi
jne 0x3a64
movq 0x45b2(%rip), %rdi      # 0x7fc8
leaq 0x18c9(%rip), %rsi      # 0x52e6
movl $0xe, %edx
callq 0x2230
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq 0x4593(%rip), %rdi      # 0x7fc8
callq 0x2230
movq %rax, %r15
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq %r15, %rdi
callq 0x2030
movq %rax, %rdi
callq 0x2150
callq *0x20(%r14)
testb %bl, %bl
jne 0x3ab2
movq 0x4555(%rip), %r15      # 0x7fc8
leaq 0x187b(%rip), %rsi      # 0x52f5
movl $0x4, %edx
movq %r15, %rdi
callq 0x2230
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0x21e0
movsbl %al, %esi
movq 0x4523(%rip), %rdi      # 0x7fc8
callq 0x2030
movq %rax, %rdi
callq 0x2150
addq $0x198, %rsp            # imm = 0x198
popq %rbx
popq %r12
popq %r14
popq %r15
retq
movq %rax, %r15
cmpl $0x2, %edx
jne 0x3b3d
movq %r15, %rdi
callq 0x20d0
leaq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x4504
addq $0x28, %r14
leaq 0x20(%rsp), %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x2260
movq (%r15), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x3b0c
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x2210
testb %bl, %bl
jne 0x3c9c
movq 0x44ad(%rip), %rdi      # 0x7fc8
leaq 0x17f8(%rip), %rsi      # 0x531a
movl $0x4, %edx
callq 0x2230
movq 0x4495(%rip), %rdi      # 0x7fc8
callq 0x20f0
jmp 0x3c9c
cmpl $0x1, %edx
jne 0x3d01
movq %r15, %rdi
callq 0x20d0
movq %rax, %r15
leaq 0x20(%rsp), %rdi
callq 0x2270
leaq 0x1798(%rip), %rsi      # 0x52fa
leaq 0x20(%rsp), %rdi
movl $0x9, %edx
callq 0x2230
movq (%r15), %rax
movq -0x8(%rax), %rax
movq 0x8(%rax), %rax
xorl %esi, %esi
cmpb $0x2a, (%rax)
sete %sil
addq %rax, %rsi
movq %rsp, %rdi
callq 0x4496
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rdi
callq 0x2230
movq %rax, %r12
leaq 0x1757(%rip), %rsi      # 0x5304
movl $0xa, %edx
movq %rax, %rdi
callq 0x2230
movq (%r14), %rsi
movq 0x8(%r14), %rdx
movq %r12, %rdi
callq 0x2230
leaq 0x173f(%rip), %rsi      # 0x530f
movl $0x4, %edx
movq %rax, %rdi
callq 0x2230
leaq 0x10(%rsp), %r12
movq -0x10(%r12), %rdi
cmpq %r12, %rdi
je 0x3bf9
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2210
movq (%r15), %rax
movq %r15, %rdi
callq *0x10(%rax)
leaq 0x20(%rsp), %rdi
movq %rax, %rsi
callq 0x21f0
movq %rsp, %rsi
movb $0xa, (%rsi)
movl $0x1, %edx
movq %rax, %rdi
callq 0x2230
leaq 0x28(%rsp), %rsi
movq %rsp, %rdi
callq 0x22d0
addq $0x48, %r14
movq %rsp, %r15
movq %r14, %rdi
movq %r15, %rsi
callq 0x2260
movq (%r15), %rdi
cmpq %r12, %rdi
je 0x3c56
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2210
testb %bl, %bl
jne 0x3c7e
movq 0x4367(%rip), %rdi      # 0x7fc8
leaq 0x16ac(%rip), %rsi      # 0x5314
movl $0x5, %edx
callq 0x2230
movq 0x434f(%rip), %rdi      # 0x7fc8
callq 0x20f0
movq 0x433b(%rip), %rsi      # 0x7fc0
leaq 0x20(%rsp), %rdi
callq 0x2120
leaq 0x90(%rsp), %rdi
callq 0x20a0
callq 0x22f0
jmp 0x3ab2
jmp 0x3cbb
jmp 0x3cbb
movq %rax, %r15
jmp 0x3cfc
jmp 0x3cb1
movq %rax, %r15
callq 0x22f0
jmp 0x3d01
movq %rax, %r15
jmp 0x3cde
movq %rax, %r15
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x3cde
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x2210
movq 0x42db(%rip), %rsi      # 0x7fc0
leaq 0x20(%rsp), %rdi
callq 0x2120
leaq 0x90(%rsp), %rdi
callq 0x20a0
callq 0x22f0
movq %r15, %rdi
callq 0x2330
movq %rax, %rdi
callq 0x30ba
nop