	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function fixed_gain_smooth
LCPI0_0:
	.long	0x7fffffff                      ## float NaN
	.long	0x7fffffff                      ## float NaN
	.long	0x7fffffff                      ## float NaN
	.long	0x7fffffff                      ## float NaN
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_1:
	.quad	0x3fe4cccccccccccd              ## double 0.65000000000000002
LCPI0_2:
	.quad	0x4010000000000000              ## double 4
LCPI0_3:
	.quad	0xbff999999999999a              ## double -1.6000000000000001
LCPI0_4:
	.quad	0x3ff0000000000000              ## double 1
LCPI0_5:
	.quad	0x3fc999999999999a              ## double 0.20000000000000001
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_fixed_gain_smooth:                     ## @fixed_gain_smooth
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rdi, %r14
	movq	_LP_FILTER_ORDER@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	testl	%ebx, %ebx
	jle	LBB0_1
## %bb.6:
	cmpl	$1, %ebx
	jne	LBB0_8
## %bb.7:
	xorps	%xmm0, %xmm0
	xorl	%edi, %edi
	jmp	LBB0_10
LBB0_1:
	movl	$0, (%r14)
	xorps	%xmm0, %xmm0
	jmp	LBB0_2
LBB0_8:
	movl	%ebx, %eax
	andl	$-2, %eax
	xorps	%xmm0, %xmm0
	xorl	%edi, %edi
	movaps	LCPI0_0(%rip), %xmm1            ## xmm1 = [NaN,NaN,NaN,NaN]
	.p2align	4, 0x90
LBB0_9:                                 ## =>This Inner Loop Header: Depth=1
	movss	(%rdx,%rdi,4), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	movss	4(%rdx,%rdi,4), %xmm3           ## xmm3 = mem[0],zero,zero,zero
	movaps	%xmm2, %xmm4
	subss	(%rsi,%rdi,4), %xmm4
	andps	%xmm1, %xmm4
	divss	%xmm2, %xmm4
	addss	%xmm0, %xmm4
	movaps	%xmm3, %xmm0
	subss	4(%rsi,%rdi,4), %xmm0
	andps	%xmm1, %xmm0
	divss	%xmm3, %xmm0
	addss	%xmm4, %xmm0
	addq	$2, %rdi
	cmpq	%rdi, %rax
	jne	LBB0_9
LBB0_10:
	testb	$1, %bl
	je	LBB0_12
## %bb.11:
	movss	(%rdx,%rdi,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	movaps	%xmm1, %xmm2
	subss	(%rsi,%rdi,4), %xmm2
	andps	LCPI0_0(%rip), %xmm2
	divss	%xmm1, %xmm2
	addss	%xmm2, %xmm0
LBB0_12:
	cvtss2sd	%xmm0, %xmm0
	movl	(%r14), %edx
	incl	%edx
	xorl	%eax, %eax
	movsd	LCPI0_1(%rip), %xmm1            ## xmm1 = mem[0],zero
	ucomisd	%xmm0, %xmm1
	cmovael	%eax, %edx
	movl	%edx, (%r14)
	cmpl	$11, %edx
	jl	LBB0_2
## %bb.13:
	decl	%edx
	movl	%edx, (%r14)
	jmp	LBB0_14
LBB0_2:
	movl	4(%r14), %eax
	cmpl	$39, %eax
	jg	LBB0_3
LBB0_14:
	incl	%eax
	movl	%eax, 4(%r14)
LBB0_15:
	movq	8(%r14), %rax
	movsd	32(%rax), %xmm0                 ## xmm0 = mem[0],zero
LBB0_16:
	cvtsd2ss	%xmm0, %xmm0
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
LBB0_3:
	movq	_MODE_7k4@GOTPCREL(%rip), %rax
	cmpl	%ecx, (%rax)
	ja	LBB0_5
## %bb.4:
	movq	_MODE_10k2@GOTPCREL(%rip), %rax
	cmpl	%ecx, (%rax)
	jne	LBB0_15
LBB0_5:
	mulsd	LCPI0_2(%rip), %xmm0
	addsd	LCPI0_3(%rip), %xmm0
	movsd	LCPI0_4(%rip), %xmm2            ## xmm2 = mem[0],zero
	xorpd	%xmm1, %xmm1
	callq	_av_clipf
	movq	8(%r14), %rax
	movsd	(%rax), %xmm1                   ## xmm1 = mem[0],zero
	addsd	8(%rax), %xmm1
	addsd	16(%rax), %xmm1
	addsd	24(%rax), %xmm1
	movsd	32(%rax), %xmm2                 ## xmm2 = mem[0],zero
	addsd	%xmm2, %xmm1
	mulsd	LCPI0_5(%rip), %xmm1
	cvtsd2ss	%xmm1, %xmm1
	cvtss2sd	%xmm0, %xmm0
	movsd	LCPI0_4(%rip), %xmm3            ## xmm3 = mem[0],zero
	subsd	%xmm0, %xmm3
	cvtss2sd	%xmm1, %xmm1
	mulsd	%xmm3, %xmm1
	mulsd	%xmm2, %xmm0
	addsd	%xmm1, %xmm0
	jmp	LBB0_16
	.cfi_endproc
                                        ## -- End function
	.comm	_LP_FILTER_ORDER,4,2            ## @LP_FILTER_ORDER
	.comm	_MODE_7k4,4,2                   ## @MODE_7k4
	.comm	_MODE_10k2,4,2                  ## @MODE_10k2
	.no_dead_strip	_fixed_gain_smooth
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function fixed_gain_smooth
_fixed_gain_smooth:                     ; @fixed_gain_smooth
	.cfi_startproc
; %bb.0:
	stp	d9, d8, [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 b8, -40
	.cfi_offset b9, -48
	mov	x19, x0
Lloh0:
	adrp	x8, _LP_FILTER_ORDER@GOTPAGE
Lloh1:
	ldr	x8, [x8, _LP_FILTER_ORDER@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	cmp	w8, #0
	b.le	LBB0_3
; %bb.1:
	cmp	w8, #16
	b.hs	LBB0_4
; %bb.2:
	mov	x9, #0
	movi	d0, #0000000000000000
	b	LBB0_7
LBB0_3:
	str	wzr, [x19]
	movi	d0, #0000000000000000
	b	LBB0_11
LBB0_4:
	and	x9, x8, #0xfffffff0
	add	x10, x1, #32
	add	x11, x2, #32
	movi	d0, #0000000000000000
	mov	x12, x9
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q1, q2, [x11, #-32]
	ldp	q3, q4, [x11], #64
	ldp	q5, q6, [x10, #-32]
	ldp	q7, q16, [x10], #64
	fabd.4s	v5, v1, v5
	fabd.4s	v6, v2, v6
	fabd.4s	v7, v3, v7
	fabd.4s	v16, v4, v16
	fdiv.4s	v1, v5, v1
	mov	s5, v1[3]
	mov	s17, v1[2]
	mov	s18, v1[1]
	fdiv.4s	v2, v6, v2
	mov	s6, v2[3]
	mov	s19, v2[2]
	mov	s20, v2[1]
	fdiv.4s	v3, v7, v3
	mov	s7, v3[3]
	mov	s21, v3[2]
	mov	s22, v3[1]
	fdiv.4s	v4, v16, v4
	mov	s16, v4[3]
	mov	s23, v4[2]
	mov	s24, v4[1]
	fadd	s0, s0, s1
	fadd	s0, s0, s18
	fadd	s0, s0, s17
	fadd	s0, s0, s5
	fadd	s0, s0, s2
	fadd	s0, s0, s20
	fadd	s0, s0, s19
	fadd	s0, s0, s6
	fadd	s0, s0, s3
	fadd	s0, s0, s22
	fadd	s0, s0, s21
	fadd	s0, s0, s7
	fadd	s0, s0, s4
	fadd	s0, s0, s24
	fadd	s0, s0, s23
	fadd	s0, s0, s16
	subs	x12, x12, #16
	b.ne	LBB0_5
; %bb.6:
	cmp	x9, x8
	b.eq	LBB0_9
LBB0_7:
	lsl	x11, x9, #2
	add	x10, x1, x11
	add	x11, x2, x11
	sub	x8, x8, x9
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	s1, [x11], #4
	ldr	s2, [x10], #4
	fabd	s2, s1, s2
	fdiv	s1, s2, s1
	fadd	s0, s0, s1
	subs	x8, x8, #1
	b.ne	LBB0_8
LBB0_9:
	fcvt	d0, s0
	ldr	w8, [x19]
	mov	x9, #-3689348814741910324
	movk	x9, #52429
	movk	x9, #16356, lsl #48
	fmov	d1, x9
	fcmp	d0, d1
	csinc	w9, wzr, w8, ls
	str	w9, [x19]
	cmp	w9, #11
	b.lt	LBB0_11
; %bb.10:
	mov	w8, #0
	sub	w9, w9, #1
	str	w9, [x19]
	b	LBB0_12
LBB0_11:
	ldr	w8, [x19, #4]
	cmp	w8, #39
	b.gt	LBB0_13
LBB0_12:
	add	w8, w8, #1
	str	w8, [x19, #4]
	b	LBB0_15
LBB0_13:
Lloh3:
	adrp	x8, _MODE_7k4@GOTPAGE
Lloh4:
	ldr	x8, [x8, _MODE_7k4@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
Lloh6:
	adrp	x9, _MODE_10k2@GOTPAGE
Lloh7:
	ldr	x9, [x9, _MODE_10k2@GOTPAGEOFF]
Lloh8:
	ldr	w9, [x9]
	cmp	w8, w3
	ccmp	w9, w3, #4, ls
	b.ne	LBB0_15
; %bb.14:
	mov	x8, #-7378697629483820647
	movk	x8, #39322
	movk	x8, #49145, lsl #48
	fmov	d1, x8
	fmov	d2, #4.00000000
	fmadd	d0, d0, d2, d1
	fmov	d8, #1.00000000
	movi	d1, #0000000000000000
	fmov	d2, #1.00000000
	bl	_av_clipf
	ldr	x8, [x19, #8]
	ldp	d1, d2, [x8]
	fadd	d1, d1, d2
	ldp	d2, d3, [x8, #16]
	fadd	d1, d1, d2
	fadd	d1, d1, d3
	ldr	d2, [x8, #32]
	fadd	d1, d1, d2
	mov	x8, #-7378697629483820647
	movk	x8, #39322
	movk	x8, #16329, lsl #48
	fmov	d3, x8
	fmul	d1, d1, d3
	fcvt	s1, d1
	fcvt	d0, s0
	fsub	d3, d8, d0
	fcvt	d1, s1
	fmul	d1, d3, d1
	fmadd	d0, d0, d2, d1
	b	LBB0_16
LBB0_15:
	ldr	x8, [x19, #8]
	ldr	d0, [x8, #32]
LBB0_16:
	fcvt	s0, d0
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp], #48               ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.comm	_LP_FILTER_ORDER,4,2            ; @LP_FILTER_ORDER
	.comm	_MODE_7k4,4,2                   ; @MODE_7k4
	.comm	_MODE_10k2,4,2                  ; @MODE_10k2
	.no_dead_strip	_fixed_gain_smooth
.subsections_via_symbols
