	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function ac3_compute_mantissa_size_c
LCPI0_0:
	.long	1431655766                      ## 0x55555556
	.long	1431655766                      ## 0x55555556
	.long	1431655766                      ## 0x55555556
	.long	1431655766                      ## 0x55555556
LCPI0_1:
	.long	5                               ## 0x5
	.long	5                               ## 0x5
	.long	5                               ## 0x5
	.long	5                               ## 0x5
LCPI0_2:
	.long	7                               ## 0x7
	.long	7                               ## 0x7
	.long	7                               ## 0x7
	.long	7                               ## 0x7
LCPI0_3:
	.long	3                               ## 0x3
	.long	3                               ## 0x3
	.long	3                               ## 0x3
	.long	3                               ## 0x3
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_ac3_compute_mantissa_size_c:           ## @ac3_compute_mantissa_size_c
	.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	_AC3_MAX_BLOCKS@GOTPCREL(%rip), %rax
	movl	(%rax), %r14d
	testl	%r14d, %r14d
	jle	LBB0_1
## %bb.2:
	movq	_ff_ac3_bap_bits@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	20(%rax), %r8d
	movl	24(%rax), %r10d
	movl	28(%rax), %r11d
	movdqu	48(%rax), %xmm0
	movdqu	32(%rax), %xmm1
	cmpl	$4, %r14d
	jae	LBB0_4
## %bb.3:
	xorl	%r9d, %r9d
	xorl	%eax, %eax
	jmp	LBB0_7
LBB0_1:
	xorl	%eax, %eax
	jmp	LBB0_9
