// File: ahupowerdns[P]mcounter/./ext/doctest.h
// Function: doctest::assertString(doctest::assertType::Enum)
const char* assertString(assertType::Enum at) {
    DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4062) // enum 'x' in switch of enum 'y' is not handled
    switch(at) {  //!OCLINT missing default in switch statements
        case assertType::DT_WARN                    : return "WARN";
        case assertType::DT_CHECK                   : return "CHECK";
        case assertType::DT_REQUIRE                 : return "REQUIRE";

        case assertType::DT_WARN_FALSE              : return "WARN_FALSE";
        case assertType::DT_CHECK_FALSE             : return "CHECK_FALSE";
        case assertType::DT_REQUIRE_FALSE           : return "REQUIRE_FALSE";

        case assertType::DT_WARN_THROWS             : return "WARN_THROWS";
        case assertType::DT_CHECK_THROWS            : return "CHECK_THROWS";
        case assertType::DT_REQUIRE_THROWS          : return "REQUIRE_THROWS";

        case assertType::DT_WARN_THROWS_AS          : return "WARN_THROWS_AS";
        case assertType::DT_CHECK_THROWS_AS         : return "CHECK_THROWS_AS";
        case assertType::DT_REQUIRE_THROWS_AS       : return "REQUIRE_THROWS_AS";

        case assertType::DT_WARN_THROWS_WITH        : return "WARN_THROWS_WITH";
        case assertType::DT_CHECK_THROWS_WITH       : return "CHECK_THROWS_WITH";
        case assertType::DT_REQUIRE_THROWS_WITH     : return "REQUIRE_THROWS_WITH";

        case assertType::DT_WARN_THROWS_WITH_AS     : return "WARN_THROWS_WITH_AS";
        case assertType::DT_CHECK_THROWS_WITH_AS    : return "CHECK_THROWS_WITH_AS";
        case assertType::DT_REQUIRE_THROWS_WITH_AS  : return "REQUIRE_THROWS_WITH_AS";

        case assertType::DT_WARN_NOTHROW            : return "WARN_NOTHROW";
        case assertType::DT_CHECK_NOTHROW           : return "CHECK_NOTHROW";
        case assertType::DT_REQUIRE_NOTHROW         : return "REQUIRE_NOTHROW";

        case assertType::DT_WARN_EQ                 : return "WARN_EQ";
        case assertType::DT_CHECK_EQ                : return "CHECK_EQ";
        case assertType::DT_REQUIRE_EQ              : return "REQUIRE_EQ";
        case assertType::DT_WARN_NE                 : return "WARN_NE";
        case assertType::DT_CHECK_NE                : return "CHECK_NE";
        case assertType::DT_REQUIRE_NE              : return "REQUIRE_NE";
        case assertType::DT_WARN_GT                 : return "WARN_GT";
        case assertType::DT_CHECK_GT                : return "CHECK_GT";
        case assertType::DT_REQUIRE_GT              : return "REQUIRE_GT";
        case assertType::DT_WARN_LT                 : return "WARN_LT";
        case assertType::DT_CHECK_LT                : return "CHECK_LT";
        case assertType::DT_REQUIRE_LT              : return "REQUIRE_LT";
        case assertType::DT_WARN_GE                 : return "WARN_GE";
        case assertType::DT_CHECK_GE                : return "CHECK_GE";
        case assertType::DT_REQUIRE_GE              : return "REQUIRE_GE";
        case assertType::DT_WARN_LE                 : return "WARN_LE";
        case assertType::DT_CHECK_LE                : return "CHECK_LE";
        case assertType::DT_REQUIRE_LE              : return "REQUIRE_LE";

        case assertType::DT_WARN_UNARY              : return "WARN_UNARY";
        case assertType::DT_CHECK_UNARY             : return "CHECK_UNARY";
        case assertType::DT_REQUIRE_UNARY           : return "REQUIRE_UNARY";
        case assertType::DT_WARN_UNARY_FALSE        : return "WARN_UNARY_FALSE";
        case assertType::DT_CHECK_UNARY_FALSE       : return "CHECK_UNARY_FALSE";
        case assertType::DT_REQUIRE_UNARY_FALSE     : return "REQUIRE_UNARY_FALSE";
    }
    DOCTEST_MSVC_SUPPRESS_WARNING_POP
    return "";
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
subl $0x9, %eax
je 0x860f
jmp 0x8368
movl -0x10(%rbp), %eax
subl $0xa, %eax
je 0x861f
jmp 0x8376
movl -0x10(%rbp), %eax
subl $0xc, %eax
je 0x862f
jmp 0x8384
movl -0x10(%rbp), %eax
subl $0x11, %eax
je 0x866f
jmp 0x8392
movl -0x10(%rbp), %eax
subl $0x12, %eax
je 0x867f
jmp 0x83a0
movl -0x10(%rbp), %eax
subl $0x14, %eax
je 0x868f
jmp 0x83ae
movl -0x10(%rbp), %eax
subl $0x21, %eax
je 0x869f
jmp 0x83bc
movl -0x10(%rbp), %eax
subl $0x22, %eax
je 0x86af
jmp 0x83ca
movl -0x10(%rbp), %eax
subl $0x24, %eax
je 0x86bf
jmp 0x83d8
movl -0x10(%rbp), %eax
subl $0x41, %eax
je 0x86cf
jmp 0x83e6
movl -0x10(%rbp), %eax
subl $0x42, %eax
je 0x86df
jmp 0x83f4
movl -0x10(%rbp), %eax
subl $0x44, %eax
je 0x86ef
jmp 0x8402
movl -0x10(%rbp), %eax
subl $0x61, %eax
je 0x86ff
jmp 0x8410
movl -0x10(%rbp), %eax
subl $0x62, %eax
je 0x870f
jmp 0x841e
movl -0x10(%rbp), %eax
subl $0x64, %eax
je 0x871f
jmp 0x842c
movl -0x10(%rbp), %eax
subl $0x81, %eax
je 0x872f
jmp 0x843c
movl -0x10(%rbp), %eax
subl $0x82, %eax
je 0x873f
jmp 0x844c
movl -0x10(%rbp), %eax
subl $0x84, %eax
je 0x874f
jmp 0x845c
movl -0x10(%rbp), %eax
subl $0x109, %eax            # imm = 0x109
je 0x863f
jmp 0x846c
movl -0x10(%rbp), %eax
subl $0x10a, %eax            # imm = 0x10A
je 0x864f
jmp 0x847c
movl -0x10(%rbp), %eax
subl $0x10c, %eax            # imm = 0x10C
je 0x865f
jmp 0x848c
movl -0x10(%rbp), %eax
subl $0x209, %eax            # imm = 0x209
je 0x8876
jmp 0x849c
movl -0x10(%rbp), %eax
subl $0x20a, %eax            # imm = 0x20A
je 0x8883
jmp 0x84ac
movl -0x10(%rbp), %eax
subl $0x20c, %eax            # imm = 0x20C
je 0x8890
jmp 0x84bc
movl -0x10(%rbp), %eax
subl $0x309, %eax            # imm = 0x309
je 0x889d
jmp 0x84cc
movl -0x10(%rbp), %eax
subl $0x30a, %eax            # imm = 0x30A
je 0x88aa
jmp 0x84dc
movl -0x10(%rbp), %eax
subl $0x30c, %eax            # imm = 0x30C
je 0x88b7
jmp 0x84ec
movl -0x10(%rbp), %eax
subl $0x409, %eax            # imm = 0x409
je 0x875f
jmp 0x84fc
movl -0x10(%rbp), %eax
subl $0x40a, %eax            # imm = 0x40A
je 0x876f
jmp 0x850c
movl -0x10(%rbp), %eax
subl $0x40c, %eax            # imm = 0x40C
je 0x877f
jmp 0x851c
movl -0x10(%rbp), %eax
subl $0x809, %eax            # imm = 0x809
je 0x878f
jmp 0x852c
movl -0x10(%rbp), %eax
subl $0x80a, %eax            # imm = 0x80A
je 0x879f
jmp 0x853c
movl -0x10(%rbp), %eax
subl $0x80c, %eax            # imm = 0x80C
je 0x87af
jmp 0x854c
movl -0x10(%rbp), %eax
subl $0x1009, %eax           # imm = 0x1009
je 0x87ef
jmp 0x855c
movl -0x10(%rbp), %eax
subl $0x100a, %eax           # imm = 0x100A
je 0x87ff
jmp 0x856c
movl -0x10(%rbp), %eax
subl $0x100c, %eax           # imm = 0x100C
je 0x880f
jmp 0x857c
movl -0x10(%rbp), %eax
subl $0x2009, %eax           # imm = 0x2009
je 0x87bf
jmp 0x858c
movl -0x10(%rbp), %eax
subl $0x200a, %eax           # imm = 0x200A
je 0x87cf
jmp 0x859c
movl -0x10(%rbp), %eax
subl $0x200c, %eax           # imm = 0x200C
je 0x87df
jmp 0x85ac
movl -0x10(%rbp), %eax
subl $0x4009, %eax           # imm = 0x4009
je 0x881f
jmp 0x85bc
movl -0x10(%rbp), %eax
subl $0x400a, %eax           # imm = 0x400A
je 0x882f
jmp 0x85cc
movl -0x10(%rbp), %eax
subl $0x400c, %eax           # imm = 0x400C
je 0x883f
jmp 0x85dc
movl -0x10(%rbp), %eax
subl $0x8009, %eax           # imm = 0x8009
je 0x884f
jmp 0x85ec
movl -0x10(%rbp), %eax
subl $0x800a, %eax           # imm = 0x800A
je 0x885c
jmp 0x85fc
movl -0x10(%rbp), %eax
subl $0x800c, %eax           # imm = 0x800C
je 0x8869
jmp 0x88c4
leaq 0x2fd55(%rip), %rax     # 0x3836b
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd4a(%rip), %rax     # 0x38370
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd40(%rip), %rax     # 0x38376
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd38(%rip), %rax     # 0x3837e
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd33(%rip), %rax     # 0x38389
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd2f(%rip), %rax     # 0x38395
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd2d(%rip), %rax     # 0x383a3
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd29(%rip), %rax     # 0x383af
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd26(%rip), %rax     # 0x383bc
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd25(%rip), %rax     # 0x383cb
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd24(%rip), %rax     # 0x383da
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd24(%rip), %rax     # 0x383ea
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd26(%rip), %rax     # 0x383fc
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd27(%rip), %rax     # 0x3840d
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd29(%rip), %rax     # 0x3841f
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd2d(%rip), %rax     # 0x38433
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd31(%rip), %rax     # 0x38447
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd36(%rip), %rax     # 0x3845c
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd3d(%rip), %rax     # 0x38473
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd3a(%rip), %rax     # 0x38480
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd38(%rip), %rax     # 0x3848e
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd38(%rip), %rax     # 0x3849e
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd30(%rip), %rax     # 0x384a6
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd29(%rip), %rax     # 0x384af
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd24(%rip), %rax     # 0x384ba
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd1c(%rip), %rax     # 0x384c2
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd15(%rip), %rax     # 0x384cb
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd10(%rip), %rax     # 0x384d6
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd08(%rip), %rax     # 0x384de
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fd01(%rip), %rax     # 0x384e7
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcfc(%rip), %rax     # 0x384f2
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcf4(%rip), %rax     # 0x384fa
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fced(%rip), %rax     # 0x38503
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fce8(%rip), %rax     # 0x3850e
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fce0(%rip), %rax     # 0x38516
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcd9(%rip), %rax     # 0x3851f
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcd4(%rip), %rax     # 0x3852a
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fccf(%rip), %rax     # 0x38532
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fccb(%rip), %rax     # 0x3853b
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcc9(%rip), %rax     # 0x38546
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcc7(%rip), %rax     # 0x38551
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcc6(%rip), %rax     # 0x3855d
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcc7(%rip), %rax     # 0x3856b
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fccb(%rip), %rax     # 0x3857c
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fcd0(%rip), %rax     # 0x3858e
movq %rax, -0x8(%rbp)
jmp 0x88cf
leaq 0x2fdce(%rip), %rax     # 0x38699
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
popq %rbp
retq
nopw %cs:(%rax,%rax)