	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function pitch_sharpening
LCPI0_0:
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
LCPI0_1:
	.quad	0x3feb333333333333              ## double 0.84999999999999998
	.quad	0x3feb333333333333              ## double 0.84999999999999998
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_2:
	.quad	0x3feb333333333333              ## double 0.84999999999999998
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_pitch_sharpening:                      ## @pitch_sharpening
	.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	%r12
	pushq	%rbx
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_AMRWB_SFR_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	movl	%r8d, %eax
	decl	%eax
	je	LBB0_21
## %bb.1:
	movslq	%eax, %r11
	leal	-2(%r8), %r12d
	cmpl	$7, %r12d
	jb	LBB0_2
## %bb.3:
	testl	%r12d, %r12d
	js	LBB0_2
## %bb.4:
	leaq	(%rsi,%r11,4), %rbx
	leaq	(,%r12,4), %r9
	movq	%rbx, %rax
	subq	%r9, %rax
	cmpq	%rbx, %rax
	ja	LBB0_2
## %bb.5:
	movslq	%r12d, %rax
	leaq	(%rsi,%rax,4), %rcx
	movq	%rcx, %rbx
	subq	%r9, %rbx
	cmpq	%rcx, %rbx
	ja	LBB0_2
## %bb.6:
	leaq	4(%rdi), %r9
	movq	%r11, %rbx
	subq	%r12, %rbx
	leaq	(%rsi,%rbx,4), %rbx
	leaq	(%rsi,%r11,4), %rcx
	addq	$4, %rcx
	leaq	(%rsi,%rax,4), %r10
	addq	$4, %r10
	subq	%r12, %rax
	cmpq	%rdi, %rcx
	seta	%r14b
	leaq	(%rsi,%rax,4), %r15
	cmpq	%r9, %rbx
	setb	%r9b
	cmpq	%r10, %rbx
	setb	%al
	cmpq	%rcx, %r15
	setb	%cl
	testb	%r9b, %r14b
	jne	LBB0_14
## %bb.7:
	andb	%cl, %al
	jne	LBB0_2
## %bb.8:
	leaq	1(%r12), %r9
	movq	%r9, %r10
	andq	$-8, %r10
	movl	%r8d, %eax
	subl	%r10d, %eax
	movss	(%rdi), %xmm0                   ## xmm0 = mem[0],zero,zero,zero
	shufps	$0, %xmm0, %xmm0                ## xmm0 = xmm0[0,0,0,0]
	movq	%r10, %r14
	negq	%r14
	leaq	(%rsi,%r11,4), %rcx
	addq	$-12, %rcx
	subq	%r10, %r11
	xorl	%ebx, %ebx
	movaps	LCPI0_0(%rip), %xmm1            ## xmm1 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	.p2align	4, 0x90
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	leal	(%r12,%rbx), %edx
	movslq	%edx, %rdx
	movups	-28(%rsi,%rdx,4), %xmm2
	movups	-12(%rsi,%rdx,4), %xmm3
	shufps	$27, %xmm3, %xmm3               ## xmm3 = xmm3[3,2,1,0]
	shufps	$27, %xmm2, %xmm2               ## xmm2 = xmm2[3,2,1,0]
	movups	-16(%rcx,%rbx,4), %xmm4
	movups	(%rcx,%rbx,4), %xmm5
	xorps	%xmm1, %xmm3
	xorps	%xmm1, %xmm2
	mulps	%xmm0, %xmm3
	mulps	%xmm0, %xmm2
	shufps	$27, %xmm3, %xmm3               ## xmm3 = xmm3[3,2,1,0]
	addps	%xmm5, %xmm3
	movups	%xmm3, (%rcx,%rbx,4)
	shufps	$27, %xmm2, %xmm2               ## xmm2 = xmm2[3,2,1,0]
	addps	%xmm4, %xmm2
	movups	%xmm2, -16(%rcx,%rbx,4)
	addq	$-8, %rbx
	cmpq	%rbx, %r14
	jne	LBB0_9
## %bb.10:
	cmpq	%r10, %r9
	je	LBB0_21
## %bb.15:
	testb	$1, %r11b
	jne	LBB0_18
