	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function synth_tones
LCPI0_0:
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_synth_tones:                           ## @synth_tones
	.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
	js	LBB0_20
## %bb.1:
	movq	(%rdi), %rax
	movslq	%ecx, %rcx
	movq	(%rax,%rcx,8), %rax
	movslq	%r8d, %rcx
	movq	(%rax,%rcx,8), %rax
	movl	(%rax), %r13d
	movl	4(%rax), %ebx
	subl	%r13d, %ebx
	movq	_DCA_LBR_TONES@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	leal	-1(%rax), %ecx
	andl	%ebx, %ecx
	jle	LBB0_20
## %bb.2:
	movq	8(%rdi), %r12
	movslq	%esi, %r11
	movq	_ff_dca_synth_env@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	%rsi, -80(%rbp)                 ## 8-byte Spill
	movl	%r9d, %esi
	movq	%rsi, -72(%rbp)                 ## 8-byte Spill
	movq	_ff_dca_quant_amp@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	%rsi, -64(%rbp)                 ## 8-byte Spill
	movq	_cos_tab@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	%rsi, -56(%rbp)                 ## 8-byte Spill
	movq	_ff_dca_corr_cf@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	%rsi, -48(%rbp)                 ## 8-byte Spill
	decl	%ecx
	movaps	LCPI0_0(%rip), %xmm0            ## xmm0 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	.p2align	4, 0x90
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	decl	%eax
	andl	%r13d, %eax
	cltq
	leaq	(%rax,%rax,4), %rbx
	movq	(%r12,%rbx,8), %rax
	movslq	(%rax,%r11,4), %rax
	testq	%rax, %rax
	je	LBB0_4
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	-80(%rbp), %rsi                 ## 8-byte Reload
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movss	(%rsi,%rdi,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	mulss	(%rsi,%rax,4), %xmm1
	movq	8(%r12,%rbx,8), %r14
	movq	16(%r12,%rbx,8), %rsi
	movl	(%r14,%r11,4), %r8d
	movzbl	%r8b, %eax
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	movss	(%rdi,%rax,4), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm2
	leal	64(%r8), %eax
	movzbl	%al, %eax
	mulss	(%rdi,%rax,4), %xmm1
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	movq	(%rax,%rsi,8), %r15
	movl	24(%r12,%rbx,8), %esi
	movslq	%esi, %r10
	cmpq	$4, %rsi
	ja	LBB0_12
## %bb.6:                               ##   in Loop: Header=BB0_3 Depth=1
	leaq	LJTI0_0(%rip), %rdi
	movslq	(%rdi,%rsi,4), %rax
	addq	%rdi, %rax
	jmpq	*%rax
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=1
	movaps	%xmm1, %xmm3
	xorps	%xmm0, %xmm3
	jmp	LBB0_17
	.p2align	4, 0x90
LBB0_4:                                 ##   in Loop: Header=BB0_3 Depth=1
	movq	8(%r12,%rbx,8), %r14
	movl	(%r14,%r11,4), %r8d
	jmp	LBB0_18
LBB0_12:                                ##   in Loop: Header=BB0_3 Depth=1
	movaps	%xmm1, %xmm3
	xorps	%xmm0, %xmm3
	movss	-20(%rdx,%r10,4), %xmm4         ## xmm4 = mem[0],zero,zero,zero
	movss	(%r15), %xmm5                   ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, -20(%rdx,%r10,4)
	jmp	LBB0_13
LBB0_8:                                 ##   in Loop: Header=BB0_3 Depth=1
	movaps	%xmm1, %xmm3
	xorps	%xmm0, %xmm3
	movss	(%rdx), %xmm4                   ## xmm4 = mem[0],zero,zero,zero
	movss	12(%rdx), %xmm5                 ## xmm5 = mem[0],zero,zero,zero
	movss	(%r15), %xmm6                   ## xmm6 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm6
	subss	%xmm6, %xmm5
	movss	%xmm5, 12(%rdx)
	movss	4(%r15), %xmm5                  ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm5
	addss	8(%rdx), %xmm5
	movss	%xmm5, 8(%rdx)
	movss	8(%r15), %xmm5                  ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm5
	addss	4(%rdx), %xmm5
	movss	%xmm5, 4(%rdx)
	movss	12(%r15), %xmm5                 ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, (%rdx)
	jmp	LBB0_16
LBB0_9:                                 ##   in Loop: Header=BB0_3 Depth=1
	movaps	%xmm1, %xmm3
	xorps	%xmm0, %xmm3
	movss	8(%rdx), %xmm4                  ## xmm4 = mem[0],zero,zero,zero
	movss	(%r15), %xmm5                   ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, 8(%rdx)
	movss	4(%r15), %xmm4                  ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm4
	addss	4(%rdx), %xmm4
	movss	%xmm4, 4(%rdx)
	movq	%rdx, %r9
	jmp	LBB0_15
LBB0_10:                                ##   in Loop: Header=BB0_3 Depth=1
	movaps	%xmm1, %xmm3
	xorps	%xmm0, %xmm3
	movss	4(%rdx), %xmm4                  ## xmm4 = mem[0],zero,zero,zero
	movss	(%r15), %xmm5                   ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, 4(%rdx)
	movq	%rdx, %rsi
	jmp	LBB0_14
LBB0_11:                                ##   in Loop: Header=BB0_3 Depth=1
	movaps	%xmm1, %xmm3
	xorps	%xmm0, %xmm3
	movss	(%rdx), %xmm4                   ## xmm4 = mem[0],zero,zero,zero
	movss	(%r15), %xmm5                   ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, (%rdx)
LBB0_13:                                ##   in Loop: Header=BB0_3 Depth=1
	leaq	(%rdx,%r10,4), %rsi
	addq	$-16, %rsi
LBB0_14:                                ##   in Loop: Header=BB0_3 Depth=1
	movss	4(%r15), %xmm4                  ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm4
	addss	(%rsi), %xmm4
	movss	%xmm4, (%rsi)
	leaq	(%rdx,%r10,4), %r9
	addq	$-12, %r9
LBB0_15:                                ##   in Loop: Header=BB0_3 Depth=1
	movss	8(%r15), %xmm4                  ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm4
	addss	(%r9), %xmm4
	movss	%xmm4, (%r9)
	movss	-8(%rdx,%r10,4), %xmm4          ## xmm4 = mem[0],zero,zero,zero
	movss	12(%r15), %xmm5                 ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, -8(%rdx,%r10,4)
LBB0_16:                                ##   in Loop: Header=BB0_3 Depth=1
	movss	16(%r15), %xmm4                 ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm3, %xmm4
	addss	-4(%rdx,%r10,4), %xmm4
	movss	%xmm4, -4(%rdx,%r10,4)
LBB0_17:                                ##   in Loop: Header=BB0_3 Depth=1
	movss	20(%r15), %xmm4                 ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm4
	addss	(%rdx,%r10,4), %xmm4
	movss	%xmm4, (%rdx,%r10,4)
	movss	24(%r15), %xmm4                 ## xmm4 = mem[0],zero,zero,zero
	mulss	%xmm1, %xmm4
	addss	4(%rdx,%r10,4), %xmm4
	movss	%xmm4, 4(%rdx,%r10,4)
	movss	8(%rdx,%r10,4), %xmm4           ## xmm4 = mem[0],zero,zero,zero
	movss	28(%r15), %xmm5                 ## xmm5 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm5
	subss	%xmm5, %xmm4
	movss	%xmm4, 8(%rdx,%r10,4)
	mulss	32(%r15), %xmm3
	addss	12(%rdx,%r10,4), %xmm3
	movss	%xmm3, 12(%rdx,%r10,4)
	mulss	36(%r15), %xmm2
	addss	16(%rdx,%r10,4), %xmm2
	movss	%xmm2, 16(%rdx,%r10,4)
	mulss	40(%r15), %xmm1
	addss	20(%rdx,%r10,4), %xmm1
	movss	%xmm1, 20(%rdx,%r10,4)
LBB0_18:                                ##   in Loop: Header=BB0_3 Depth=1
	addl	32(%r12,%rbx,8), %r8d
	movl	%r8d, (%r14,%r11,4)
	subl	$1, %ecx
	jb	LBB0_20
## %bb.19:                              ##   in Loop: Header=BB0_3 Depth=1
	movq	_DCA_LBR_TONES@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	incl	%r13d
	jmp	LBB0_3
LBB0_20:
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_7, LBB0_7-LJTI0_0
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_9, LBB0_9-LJTI0_0
.set L0_0_set_10, LBB0_10-LJTI0_0
.set L0_0_set_11, LBB0_11-LJTI0_0
LJTI0_0:
	.long	L0_0_set_7
	.long	L0_0_set_8
	.long	L0_0_set_9
	.long	L0_0_set_10
	.long	L0_0_set_11
	.end_data_region
                                        ## -- End function
	.comm	_DCA_LBR_TONES,4,2              ## @DCA_LBR_TONES
	.comm	_ff_dca_synth_env,8,3           ## @ff_dca_synth_env
	.comm	_ff_dca_quant_amp,8,3           ## @ff_dca_quant_amp
	.comm	_cos_tab,8,3                    ## @cos_tab
	.comm	_ff_dca_corr_cf,8,3             ## @ff_dca_corr_cf
	.no_dead_strip	_synth_tones
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function synth_tones
_synth_tones:                           ; @synth_tones
	.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 $w1 killed $w1 def $x1
	tbnz	w5, #31, LBB0_20
; %bb.1:
	ldr	x8, [x0]
	ldr	x8, [x8, w3, sxtw #3]
	ldr	x10, [x8, w4, sxtw #3]
Lloh0:
	adrp	x8, _DCA_LBR_TONES@GOTPAGE
Lloh1:
	ldr	x8, [x8, _DCA_LBR_TONES@GOTPAGEOFF]
	ldp	w9, w10, [x10]
	ldr	w3, [x8]
	sub	w11, w3, #1
	sub	w10, w10, w9
	and	w10, w11, w10
	subs	w10, w10, #1
	b.lt	LBB0_20
; %bb.2:
	ldr	x11, [x0, #8]
	sxtw	x12, w1
Lloh2:
	adrp	x13, _ff_dca_synth_env@GOTPAGE
Lloh3:
	ldr	x13, [x13, _ff_dca_synth_env@GOTPAGEOFF]
Lloh4:
	ldr	x13, [x13]
	mov	w14, w5
Lloh5:
	adrp	x15, _ff_dca_quant_amp@GOTPAGE
Lloh6:
	ldr	x15, [x15, _ff_dca_quant_amp@GOTPAGEOFF]
Lloh7:
	ldr	x15, [x15]
Lloh8:
	adrp	x16, _cos_tab@GOTPAGE
Lloh9:
	ldr	x16, [x16, _cos_tab@GOTPAGEOFF]
Lloh10:
	ldr	x16, [x16]
Lloh11:
	adrp	x17, _ff_dca_corr_cf@GOTPAGE
Lloh12:
	ldr	x17, [x17, _ff_dca_corr_cf@GOTPAGEOFF]
Lloh13:
	ldr	x17, [x17]
	mov	w0, #40
Lloh14:
	adrp	x1, lJTI0_0@PAGE
Lloh15:
	add	x1, x1, lJTI0_0@PAGEOFF
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	sub	w3, w3, #1
	and	w4, w3, w9
	sxtw	x3, w4
	smull	x4, w4, w0
	ldr	x4, [x11, x4]
	ldrsw	x4, [x4, x12, lsl #2]
	cbz	w4, LBB0_7
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s0, [x13, x14, lsl #2]
	ldr	s1, [x15, x4, lsl #2]
	madd	x7, x3, x0, x11
	ldp	x4, x6, [x7, #8]
	ldr	w5, [x4, x12, lsl #2]
	and	x19, x5, #0xff
	ldr	s2, [x16, x19, lsl #2]
	fmul	s0, s0, s1
	fmul	s1, s0, s2
	add	w19, w5, #64
	and	w19, w19, #0xff
	ldr	s2, [x16, w19, uxtw #2]
	fmul	s0, s0, s2
	ldr	x6, [x17, x6, lsl #3]
	ldr	w19, [x7, #24]
	sxtw	x7, w19
	cmp	w19, #4
	b.hi	LBB0_8
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	adr	x20, LBB0_6
	ldrb	w21, [x1, x19]
	add	x20, x20, x21, lsl #2
	br	x20
LBB0_6:                                 ;   in Loop: Header=BB0_3 Depth=1
	fneg	s2, s0
	b	LBB0_17
LBB0_7:                                 ;   in Loop: Header=BB0_3 Depth=1
	madd	x4, x3, x0, x11
	ldr	x4, [x4, #8]
	ldr	w5, [x4, x12, lsl #2]
	b	LBB0_18
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6]
	fneg	s2, s0
	sub	w19, w7, #5
	sbfiz	x19, x19, #2, #32
	ldr	s4, [x2, x19]
	fmsub	s3, s3, s0, s4
	str	s3, [x2, x19]
	b	LBB0_13
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	s2, [x6]
	ldp	s4, s3, [x2, #8]
	fmsub	s2, s2, s0, s3
	str	s2, [x2, #12]
	ldr	s2, [x6, #4]
	fmadd	s2, s2, s1, s4
	str	s2, [x2, #8]
	ldr	s2, [x6, #8]
	ldp	s4, s3, [x2]
	fmadd	s3, s2, s0, s3
	fneg	s2, s0
	str	s3, [x2, #4]
	ldr	s3, [x6, #12]
	fmsub	s3, s3, s1, s4
	str	s3, [x2]
	b	LBB0_16
LBB0_10:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6]
	fneg	s2, s0
	ldp	s5, s4, [x2, #4]
	fmsub	s3, s3, s0, s4
	str	s3, [x2, #8]
	ldr	s3, [x6, #4]
	fmadd	s3, s3, s1, s5
	str	s3, [x2, #4]
	mov	x19, x2
	b	LBB0_15
LBB0_11:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6]
	fneg	s2, s0
	ldr	s4, [x2, #4]
	fmsub	s3, s3, s0, s4
	str	s3, [x2, #4]
	mov	x19, x2
	b	LBB0_14
LBB0_12:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6]
	fneg	s2, s0
	ldr	s4, [x2]
	fmsub	s3, s3, s0, s4
	str	s3, [x2]
LBB0_13:                                ;   in Loop: Header=BB0_3 Depth=1
	sub	w19, w7, #4
	add	x19, x2, w19, sxtw #2
LBB0_14:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6, #4]
	ldr	s4, [x19]
	fmadd	s3, s3, s1, s4
	str	s3, [x19]
	sub	w19, w7, #3
	add	x19, x2, w19, sxtw #2
LBB0_15:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6, #8]
	ldr	s4, [x19]
	fmadd	s3, s3, s0, s4
	str	s3, [x19]
	ldr	s3, [x6, #12]
	sub	w19, w7, #2
	sbfiz	x19, x19, #2, #32
	ldr	s4, [x2, x19]
	fmsub	s3, s3, s1, s4
	str	s3, [x2, x19]
LBB0_16:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6, #16]
	sub	w19, w7, #1
	sbfiz	x19, x19, #2, #32
	ldr	s4, [x2, x19]
	fmadd	s3, s3, s2, s4
	str	s3, [x2, x19]
LBB0_17:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	s3, [x6, #20]
	lsl	x19, x7, #2
	ldr	s4, [x2, x19]
	fmadd	s3, s3, s1, s4
	str	s3, [x2, x19]
	add	w19, w7, #1
	sbfiz	x19, x19, #2, #32
	ldr	s3, [x2, x19]
	ldr	s4, [x6, #24]
	fmadd	s3, s4, s0, s3
	str	s3, [x2, x19]
	ldr	s3, [x6, #28]
	add	w19, w7, #2
	sbfiz	x19, x19, #2, #32
	ldr	s4, [x2, x19]
	fmsub	s3, s3, s1, s4
	str	s3, [x2, x19]
	ldr	s3, [x6, #32]
	add	w19, w7, #3
	sbfiz	x19, x19, #2, #32
	ldr	s4, [x2, x19]
	fmadd	s2, s3, s2, s4
	str	s2, [x2, x19]
	add	w19, w7, #4
	sbfiz	x19, x19, #2, #32
	ldr	s2, [x2, x19]
	ldr	s3, [x6, #36]
	fmadd	s1, s3, s1, s2
	str	s1, [x2, x19]
	ldr	s1, [x6, #40]
	add	w6, w7, #5
	sbfiz	x6, x6, #2, #32
	ldr	s2, [x2, x6]
	fmadd	s0, s1, s0, s2
	str	s0, [x2, x6]
LBB0_18:                                ;   in Loop: Header=BB0_3 Depth=1
	madd	x3, x3, x0, x11
	ldr	w3, [x3, #32]
	add	w3, w5, w3
	str	w3, [x4, x12, lsl #2]
	cbz	w10, LBB0_20
; %bb.19:                               ;   in Loop: Header=BB0_3 Depth=1
	ldr	w3, [x8]
	sub	w10, w10, #1
	add	w9, w9, #1
	b	LBB0_3
LBB0_20:
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_6-LBB0_6)>>2
	.byte	(LBB0_9-LBB0_6)>>2
	.byte	(LBB0_10-LBB0_6)>>2
	.byte	(LBB0_11-LBB0_6)>>2
	.byte	(LBB0_12-LBB0_6)>>2
                                        ; -- End function
	.comm	_DCA_LBR_TONES,4,2              ; @DCA_LBR_TONES
	.comm	_ff_dca_synth_env,8,3           ; @ff_dca_synth_env
	.comm	_ff_dca_quant_amp,8,3           ; @ff_dca_quant_amp
	.comm	_cos_tab,8,3                    ; @cos_tab
	.comm	_ff_dca_corr_cf,8,3             ; @ff_dca_corr_cf
	.no_dead_strip	_synth_tones
.subsections_via_symbols
