// File: /workspace/github_c_makefile_star2_O0/gplessis[P]dotdeb-redis/deps/geohash-int/geohash.c
// Function: geohashNeighbors
void geohashNeighbors(const GeoHashBits *hash, GeoHashNeighbors *neighbors) {
    neighbors->east = *hash;
    neighbors->west = *hash;
    neighbors->north = *hash;
    neighbors->south = *hash;
    neighbors->south_east = *hash;
    neighbors->south_west = *hash;
    neighbors->north_east = *hash;
    neighbors->north_west = *hash;

    geohash_move_x(&neighbors->east, 1);
    geohash_move_y(&neighbors->east, 0);

    geohash_move_x(&neighbors->west, -1);
    geohash_move_y(&neighbors->west, 0);

    geohash_move_x(&neighbors->south, 0);
    geohash_move_y(&neighbors->south, -1);

    geohash_move_x(&neighbors->north, 0);
    geohash_move_y(&neighbors->north, 1);

    geohash_move_x(&neighbors->north_west, -1);
    geohash_move_y(&neighbors->north_west, 1);

    geohash_move_x(&neighbors->north_east, 1);
    geohash_move_y(&neighbors->north_east, 1);

    geohash_move_x(&neighbors->south_east, 1);
    geohash_move_y(&neighbors->south_east, -1);

    geohash_move_x(&neighbors->south_west, -1);
    geohash_move_y(&neighbors->south_west, -1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x10(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x20(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x28(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, (%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x30(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x38(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x50(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x58(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x70(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x78(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x40(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x48(%rax)
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rdx
movq %rdx, 0x60(%rax)
movq 0x8(%rcx), %rcx
movq %rcx, 0x68(%rax)
movq -0x10(%rbp), %rdi
addq $0x10, %rdi
movl $0x1, %esi
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x10, %rdi
xorl %esi, %esi
callq 0xd4290
movq -0x10(%rbp), %rdi
addq $0x20, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x20, %rdi
xorl %esi, %esi
callq 0xd4290
movq -0x10(%rbp), %rdi
addq $0x30, %rdi
xorl %esi, %esi
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x30, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xd4290
movq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0xd41a0
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0xd4290
movq -0x10(%rbp), %rdi
addq $0x60, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x60, %rdi
movl $0x1, %esi
callq 0xd4290
movq -0x10(%rbp), %rdi
addq $0x40, %rdi
movl $0x1, %esi
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x40, %rdi
movl $0x1, %esi
callq 0xd4290
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movl $0x1, %esi
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x50, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xd4290
movq -0x10(%rbp), %rdi
addq $0x70, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xd41a0
movq -0x10(%rbp), %rdi
addq $0x70, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xd4290
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)