// File: /workspace/github_c_makefile_star2_O0/aligrudi[P]gpss/datgen.c
// Function: pt_quicksort
static void pt_quicksort(int *a, int n)
{
	int i, j, t;
	int kx, ky;
	if (n < 2)
		return;
	if (n < 100) {
		pt_insertion(a, n);
		return;
	}
	kx = pt_sx[a[n / 2]];
	ky = pt_sy[a[n / 2]];
	for (i = 0, j = n - 1; ; i++, j--) {
		while (DEGCMP(pt_sx[a[i]], pt_sy[a[i]], kx, ky) < 0)
			i++;
		while (DEGCMP(pt_sx[a[j]], pt_sy[a[j]], kx, ky) > 0)
			j--;
		if (i >= j)
			break;
		t = a[i];
		a[i] = a[j];
		a[j] = t;
	}
	if (i > 1)
		pt_quicksort(a, i);
	if (i + 1 < n)
		pt_quicksort(a + i, n - i);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x2, -0xc(%rbp)
jge 0x18aa
jmp 0x1a63
cmpl $0x64, -0xc(%rbp)
jge 0x18c1
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0x1a70
jmp 0x1a63
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movl -0xc(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0x30(%rbp), %rax
movslq %ecx, %rcx
movslq (%rax,%rcx,4), %rcx
leaq 0xb93e68(%rip), %rax    # 0xb95750
movl (%rax,%rcx,4), %eax
movl %eax, -0x1c(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movl -0xc(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0x28(%rbp), %rax
movslq %ecx, %rcx
movslq (%rax,%rcx,4), %rcx
leaq 0xb9da7b(%rip), %rax    # 0xb9f390
movl (%rax,%rcx,4), %eax
movl %eax, -0x20(%rbp)
movl $0x0, -0x10(%rbp)
movl -0xc(%rbp), %eax
subl $0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x192d
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movslq (%rax,%rcx,4), %rdx
xorl %eax, %eax
leaq 0xb93e0e(%rip), %rcx    # 0xb95750
subl (%rcx,%rdx,4), %eax
cltq
movslq -0x20(%rbp), %rcx
imulq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq -0x8(%rbp), %rdx
movslq -0x10(%rbp), %rsi
movslq (%rdx,%rsi,4), %rsi
leaq 0xb9da2a(%rip), %rdx    # 0xb9f390
movslq (%rdx,%rsi,4), %rdx
imulq %rdx, %rcx
addq %rcx, %rax
cmpq $0x0, %rax
jge 0x1982
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x192d
jmp 0x1984
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movslq (%rax,%rcx,4), %rdx
xorl %eax, %eax
leaq 0xb93db7(%rip), %rcx    # 0xb95750
subl (%rcx,%rdx,4), %eax
cltq
movslq -0x20(%rbp), %rcx
imulq %rcx, %rax
movslq -0x1c(%rbp), %rcx
movq -0x8(%rbp), %rdx
movslq -0x14(%rbp), %rsi
movslq (%rdx,%rsi,4), %rsi
leaq 0xb9d9d3(%rip), %rdx    # 0xb9f390
movslq (%rdx,%rsi,4), %rdx
imulq %rdx, %rcx
addq %rcx, %rax
cmpq $0x0, %rax
jle 0x19d9
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x1984
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jl 0x19e3
jmp 0x1a2c
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl (%rax,%rcx,4), %eax
movl %eax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movl (%rax,%rcx,4), %edx
movq -0x8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x18(%rbp), %edx
movq -0x8(%rbp), %rax
movslq -0x14(%rbp), %rcx
movl %edx, (%rax,%rcx,4)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
movl -0x14(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x14(%rbp)
jmp 0x192b
cmpl $0x1, -0x10(%rbp)
jle 0x1a3e
movq -0x8(%rbp), %rdi
movl -0x10(%rbp), %esi
callq 0x1890
movl -0x10(%rbp), %eax
addl $0x1, %eax
cmpl -0xc(%rbp), %eax
jge 0x1a63
movq -0x8(%rbp), %rdi
movslq -0x10(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdi
movl -0xc(%rbp), %esi
subl -0x10(%rbp), %esi
callq 0x1890
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)