LBB0_16:
	movq	%r11, %rdx
	cmpl	$1, %r11d
	je	LBB0_21
	jmp	LBB0_19
LBB0_2:
	movl	%r8d, %eax
	testb	$1, %r11b
	je	LBB0_16
LBB0_18:
	cltq
	movss	-8(%rsi,%rax,4), %xmm0          ## xmm0 = mem[0],zero,zero,zero
	mulss	(%rdi), %xmm0
	movss	(%rsi,%r11,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	subss	%xmm0, %xmm1
	movss	%xmm1, (%rsi,%r11,4)
	leaq	-1(%r11), %rdx
	movl	%r11d, %eax
	cmpl	$1, %r11d
	je	LBB0_21
LBB0_19:
	movabsq	$-8589934592, %r9               ## imm = 0xFFFFFFFE00000000
	leal	-1(%rdx), %ecx
	leaq	(%rsi,%rdx,4), %rbx
	shlq	$32, %rdx
	addq	%r9, %rdx
	.p2align	4, 0x90
LBB0_20:                                ## =>This Inner Loop Header: Depth=1
                                        ## kill: def $ecx killed $ecx def $rcx
	cltq
	movss	-8(%rsi,%rax,4), %xmm0          ## xmm0 = mem[0],zero,zero,zero
	movss	-4(%rbx), %xmm1                 ## xmm1 = mem[0],zero,zero,zero
	movss	(%rbx), %xmm2                   ## xmm2 = mem[0],zero,zero,zero
	mulss	(%rdi), %xmm0
	subss	%xmm0, %xmm2
	movss	%xmm2, (%rbx)
	movq	%rdx, %rax
	sarq	$30, %rax
	movss	(%rsi,%rax), %xmm0              ## xmm0 = mem[0],zero,zero,zero
	mulss	(%rdi), %xmm0
	subss	%xmm0, %xmm1
	movss	%xmm1, -4(%rbx)
	movl	%ecx, %eax
	addl	$-2, %ecx
	addq	%r9, %rdx
	addq	$-8, %rbx
	cmpl	$-1, %ecx
	jne	LBB0_20
LBB0_21:
	movslq	4(%rdi), %rcx
	cmpl	%r8d, %ecx
	jge	LBB0_37
## %bb.22:
	movslq	%r8d, %rdx
	movq	%rdx, %r10
	subq	%rcx, %r10
	movq	%rcx, %r11
	cmpq	$4, %r10
	jb	LBB0_32
## %bb.23:
	leaq	(%rsi,%rcx,4), %rax
	leaq	(%rsi,%r10,4), %rdi
	cmpq	%rdi, %rax
	jae	LBB0_25
## %bb.24:
	leaq	(%rsi,%rdx,4), %rax
	movq	%rcx, %r11
	cmpq	%rsi, %rax
	ja	LBB0_32
LBB0_25:
	movq	%r10, %r11
	andq	$-4, %r11
	leaq	-4(%r11), %rax
	movq	%rax, %r9
	shrq	$2, %r9
	incq	%r9
	testq	%rax, %rax
	je	LBB0_38
## %bb.26:
	movq	%r9, %rdi
	andq	$-2, %rdi
	leaq	(%rsi,%rcx,4), %rbx
	addq	$16, %rbx
	xorl	%eax, %eax
	movapd	LCPI0_1(%rip), %xmm0            ## xmm0 = [8.4999999999999998E-1,8.4999999999999998E-1]
	.p2align	4, 0x90
LBB0_27:                                ## =>This Inner Loop Header: Depth=1
	cvtps2pd	8(%rsi,%rax,4), %xmm1
	cvtps2pd	(%rsi,%rax,4), %xmm2
	cvtps2pd	-8(%rbx,%rax,4), %xmm3
	cvtps2pd	-16(%rbx,%rax,4), %xmm4
	mulpd	%xmm0, %xmm2
	addpd	%xmm4, %xmm2
	mulpd	%xmm0, %xmm1
	addpd	%xmm3, %xmm1
	cvtpd2ps	%xmm1, %xmm1
	cvtpd2ps	%xmm2, %xmm2
	unpcklpd	%xmm1, %xmm2                    ## xmm2 = xmm2[0],xmm1[0]
	movupd	%xmm2, -16(%rbx,%rax,4)
	cvtps2pd	24(%rsi,%rax,4), %xmm1
	cvtps2pd	16(%rsi,%rax,4), %xmm2
	cvtps2pd	8(%rbx,%rax,4), %xmm3
	cvtps2pd	(%rbx,%rax,4), %xmm4
	mulpd	%xmm0, %xmm2
	addpd	%xmm4, %xmm2
	mulpd	%xmm0, %xmm1
	addpd	%xmm3, %xmm1
	cvtpd2ps	%xmm1, %xmm1
	cvtpd2ps	%xmm2, %xmm2
	unpcklpd	%xmm1, %xmm2                    ## xmm2 = xmm2[0],xmm1[0]
	movupd	%xmm2, (%rbx,%rax,4)
	addq	$8, %rax
	addq	$-2, %rdi
	jne	LBB0_27
## %bb.28:
	testb	$1, %r9b
	je	LBB0_30
LBB0_29:
	leaq	(%rax,%rcx), %rdi
	cvtps2pd	8(%rsi,%rax,4), %xmm0
	cvtps2pd	(%rsi,%rax,4), %xmm1
	cvtps2pd	8(%rsi,%rdi,4), %xmm2
	cvtps2pd	(%rsi,%rdi,4), %xmm3
	movapd	LCPI0_1(%rip), %xmm4            ## xmm4 = [8.4999999999999998E-1,8.4999999999999998E-1]
	mulpd	%xmm4, %xmm1
	addpd	%xmm3, %xmm1
	mulpd	%xmm4, %xmm0
	addpd	%xmm2, %xmm0
	cvtpd2ps	%xmm0, %xmm0
	cvtpd2ps	%xmm1, %xmm1
	unpcklpd	%xmm0, %xmm1                    ## xmm1 = xmm1[0],xmm0[0]
	movupd	%xmm1, (%rsi,%rdi,4)
LBB0_30:
	cmpq	%r11, %r10
	je	LBB0_37
## %bb.31:
	addq	%rcx, %r11
LBB0_32:
	subl	%r11d, %r8d
	movq	%r11, %rax
	notq	%rax
	testb	$1, %r8b
	je	LBB0_34
## %bb.33:
	movq	%r11, %rdi
	subq	%rcx, %rdi
	movss	(%rsi,%rdi,4), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	cvtss2sd	%xmm0, %xmm0
	movss	(%rsi,%r11,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	mulsd	LCPI0_2(%rip), %xmm0
	addsd	%xmm1, %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, (%rsi,%r11,4)
	incq	%r11
LBB0_34:
	addq	%rdx, %rax
	je	LBB0_37
## %bb.35:
	subq	%r11, %rdx
	leaq	(%rsi,%r11,4), %rax
	addq	$4, %rax
	shlq	$2, %rcx
	negq	%rcx
	movsd	LCPI0_2(%rip), %xmm0            ## xmm0 = mem[0],zero
	.p2align	4, 0x90
LBB0_36:                                ## =>This Inner Loop Header: Depth=1
	movss	-4(%rax,%rcx), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	movss	-4(%rax), %xmm2                 ## xmm2 = mem[0],zero,zero,zero
	movss	(%rax), %xmm3                   ## xmm3 = mem[0],zero,zero,zero
	cvtss2sd	%xmm2, %xmm2
	mulsd	%xmm0, %xmm1
	addsd	%xmm2, %xmm1
	cvtsd2ss	%xmm1, %xmm1
	movss	%xmm1, -4(%rax)
	movss	(%rax,%rcx), %xmm1              ## xmm1 = mem[0],zero,zero,zero
	cvtss2sd	%xmm1, %xmm1
	xorps	%xmm2, %xmm2
	cvtss2sd	%xmm3, %xmm2
	mulsd	%xmm0, %xmm1
	addsd	%xmm2, %xmm1
	cvtsd2ss	%xmm1, %xmm1
	movss	%xmm1, (%rax)
	addq	$8, %rax
	addq	$-2, %rdx
	jne	LBB0_36
LBB0_37:
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_38:
	xorl	%eax, %eax
	testb	$1, %r9b
	jne	LBB0_29
	jmp	LBB0_30
LBB0_14:
	movl	%r8d, %eax
	testb	$1, %r11b
	jne	LBB0_18
	jmp	LBB0_16
	.cfi_endproc
                                        ## -- End function
	.comm	_AMRWB_SFR_SIZE,4,2             ## @AMRWB_SFR_SIZE
	.no_dead_strip	_pitch_sharpening
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pitch_sharpening
_pitch_sharpening:                      ; @pitch_sharpening
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _AMRWB_SFR_SIZE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _AMRWB_SFR_SIZE@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	subs	w9, w8, #1
	b.eq	LBB0_13
; %bb.1:
	sxtw	x11, w9
	sub	w9, w8, #2
	cmp	w9, #15
	b.hs	LBB0_3
; %bb.2:
	mov	x10, x8
	b	LBB0_12
LBB0_3:
	tbnz	w9, #31, LBB0_11
; %bb.4:
	add	x12, x1, x11, lsl #2
	lsl	x13, x9, #2
	add	x10, x1, w9, sxtw #2
	sub	x14, x10, x13
	sub	x13, x12, x13
	cmp	x13, x12
	ccmp	x14, x10, #2, ls
	b.hi	LBB0_10
; %bb.5:
	add	x13, x0, #4
	sub	x12, x11, x9
	add	x14, x1, x12, lsl #2
	add	x12, x1, x11, lsl #2
	add	x15, x12, #4
	mov	x12, x9
	sxtw	x12, w12
	sub	x12, x12, x9
	add	x12, x1, x12, lsl #2
	add	x10, x10, #4
	cmp	x14, x10
	ccmp	x12, x15, #2, lo
	cset	w12, lo
	cmp	x14, x13
	mov	x10, x8
	ccmp	x15, x0, #0, lo
	b.hi	LBB0_12
; %bb.6:
	tbnz	w12, #0, LBB0_12
; %bb.7:
	add	x12, x9, #1
	and	x13, x12, #0x1fffffff0
	sub	x14, x11, x13
	sub	w10, w8, w13
	ld1r.4s	{ v0 }, [x0]
	add	x11, x1, x11, lsl #2
	sub	x11, x11, #28
	mov	x15, x13
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	add	x16, x1, w9, sxtw #2
	ldur	q1, [x16, #-12]
	rev64.4s	v1, v1
	ext.16b	v1, v1, v1, #8
	ldur	q2, [x16, #-28]
	rev64.4s	v2, v2
	ext.16b	v2, v2, v2, #8
	ldur	q3, [x16, #-44]
	rev64.4s	v3, v3
	ext.16b	v3, v3, v3, #8
	ldur	q4, [x16, #-60]
	rev64.4s	v4, v4
	ext.16b	v4, v4, v4, #8
	ldp	q6, q5, [x11]
	rev64.4s	v5, v5
	ext.16b	v5, v5, v5, #8
	rev64.4s	v6, v6
	ext.16b	v6, v6, v6, #8
	ldp	q16, q7, [x11, #-32]
	rev64.4s	v7, v7
	ext.16b	v7, v7, v7, #8
	rev64.4s	v16, v16
	ext.16b	v16, v16, v16, #8
	fmls.4s	v5, v0, v1
	fmls.4s	v6, v0, v2
	fmls.4s	v7, v0, v3
	fmls.4s	v16, v0, v4
	rev64.4s	v1, v5
	ext.16b	v1, v1, v1, #8
	rev64.4s	v2, v6
	ext.16b	v2, v2, v2, #8
	stp	q2, q1, [x11]
	rev64.4s	v1, v7
	ext.16b	v1, v1, v1, #8
	rev64.4s	v2, v16
	ext.16b	v2, v2, v2, #8
	stp	q2, q1, [x11, #-32]
	sub	w9, w9, #16
	sub	x11, x11, #64
	sub	x15, x15, #16
	cbnz	x15, LBB0_8
; %bb.9:
	mov	x11, x14
	cmp	x12, x13
	b.ne	LBB0_12
	b	LBB0_13
LBB0_10:
	mov	x10, x8
	b	LBB0_12
LBB0_11:
	mov	x10, x8
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	sub	w9, w10, #2
	ldr	s0, [x1, w9, sxtw #2]
	ldr	s1, [x0]
	lsl	x9, x11, #2
	ldr	s2, [x1, x9]
	fmsub	s0, s0, s1, s2
	str	s0, [x1, x9]
	mov	x10, x11
	sub	x9, x11, #1
	mov	x11, x9
	cbnz	w9, LBB0_12
LBB0_13:
	ldrsw	x9, [x0, #4]
	cmp	w9, w8
	b.ge	LBB0_22
; %bb.14:
	sxtw	x8, w8
	sub	x11, x8, x9
	cmp	x11, #16
	b.hs	LBB0_16
; %bb.15:
	mov	x10, x9
	b	LBB0_20
LBB0_16:
	add	x10, x1, x9, lsl #2
	add	x12, x1, x8, lsl #2
	add	x13, x1, x11, lsl #2
	cmp	x10, x13
	ccmp	x12, x1, #0, lo
	mov	x10, x9
	b.hi	LBB0_20
; %bb.17:
	and	x12, x11, #0xfffffffffffffff0
	add	x10, x12, x9
	lsl	x13, x9, #2
	add	x14, x1, #32
	mov	x15, #3689348814741910323
	movk	x15, #16363, lsl #48
	dup.2d	v0, x15
	mov	x15, x12
LBB0_18:                                ; =>This Inner Loop Header: Depth=1
	ldp	q1, q2, [x14, #-32]
	ldp	q3, q4, [x14]
	fcvtl	v5.2d, v1.2s
	fcvtl2	v1.2d, v1.4s
	fcvtl	v6.2d, v2.2s
	fcvtl2	v2.2d, v2.4s
	fcvtl	v7.2d, v3.2s
	fcvtl2	v3.2d, v3.4s
	fcvtl	v16.2d, v4.2s
	fcvtl2	v4.2d, v4.4s
	add	x16, x14, x13
	ldp	q17, q18, [x16, #-32]
	ldp	q19, q20, [x16]
	fcvtl	v21.2d, v17.2s
	fcvtl2	v17.2d, v17.4s
	fcvtl	v22.2d, v18.2s
	fcvtl2	v18.2d, v18.4s
	fcvtl	v23.2d, v19.2s
	fcvtl2	v19.2d, v19.4s
	fcvtl	v24.2d, v20.2s
	fcvtl2	v20.2d, v20.4s
	fmla.2d	v17, v0, v1
	fmla.2d	v21, v0, v5
	fmla.2d	v18, v0, v2
	fmla.2d	v22, v0, v6
	fmla.2d	v19, v0, v3
	fmla.2d	v23, v0, v7
	fmla.2d	v20, v0, v4
	fmla.2d	v24, v0, v16
	fcvtn	v1.2s, v21.2d
	fcvtn2	v1.4s, v17.2d
	fcvtn	v2.2s, v22.2d
	fcvtn2	v2.4s, v18.2d
	fcvtn	v3.2s, v23.2d
	fcvtn2	v3.4s, v19.2d
	fcvtn	v4.2s, v24.2d
	stp	q1, q2, [x16, #-32]
	fcvtn2	v4.4s, v20.2d
	stp	q3, q4, [x16]
	add	x14, x14, #64
	subs	x15, x15, #16
	b.ne	LBB0_18
; %bb.19:
	cmp	x11, x12
	b.eq	LBB0_22
LBB0_20:
	add	x11, x1, x10, lsl #2
	sub	x8, x8, x10
	mov	x10, #3689348814741910323
	movk	x10, #16363, lsl #48
	neg	x9, x9, lsl #2
LBB0_21:                                ; =>This Inner Loop Header: Depth=1
	ldr	s0, [x11, x9]
	fcvt	d0, s0
	ldr	s1, [x11]
	fcvt	d1, s1
	fmov	d2, x10
	fmadd	d0, d0, d2, d1
	fcvt	s0, d0
	str	s0, [x11], #4
	subs	x8, x8, #1
	b.ne	LBB0_21
LBB0_22:
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_AMRWB_SFR_SIZE,4,2             ; @AMRWB_SFR_SIZE
	.no_dead_strip	_pitch_sharpening
.subsections_via_symbols
