	.file	"mini7.c"
	.text
	.p2align 4
	.globl	sqr
	.type	sqr, @function
sqr:
.LFB0:
	.cfi_startproc
	vmulsd	%xmm0, %xmm0, %xmm0
	ret
	.cfi_endproc
.LFE0:
	.size	sqr, .-sqr
	.p2align 4
	.globl	foo
	.type	foo, @function
foo:
.LFB1:
	.cfi_startproc
	movq	%rdi, %rax
	vmovapd	%xmm0, %xmm1
	shrq	$3, %rax
	negq	%rax
	movq	%rax, %rcx
	andl	$7, %ecx
	je	.L29
	vmovsd	(%rdi), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L53
	testb	$6, %al
	je	.L31
	vmovsd	8(%rdi), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L54
	cmpq	$2, %rcx
	jbe	.L33
	vmovsd	16(%rdi), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L55
	testb	$4, %al
	je	.L35
	vmovsd	24(%rdi), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L56
	cmpq	$4, %rcx
	je	.L37
	vmovsd	32(%rdi), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L57
	cmpq	$5, %rcx
	jne	.L61
	movl	$5, %r8d
	.p2align 4,,10
	.p2align 3
.L4:
	leaq	(%rdi,%rcx,8), %rsi
	vbroadcastsd	%xmm1, %zmm4
	vbroadcastsd	%xmm2, %zmm3
	xorl	%ecx, %ecx
	.p2align 6
	.p2align 4,,10
	.p2align 3
.L13:
	vmovapd	(%rsi,%rcx,8), %zmm0
	movq	%rcx, %rax
	addq	$8, %rcx
	vsubpd	%zmm4, %zmm0, %zmm0
	vmulpd	%zmm0, %zmm0, %zmm0
	vcmppd	$2, %zmm3, %zmm0, %k0
	kortestb	%k0, %k0
	je	.L13
	addq	%r8, %rax
	vmovsd	(%rdi,%rax,8), %xmm0
	leaq	1(%rax), %rcx
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L60
	vmovsd	(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L62
	vmovsd	8(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L63
	vmovsd	16(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L64
	vmovsd	24(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L65
	vmovsd	32(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L66
	vmovsd	40(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L67
	vmovsd	48(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L68
	vmovsd	56(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L69
	vmovsd	64(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L70
	vmovsd	72(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L71
	vmovsd	80(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L72
	vmovsd	88(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L73
	vmovsd	96(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L74
	vmovsd	104(%rdi,%rcx,8), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L75
	vmovsd	112(%rdi,%rcx,8), %xmm0
	leaq	16(%rax), %rcx
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vzeroupper
.L5:
	vmovsd	%xmm0, (%rdx)
	movq	%rcx, %rax
	ret
	.p2align 4,,10
	.p2align 3
.L31:
	movl	$1, %r8d
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L33:
	movl	$2, %r8d
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L35:
	movl	$3, %r8d
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L37:
	movl	$4, %r8d
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L61:
	vmovsd	40(%rdi), %xmm0
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L58
	cmpq	$7, %rcx
	je	.L76
	movl	$6, %r8d
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L76:
	vmovsd	48(%rdi), %xmm0
	movl	$7, %r8d
	vsubsd	%xmm1, %xmm0, %xmm0
	vmulsd	%xmm0, %xmm0, %xmm0
	vcomisd	%xmm2, %xmm0
	ja	.L4
	movl	$7, %ecx
	jmp	.L5
.L57:
	movl	$5, %ecx
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L29:
	xorl	%r8d, %r8d
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L60:
	vzeroupper
	movq	%rcx, %rax
	vmovsd	%xmm0, (%rdx)
	ret
	.p2align 4,,10
	.p2align 3
.L62:
	leaq	2(%rax), %rcx
	vzeroupper
	jmp	.L5
	.p2align 4,,10
	.p2align 3
.L53:
	movl	$1, %ecx
	jmp	.L5
.L63:
	leaq	3(%rax), %rcx
	vzeroupper
	jmp	.L5
.L54:
	movl	$2, %ecx
	jmp	.L5
.L64:
	leaq	4(%rax), %rcx
	vzeroupper
	jmp	.L5
.L55:
	movl	$3, %ecx
	jmp	.L5
.L65:
	leaq	5(%rax), %rcx
	vzeroupper
	jmp	.L5
.L56:
	movl	$4, %ecx
	jmp	.L5
.L66:
	leaq	6(%rax), %rcx
	vzeroupper
	jmp	.L5
.L67:
	leaq	7(%rax), %rcx
	vzeroupper
	jmp	.L5
.L58:
	movl	$6, %ecx
	jmp	.L5
.L74:
	leaq	14(%rax), %rcx
	vzeroupper
	jmp	.L5
.L68:
	leaq	8(%rax), %rcx
	vzeroupper
	jmp	.L5
.L69:
	leaq	9(%rax), %rcx
	vzeroupper
	jmp	.L5
.L70:
	leaq	10(%rax), %rcx
	vzeroupper
	jmp	.L5
.L71:
	leaq	11(%rax), %rcx
	vzeroupper
	jmp	.L5
.L72:
	leaq	12(%rax), %rcx
	vzeroupper
	jmp	.L5
.L73:
	leaq	13(%rax), %rcx
	vzeroupper
	jmp	.L5
.L75:
	leaq	15(%rax), %rcx
	vzeroupper
	jmp	.L5
	.cfi_endproc
.LFE1:
	.size	foo, .-foo
	.ident	"GCC: (GNU) 16.1.0"
	.section	.note.GNU-stack,"",@progbits
