// File: /workspace/github_c_makefile_star2_O2/KhronosGroup[P]dfdutils/testbidirectionalmapping.c
// Function: main
int main(int argc, char** argv)
{
    unsigned int i;
    for (i = 1; i <= 184; ++i) {
        uint32_t *dfd = getmap((enum VkFormat)i);
        VkFormat f = unmap(dfd);
        if (i != f) printf("Input and output enums differ: %s (%d) -> %s (%d)\n",
                           formatname(i),i, formatname(f),f);
        free((void *)dfd);
    }


    for (i = VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG;
         i <= VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG; ++i) {
        uint32_t *dfd = getmap((enum VkFormat)i);
        VkFormat f = unmap(dfd);
        if (i != f) printf("Input and output enums differ: %s (%d) -> %s (%d)\n",
                           formatname(i),i, formatname(f),f);
        free((void *)dfd);
    }

    for (i = VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT;
         i <= VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT; ++i) {
        uint32_t *dfd = getmap((enum VkFormat)i);
        VkFormat f = unmap(dfd);
        if (i != f) printf("Input and output enums differ: %s (%d) -> %s (%d)\n",
                           formatname(i),i, formatname(f),f);
        free((void *)dfd);
    }

    for (i = VK_FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT;
         i <= VK_FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT; ++i) {
        uint32_t *dfd = getmap((enum VkFormat)i);
        VkFormat f = unmap(dfd);
        if (i != f) printf("Input and output enums differ: %s (%d) -> %s (%d)\n",
                           formatname(i),i, formatname(f),f);
        free((void *)dfd);
    }
    return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
pushq $0x1
popq %rbx
leaq 0x3d88(%rip), %r14      # 0x7a09
cmpl $0xb9, %ebx
je 0x3cd5
movl %ebx, %edi
callq 0x1e9d
movq %rax, %r15
movq %rax, %rdi
callq 0x2d98
cmpl %eax, %ebx
je 0x3cc9
movl %eax, %r12d
movl %ebx, %edi
callq 0x117c
movq %rax, %r13
movl %r12d, %edi
callq 0x117c
movq %r14, %rdi
movq %r13, %rsi
movl %ebx, %edx
movq %rax, %rcx
movl %r12d, %r8d
xorl %eax, %eax
callq 0x1040
movq %r15, %rdi
callq 0x1030
incl %ebx
jmp 0x3c81
movl $0x3b9b9cf0, %ebx       # imm = 0x3B9B9CF0
leaq 0x3d28(%rip), %r14      # 0x7a09
cmpl $0x3b9b9cf8, %ebx       # imm = 0x3B9B9CF8
je 0x3d35
movl %ebx, %edi
callq 0x1e9d
movq %rax, %r15
movq %rax, %rdi
callq 0x2d98
cmpl %eax, %ebx
je 0x3d29
movl %eax, %r12d
movl %ebx, %edi
callq 0x117c
movq %rax, %r13
movl %r12d, %edi
callq 0x117c
movq %r14, %rdi
movq %r13, %rsi
movl %ebx, %edx
movq %rax, %rcx
movl %r12d, %r8d
xorl %eax, %eax
callq 0x1040
movq %r15, %rdi
callq 0x1030
incl %ebx
jmp 0x3ce1
movl $0x3b9bcbd0, %ebx       # imm = 0x3B9BCBD0
leaq 0x3cc8(%rip), %r14      # 0x7a09
cmpl $0x3b9bcbde, %ebx       # imm = 0x3B9BCBDE
je 0x3d95
movl %ebx, %edi
callq 0x1e9d
movq %rax, %r15
movq %rax, %rdi
callq 0x2d98
cmpl %eax, %ebx
je 0x3d89
movl %eax, %r12d
movl %ebx, %edi
callq 0x117c
movq %rax, %r13
movl %r12d, %edi
callq 0x117c
movq %r14, %rdi
movq %r13, %rsi
movl %ebx, %edx
movq %rax, %rcx
movl %r12d, %r8d
xorl %eax, %eax
callq 0x1040
movq %r15, %rdi
callq 0x1030
incl %ebx
jmp 0x3d41
movl $0x3b9f2f00, %ebx       # imm = 0x3B9F2F00
leaq 0x3c68(%rip), %r14      # 0x7a09
cmpl $0x3b9f2f1e, %ebx       # imm = 0x3B9F2F1E
je 0x3df5
movl %ebx, %edi
callq 0x1e9d
movq %rax, %r15
movq %rax, %rdi
callq 0x2d98
cmpl %eax, %ebx
je 0x3de9
movl %eax, %r12d
movl %ebx, %edi
callq 0x117c
movq %rax, %r13
movl %r12d, %edi
callq 0x117c
movq %r14, %rdi
movq %r13, %rsi
movl %ebx, %edx
movq %rax, %rcx
movl %r12d, %r8d
xorl %eax, %eax
callq 0x1040
movq %r15, %rdi
callq 0x1030
incl %ebx
jmp 0x3da1
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop