	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function getSSD
_getSSD:                                ## @getSSD
	.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
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	testl	%r9d, %r9d
	jle	LBB0_1
## %bb.2:
	movslq	%edx, %rax
	movslq	%ecx, %rcx
	movl	%r9d, %r13d
	movl	%r8d, %r9d
	movl	%r9d, %edx
	andl	$-8, %edx
	movq	%rdx, -104(%rbp)                ## 8-byte Spill
	addq	$-8, %rdx
	movq	%rdx, -96(%rbp)                 ## 8-byte Spill
	movq	%rdx, %rbx
	shrq	$3, %rbx
	incq	%rbx
	movq	%rbx, %rdx
	movq	%rbx, -88(%rbp)                 ## 8-byte Spill
	andq	$-2, %rbx
	movq	%rbx, -80(%rbp)                 ## 8-byte Spill
	leaq	48(%rdi), %rbx
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	leaq	(,%rax,4), %r12
	leaq	48(%rsi), %r10
	movq	%rcx, -48(%rbp)                 ## 8-byte Spill
	leaq	(,%rcx,4), %r11
	xorl	%r15d, %r15d
	movq	%rdi, -64(%rbp)                 ## 8-byte Spill
	movq	%rsi, -72(%rbp)                 ## 8-byte Spill
	xorl	%eax, %eax
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_3 Depth=1
	incq	%r15
	addq	%r12, %rbx
	addq	%r11, %r10
	addq	%r11, %rsi
	addq	%r12, %rdi
	cmpq	%r13, %r15
	je	LBB0_15
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_9 Depth 2
                                        ##     Child Loop BB0_13 Depth 2
	testl	%r8d, %r8d
	jle	LBB0_14
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	cmpl	$8, %r8d
	jae	LBB0_6
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	xorl	%edx, %edx
	jmp	LBB0_13
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_3 Depth=1
	movd	%eax, %xmm0
	cmpq	$0, -96(%rbp)                   ## 8-byte Folded Reload
	je	LBB0_7
## %bb.8:                               ##   in Loop: Header=BB0_3 Depth=1
	pxor	%xmm2, %xmm2
	movq	-80(%rbp), %r14                 ## 8-byte Reload
	xorl	%eax, %eax
	movdqa	%xmm0, %xmm3
	.p2align	4, 0x90
LBB0_9:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movdqu	-48(%rbx,%rax,4), %xmm4
	movdqu	-32(%rbx,%rax,4), %xmm5
	movdqu	-16(%rbx,%rax,4), %xmm0
	movdqu	(%rbx,%rax,4), %xmm1
	movdqu	-48(%r10,%rax,4), %xmm6
	psubd	%xmm6, %xmm4
	movdqu	-32(%r10,%rax,4), %xmm6
	psubd	%xmm6, %xmm5
	movdqu	-16(%r10,%rax,4), %xmm6
	psubd	%xmm6, %xmm0
	movdqu	(%r10,%rax,4), %xmm6
	psubd	%xmm6, %xmm1
	pmulld	%xmm4, %xmm4
	paddd	%xmm3, %xmm4
	pmulld	%xmm5, %xmm5
	paddd	%xmm2, %xmm5
	pmulld	%xmm0, %xmm0
	paddd	%xmm4, %xmm0
	pmulld	%xmm1, %xmm1
	paddd	%xmm5, %xmm1
	addq	$16, %rax
	movdqa	%xmm0, %xmm3
	movdqa	%xmm1, %xmm2
	addq	$-2, %r14
	jne	LBB0_9
## %bb.10:                              ##   in Loop: Header=BB0_3 Depth=1
	testb	$1, -88(%rbp)                   ## 1-byte Folded Reload
	je	LBB0_12
LBB0_11:                                ##   in Loop: Header=BB0_3 Depth=1
	movq	%r15, %rdx
	imulq	-56(%rbp), %rdx                 ## 8-byte Folded Reload
	movq	%r15, %r14
	imulq	-48(%rbp), %r14                 ## 8-byte Folded Reload
	addq	%rax, %rdx
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movdqu	(%rcx,%rdx,4), %xmm2
	movdqu	16(%rcx,%rdx,4), %xmm3
	addq	%rax, %r14
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	movdqu	(%rax,%r14,4), %xmm4
	psubd	%xmm4, %xmm2
	movdqu	16(%rax,%r14,4), %xmm4
	psubd	%xmm4, %xmm3
	pmulld	%xmm2, %xmm2
	paddd	%xmm2, %xmm0
	pmulld	%xmm3, %xmm3
	paddd	%xmm3, %xmm1
LBB0_12:                                ##   in Loop: Header=BB0_3 Depth=1
	paddd	%xmm1, %xmm0
	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, %eax
	movq	-104(%rbp), %rcx                ## 8-byte Reload
	movq	%rcx, %rdx
	cmpq	%r9, %rcx
	je	LBB0_14
	.p2align	4, 0x90
LBB0_13:                                ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movl	(%rdi,%rdx,4), %ecx
	subl	(%rsi,%rdx,4), %ecx
	imull	%ecx, %ecx
	addl	%ecx, %eax
	incq	%rdx
	cmpq	%rdx, %r9
	jne	LBB0_13
	jmp	LBB0_14
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=1
	pxor	%xmm1, %xmm1
	xorl	%eax, %eax
	testb	$1, -88(%rbp)                   ## 1-byte Folded Reload
	jne	LBB0_11
	jmp	LBB0_12
LBB0_1:
	xorl	%eax, %eax
LBB0_15:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_getSSD
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function getSSD
_getSSD:                                ; @getSSD
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	.cfi_offset w19, -8
	.cfi_offset w20, -16
	.cfi_offset w21, -24
	.cfi_offset w22, -32
                                        ; kill: def $w3 killed $w3 def $x3
                                        ; kill: def $w2 killed $w2 def $x2
	cmp	w5, #1
	b.lt	LBB0_11
; %bb.1:
	mov	x9, #0
	mov	x10, #0
	mov	x11, #0
	mov	w8, #0
	mov	w12, w4
	sxtw	x13, w2
	sxtw	x14, w3
	and	x15, x12, #0xfffffff0
	add	x16, x1, #32
	sbfiz	x17, x3, #2, #32
	add	x3, x0, #32
	sbfiz	x2, x2, #2, #32
	mov	w5, w5
	b	LBB0_3
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x11, x11, #1
	add	x16, x16, x17
	add	x3, x3, x2
	add	x10, x10, x14
	add	x9, x9, x13
	cmp	x11, x5
	b.eq	LBB0_12
LBB0_3:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_7 Depth 2
                                        ;     Child Loop BB0_10 Depth 2
	cmp	w4, #1
	b.lt	LBB0_2
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	cmp	w4, #16
	b.hs	LBB0_6
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x19, #0
	b	LBB0_9
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	movi.2d	v0, #0000000000000000
	mov.s	v0[0], w8
	movi.2d	v1, #0000000000000000
	mov	x8, x3
	mov	x6, x16
	mov	x7, x15
	movi.2d	v2, #0000000000000000
	movi.2d	v3, #0000000000000000
LBB0_7:                                 ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q4, q5, [x8, #-32]
	ldp	q6, q7, [x8], #64
	ldp	q16, q17, [x6, #-32]
	ldp	q18, q19, [x6], #64
	sub.4s	v4, v4, v16
	sub.4s	v5, v5, v17
	sub.4s	v6, v6, v18
	sub.4s	v7, v7, v19
	mla.4s	v0, v4, v4
	mla.4s	v1, v5, v5
	mla.4s	v2, v6, v6
	mla.4s	v3, v7, v7
	subs	x7, x7, #16
	b.ne	LBB0_7
; %bb.8:                                ;   in Loop: Header=BB0_3 Depth=1
	add.4s	v0, v1, v0
	add.4s	v0, v2, v0
	add.4s	v0, v3, v0
	addv.4s	s0, v0
	fmov	w8, s0
	mov	x19, x15
	cmp	x15, x12
	b.eq	LBB0_2
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	add	x6, x19, x10
	add	x6, x1, x6, lsl #2
	add	x7, x19, x9
	add	x7, x0, x7, lsl #2
	sub	x19, x12, x19
LBB0_10:                                ;   Parent Loop BB0_3 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	w20, [x7], #4
	ldr	w21, [x6], #4
	sub	w20, w20, w21
	madd	w8, w20, w20, w8
	subs	x19, x19, #1
	b.ne	LBB0_10
	b	LBB0_2
LBB0_11:
	mov	w8, #0
LBB0_12:
	mov	x0, x8
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #32             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_getSSD
.subsections_via_symbols
