	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function compare
LCPI0_0:
	.long	0x3f800000                      ## float 1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.long	0x7fffffff                      ## float NaN
	.long	0x7fffffff                      ## float NaN
	.long	0x7fffffff                      ## float NaN
	.long	0x7fffffff                      ## float NaN
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_compare:                               ## @compare
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	(%rsi), %r8d
	movl	4(%rsi), %eax
	movl	%eax, %ebx
	imull	%r8d, %ebx
	movl	%r8d, -48(%rbp)                 ## 4-byte Spill
	testl	%r8d, %r8d
	movl	%ebx, -44(%rbp)                 ## 4-byte Spill
	jle	LBB0_1
## %bb.2:
	movslq	%edx, %rbx
	shlq	$2, %rbx
	movq	8(%rdi), %rdx
	addq	(%rdx), %rbx
	movq	16(%rdi), %rdx
	movslq	(%rdx), %rdx
	movslq	%ecx, %rcx
	imulq	%rdx, %rcx
	leaq	(%rbx,%rcx,4), %rcx
	movq	8(%rsi), %rdi
	movq	16(%rsi), %rbx
	movq	(%rdi), %rsi
	movslq	(%rbx), %r8
	movl	%eax, %ebx
	andl	$-4, %ebx
	movq	%rbx, -80(%rbp)                 ## 8-byte Spill
	addq	$-4, %rbx
	movq	%rbx, -72(%rbp)                 ## 8-byte Spill
	movq	%rbx, %rdi
	shrq	$2, %rdi
	incq	%rdi
	movq	%rdi, %rbx
	movq	%rdi, -64(%rbp)                 ## 8-byte Spill
	andq	$-2, %rdi
	movq	%rdi, -56(%rbp)                 ## 8-byte Spill
	shlq	$2, %r8
	movq	%r8, -88(%rbp)                  ## 8-byte Spill
	shlq	$2, %rdx
	xorl	%r8d, %r8d
	xorl	%r15d, %r15d
	xorl	%r13d, %r13d
	xorl	%edi, %edi
	xorl	%ebx, %ebx
	xorl	%r14d, %r14d
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_3 Depth=1
	addq	-88(%rbp), %rsi                 ## 8-byte Folded Reload
	addq	%rdx, %rcx
	incl	%r8d
	cmpl	-48(%rbp), %r8d                 ## 4-byte Folded Reload
	je	LBB0_15
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_9 Depth 2
                                        ##     Child Loop BB0_13 Depth 2
	testl	%eax, %eax
	jle	LBB0_14
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	cmpl	$4, %eax
	jae	LBB0_6
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	xorl	%r11d, %r11d
	jmp	LBB0_13
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_3 Depth=1
	movd	%r15d, %xmm0
	movd	%r13d, %xmm1
	movd	%edi, %xmm2
	movd	%ebx, %xmm5
	movd	%r14d, %xmm3
	cmpq	$0, -72(%rbp)                   ## 8-byte Folded Reload
	je	LBB0_7
## %bb.8:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	-56(%rbp), %rbx                 ## 8-byte Reload
	xorl	%edi, %edi
	movdqa	%xmm5, %xmm8
	.p2align	4, 0x90
LBB0_9:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	(%rsi,%rdi,4), %xmm4
	paddd	%xmm4, %xmm0
	movdqu	(%rcx,%rdi,4), %xmm6
	paddd	%xmm6, %xmm1
	movdqa	%xmm6, %xmm7
	pmulld	%xmm4, %xmm6
	pmulld	%xmm4, %xmm4
	paddd	%xmm2, %xmm4
	movdqu	16(%rsi,%rdi,4), %xmm2
	movdqu	16(%rcx,%rdi,4), %xmm5
	pmulld	%xmm7, %xmm7
	paddd	%xmm3, %xmm7
	paddd	%xmm8, %xmm6
	paddd	%xmm2, %xmm0
	paddd	%xmm5, %xmm1
	movdqa	%xmm5, %xmm3
	pmulld	%xmm2, %xmm5
	pmulld	%xmm2, %xmm2
	paddd	%xmm4, %xmm2
	pmulld	%xmm3, %xmm3
	paddd	%xmm7, %xmm3
	paddd	%xmm6, %xmm5
	addq	$8, %rdi
	movdqa	%xmm5, %xmm8
	addq	$-2, %rbx
	jne	LBB0_9
	jmp	LBB0_10
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=1
	xorl	%edi, %edi
LBB0_10:                                ##   in Loop: Header=BB0_3 Depth=1
	movq	%rdx, %r9
	testb	$1, -64(%rbp)                   ## 1-byte Folded Reload
	je	LBB0_12
## %bb.11:                              ##   in Loop: Header=BB0_3 Depth=1
	movdqu	(%rsi,%rdi,4), %xmm4
	movdqu	(%rcx,%rdi,4), %xmm6
	paddd	%xmm4, %xmm0
	paddd	%xmm6, %xmm1
	movdqa	%xmm6, %xmm7
	pmulld	%xmm4, %xmm6
	pmulld	%xmm4, %xmm4
	paddd	%xmm4, %xmm2
	pmulld	%xmm7, %xmm7
	paddd	%xmm7, %xmm3
	paddd	%xmm6, %xmm5
LBB0_12:                                ##   in Loop: Header=BB0_3 Depth=1
	pshufd	$238, %xmm3, %xmm4              ## xmm4 = xmm3[2,3,2,3]
	paddd	%xmm3, %xmm4
	pshufd	$85, %xmm4, %xmm3               ## xmm3 = xmm4[1,1,1,1]
	paddd	%xmm4, %xmm3
	movd	%xmm3, %r14d
	pshufd	$238, %xmm5, %xmm3              ## xmm3 = xmm5[2,3,2,3]
	paddd	%xmm5, %xmm3
	pshufd	$85, %xmm3, %xmm4               ## xmm4 = xmm3[1,1,1,1]
	paddd	%xmm3, %xmm4
	movd	%xmm4, %ebx
	pshufd	$238, %xmm2, %xmm3              ## xmm3 = xmm2[2,3,2,3]
	paddd	%xmm2, %xmm3
	pshufd	$85, %xmm3, %xmm2               ## xmm2 = xmm3[1,1,1,1]
	paddd	%xmm3, %xmm2
	movd	%xmm2, %edi
	pshufd	$238, %xmm1, %xmm2              ## xmm2 = xmm1[2,3,2,3]
	paddd	%xmm1, %xmm2
	pshufd	$85, %xmm2, %xmm1               ## xmm1 = xmm2[1,1,1,1]
	paddd	%xmm2, %xmm1
	movd	%xmm1, %r13d
	pshufd	$238, %xmm0, %xmm1              ## xmm1 = xmm0[2,3,2,3]
	paddd	%xmm0, %xmm1
	pshufd	$85, %xmm1, %xmm0               ## xmm0 = xmm1[1,1,1,1]
	paddd	%xmm1, %xmm0
	movd	%xmm0, %r15d
	movq	-80(%rbp), %rdx                 ## 8-byte Reload
	movq	%rdx, %r11
	cmpq	%rax, %rdx
	movq	%r9, %rdx
	je	LBB0_14
	.p2align	4, 0x90
LBB0_13:                                ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rsi,%r11,4), %r12d
	movl	(%rcx,%r11,4), %r9d
	addl	%r12d, %r15d
	addl	%r9d, %r13d
	movl	%r9d, %r10d
	imull	%r12d, %r9d
	imull	%r12d, %r12d
	addl	%r12d, %edi
	imull	%r10d, %r10d
	addl	%r10d, %r14d
	addl	%r9d, %ebx
	incq	%r11
	cmpq	%r11, %rax
	jne	LBB0_13
	jmp	LBB0_14
LBB0_1:
	xorl	%r14d, %r14d
	xorl	%ebx, %ebx
	xorl	%edi, %edi
	xorl	%r13d, %r13d
	xorl	%r15d, %r15d
LBB0_15:
	movl	-44(%rbp), %ecx                 ## 4-byte Reload
	imull	%ecx, %edi
	movl	%r15d, %eax
	imull	%r15d, %eax
	movss	LCPI0_0(%rip), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	subl	%eax, %edi
	je	LBB0_18
## %bb.16:
	imull	%ecx, %r14d
	movl	%r13d, %eax
	imull	%r13d, %eax
	subl	%eax, %r14d
	je	LBB0_18
## %bb.17:
	imull	%ecx, %ebx
	imull	%r13d, %r15d
	subl	%r15d, %ebx
	callq	_sqrt
	movl	%eax, %r15d
	movl	%r14d, %edi
	callq	_sqrt
	movl	%eax, %ecx
	imull	%r15d, %ecx
	movl	%ebx, %eax
	cltd
	idivl	%ecx
	xorps	%xmm1, %xmm1
	cvtsi2ss	%eax, %xmm1
	andps	LCPI0_1(%rip), %xmm1
	movss	LCPI0_0(%rip), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	subss	%xmm1, %xmm0
