// File: /workspace/github_c_makefile_star2_O0/skeeto[P]hash-prospector/hp16.c
// Function: hf_genaxs
static void
hf_genaxs(struct hf_op *ops, long i)
{
    int shifts[] = {
        1 + (i /      1) % 15,
        1 + (i /     15) % 15,
        1 + (i /    225) % 15,
        1 + (i /   3375) % 15,
        1 + (i /  50625) % 15,
        1 + (i / 759375) % 15,
    };
    int types[] = {
        (i / 11390625) % 2,
        (i / 22781250) % 2,
        (i / 45562500) % 2,
    };
    int swap = (i / 91125000) % 2;
    for (int j = 0; j < 6; j += 2) {
        ops[j+ swap].type = types[j/2] ? HF16_ADDL : HF16_SUBL;
        ops[j+ swap].imm = shifts[j+0];
        ops[j+!swap].type = HF16_XORR;
        ops[j+!swap].imm = shifts[j+1];
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x1, %ecx
cqto
idivq %rcx
movl $0xf, %ecx
cqto
idivq %rcx
addq $0x1, %rdx
movl %edx, %eax
movl %eax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movl $0xf, %ecx
cqto
idivq %rcx
movl $0xf, %ecx
cqto
idivq %rcx
addq $0x1, %rdx
movl %edx, %eax
movl %eax, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movl $0xe1, %ecx
cqto
idivq %rcx
movl $0xf, %ecx
cqto
idivq %rcx
addq $0x1, %rdx
movl %edx, %eax
movl %eax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movl $0xd2f, %ecx            # imm = 0xD2F
cqto
idivq %rcx
movl $0xf, %ecx
cqto
idivq %rcx
addq $0x1, %rdx
movl %edx, %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movl $0xc5c1, %ecx           # imm = 0xC5C1
cqto
idivq %rcx
movl $0xf, %ecx
cqto
idivq %rcx
addq $0x1, %rdx
movl %edx, %eax
movl %eax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl $0xb964f, %ecx          # imm = 0xB964F
cqto
idivq %rcx
movl $0xf, %ecx
cqto
idivq %rcx
addq $0x1, %rdx
movl %edx, %eax
movl %eax, -0x1c(%rbp)
movq -0x10(%rbp), %rax
movl $0xadcea1, %ecx         # imm = 0xADCEA1
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
movl %edx, %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movl $0x15b9d42, %ecx        # imm = 0x15B9D42
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
movl %edx, %eax
movl %eax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl $0x2b73a84, %ecx        # imm = 0x2B73A84
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
movl %edx, %eax
movl %eax, -0x34(%rbp)
movq -0x10(%rbp), %rax
movl $0x56e7508, %ecx        # imm = 0x56E7508
cqto
idivq %rcx
movl $0x2, %ecx
cqto
idivq %rcx
movl %edx, %eax
movl %eax, -0x40(%rbp)
movl $0x0, -0x44(%rbp)
cmpl $0x6, -0x44(%rbp)
jge 0x1df6
movl -0x44(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cltq
movl -0x3c(%rbp,%rax,4), %ecx
movl $0x8, %edx
movl $0x7, %eax
cmpl $0x0, %ecx
cmovnel %eax, %edx
movq -0x8(%rbp), %rax
movl -0x44(%rbp), %ecx
addl -0x40(%rbp), %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,8)
movl -0x44(%rbp), %eax
addl $0x0, %eax
cltq
movl -0x30(%rbp,%rax,4), %edx
movq -0x8(%rbp), %rax
movl -0x44(%rbp), %ecx
addl -0x40(%rbp), %ecx
movslq %ecx, %rcx
movl %edx, 0x4(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movl -0x44(%rbp), %ecx
cmpl $0x0, -0x40(%rbp)
setne %dl
xorb $-0x1, %dl
andb $0x1, %dl
movzbl %dl, %edx
addl %edx, %ecx
movslq %ecx, %rcx
movl $0x6, (%rax,%rcx,8)
movl -0x44(%rbp), %eax
addl $0x1, %eax
cltq
movl -0x30(%rbp,%rax,4), %edx
movq -0x8(%rbp), %rax
movl -0x44(%rbp), %ecx
cmpl $0x0, -0x40(%rbp)
setne %sil
xorb $-0x1, %sil
andb $0x1, %sil
movzbl %sil, %esi
addl %esi, %ecx
movslq %ecx, %rcx
movl %edx, 0x4(%rax,%rcx,8)
movl -0x44(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x44(%rbp)
jmp 0x1d3d
popq %rbp
retq
nopl (%rax,%rax)