	.file	"mini6.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
	leaq	-64(,%rdi,8), %r9
	movq	%rdi, %r8
	vmovapd	%xmm0, %xmm3
	leaq	(%rsi,%r9), %r10
	addq	%rdx, %r9
	movq	%r9, %rax
	orq	%r10, %rax
	testb	$63, %al
	jne	.L4
	vmovdqa64	.LC0(%rip), %zmm5
	vbroadcastsd	%xmm1, %zmm8
	vbroadcastsd	%xmm0, %zmm7
	vbroadcastsd	%xmm2, %zmm6
	xorl	%eax, %eax
	xorl	%edi, %edi
	.p2align 6
	.p2align 4,,10
	.p2align 3
.L5:
	vpermpd	(%r9,%rax), %zmm5, %zmm4
	vpermpd	(%r10,%rax), %zmm5, %zmm0
	movq	%rdi, %r11
	subq	$64, %rax
	addq	$8, %rdi
	vsubpd	%zmm8, %zmm4, %zmm4
	vsubpd	%zmm7, %zmm0, %zmm0
	vmulpd	%zmm4, %zmm4, %zmm4
	vfmadd132pd	%zmm0, %zmm4, %zmm0
	vcmppd	$2, %zmm6, %zmm0, %k0
	kortestb	%k0, %k0
	je	.L5
	movq	%r8, %rdi
	subq	%r11, %rdi
	leaq	-1(%rdi), %r8
	vmovsd	(%rdx,%r8,8), %xmm4
	vmovsd	(%rsi,%r8,8), %xmm0
	leaq	0(,%r8,8), %rax
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L27
	vmovsd	-8(%rdx,%rax), %xmm4
	vmovsd	-8(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L28
	vmovsd	-16(%rdx,%rax), %xmm4
	vmovsd	-16(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L29
	vmovsd	-24(%rdx,%rax), %xmm4
	vmovsd	-24(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L30
	vmovsd	-32(%rdx,%rax), %xmm4
	vmovsd	-32(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L31
	vmovsd	-40(%rdx,%rax), %xmm4
	vmovsd	-40(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L32
	vmovsd	-48(%rdx,%rax), %xmm4
	vmovsd	-48(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L33
	vmovsd	-56(%rdx,%rax), %xmm4
	vmovsd	-56(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L34
	vmovsd	-64(%rdx,%rax), %xmm4
	vmovsd	-64(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L35
	vmovsd	-72(%rdx,%rax), %xmm4
	vmovsd	-72(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L36
	vmovsd	-80(%rdx,%rax), %xmm4
	vmovsd	-80(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L37
	vmovsd	-88(%rdx,%rax), %xmm4
	vmovsd	-88(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L38
	vmovsd	-96(%rdx,%rax), %xmm4
	vmovsd	-96(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L39
	vmovsd	-104(%rdx,%rax), %xmm4
	vmovsd	-104(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L40
	vmovsd	-112(%rdx,%rax), %xmm4
	vmovsd	-112(%rsi,%rax), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	jbe	.L41
	vmovsd	-120(%rdx,%rax), %xmm2
	vmovsd	-120(%rsi,%rax), %xmm0
	leaq	-16(%rdi), %r8
	vsubsd	%xmm1, %xmm2, %xmm1
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm1, %xmm1, %xmm1
	vfmadd132sd	%xmm0, %xmm1, %xmm0
	vzeroupper
.L6:
	vmovsd	%xmm0, (%rcx)
	movq	%r8, %rax
	ret
	.p2align 6
	.p2align 4,,10
	.p2align 3
.L4:
	decq	%r8
	vmovsd	(%rdx,%r8,8), %xmm4
	vmovsd	(%rsi,%r8,8), %xmm0
	vsubsd	%xmm1, %xmm4, %xmm4
	vsubsd	%xmm3, %xmm0, %xmm0
	vmulsd	%xmm4, %xmm4, %xmm4
	vfmadd132sd	%xmm0, %xmm4, %xmm0
	vcomisd	%xmm2, %xmm0
	ja	.L4
	jmp	.L6
.L31:
	leaq	-5(%rdi), %r8
	vzeroupper
	jmp	.L6
.L27:
	vzeroupper
	jmp	.L6
.L28:
	leaq	-2(%rdi), %r8
	vzeroupper
	jmp	.L6
.L29:
	leaq	-3(%rdi), %r8
	vzeroupper
	jmp	.L6
.L30:
	leaq	-4(%rdi), %r8
	vzeroupper
	jmp	.L6
.L38:
	leaq	-12(%rdi), %r8
	vzeroupper
	jmp	.L6
.L32:
	leaq	-6(%rdi), %r8
	vzeroupper
	jmp	.L6
.L33:
	leaq	-7(%rdi), %r8
	vzeroupper
	jmp	.L6
.L34:
	leaq	-8(%rdi), %r8
	vzeroupper
	jmp	.L6
.L35:
	leaq	-9(%rdi), %r8
	vzeroupper
	jmp	.L6
.L36:
	leaq	-10(%rdi), %r8
	vzeroupper
	jmp	.L6
.L37:
	leaq	-11(%rdi), %r8
	vzeroupper
	jmp	.L6
.L39:
	leaq	-13(%rdi), %r8
	vzeroupper
	jmp	.L6
.L40:
	leaq	-14(%rdi), %r8
	vzeroupper
	jmp	.L6
.L41:
	leaq	-15(%rdi), %r8
	vzeroupper
	jmp	.L6
	.cfi_endproc
.LFE1:
	.size	foo, .-foo
	.section	.rodata
	.align 64
.LC0:
	.quad	7
	.quad	6
	.quad	5
	.quad	4
	.quad	3
	.quad	2
	.quad	1
	.quad	0
	.ident	"GCC: (GNU) 16.1.0"
	.section	.note.GNU-stack,"",@progbits
