// File: /workspace/github_c_makefile_star2_O3/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
movl $0x1, %ebx
leaq 0x482a(%rip), %r14      # 0x8a09
movl %ebx, %edi
callq 0x1ead
movq %rax, %r15
movq %rax, %rdi
callq 0x31f1
cmpl %eax, %ebx
je 0x421f
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
cmpl $0xb9, %ebx
jne 0x41df
movl $0x3b9b9cf0, %ebx       # imm = 0x3B9B9CF0
leaq 0x47cc(%rip), %r14      # 0x8a09
movl %ebx, %edi
callq 0x1ead
movq %rax, %r15
movq %rax, %rdi
callq 0x31f1
cmpl %eax, %ebx
je 0x427d
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
cmpl $0x3b9b9cf8, %ebx       # imm = 0x3B9B9CF8
jne 0x423d
movl $0x3b9bcbd0, %ebx       # imm = 0x3B9BCBD0
leaq 0x476e(%rip), %r14      # 0x8a09
movl %ebx, %edi
callq 0x1ead
movq %rax, %r15
movq %rax, %rdi
callq 0x31f1
cmpl %eax, %ebx
je 0x42db
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
cmpl $0x3b9bcbde, %ebx       # imm = 0x3B9BCBDE
jne 0x429b
movl $0x3b9f2f00, %ebx       # imm = 0x3B9F2F00
leaq 0x4710(%rip), %r14      # 0x8a09
movl %ebx, %edi
callq 0x1ead
movq %rax, %r15
movq %rax, %rdi
callq 0x31f1
cmpl %eax, %ebx
je 0x4339
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
cmpl $0x3b9f2f1e, %ebx       # imm = 0x3B9F2F1E
jne 0x42f9
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq