// File: /workspace/github_c_makefile_star2_O1/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 0x1245
movl $0xd, %eax
leaq -0x1(%rdx), %rcx
leaq 0xfd2(%rip), %rdi       # 0x2180
movslq (%rdi,%rcx,4), %rsi
addq %rdi, %rsi
movq %rbx, %rcx
jmpq *%rsi
movq %rbx, %rcx
addq $0x4, %rcx
movl $0xd, (%rbx)
movl $0xe, %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
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
orq $0x180, %rdx            # imm = 0x180
movl %eax, (%rcx)
addq $0x4, %rcx
incl %eax
jmp 0x1252
movl $0x190, %edx            # imm = 0x190
movl $0xd, %eax
movq %rbx, %rcx
testb $0x3f, %cl
jne 0x1467
vpbroadcastd %eax, %ymm0
vpaddd 0xdb7(%rip), %ymm0, %ymm1 # 0x2020
vpmovsxbd 0xf6d(%rip), %zmm2 # 0x21e0
vpermi2d %zmm0, %zmm1, %zmm2
vpaddd 0xf3f(%rip), %xmm0, %xmm1 # 0x21c0
vpmovsxbd 0xf65(%rip), %zmm3 # 0x21f0
vpermi2d %zmm1, %zmm2, %zmm3
leal 0xd(%rax), %esi
movw $0x2000, %di            # imm = 0x2000
kmovd %edi, %k1
vpaddd 0xf2c(%rip), %xmm0, %xmm1 # 0x21d0
vpmovsxbq 0xf66(%rip), %zmm0 # 0x2214
vpbroadcastd %esi, %zmm3 {%k1}
vpermi2q %zmm1, %zmm3, %zmm0
leal -0x3d(,%rdx,4), %edi
shrl $0x6, %edi
incl %edi
andl $0x3, %edi
je 0x12f3
shll $0x6, %edi
vpbroadcastd 0xf28(%rip), %zmm1 # 0x2200
movq %rcx, %rsi
vmovdqa64 %zmm0, (%rsi)
vpaddd %zmm1, %zmm0, %zmm0
addq $0x40, %rsi
addq $-0x40, %rdi
jne 0x12db
jmp 0x12f6
movq %rcx, %rsi
leaq (%rcx,%rdx,4), %rdi
vpbroadcastd 0xefc(%rip), %zmm1 # 0x2200
vpbroadcastd 0xef6(%rip), %zmm2 # 0x2204
vpbroadcastd 0xef0(%rip), %zmm3 # 0x2208
vpbroadcastd 0xeea(%rip), %zmm4 # 0x220c
vmovdqa64 %zmm0, (%rsi)
vpaddd %zmm1, %zmm0, %zmm5
vmovdqa64 %zmm5, 0x40(%rsi)
vpaddd %zmm2, %zmm0, %zmm5
vmovdqa64 %zmm5, 0x80(%rsi)
vpaddd %zmm3, %zmm0, %zmm5
vmovdqa64 %zmm5, 0xc0(%rsi)
vpaddd %zmm4, %zmm0, %zmm0
addq $0x100, %rsi            # imm = 0x100
movq %rdi, %r8
subq %rsi, %r8
cmpq $0x3c, %r8
jg 0x1322
cmpq %rdi, %rsi
jae 0x140d
movabsq $0x7fffffffffffffc0, %r8 # imm = 0x7FFFFFFFFFFFFFC0
leaq (%r8,%rdx,4), %rdx
andq %r8, %rdx
leaq (%rdx,%rcx), %r9
addq $0x44, %r9
addq %rcx, %rdx
cmpq %rdi, %r9
cmovaq %r9, %rdi
subq %rdx, %rdi
addq $-0x41, %rdi
vpbroadcastq %rdi, %zmm1
shrq $0x2, %rdi
movq %rsi, %rdx
subq %rcx, %rdx
shrq $0x2, %rdx
addl %edx, %eax
addq $0x8, %rdi
orq $0x38, %r8
andq %rdi, %r8
vpbroadcastd %eax, %ymm0
vpaddd 0xc76(%rip), %ymm0, %ymm0 # 0x2040
vpsrlq $0x2, %zmm1, %zmm1
xorl %eax, %eax
vpmovsxbq 0xe3f(%rip), %zmm2 # 0x221c
vpbroadcastd 0xe2a(%rip), %ymm3 # 0x2210
vpbroadcastq %rax, %zmm4
vporq %zmm2, %zmm4, %zmm4
vpcmpleuq %zmm1, %zmm4, %k1
vmovdqu32 %ymm0, (%rsi,%rax,4) {%k1}
addq $0x8, %rax
vpaddd %ymm3, %ymm0, %ymm0
cmpq %rax, %r8
jne 0x13e6
movq $-0x4, %r12
movq 0x2bdd(%rip), %r15      # 0x3ff8
leaq 0xe02(%rip), %r14       # 0x2224
movq (%r15), %rdi
movl 0x4(%rbx,%r12), %edx
movq %r14, %rsi
xorl %eax, %eax
vzeroupper
callq 0x1060
addq $0x4, %r12
cmpq $0x63c, %r12            # imm = 0x63C
jb 0x1422
movq (%r15), %rsi
movl $0xa, %edi
callq 0x1050
movq %rbx, %rdi
callq 0x1030
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
leaq 0xdba(%rip), %rdi       # 0x2228
leaq 0xdd4(%rip), %rsi       # 0x2249
leaq 0xddc(%rip), %rcx       # 0x2258
movl $0x32, %edx
callq 0x1040