	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function apply_gain
LCPI0_0:
	.long	0x3f800000                      ## float 1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.long	2                               ## 0x2
	.long	3                               ## 0x3
LCPI0_2:
	.long	4                               ## 0x4
	.long	4                               ## 0x4
	.long	4                               ## 0x4
	.long	4                               ## 0x4
LCPI0_3:
	.long	4294967291                      ## 0xfffffffb
	.long	4294967291                      ## 0xfffffffb
	.long	4294967291                      ## 0xfffffffb
	.long	4294967291                      ## 0xfffffffb
LCPI0_4:
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_apply_gain:                            ## @apply_gain
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	cmpl	$960, %esi                      ## imm = 0x3C0
	jne	LBB0_2
## %bb.1:
	cmpl	$960, %edx                      ## imm = 0x3C0
	jne	LBB0_2
LBB0_11:
	popq	%rbp
	retq
LBB0_2:
	cmpl	%edx, %esi
	jne	LBB0_3
## %bb.12:
	movq	(%rdi), %rax
	movq	(%rax), %rax
	movq	_gain_tab@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movslq	%esi, %rsi
	movss	(%rdx,%rsi,4), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	movq	_FRAME_SAMPLES@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movq	%rcx, %rdi
	movq	%rcx, %rsi
	popq	%rbp
	jmpq	*%rax                           ## TAILCALL
LBB0_3:
	movq	_FRAME_SAMPLES@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_11
## %bb.4:
	movq	_gain_tab@GOTPCREL(%rip), %rdi
	movq	(%rdi), %rdi
	movslq	%esi, %r8
	leal	-1(%rax), %esi
	cvtsi2ss	%esi, %xmm1
	movss	LCPI0_0(%rip), %xmm13           ## xmm13 = mem[0],zero,zero,zero
	divss	%xmm1, %xmm13
	movss	(%rdi,%r8,4), %xmm12            ## xmm12 = mem[0],zero,zero,zero
	mulss	%xmm13, %xmm12
	movslq	%edx, %rdx
	mulss	(%rdi,%rdx,4), %xmm13
	cmpl	$8, %eax
	jae	LBB0_6
## %bb.5:
	xorl	%edx, %edx
	jmp	LBB0_9
LBB0_6:
	movd	%eax, %xmm2
	movl	%eax, %edx
	andl	$-8, %edx
	pshufd	$0, %xmm2, %xmm1                ## xmm1 = xmm2[0,0,0,0]
	movaps	%xmm13, %xmm3
	shufps	$0, %xmm13, %xmm3               ## xmm3 = xmm3[0,0],xmm13[0,0]
	movaps	%xmm12, %xmm4
	shufps	$0, %xmm12, %xmm4               ## xmm4 = xmm4[0,0],xmm12[0,0]
	leaq	(,%rax,4), %rsi
	andq	$-32, %rsi
	movdqa	LCPI0_1(%rip), %xmm6            ## xmm6 = [0,1,2,3]
	xorl	%edi, %edi
	movdqa	LCPI0_2(%rip), %xmm8            ## xmm8 = [4,4,4,4]
	pcmpeqd	%xmm9, %xmm9
	movdqa	LCPI0_3(%rip), %xmm10           ## xmm10 = [4294967291,4294967291,4294967291,4294967291]
	movdqa	LCPI0_4(%rip), %xmm11           ## xmm11 = [8,8,8,8]
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm6, %xmm7
	paddd	%xmm8, %xmm7
	movdqa	%xmm6, %xmm5
	pxor	%xmm9, %xmm5
	paddd	%xmm1, %xmm5
	movdqa	%xmm1, %xmm2
	psubd	%xmm6, %xmm2
	paddd	%xmm10, %xmm2
	cvtdq2ps	%xmm5, %xmm5
	cvtdq2ps	%xmm2, %xmm2
	cvtdq2ps	%xmm6, %xmm0
	cvtdq2ps	%xmm7, %xmm7
	mulps	%xmm3, %xmm0
	mulps	%xmm3, %xmm7
	mulps	%xmm4, %xmm5
	addps	%xmm0, %xmm5
	mulps	%xmm4, %xmm2
	addps	%xmm7, %xmm2
	movups	(%rcx,%rdi), %xmm0
	mulps	%xmm5, %xmm0
	movups	16(%rcx,%rdi), %xmm5
	mulps	%xmm2, %xmm5
	movups	%xmm0, (%rcx,%rdi)
	movups	%xmm5, 16(%rcx,%rdi)
	paddd	%xmm11, %xmm6
	addq	$32, %rdi
	cmpq	%rdi, %rsi
	jne	LBB0_7
## %bb.8:
	cmpq	%rax, %rdx
	je	LBB0_11
LBB0_9:
	movl	%edx, %esi
	notl	%esi
	addl	%eax, %esi
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	xorps	%xmm0, %xmm0
	cvtsi2ss	%esi, %xmm0
	xorps	%xmm1, %xmm1
	cvtsi2ss	%edx, %xmm1
	mulss	%xmm13, %xmm1
	mulss	%xmm12, %xmm0
	addss	%xmm1, %xmm0
	mulss	(%rcx,%rdx,4), %xmm0
	movss	%xmm0, (%rcx,%rdx,4)
	incq	%rdx
	decl	%esi
	cmpq	%rdx, %rax
	jne	LBB0_10
	jmp	LBB0_11
	.cfi_endproc
                                        ## -- End function
	.comm	_gain_tab,8,3                   ## @gain_tab
	.comm	_FRAME_SAMPLES,4,2              ## @FRAME_SAMPLES
	.no_dead_strip	_apply_gain
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function apply_gain
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.long	2                               ; 0x2
	.long	3                               ; 0x3
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_apply_gain:                            ; @apply_gain
	.cfi_startproc