LBB0_18:
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_compare
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function compare
_compare:                               ; @compare
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	ldp	w9, w10, [x1]
	mul	w8, w10, w9
	cmp	w9, #1
	b.lt	LBB0_10
; %bb.1:
	mov	w11, #0
	mov	w20, #0
	mov	w6, #0
	mov	w7, #0
	mov	w4, #0
	mov	w5, #0
	ldp	x12, x13, [x0, #8]
	ldr	x12, [x12]
	add	x12, x12, w2, sxtw #2
	ldrsw	x17, [x13]
	mul	w13, w17, w3
	add	x12, x12, w13, sxtw #2
	ldp	x13, x14, [x1, #8]
	ldr	x13, [x13]
	lsl	x15, x10, #2
	ldrsw	x16, [x14]
	and	x14, x10, #0xfffffff8
	and	x15, x15, #0x3ffffffe0
	lsl	x16, x16, #2
	lsl	x17, x17, #2
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	w11, w11, #1
	add	x13, x13, x16
	add	x12, x12, x17
	cmp	w11, w9
	b.eq	LBB0_11
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_7 Depth 2
                                        ;     Child Loop BB0_9 Depth 2
	cmp	w10, #1
	b.lt	LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	cmp	w10, #8
	b.hs	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, #0
	b	LBB0_9
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, #0
	movi.2d	v0, #0000000000000000
	mov.s	v0[0], w20
	movi.2d	v1, #0000000000000000
	movi.2d	v2, #0000000000000000
	mov.s	v2[0], w6
	movi.2d	v3, #0000000000000000
	mov.s	v3[0], w7
	movi.2d	v4, #0000000000000000
	mov.s	v4[0], w4
	movi.2d	v6, #0000000000000000
	mov.s	v6[0], w5
	movi.2d	v5, #0000000000000000
	movi.2d	v7, #0000000000000000
	movi.2d	v16, #0000000000000000
	movi.2d	v17, #0000000000000000
LBB0_7:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	add	x1, x13, x0
	ldp	q18, q19, [x1]
	add	x1, x12, x0
	ldp	q20, q21, [x1]
	add.4s	v0, v18, v0
	add.4s	v1, v19, v1
	add.4s	v2, v20, v2
	add.4s	v5, v21, v5
	mla.4s	v3, v18, v18
	mla.4s	v7, v19, v19
	mla.4s	v6, v20, v20
	mla.4s	v17, v21, v21
	mla.4s	v4, v20, v18
	mla.4s	v16, v21, v19
	add	x0, x0, #32
	cmp	x15, x0
	b.ne	LBB0_7
; %bb.8:                                ;   in Loop: Header=BB0_3 Depth=1
	add.4s	v6, v17, v6
	addv.4s	s6, v6
	fmov	w5, s6
	add.4s	v4, v16, v4
	addv.4s	s4, v4
	fmov	w4, s4
	add.4s	v3, v7, v3
	addv.4s	s3, v3
	fmov	w7, s3
	add.4s	v2, v5, v2
	addv.4s	s2, v2
	fmov	w6, s2
	add.4s	v0, v1, v0
	addv.4s	s0, v0
	fmov	w20, s0
	mov	x0, x14
	cmp	x14, x10
	b.eq	LBB0_2
LBB0_9:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x1, x0, #2
	ldr	w2, [x13, x1]
	ldr	w1, [x12, x1]
	add	w20, w2, w20
	add	w6, w1, w6
	madd	w7, w2, w2, w7
	madd	w5, w1, w1, w5
	madd	w4, w1, w2, w4
	add	x0, x0, #1
	cmp	x10, x0
	b.ne	LBB0_9
	b	LBB0_2
LBB0_10:
	mov	w5, #0
	mov	w4, #0
	mov	w7, #0
	mov	w6, #0
	mov	w20, #0
LBB0_11:
	mul	w11, w7, w8
	mul	w12, w20, w20
	mul	w9, w5, w8
	mul	w10, w6, w6
	fmov	s0, #1.00000000
	subs	w0, w11, w12
	ccmp	w9, w10, #4, ne
	b.eq	LBB0_13
; %bb.12:
	sub	w19, w9, w10
	mul	w9, w20, w6
	neg	w9, w9
	madd	w21, w4, w8, w9
	bl	_sqrt
	mov	x20, x0
	mov	x0, x19
	bl	_sqrt
	mul	w8, w0, w20
	sdiv	w8, w21, w8
	scvtf	s0, w8
	fabs	s0, s0
	fmov	s1, #1.00000000
	fsub	s0, s1, s0
LBB0_13:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_compare
.subsections_via_symbols