LBB0_4:
	movl	%r14d, %r9d
	andl	$-4, %r9d
	movd	%r8d, %xmm2
	pshufd	$0, %xmm2, %xmm2                ## xmm2 = xmm2[0,0,0,0]
	movdqa	%xmm2, -112(%rbp)               ## 16-byte Spill
	movd	%r10d, %xmm2
	pshufd	$0, %xmm2, %xmm2                ## xmm2 = xmm2[0,0,0,0]
	movdqa	%xmm2, -96(%rbp)                ## 16-byte Spill
	movd	%r11d, %xmm2
	pshufd	$0, %xmm2, %xmm2                ## xmm2 = xmm2[0,0,0,0]
	movdqa	%xmm2, -80(%rbp)                ## 16-byte Spill
	pshufd	$0, %xmm1, %xmm2                ## xmm2 = xmm1[0,0,0,0]
	movdqa	%xmm2, -64(%rbp)                ## 16-byte Spill
	pshufd	$85, %xmm1, %xmm2               ## xmm2 = xmm1[1,1,1,1]
	movdqa	%xmm2, -48(%rbp)                ## 16-byte Spill
	pshufd	$170, %xmm1, %xmm13             ## xmm13 = xmm1[2,2,2,2]
	pshufd	$255, %xmm1, %xmm10             ## xmm10 = xmm1[3,3,3,3]
	pshufd	$0, %xmm0, %xmm11               ## xmm11 = xmm0[0,0,0,0]
	pshufd	$85, %xmm0, %xmm12              ## xmm12 = xmm0[1,1,1,1]
	pshufd	$170, %xmm0, %xmm5              ## xmm5 = xmm0[2,2,2,2]
	pshufd	$255, %xmm0, %xmm6              ## xmm6 = xmm0[3,3,3,3]
	leaq	252(%rdi), %rax
	movq	%r14, %rsi
	shlq	$6, %rsi
	andq	$-256, %rsi
	pxor	%xmm14, %xmm14
	xorl	%edx, %edx
	movdqa	LCPI0_0(%rip), %xmm7            ## xmm7 = [1431655766,1431655766,1431655766,1431655766]
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	movd	-248(%rax,%rdx), %xmm3          ## xmm3 = mem[0],zero,zero,zero
	pinsrd	$1, -184(%rax,%rdx), %xmm3
	pinsrd	$2, -120(%rax,%rdx), %xmm3
	movdqa	%xmm3, %xmm2
	pinsrd	$3, -56(%rax,%rdx), %xmm2
	pshufd	$245, %xmm2, %xmm2              ## xmm2 = xmm2[1,1,3,3]
	pmuldq	%xmm7, %xmm2
	pmuldq	%xmm7, %xmm3
	pshufd	$245, %xmm3, %xmm3              ## xmm3 = xmm3[1,1,3,3]
	pblendw	$204, %xmm2, %xmm3              ## xmm3 = xmm3[0,1],xmm2[2,3],xmm3[4,5],xmm2[6,7]
	movdqa	%xmm3, %xmm8
	psrld	$31, %xmm8
	paddd	%xmm3, %xmm8
	movd	-244(%rax,%rdx), %xmm2          ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, -180(%rax,%rdx), %xmm2
	pinsrd	$2, -116(%rax,%rdx), %xmm2
	movdqa	%xmm2, %xmm3
	pinsrd	$3, -52(%rax,%rdx), %xmm3
	pshufd	$245, %xmm3, %xmm3              ## xmm3 = xmm3[1,1,3,3]
	pmuldq	%xmm7, %xmm3
	pmuldq	%xmm7, %xmm2
	pshufd	$245, %xmm2, %xmm2              ## xmm2 = xmm2[1,1,3,3]
	pblendw	$204, %xmm3, %xmm2              ## xmm2 = xmm2[0,1],xmm3[2,3],xmm2[4,5],xmm3[6,7]
	movd	-236(%rax,%rdx), %xmm9          ## xmm9 = mem[0],zero,zero,zero
	pinsrd	$1, -172(%rax,%rdx), %xmm9
	pinsrd	$2, -108(%rax,%rdx), %xmm9
	pmulld	LCPI0_1(%rip), %xmm8
	pinsrd	$3, -44(%rax,%rdx), %xmm9
	psrad	$1, %xmm9
	paddd	%xmm2, %xmm9
	psrld	$31, %xmm2
	paddd	%xmm2, %xmm9
	movd	-240(%rax,%rdx), %xmm2          ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, -176(%rax,%rdx), %xmm2
	pinsrd	$2, -112(%rax,%rdx), %xmm2
	pmulld	LCPI0_2(%rip), %xmm9
	pinsrd	$3, -48(%rax,%rdx), %xmm2
	pmulld	LCPI0_3(%rip), %xmm2
	paddd	%xmm14, %xmm2
	movd	-232(%rax,%rdx), %xmm15         ## xmm15 = mem[0],zero,zero,zero
	pinsrd	$1, -168(%rax,%rdx), %xmm15
	pinsrd	$2, -104(%rax,%rdx), %xmm15
	pinsrd	$3, -40(%rax,%rdx), %xmm15
	paddd	%xmm8, %xmm2
	pmulld	-112(%rbp), %xmm15              ## 16-byte Folded Reload
	paddd	%xmm9, %xmm15
	movd	-228(%rax,%rdx), %xmm3          ## xmm3 = mem[0],zero,zero,zero
	pinsrd	$1, -164(%rax,%rdx), %xmm3
	pinsrd	$2, -100(%rax,%rdx), %xmm3
	paddd	%xmm2, %xmm15
	pinsrd	$3, -36(%rax,%rdx), %xmm3
	movd	-224(%rax,%rdx), %xmm2          ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, -160(%rax,%rdx), %xmm2
	pinsrd	$2, -96(%rax,%rdx), %xmm2
	pmulld	-96(%rbp), %xmm3                ## 16-byte Folded Reload
	pinsrd	$3, -32(%rax,%rdx), %xmm2
	pmulld	-80(%rbp), %xmm2                ## 16-byte Folded Reload
	paddd	%xmm3, %xmm2
	movd	-220(%rax,%rdx), %xmm3          ## xmm3 = mem[0],zero,zero,zero
	pinsrd	$1, -156(%rax,%rdx), %xmm3
	pinsrd	$2, -92(%rax,%rdx), %xmm3
	pinsrd	$3, -28(%rax,%rdx), %xmm3
	pmulld	-64(%rbp), %xmm3                ## 16-byte Folded Reload
	movd	-216(%rax,%rdx), %xmm4          ## xmm4 = mem[0],zero,zero,zero
	pinsrd	$1, -152(%rax,%rdx), %xmm4
	pinsrd	$2, -88(%rax,%rdx), %xmm4
	pinsrd	$3, -24(%rax,%rdx), %xmm4
	paddd	%xmm2, %xmm3
	pmulld	-48(%rbp), %xmm4                ## 16-byte Folded Reload
	paddd	%xmm3, %xmm4
	movd	-212(%rax,%rdx), %xmm2          ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, -148(%rax,%rdx), %xmm2
	pinsrd	$2, -84(%rax,%rdx), %xmm2
	pinsrd	$3, -20(%rax,%rdx), %xmm2
	pmulld	%xmm13, %xmm2
	movd	-208(%rax,%rdx), %xmm3          ## xmm3 = mem[0],zero,zero,zero
	pinsrd	$1, -144(%rax,%rdx), %xmm3
	pinsrd	$2, -80(%rax,%rdx), %xmm3
	paddd	%xmm4, %xmm2
	pinsrd	$3, -16(%rax,%rdx), %xmm3
	pmulld	%xmm10, %xmm3
	paddd	%xmm2, %xmm3
	movd	-204(%rax,%rdx), %xmm2          ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, -140(%rax,%rdx), %xmm2
	pinsrd	$2, -76(%rax,%rdx), %xmm2
	pinsrd	$3, -12(%rax,%rdx), %xmm2
	pmulld	%xmm11, %xmm2
	movd	-200(%rax,%rdx), %xmm4          ## xmm4 = mem[0],zero,zero,zero
	pinsrd	$1, -136(%rax,%rdx), %xmm4
	pinsrd	$2, -72(%rax,%rdx), %xmm4
	pinsrd	$3, -8(%rax,%rdx), %xmm4
	paddd	%xmm3, %xmm2
	pmulld	%xmm12, %xmm4
	paddd	%xmm2, %xmm4
	movd	-196(%rax,%rdx), %xmm2          ## xmm2 = mem[0],zero,zero,zero
	pinsrd	$1, -132(%rax,%rdx), %xmm2
	pinsrd	$2, -68(%rax,%rdx), %xmm2
	pinsrd	$3, -4(%rax,%rdx), %xmm2
	pmulld	%xmm5, %xmm2
	movd	-192(%rax,%rdx), %xmm14         ## xmm14 = mem[0],zero,zero,zero
	pinsrd	$1, -128(%rax,%rdx), %xmm14
	pinsrd	$2, -64(%rax,%rdx), %xmm14
	paddd	%xmm4, %xmm2
	pinsrd	$3, (%rax,%rdx), %xmm14
	pmulld	%xmm6, %xmm14
	paddd	%xmm2, %xmm14
	paddd	%xmm15, %xmm14
	addq	$256, %rdx                      ## imm = 0x100
	cmpq	%rdx, %rsi
	jne	LBB0_5
## %bb.6:
	pshufd	$238, %xmm14, %xmm2             ## xmm2 = xmm14[2,3,2,3]
	paddd	%xmm14, %xmm2
	pshufd	$85, %xmm2, %xmm3               ## xmm3 = xmm2[1,1,1,1]
	paddd	%xmm2, %xmm3
	movd	%xmm3, %eax
	cmpq	%r14, %r9
	je	LBB0_9
LBB0_7:
	subq	%r9, %r14
	shlq	$6, %r9
	leaq	(%rdi,%r9), %rdx
	addq	$32, %rdx
	.p2align	4, 0x90
LBB0_8:                                 ## =>This Inner Loop Header: Depth=1
	movslq	-28(%rdx), %rcx
	imulq	$1431655766, %rcx, %rcx         ## imm = 0x55555556
	movq	%rcx, %rsi
	shrq	$63, %rsi
	shrq	$32, %rcx
	addl	%esi, %ecx
	leal	(%rcx,%rcx,4), %r9d
	movslq	-24(%rdx), %rcx
	imulq	$1431655766, %rcx, %rcx         ## imm = 0x55555556
	movq	%rcx, %rdi
	shrq	$63, %rdi
	shrq	$32, %rcx
	addl	%edi, %ecx
	movl	-20(%rdx), %ebx
	movl	-16(%rdx), %esi
	sarl	%esi
	addl	%ecx, %esi
	leal	(,%rsi,8), %r12d
	subl	%esi, %r12d
	leal	(%rbx,%rbx,2), %r15d
	movl	-12(%rdx), %ebx
	imull	%r8d, %ebx
	movl	-8(%rdx), %esi
	imull	%r10d, %esi
	movl	-4(%rdx), %ecx
	imull	%r11d, %ecx
	movdqu	(%rdx), %xmm2
	movdqu	16(%rdx), %xmm3
	pmulld	%xmm0, %xmm3
	pmulld	%xmm1, %xmm2
	paddd	%xmm3, %xmm2
	pshufd	$238, %xmm2, %xmm3              ## xmm3 = xmm2[2,3,2,3]
	paddd	%xmm2, %xmm3
	pshufd	$85, %xmm3, %xmm2               ## xmm2 = xmm3[1,1,1,1]
	paddd	%xmm3, %xmm2
	movd	%xmm2, %edi
	addl	%ecx, %edi
	addl	%esi, %edi
	addl	%ebx, %edi
	addl	%r9d, %edi
	addl	%r15d, %edi
	addl	%r12d, %edi
	addl	%edi, %eax
	addq	$64, %rdx
	decq	%r14
	jne	LBB0_8
LBB0_9:
	popq	%rbx
	popq	%r12
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_AC3_MAX_BLOCKS,4,2             ## @AC3_MAX_BLOCKS
	.comm	_ff_ac3_bap_bits,8,3            ## @ff_ac3_bap_bits
	.no_dead_strip	_ac3_compute_mantissa_size_c
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function ac3_compute_mantissa_size_c
_ac3_compute_mantissa_size_c:           ; @ac3_compute_mantissa_size_c
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x9, _AC3_MAX_BLOCKS@GOTPAGE
Lloh1:
	ldr	x9, [x9, _AC3_MAX_BLOCKS@GOTPAGEOFF]
Lloh2:
	ldr	w9, [x9]
	cmp	w9, #1
	b.lt	LBB0_4
; %bb.1:
	mov	x8, x0
	mov	w0, #0
Lloh3:
	adrp	x10, _ff_ac3_bap_bits@GOTPAGE
Lloh4:
	ldr	x10, [x10, _ff_ac3_bap_bits@GOTPAGEOFF]
Lloh5:
	ldr	x13, [x10]
	ldp	w10, w11, [x13, #20]
	ldr	w12, [x13, #28]
	ldp	q1, q0, [x13, #32]
	add	x8, x8, #16
	mov	w13, #21846
	movk	w13, #21845, lsl #16
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	ldpsw	x14, x15, [x8, #-12]
	mul	x14, x14, x13
	lsr	x16, x14, #63
	lsr	x14, x14, #32
	add	w14, w14, w16
	add	w14, w14, w14, lsl #2
	mul	x15, x15, x13
	lsr	x16, x15, #63
	lsr	x15, x15, #32
	add	w15, w15, w16
	ldp	w16, w17, [x8]
	add	w15, w15, w16, asr #1
	lsl	w16, w15, #3
	ldp	w1, w2, [x8, #8]
	ldp	q2, q3, [x8, #16]
	mul.4s	v3, v0, v3
	mla.4s	v3, v1, v2
	addv.4s	s2, v3
	fmov	w3, s2
	madd	w2, w12, w2, w3
	ldur	w3, [x8, #-4]
	add	w3, w3, w3, lsl #1
	madd	w1, w11, w1, w2
	madd	w17, w10, w17, w1
	add	w14, w17, w14
	add	w14, w14, w3
	sub	w15, w16, w15
	add	w14, w14, w15
	add	w0, w14, w0
	add	x8, x8, #64
	subs	x9, x9, #1
	b.ne	LBB0_2
; %bb.3:
	ret
LBB0_4:
	mov	w0, #0
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.cfi_endproc
                                        ; -- End function
	.comm	_AC3_MAX_BLOCKS,4,2             ; @AC3_MAX_BLOCKS
	.comm	_ff_ac3_bap_bits,8,3            ; @ff_ac3_bap_bits
	.no_dead_strip	_ac3_compute_mantissa_size_c
.subsections_via_symbols
