// File: /workspace/github_cpp_makefile_star2_O2/BU-DiSC[P]BF-Shared-Hashing/hash/xxh3p.h
// Function: ROCKSDB_XXH3p_128bits
XXH_PUBLIC_API XXH128_hash_t XXH3p_128bits(const void* input, size_t len)
{
    if (len <= 16) return XXH3p_len_0to16_128b((const xxh_u8*)input, len, kSecret, 0);
    if (len <= 128) return XXH3p_len_17to128_128b((const xxh_u8*)input, len, kSecret, sizeof(kSecret), 0);
    if (len <= XXH3p_MIDSIZE_MAX) return XXH3p_len_129to240_128b((const xxh_u8*)input, len, kSecret, sizeof(kSecret), 0);
    return XXH3p_hashLong_128b_defaultSecret((const xxh_u8*)input, len);
}

// Assembly:
cmpq $0x10, %rsi
ja 0x1f4d0
cmpq $0x9, %rsi
jb 0x1f574
movabsq $0x1cad21f72c81017c, %rcx # imm = 0x1CAD21F72C81017C
xorq -0x8(%rdi,%rsi), %rcx
movq (%rdi), %rdx
xorq %rcx, %rdx
movabsq $-0x41b45bdcc6930148, %rax # imm = 0xBE4BA423396CFEB8
xorq %rdx, %rax
movabsq $-0x61c8864e7a143579, %rdi # imm = 0x9E3779B185EBCA87
mulq %rdi
imulq $0x165667b1, %rsi, %rsi # imm = 0x165667B1
addq %rsi, %rax
imulq %rdi, %rcx
addq %rdx, %rcx
movq %rcx, %rdx
shrq $0x20, %rdx
xorq %rdx, %rax
movabsq $-0x3d4d51c2d82b14b1, %rsi # imm = 0xC2B2AE3D27D4EB4F
mulq %rsi
imulq %rsi, %rcx
addq %rdx, %rcx
movq %rax, %rdx
shrq $0x25, %rdx
xorq %rax, %rdx
movabsq $0x165667b19e3779f9, %rsi # imm = 0x165667B19E3779F9
imulq %rsi, %rdx
movq %rdx, %rax
shrq $0x20, %rax
xorq %rdx, %rax
movq %rcx, %rdi
shrq $0x25, %rdi
xorq %rcx, %rdi
imulq %rsi, %rdi
movq %rdi, %rdx
shrq $0x20, %rdx
xorq %rdi, %rdx
retq
cmpq $0x80, %rsi
ja 0x1f644
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
movq %rsi, %r8
imulq %rcx, %r8
cmpq $0x21, %rsi
jb 0x1f65f
pushq %rbx
cmpq $0x41, %rsi
jb 0x1f6fc
cmpq $0x61, %rsi
jb 0x1f706
movq 0x30(%rdi), %r10
movq 0x38(%rdi), %r9
movabsq $0x3f349ce33f76faa8, %rdx # imm = 0x3F349CE33F76FAA8
xorq %r10, %rdx
movabsq $0x1d4f0bc7c7bbdcf9, %rax # imm = 0x1D4F0BC7C7BBDCF9
xorq %r9, %rax
mulq %rdx
xorq %rax, %rdx
addq %rdx, %r8
movq -0x40(%rdi,%rsi), %rax
movq -0x38(%rdi,%rsi), %rdx
leaq (%rdx,%rax), %r11
xorq %r11, %r8
movabsq $0x3159b4cd4be0518a, %r11 # imm = 0x3159B4CD4BE0518A
xorq %rax, %r11
movabsq $0x647378d9c97e9fc8, %rax # imm = 0x647378D9C97E9FC8
xorq %rdx, %rax
mulq %r11
addq %r10, %r9
xorq %rdx, %r9
xorq %rax, %r9
jmp 0x1f709
cmpq $0x4, %rsi
jb 0x1f667
movl (%rdi), %eax
movl -0x4(%rdi,%rsi), %ecx
shlq $0x20, %rcx
orq %rax, %rcx
movabsq $-0x41b45bdcc6930148, %rax # imm = 0xBE4BA423396CFEB8
xorq %rcx, %rax
movabsq $0x7c01812cf721ad1c, %rdx # imm = 0x7C01812CF721AD1C
xorq %rcx, %rdx
bswapq %rdx
movq %rax, %rcx
shrq $0x33, %rcx
xorq %rax, %rcx
movl $0x9e3779b1, %eax       # imm = 0x9E3779B1
imulq %rcx, %rax
addq %rsi, %rax
movq %rax, %rcx
shrq $0x2f, %rcx
xorq %rax, %rcx
movabsq $-0x3d4d51c2d82b14b1, %rax # imm = 0xC2B2AE3D27D4EB4F
imulq %rcx, %rax
movq %rdx, %rcx
shrq $0x2f, %rcx
xorq %rdx, %rcx
movabsq $-0x61c8864e7a143579, %rdx # imm = 0x9E3779B185EBCA87
imulq %rcx, %rdx
subq %rsi, %rdx
movq %rdx, %rcx
shrq $0x2b, %rcx
xorq %rdx, %rcx
movabsq $-0x7a1435883d4d519d, %rdx # imm = 0x85EBCA77C2B2AE63
imulq %rcx, %rdx
movq %rax, %rcx
shrq $0x25, %rcx
xorq %rax, %rcx
movabsq $0x165667b19e3779f9, %rsi # imm = 0x165667B19E3779F9
imulq %rsi, %rcx
movq %rcx, %rax
shrq $0x20, %rax
xorq %rcx, %rax
movq %rdx, %rcx
shrq $0x25, %rcx
xorq %rdx, %rcx
imulq %rsi, %rcx
movq %rcx, %rdx
shrq $0x20, %rdx
xorq %rcx, %rdx
retq
cmpq $0xf0, %rsi
ja 0x1f6f7
leaq 0x3f28(%rip), %rdx      # 0x23580
xorl %ecx, %ecx
jmp 0x1f8a0
xorl %r9d, %r9d
jmp 0x1f7d4
testq %rsi, %rsi
je 0x1f701
movzbl (%rdi), %eax
movq %rsi, %rcx
shrq %rcx
movzbl (%rdi,%rcx), %ecx
movzbl -0x1(%rdi,%rsi), %edx
shll $0x8, %ecx
orl %eax, %ecx
shll $0x10, %edx
orl %ecx, %edx
shll $0x18, %esi
orl %edx, %esi
movl %esi, %eax
xorl $0x396cfeb8, %eax       # imm = 0x396CFEB8
xorl $0x23a44bbe, %esi       # imm = 0x23A44BBE
bswapl %esi
movabsq $-0x61c8864e7a143579, %rcx # imm = 0x9E3779B185EBCA87
imulq %rax, %rcx
movabsq $0x27d4eb2f165667c5, %rdx # imm = 0x27D4EB2F165667C5
imulq %rsi, %rdx
movq %rcx, %rsi
shrq $0x25, %rsi
xorq %rcx, %rsi
movabsq $0x165667b19e3779f9, %rcx # imm = 0x165667B19E3779F9
imulq %rcx, %rsi
movq %rsi, %rax
shrq $0x20, %rax
xorq %rsi, %rax
movq %rdx, %rsi
shrq $0x25, %rsi
xorq %rdx, %rsi
imulq %rcx, %rsi
movq %rsi, %rdx
shrq $0x20, %rdx
xorq %rsi, %rdx
retq
jmp 0x1fad9
xorl %r10d, %r10d
jmp 0x1f76e
xorl %edx, %edx
xorl %eax, %eax
retq
xorl %r9d, %r9d
movq 0x20(%rdi), %r11
movq 0x28(%rdi), %r10
movabsq $-0x34ff3c6e44add7c4, %rdx # imm = 0xCB00C391BB52283C
xorq %r11, %rdx
movabsq $-0x5cd1ace4749a2f78, %rax # imm = 0xA32E531B8B65D088
xorq %r10, %rax
mulq %rdx
xorq %rax, %rdx
addq %r8, %rdx
movq -0x30(%rdi,%rsi), %rax
movq -0x28(%rdi,%rsi), %rbx
leaq (%rbx,%rax), %r8
xorq %rdx, %r8
movabsq $0x4ef90da297486471, %rdx # imm = 0x4EF90DA297486471
xorq %rax, %rdx
movabsq $-0x27532156b910e6c8, %rax # imm = 0xD8ACDEA946EF1938
xorq %rbx, %rax
mulq %rdx
xorq %rax, %rdx
addq %r9, %rdx
addq %r11, %r10
xorq %rdx, %r10
movq 0x10(%rdi), %r11
movq 0x18(%rdi), %r9
movabsq $0x78e5c0cc4ee679cb, %rdx # imm = 0x78E5C0CC4EE679CB
xorq %r11, %rdx
movabsq $0x2172ffcc7dd05a82, %rax # imm = 0x2172FFCC7DD05A82
xorq %r9, %rax
mulq %rdx
xorq %rax, %rdx
addq %r8, %rdx
movq -0x20(%rdi,%rsi), %rax
movq -0x18(%rdi,%rsi), %rbx
leaq (%rbx,%rax), %r8
xorq %rdx, %r8
movabsq $-0x71dbbc088bb9f748, %rdx # imm = 0x8E2443F7744608B8
xorq %rax, %rdx
movabsq $0x4c263a81e69035e0, %rax # imm = 0x4C263A81E69035E0
xorq %rbx, %rax
mulq %rdx
xorq %rax, %rdx
addq %r10, %rdx
addq %r11, %r9
xorq %rdx, %r9
popq %rbx
movq (%rdi), %r11
movq 0x8(%rdi), %r10
movabsq $-0x41b45bdcc6930148, %rdx # imm = 0xBE4BA423396CFEB8
xorq %r11, %rdx
movabsq $0x1cad21f72c81017c, %rax # imm = 0x1CAD21F72C81017C
xorq %r10, %rax
mulq %rdx
xorq %rax, %rdx
addq %r8, %rdx
movq -0x10(%rdi,%rsi), %rax
movq -0x8(%rdi,%rsi), %r8
leaq (%r8,%rax), %rdi
xorq %rdx, %rdi
movabsq $-0x24686f7c16922b22, %rdx # imm = 0xDB979083E96DD4DE
xorq %rax, %rdx
movabsq $0x1f67b3b7a4a44072, %rax # imm = 0x1F67B3B7A4A44072
xorq %r8, %rax
mulq %rdx
xorq %rax, %rdx
addq %r9, %rdx
addq %r11, %r10
xorq %rdx, %r10
leaq (%r10,%rdi), %rax
imulq %rcx, %rdi
movabsq $-0x7a1435883d4d519d, %rcx # imm = 0x85EBCA77C2B2AE63
imulq %r10, %rcx
movabsq $-0x3d4d51c2d82b14b1, %rdx # imm = 0xC2B2AE3D27D4EB4F
imulq %rsi, %rdx
addq %rdi, %rdx
addq %rcx, %rdx
movq %rax, %rcx
shrq $0x25, %rcx
xorq %rax, %rcx
movabsq $0x165667b19e3779f9, %rsi # imm = 0x165667B19E3779F9
imulq %rsi, %rcx
movq %rcx, %rax
shrq $0x20, %rax
xorq %rcx, %rax
movq %rdx, %rcx
shrq $0x25, %rcx
xorq %rdx, %rcx
imulq %rsi, %rcx
movq %rcx, %rdx
shrq $0x20, %rdx
xorq %rcx, %rdx
negq %rdx
retq