; %bb.0:
	cmp	w1, #960
	b.ne	LBB0_3
; %bb.1:
	cmp	w2, #960
	b.ne	LBB0_3
LBB0_2:
	ret
LBB0_3:
	cmp	w1, w2
	b.ne	LBB0_5
; %bb.4:
Lloh0:
	adrp	x8, _gain_tab@GOTPAGE
Lloh1:
	ldr	x8, [x8, _gain_tab@GOTPAGEOFF]
	ldr	x9, [x0]
Lloh2:
	ldr	x8, [x8]
	ldr	s0, [x8, w1, sxtw #2]
Lloh3:
	adrp	x8, _FRAME_SAMPLES@GOTPAGE
Lloh4:
	ldr	x8, [x8, _FRAME_SAMPLES@GOTPAGEOFF]
	ldr	x4, [x9]
Lloh5:
	ldr	w2, [x8]
	mov	x0, x3
	mov	x1, x3
	br	x4
LBB0_5:
Lloh6:
	adrp	x8, _FRAME_SAMPLES@GOTPAGE
Lloh7:
	ldr	x8, [x8, _FRAME_SAMPLES@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
	subs	w9, w8, #1
	b.lt	LBB0_2
; %bb.6:
Lloh9:
	adrp	x10, _gain_tab@GOTPAGE
Lloh10:
	ldr	x10, [x10, _gain_tab@GOTPAGEOFF]
Lloh11:
	ldr	x10, [x10]
	ldr	s0, [x10, w1, sxtw #2]
	scvtf	s1, w9
	fmov	s2, #1.00000000
	fdiv	s1, s2, s1
	fmul	s0, s0, s1
	ldr	s2, [x10, w2, sxtw #2]
	fmul	s1, s2, s1
	cmp	w8, #16
	b.hs	LBB0_8
; %bb.7:
	mov	x9, #0
	b	LBB0_11
LBB0_8:
	and	x9, x8, #0xfffffff0
	dup.4s	v2, w8
	dup.4s	v3, v1[0]
	add	x10, x3, #32
	dup.4s	v4, v0[0]
	movi.4s	v5, #4
Lloh12:
	adrp	x11, lCPI0_0@PAGE
Lloh13:
	ldr	q6, [x11, lCPI0_0@PAGEOFF]
	movi.4s	v7, #8
	movi.4s	v16, #12
	mvni.4s	v17, #4
	mvni.4s	v18, #8
	mvni.4s	v19, #12
	mov	x11, x9
	movi.4s	v20, #16
LBB0_9:                                 ; =>This Inner Loop Header: Depth=1
	add.4s	v21, v6, v5
	add.4s	v22, v6, v7
	add.4s	v23, v6, v16
	mvn.16b	v24, v6
	add.4s	v24, v2, v24
	sub.4s	v25, v2, v6
	add.4s	v26, v25, v17
	add.4s	v27, v25, v18
	add.4s	v25, v25, v19
	scvtf.4s	v24, v24
	scvtf.4s	v26, v26
	scvtf.4s	v27, v27
	scvtf.4s	v25, v25
	scvtf.4s	v28, v6
	scvtf.4s	v21, v21
	scvtf.4s	v22, v22
	scvtf.4s	v23, v23
	fmul.4s	v28, v3, v28
	fmul.4s	v21, v3, v21
	fmul.4s	v22, v3, v22
	fmul.4s	v23, v23, v1[0]
	fmla.4s	v28, v24, v4
	fmla.4s	v21, v26, v4
	fmla.4s	v22, v27, v4
	fmla.4s	v23, v25, v4
	ldp	q24, q25, [x10, #-32]
	ldp	q26, q27, [x10]
	fmul.4s	v24, v28, v24
	fmul.4s	v21, v21, v25
	fmul.4s	v22, v22, v26
	fmul.4s	v23, v23, v27
	stp	q24, q21, [x10, #-32]
	stp	q22, q23, [x10], #64
	add.4s	v6, v6, v20
	subs	x11, x11, #16
	b.ne	LBB0_9
; %bb.10:
	cmp	x9, x8
	b.eq	LBB0_2
LBB0_11:
	mvn	w10, w9
	add	w10, w10, w8
LBB0_12:                                ; =>This Inner Loop Header: Depth=1
	scvtf	s2, w10
	scvtf	s3, w9
	fmul	s3, s1, s3
	fmadd	s2, s0, s2, s3
	lsl	x11, x9, #2
	ldr	s3, [x3, x11]
	fmul	s2, s2, s3
	str	s2, [x3, x11]
	add	x9, x9, #1
	sub	w10, w10, #1
	cmp	x8, x9
	b.ne	LBB0_12
	b	LBB0_2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdr	Lloh12, Lloh13
	.cfi_endproc
                                        ; -- End function
	.comm	_gain_tab,8,3                   ; @gain_tab
	.comm	_FRAME_SAMPLES,4,2              ; @FRAME_SAMPLES
	.no_dead_strip	_apply_gain
.subsections_via_symbols
