// File: /workspace/github_c_makefile_star2_O2/dnbaker[P]fastiota/testfastiota_c.c
// Function: main
int main() {
    int n = 400;
    uint32_t *ptr = (uint32_t *)malloc(n * sizeof(uint32_t));
    fastiota32(ptr, n, 13);
    for(uint32_t *s = ptr; s < ptr + n; ++s) fprintf(stderr, "%u,", *s);
    fputc('\n', stderr);
    free(ptr);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
pushq %rax
movl $0x640, %edi            # imm = 0x640
callq 0x1070
movq %rax, %rbx
movq %rax, %rdx
andq $0xf, %rdx
je 0x1241
pushq $0xd
popq %rax
leaq -0x1(%rdx), %rcx
leaq 0xf54(%rip), %rdi       # 0x2100
movslq (%rdi,%rcx,4), %rsi
addq %rdi, %rsi
movq %rbx, %rcx
jmpq *%rsi
movq %rbx, %rcx
addq $0x4, %rcx
movl $0xd, (%rbx)
pushq $0xe
popq %rax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
orq $0x180, %rdx            # imm = 0x180
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
jmp 0x124c
movl $0x190, %edx            # imm = 0x190
pushq $0xd
popq %rax
movq %rbx, %rcx
testb $0x3f, %cl
jne 0x1403
leaq (%rcx,%rdx,4), %rsi
vpbroadcastd %eax, %ymm0
vpaddd 0xdb9(%rip), %ymm0, %ymm1 # 0x2020
vpmovsxbd 0xeef(%rip), %zmm2 # 0x2160
vpermi2d %zmm0, %zmm1, %zmm2
vpaddd 0xec1(%rip), %xmm0, %xmm1 # 0x2140
vpmovsxbd 0xee7(%rip), %zmm3 # 0x2170
vpermi2d %zmm1, %zmm2, %zmm3
leal 0xd(%rax), %edi
movw $0x2000, %r8w           # imm = 0x2000
kmovd %r8d, %k1
vpbroadcastd %edi, %zmm3 {%k1}
vpaddd 0xea6(%rip), %xmm0, %xmm1 # 0x2150
vpmovsxbq 0xedc(%rip), %zmm0 # 0x2190
vpermi2q %zmm1, %zmm3, %zmm0
shll $0x2, %edx
vpbroadcastd 0xeb9(%rip), %zmm1 # 0x2180
vpbroadcastd 0xeb3(%rip), %zmm2 # 0x2184
xorl %r8d, %r8d
vpbroadcastd 0xeaa(%rip), %zmm3 # 0x2188
vpbroadcastd 0xea4(%rip), %zmm4 # 0x218c
movl $0x100, %r9d            # imm = 0x100
movq %rcx, %rdi
cmpq $0x3d, %rdx
jb 0x135e
vmovdqa64 %zmm0, (%rcx,%r8)
leaq -0x40(%rdx), %r10
cmpq $0x3d, %r10
jl 0x1366
vpaddd %zmm1, %zmm0, %zmm5
vmovdqa64 %zmm5, 0x40(%rcx,%r8)
leaq -0x80(%rdx), %r10
cmpq $0x3d, %r10
jl 0x1374
vpaddd %zmm2, %zmm0, %zmm5
vmovdqa64 %zmm5, 0x80(%rcx,%r8)
leaq -0xc0(%rdx), %r10
cmpq $0x3d, %r10
jl 0x1385
vpaddd %zmm3, %zmm0, %zmm5
vmovdqa64 %zmm5, 0xc0(%rcx,%r8)
vpaddd %zmm4, %zmm0, %zmm0
addq %r9, %rdi
addq %r9, %r8
addq $-0x100, %rdx
jmp 0x12f1
movq %rcx, %rdx
addq %r8, %rdx
jmp 0x1393
addq $0x40, %rdi
leaq (%rcx,%r8), %rdx
addq $0x40, %rdx
jmp 0x1393
subq $-0x80, %rdi
leaq (%rcx,%r8), %rdx
addq $0x80, %rdx
jmp 0x1393
leaq (%rcx,%r8), %rdx
addq $0xc0, %rdx
movq %rdx, %rdi
subq %rcx, %rdi
shrq $0x2, %rdi
addl %edi, %eax
cmpq %rsi, %rdx
jae 0x13ab
movl %eax, (%rdx)
addq $0x4, %rdx
incl %eax
jmp 0x139c
movq 0x2c46(%rip), %r15      # 0x3ff8
leaq 0xddf(%rip), %r14       # 0x2198
xorl %r12d, %r12d
cmpq $0x640, %r12            # imm = 0x640
jae 0x13df
movq (%r15), %rdi
movl (%rbx,%r12), %edx
movq %r14, %rsi
xorl %eax, %eax
vzeroupper
callq 0x1060
addq $0x4, %r12
jmp 0x13bc
movq (%r15), %rsi
pushq $0xa
popq %rdi
vzeroupper
callq 0x1050
movq %rbx, %rdi
callq 0x1030
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0xd92(%rip), %rdi       # 0x219c
leaq 0xdac(%rip), %rsi       # 0x21bd
leaq 0xdb4(%rip), %rcx       # 0x21cc
pushq $0x32
popq %rdx
callq 0x1040