// File: /workspace/github_c_makefile_star2_O3/GangZhuo[P]rbtree/test/bitmap.c
// Function: draw_circle_8
static inline int draw_circle_8(bitmap_t *bitmap, int xc, int yc, int x, int y, color_t color)
{
	int r = 0;
	if (bitmap_draw_point(bitmap, xc + x, yc + y, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc - x, yc + y, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc + x, yc - y, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc - x, yc - y, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc + y, yc + x, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc - y, yc + x, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc + y, yc - x, color) != 0)
		r = -1;
	if (bitmap_draw_point(bitmap, xc - y, yc - x, color) != 0)
		r = -1;
	return r;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movl %edx, %r14d
movl %esi, %r12d
movq %rdi, %r15
movq %rcx, 0x10(%rsp)
leal (%rcx,%r12), %ebx
movq %r8, 0x8(%rsp)
leal (%r8,%r14), %ebp
movl (%rdi), %ecx
movl %ecx, %eax
imull %ebp, %eax
addl %ebx, %eax
movl %r9d, 0x4(%rsp)
js 0x2840
imull 0x4(%r15), %ecx
cmpl %ecx, %eax
jge 0x2840
movq 0x8(%r15), %rcx
movl %eax, %eax
movl %r9d, (%rcx,%rax,4)
xorl %eax, %eax
jmp 0x2850
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r12d, %r13d
subl 0x10(%rsp), %r13d
movl (%r15), %ecx
imull %ecx, %ebp
addl %r13d, %ebp
js 0x287b
imull 0x4(%r15), %ecx
cmpl %ecx, %ebp
jge 0x287b
movq 0x8(%r15), %rcx
movl %ebp, %edx
movl 0x4(%rsp), %esi
movl %esi, (%rcx,%rdx,4)
jmp 0x288b
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %r14d, %ebp
subl 0x8(%rsp), %ebp
movl (%r15), %edx
movl %edx, %ecx
imull %ebp, %ecx
addl %ebx, %ecx
js 0x28b6
imull 0x4(%r15), %edx
cmpl %edx, %ecx
jge 0x28b6
movq 0x8(%r15), %rdx
movl %ecx, %ecx
movl 0x4(%rsp), %esi
movl %esi, (%rdx,%rcx,4)
jmp 0x28c6
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl (%r15), %ecx
imull %ecx, %ebp
addl %r13d, %ebp
js 0x28eb
imull 0x4(%r15), %ecx
cmpl %ecx, %ebp
jge 0x28eb
movq 0x8(%r15), %rcx
movl %ebp, %edx
movl 0x4(%rsp), %r13d
movl %r13d, (%rcx,%rdx,4)
jmp 0x2900
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl 0x4(%rsp), %r13d
movq 0x8(%rsp), %rcx
leal (%rcx,%r12), %ebx
movq 0x10(%rsp), %rcx
leal (%rcx,%r14), %ebp
movl (%r15), %edx
movl %edx, %ecx
imull %ebp, %ecx
addl %ebx, %ecx
js 0x2933
imull 0x4(%r15), %edx
cmpl %edx, %ecx
jge 0x2933
movq 0x8(%r15), %rdx
movl %ecx, %ecx
movl %r13d, (%rdx,%rcx,4)
jmp 0x2943
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
subl 0x8(%rsp), %r12d
movl (%r15), %ecx
imull %ecx, %ebp
addl %r12d, %ebp
js 0x2968
imull 0x4(%r15), %ecx
cmpl %ecx, %ebp
jge 0x2968
movq 0x8(%r15), %rcx
movl %ebp, %edx
movl %r13d, (%rcx,%rdx,4)
jmp 0x2978
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
subl 0x10(%rsp), %r14d
movl (%r15), %edx
movl %edx, %ecx
imull %r14d, %ecx
addl %ebx, %ecx
js 0x299f
imull 0x4(%r15), %edx
cmpl %edx, %ecx
jge 0x299f
movq 0x8(%r15), %rdx
movl %ecx, %ecx
movl %r13d, (%rdx,%rcx,4)
jmp 0x29af
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl (%r15), %ecx
imull %ecx, %r14d
addl %r12d, %r14d
js 0x29d2
imull 0x4(%r15), %ecx
cmpl %ecx, %r14d
jge 0x29d2
movq 0x8(%r15), %rcx
movl %r14d, %edx
movl %r13d, (%rcx,%rdx,4)
jmp 0x29e2
callq 0x1060
movl $0x22, (%rax)
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq