	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_vorbis_lpc_predict             ## -- Begin function vorbis_lpc_predict
	.p2align	4, 0x90
_vorbis_lpc_predict:                    ## @vorbis_lpc_predict
	.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
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%r8, %r15
	movq	%rcx, -56(%rbp)                 ## 8-byte Spill
	movl	%edx, %r13d
	movq	%rsi, %r12
	movq	%rdi, -48(%rbp)                 ## 8-byte Spill
	movslq	%edx, %r14
	leal	(%r8,%r13), %edi
	shll	$2, %edi
	callq	_alloca
	movq	%rax, %rbx
	testq	%r12, %r12
	je	LBB0_16
## %bb.1:
	testl	%r13d, %r13d
	jle	LBB0_18
## %bb.2:
	xorl	%eax, %eax
	cmpl	$8, %r13d
	jb	LBB0_12
## %bb.3:
	movq	%rbx, %rcx
	subq	%r12, %rcx
	cmpq	$32, %rcx
	jb	LBB0_12
## %bb.4:
	movq	%r14, %rax
	andq	$-8, %rax
	leaq	-8(%rax), %rsi
	movq	%rsi, %rdx
	shrq	$3, %rdx
	incq	%rdx
	movl	%edx, %ecx
	andl	$3, %ecx
	cmpq	$24, %rsi
	jae	LBB0_6
## %bb.5:
	xorl	%esi, %esi
	jmp	LBB0_8
LBB0_16:
	testl	%r13d, %r13d
	jle	LBB0_18
## %bb.17:
	leaq	(,%r14,4), %rsi
	movq	%rbx, %rdi
	callq	___bzero
	jmp	LBB0_18
LBB0_6:
	andq	$-4, %rdx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movups	(%r12,%rsi,4), %xmm0
	movups	16(%r12,%rsi,4), %xmm1
	movups	%xmm0, (%rbx,%rsi,4)
	movups	%xmm1, 16(%rbx,%rsi,4)
	movups	32(%r12,%rsi,4), %xmm0
	movups	48(%r12,%rsi,4), %xmm1
	movups	%xmm0, 32(%rbx,%rsi,4)
	movups	%xmm1, 48(%rbx,%rsi,4)
	movups	64(%r12,%rsi,4), %xmm0
	movups	80(%r12,%rsi,4), %xmm1
	movups	%xmm0, 64(%rbx,%rsi,4)
	movups	%xmm1, 80(%rbx,%rsi,4)
	movups	96(%r12,%rsi,4), %xmm0
	movups	112(%r12,%rsi,4), %xmm1
	movups	%xmm0, 96(%rbx,%rsi,4)
	movups	%xmm1, 112(%rbx,%rsi,4)
	addq	$32, %rsi
	addq	$-4, %rdx
	jne	LBB0_7
LBB0_8:
	testq	%rcx, %rcx
	je	LBB0_11
## %bb.9:
	leaq	(%rbx,%rsi,4), %rdx
	addq	$16, %rdx
	leaq	(%r12,%rsi,4), %rsi
	addq	$16, %rsi
	shlq	$5, %rcx
	xorl	%edi, %edi
	.p2align	4, 0x90
LBB0_10:                                ## =>This Inner Loop Header: Depth=1
	movups	-16(%rsi,%rdi), %xmm0
	movups	(%rsi,%rdi), %xmm1
	movups	%xmm0, -16(%rdx,%rdi)
	movups	%xmm1, (%rdx,%rdi)
	addq	$32, %rdi
	cmpq	%rdi, %rcx
	jne	LBB0_10
LBB0_11:
	cmpq	%r14, %rax
	je	LBB0_18
LBB0_12:
	movq	%rax, %rcx
	notq	%rcx
	addq	%r14, %rcx
	movq	%r14, %rdx
	andq	$3, %rdx
	je	LBB0_14
	.p2align	4, 0x90
LBB0_13:                                ## =>This Inner Loop Header: Depth=1
	movss	(%r12,%rax,4), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	movss	%xmm0, (%rbx,%rax,4)
	incq	%rax
	decq	%rdx
	jne	LBB0_13
LBB0_14:
	cmpq	$3, %rcx
	jb	LBB0_18
	.p2align	4, 0x90
LBB0_15:                                ## =>This Inner Loop Header: Depth=1
	movss	(%r12,%rax,4), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	movss	%xmm0, (%rbx,%rax,4)
	movss	4(%r12,%rax,4), %xmm0           ## xmm0 = mem[0],zero,zero,zero
	movss	%xmm0, 4(%rbx,%rax,4)
	movss	8(%r12,%rax,4), %xmm0           ## xmm0 = mem[0],zero,zero,zero
	movss	%xmm0, 8(%rbx,%rax,4)
	movss	12(%r12,%rax,4), %xmm0          ## xmm0 = mem[0],zero,zero,zero
	movss	%xmm0, 12(%rbx,%rax,4)
	addq	$4, %rax
	cmpq	%rax, %r14
	jne	LBB0_15
LBB0_18:
	testq	%r15, %r15
	movq	-56(%rbp), %r10                 ## 8-byte Reload
	movq	-48(%rbp), %r11                 ## 8-byte Reload
	jle	LBB0_28
## %bb.19:
	leaq	-1(%r14), %r9
	leaq	-4(%r11), %r8
	xorl	%edx, %edx
	movq	%r14, %rsi
	jmp	LBB0_20
	.p2align	4, 0x90
LBB0_27:                                ##   in Loop: Header=BB0_20 Depth=1
	movss	%xmm0, (%rbx,%rax,4)
	movss	%xmm0, (%r10,%rdx,4)
	incq	%rdx
	incq	%rsi
	cmpq	%r15, %rdx
	je	LBB0_28
LBB0_20:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_25 Depth 2
	movq	%rdx, %rax
	xorps	%xmm0, %xmm0
	testl	%r13d, %r13d
	jle	LBB0_27
## %bb.21:                              ##   in Loop: Header=BB0_20 Depth=1
	xorps	%xmm0, %xmm0
	movq	%r14, %rcx
	movq	%rdx, %rdi
	testb	$1, %r14b
	je	LBB0_23
## %bb.22:                              ##   in Loop: Header=BB0_20 Depth=1
	leaq	1(%rdx), %rdi
	movss	(%rbx,%rdx,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	mulss	-4(%r11,%r14,4), %xmm1
	xorps	%xmm0, %xmm0
	subss	%xmm1, %xmm0
	movq	%r9, %rcx
LBB0_23:                                ##   in Loop: Header=BB0_20 Depth=1
	movq	%rsi, %rax
	cmpl	$1, %r13d
	je	LBB0_27
## %bb.24:                              ##   in Loop: Header=BB0_20 Depth=1
	leaq	(%r8,%rcx,4), %rcx
	.p2align	4, 0x90
LBB0_25:                                ##   Parent Loop BB0_20 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movss	(%rbx,%rdi,4), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	mulss	(%rcx), %xmm1
	movss	4(%rbx,%rdi,4), %xmm2           ## xmm2 = mem[0],zero,zero,zero
	subss	%xmm1, %xmm0
	mulss	-4(%rcx), %xmm2
	addq	$2, %rdi
	subss	%xmm2, %xmm0
	addq	$-8, %rcx
	cmpq	%rdi, %rsi
	jne	LBB0_25
## %bb.26:                              ##   in Loop: Header=BB0_20 Depth=1
	movq	%rsi, %rax
	jmp	LBB0_27
LBB0_28:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_vorbis_lpc_predict             ; -- Begin function vorbis_lpc_predict
	.p2align	2
_vorbis_lpc_predict:                    ; @vorbis_lpc_predict
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	mov	x19, x4
	mov	x20, x3
	mov	x21, x2
	mov	x24, x1
	mov	x23, x0
	sxtw	x25, w21
	add	w8, w19, w2
	lsl	w0, w8, #2
	bl	_alloca
	mov	x22, x0
	cmp	w21, #1
	cbz	x24, LBB0_9
; %bb.1:
	b.lt	LBB0_11
; %bb.2:
	mov	x8, #0
	cmp	w21, #16
	b.lo	LBB0_7
; %bb.3:
	sub	x9, x22, x24
	cmp	x9, #64
	b.lo	LBB0_7
; %bb.4:
	and	x8, x25, #0xfffffffffffffff0
	add	x9, x22, #32
	add	x10, x24, #32
	mov	x11, x8
LBB0_5:                                 ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x10, #-32]
	ldp	q2, q3, [x10], #64
	stp	q0, q1, [x9, #-32]
	stp	q2, q3, [x9], #64
	subs	x11, x11, #16
	b.ne	LBB0_5
; %bb.6:
	cmp	x8, x25
	b.eq	LBB0_11
LBB0_7:
	sub	x9, x25, x8
	lsl	x10, x8, #2
	add	x8, x22, x10
	add	x10, x24, x10
LBB0_8:                                 ; =>This Inner Loop Header: Depth=1
	ldr	s0, [x10], #4
	str	s0, [x8], #4
	subs	x9, x9, #1
	b.ne	LBB0_8
	b	LBB0_11
LBB0_9:
	b.lt	LBB0_11
; %bb.10:
	lsl	x1, x25, #2
	mov	x0, x22
	bl	_bzero
LBB0_11:
	cmp	x19, #1
	b.lt	LBB0_23
; %bb.12:
	mov	x8, #0
	and	x9, x25, #0xfffffffffffffff0
	and	x10, x25, #0xf
	add	x11, x22, #32
	add	x12, x23, x25, lsl #2
	sub	x12, x12, #32
	sub	x13, x23, #4
	mov	x14, x25
	b	LBB0_15
LBB0_13:                                ;   in Loop: Header=BB0_15 Depth=1
	mov	x17, x8
LBB0_14:                                ;   in Loop: Header=BB0_15 Depth=1
	str	s0, [x22, x17, lsl #2]
	str	s0, [x20, x8, lsl #2]
	add	x8, x8, #1
	add	x14, x14, #1
	add	x11, x11, #4
	cmp	x8, x19
	b.eq	LBB0_23
LBB0_15:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_18 Depth 2
                                        ;     Child Loop BB0_21 Depth 2
	movi	d0, #0000000000000000
	cmp	w21, #1
	b.lt	LBB0_13
; %bb.16:                               ;   in Loop: Header=BB0_15 Depth=1
	mov	x16, x25
	mov	x15, x8
	cmp	w21, #16
	b.lo	LBB0_20
; %bb.17:                               ;   in Loop: Header=BB0_15 Depth=1
	add	x15, x8, x9
	movi	d0, #0000000000000000
	mov	x16, x12
	mov	x17, x9
	mov	x0, x11
LBB0_18:                                ;   Parent Loop BB0_15 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldp	q1, q2, [x0, #-32]
	ldp	q3, q4, [x0], #64
	ldp	q6, q5, [x16]
	rev64.4s	v5, v5
	ext.16b	v5, v5, v5, #8
	rev64.4s	v6, v6
	ext.16b	v6, v6, v6, #8
	ldp	q16, q7, [x16, #-32]
	rev64.4s	v7, v7
	ext.16b	v7, v7, v7, #8
	rev64.4s	v16, v16
	ext.16b	v16, v16, v16, #8
	fneg.4s	v1, v1
	fneg.4s	v2, v2
	fneg.4s	v3, v3
	fneg.4s	v4, v4
	fmul.4s	v1, v5, v1
	mov	s5, v1[3]
	mov	s17, v1[2]
	mov	s18, v1[1]
	fmul.4s	v2, v6, v2
	mov	s6, v2[3]
	mov	s19, v2[2]
	mov	s20, v2[1]
	fmul.4s	v3, v7, v3
	mov	s7, v3[3]
	mov	s21, v3[2]
	mov	s22, v3[1]
	fmul.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
	sub	x16, x16, #64
	sub	x17, x17, #16
	cbnz	x17, LBB0_18
; %bb.19:                               ;   in Loop: Header=BB0_15 Depth=1
	mov	x16, x10
	mov	x17, x14
	cmp	x9, x25
	b.eq	LBB0_14
LBB0_20:                                ;   in Loop: Header=BB0_15 Depth=1
	add	x16, x13, x16, lsl #2
LBB0_21:                                ;   Parent Loop BB0_15 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	s1, [x22, x15, lsl #2]
	add	x17, x15, #1
	ldr	s2, [x16], #-4
	fmsub	s0, s1, s2, s0
	mov	x15, x17
	cmp	x14, x17
	b.ne	LBB0_21
; %bb.22:                               ;   in Loop: Header=BB0_15 Depth=1
	mov	x17, x14
	b	LBB0_14
LBB0_23:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
.subsections_via_symbols
