	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function vorbis_encode_ctl
LCPI0_0:
	.quad	0xc02e000000000000              ## double -15
LCPI0_1:
	.quad	0x4000000000000000              ## double 2
LCPI0_2:
	.quad	0x4058c00000000000              ## double 99
LCPI0_3:
	.quad	0x408f400000000000              ## double 1000
LCPI0_4:
	.quad	0x3fe0000000000000              ## double 0.5
LCPI0_5:
	.quad	0x4060000000000000              ## double 128
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_vorbis_encode_ctl
	.p2align	4, 0x90
_vorbis_encode_ctl:                     ## @vorbis_encode_ctl
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
                                        ## kill: def $esi killed $esi def $rsi
	testq	%rdi, %rdi
	je	LBB0_5
## %bb.1:
	movq	%rdi, %rbx
	movq	16(%rdi), %r15
	xorl	%r14d, %r14d
	movsd	LCPI0_4(%rip), %xmm0            ## xmm0 = mem[0],zero
LBB0_2:                                 ## =>This Inner Loop Header: Depth=1
	testb	$15, %sil
	je	LBB0_6
## %bb.3:                               ##   in Loop: Header=BB0_2 Depth=1
	cmpq	$0, 96(%r15)
	jne	LBB0_4
LBB0_6:                                 ##   in Loop: Header=BB0_2 Depth=1
	cmpl	$128, %esi
	jne	LBB0_7
## %bb.9:                               ##   in Loop: Header=BB0_2 Depth=1
	testq	%rdx, %rdx
	je	LBB0_10
## %bb.11:                              ##   in Loop: Header=BB0_2 Depth=1
	movl	56(%rdx), %eax
	movl	%eax, 88(%r15)
	movl	$129, %esi
	movb	$1, %r14b
	cmpq	$0, 96(%r15)
	jne	LBB0_2
## %bb.12:                              ##   in Loop: Header=BB0_2 Depth=1
	movsd	40(%rdx), %xmm1                 ## xmm1 = mem[0],zero
	addsd	48(%rdx), %xmm1
	mulsd	%xmm0, %xmm1
	movsd	%xmm1, 24(%r15)
	jmp	LBB0_2
LBB0_7:
	addl	$-129, %esi
	cmpl	$10, %esi
	ja	LBB0_50
## %bb.8:
	leaq	LJTI0_0(%rip), %rax
	movslq	(%rax,%rsi,4), %rcx
	addq	%rax, %rcx
	jmpq	*%rcx
LBB0_16:
	testq	%rdx, %rdx
	je	LBB0_17
## %bb.18:
	movupd	24(%rdx), %xmm1
	movsd	32(%rdx), %xmm0                 ## xmm0 = mem[0],zero
	addsd	%xmm1, %xmm0
	mulsd	(%rdx), %xmm0
	mulsd	LCPI0_4(%rip), %xmm0
	movsd	%xmm0, (%r15)
	jmp	LBB0_19
LBB0_50:
	testb	$1, %r14b
	jne	LBB0_55
## %bb.51:
	movq	_OV_EIMPL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	jmp	LBB0_56
LBB0_52:
	movl	88(%r15), %eax
	movl	%eax, 56(%rdx)
	movsd	(%r15), %xmm0                   ## xmm0 = mem[0],zero
	divsd	(%rbx), %xmm0
	movsd	%xmm0, 8(%rdx)
	movsd	%xmm0, (%rdx)
	movl	$1, 16(%rdx)
	movups	8(%r15), %xmm0
	movups	%xmm0, 24(%rdx)
	movddup	24(%r15), %xmm0                 ## xmm0 = mem[0,0]
	movupd	%xmm0, 40(%rdx)
	jmp	LBB0_53
LBB0_13:
	testq	%rdx, %rdx
	je	LBB0_14
## %bb.15:
	movsd	40(%rdx), %xmm0                 ## xmm0 = mem[0],zero
	addsd	48(%rdx), %xmm0
	mulsd	LCPI0_4(%rip), %xmm0
	movsd	%xmm0, 24(%r15)
	jmp	LBB0_53
LBB0_23:
	testq	%rdx, %rdx
	je	LBB0_24
## %bb.25:
	movl	(%rdx), %eax
	testl	%eax, %eax
	jle	LBB0_28
## %bb.26:
	movl	8(%rdx), %ecx
	testl	%ecx, %ecx
	jle	LBB0_28
## %bb.27:
	cmpl	%ecx, %eax
	jg	LBB0_4
LBB0_28:
	movl	4(%rdx), %ecx
	testl	%ecx, %ecx
	jle	LBB0_33
## %bb.29:
	movl	8(%rdx), %esi
	testl	%esi, %esi
	jle	LBB0_31
## %bb.30:
	cmpl	%esi, %ecx
	jl	LBB0_4
LBB0_31:
	testl	%eax, %eax
	jle	LBB0_33
## %bb.32:
	cmpl	%ecx, %eax
	jg	LBB0_4
LBB0_33:
	movl	12(%rdx), %esi
	testl	%esi, %esi
	jle	LBB0_4
## %bb.34:
	movl	16(%rdx), %edi
	testl	%edi, %edi
	js	LBB0_4
## %bb.35:
	movl	20(%rdx), %r8d
	testl	%r8d, %r8d
	js	LBB0_4
## %bb.36:
	cmpl	$2, %r8d
	jae	LBB0_4
## %bb.37:
	movl	24(%rdx), %ebx
	movl	%ebx, 88(%r15)
	imull	$1000, %eax, %eax               ## imm = 0x3E8
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movsd	%xmm0, 8(%r15)
	imull	$1000, %ecx, %eax               ## imm = 0x3E8
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movsd	%xmm0, 16(%r15)
	imull	$1000, 8(%rdx), %eax            ## imm = 0x3E8
	xorps	%xmm0, %xmm0
	cvtsi2sd	%eax, %xmm0
	movsd	%xmm0, 24(%r15)
	movl	%esi, 32(%r15)
	xorps	%xmm0, %xmm0
	cvtsi2sd	%edi, %xmm0
	movsd	%xmm0, (%r15)
	movl	%r8d, 36(%r15)
	jmp	LBB0_53
LBB0_21:
	testq	%rdx, %rdx
	je	LBB0_4
## %bb.22:
	movl	88(%r15), %eax
	movl	%eax, 24(%rdx)
	movsd	8(%r15), %xmm0                  ## xmm0 = mem[0],zero
	movsd	LCPI0_3(%rip), %xmm1            ## xmm1 = mem[0],zero
	divsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %eax
	movl	%eax, (%rdx)
	movsd	16(%r15), %xmm0                 ## xmm0 = mem[0],zero
	divsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %eax
	movl	%eax, 4(%rdx)
	movsd	24(%r15), %xmm0                 ## xmm0 = mem[0],zero
	divsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %eax
	movl	%eax, 8(%rdx)
	movl	32(%r15), %eax
	movl	%eax, 12(%rdx)
	cvttsd2si	(%r15), %eax
	movl	%eax, 16(%rdx)
	movl	36(%r15), %eax
	movl	%eax, 20(%rdx)
	jmp	LBB0_53
LBB0_4:
	testb	$1, %r14b
	jne	LBB0_55
LBB0_5:
	movq	_OV_EINVAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	jmp	LBB0_56
LBB0_40:
	movsd	LCPI0_1(%rip), %xmm0            ## xmm0 = mem[0],zero
	maxsd	(%rdx), %xmm0
	movsd	LCPI0_2(%rip), %xmm1            ## xmm1 = mem[0],zero
	minsd	%xmm0, %xmm1
	movsd	%xmm1, 40(%r15)
	movl	$1, 48(%r15)
	jmp	LBB0_53
LBB0_38:
	movsd	40(%r15), %xmm0                 ## xmm0 = mem[0],zero
	movsd	%xmm0, (%rdx)
	jmp	LBB0_53
LBB0_42:
	xorpd	%xmm0, %xmm0
	minsd	(%rdx), %xmm0
	movsd	LCPI0_0(%rip), %xmm1            ## xmm1 = mem[0],zero
	maxsd	%xmm0, %xmm1
	movsd	%xmm1, 56(%r15)
	jmp	LBB0_53
LBB0_41:
	movsd	56(%r15), %xmm0                 ## xmm0 = mem[0],zero
	movsd	%xmm0, (%rdx)
	jmp	LBB0_53
LBB0_44:
	movq	$0, -32(%rbp)
	xorl	%eax, %eax
	cmpl	$0, (%rdx)
	setne	%al
	movl	%eax, 64(%r15)
	je	LBB0_45
## %bb.46:
	movl	8(%rbx), %edi
	jmp	LBB0_47
LBB0_43:
	movl	64(%r15), %eax
	movl	%eax, (%rdx)
	jmp	LBB0_53
LBB0_10:
	movl	$0, 88(%r15)
	jmp	LBB0_55
LBB0_17:
	movsd	(%r15), %xmm0                   ## xmm0 = mem[0],zero
	xorpd	%xmm1, %xmm1
LBB0_19:
	movupd	%xmm1, 8(%r15)
	movsd	LCPI0_5(%rip), %xmm1            ## xmm1 = mem[0],zero
	ucomisd	%xmm0, %xmm1
	jbe	LBB0_53
## %bb.20:
	movabsq	$4638707616191610880, %rax      ## imm = 0x4060000000000000
	movq	%rax, (%r15)
	jmp	LBB0_53
LBB0_14:
	movq	$0, 24(%r15)
	jmp	LBB0_53
LBB0_24:
	movl	$0, 88(%r15)
	jmp	LBB0_53
LBB0_45:
	movl	$-1, %edi
LBB0_47:
	movsd	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	movl	88(%r15), %edx
	movl	92(%r15), %esi
	leaq	-32(%rbp), %rcx
	callq	_get_setup_template
	cmpq	$0, 80(%r15)
	je	LBB0_48
## %bb.49:
	movq	%rax, 80(%r15)
	movsd	-32(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	%xmm0, 72(%r15)
	movl	8(%rbx), %esi
	movsd	(%rbx), %xmm0                   ## xmm0 = mem[0],zero
	movq	%rbx, %rdi
	callq	_vorbis_encode_setup_setting
LBB0_53:
	xorl	%eax, %eax
	testb	$1, %r14b
	je	LBB0_56
LBB0_55:
	xorl	%eax, %eax
LBB0_56:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_48:
	movq	_OV_EIMPL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testb	$1, %r14b
	jne	LBB0_55
	jmp	LBB0_56
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_52, LBB0_52-LJTI0_0
.set L0_0_set_13, LBB0_13-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
.set L0_0_set_21, LBB0_21-LJTI0_0
.set L0_0_set_40, LBB0_40-LJTI0_0
.set L0_0_set_38, LBB0_38-LJTI0_0
.set L0_0_set_42, LBB0_42-LJTI0_0
.set L0_0_set_41, LBB0_41-LJTI0_0
.set L0_0_set_44, LBB0_44-LJTI0_0
.set L0_0_set_43, LBB0_43-LJTI0_0
LJTI0_0:
	.long	L0_0_set_16
	.long	L0_0_set_52
	.long	L0_0_set_13
	.long	L0_0_set_23
	.long	L0_0_set_21
	.long	L0_0_set_40
	.long	L0_0_set_38
	.long	L0_0_set_42
	.long	L0_0_set_41
	.long	L0_0_set_44
	.long	L0_0_set_43
	.end_data_region
                                        ## -- End function
	.comm	_OV_EINVAL,4,2                  ## @OV_EINVAL
	.comm	_OV_EIMPL,4,2                   ## @OV_EIMPL
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_vorbis_encode_ctl              ; -- Begin function vorbis_encode_ctl
	.p2align	2
_vorbis_encode_ctl:                     ; @vorbis_encode_ctl
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.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
	cbz	x0, LBB0_32
; %bb.1:
	mov	x19, x0
	mov	w20, #0
	ldr	x21, [x0, #16]
	fmov	d0, #0.50000000
LBB0_2:                                 ; =>This Inner Loop Header: Depth=1
	tst	w1, #0xf
	b.eq	LBB0_4
; %bb.3:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	x8, [x21, #96]
	cbnz	x8, LBB0_31
LBB0_4:                                 ;   in Loop: Header=BB0_2 Depth=1
	cmp	w1, #128
	b.ne	LBB0_8
; %bb.5:                                ;   in Loop: Header=BB0_2 Depth=1
	cbz	x2, LBB0_40
; %bb.6:                                ;   in Loop: Header=BB0_2 Depth=1
	ldr	w8, [x2, #56]
	str	w8, [x21, #88]
	ldr	x8, [x21, #96]
	mov	w1, #129
	mov	w20, #1
	cbnz	x8, LBB0_2
; %bb.7:                                ;   in Loop: Header=BB0_2 Depth=1
	ldp	d1, d2, [x2, #40]
	fadd	d1, d1, d2
	fmul	d1, d1, d0
	str	d1, [x21, #24]
	mov	w1, #129
	mov	w20, #1
	b	LBB0_2
LBB0_8:
	sub	w8, w1, #129
	cmp	w8, #10
	b.hi	LBB0_49
; %bb.9:
Lloh0:
	adrp	x9, lJTI0_0@PAGE
Lloh1:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_10
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_10:
	cbz	x2, LBB0_41
; %bb.11:
	ldp	d0, d2, [x2, #24]
	ldr	d1, [x2]
	fadd	d3, d0, d2
	fmul	d1, d3, d1
	fmov	d3, #0.50000000
	fmul	d1, d1, d3
	str	d1, [x21]
	b	LBB0_42
LBB0_12:
	ldr	w8, [x21, #88]
	str	w8, [x2, #56]
	ldr	d0, [x21]
	ldr	d1, [x19]
	fdiv	d0, d0, d1
	stp	d0, d0, [x2]
	mov	w8, #1
	str	w8, [x2, #16]
	ldur	q0, [x21, #8]
	stur	q0, [x2, #24]
	ldr	d0, [x21, #24]
	stp	d0, d0, [x2, #40]
	b	LBB0_50
LBB0_13:
	cbz	x2, LBB0_44
; %bb.14:
	ldp	d0, d1, [x2, #40]
	fadd	d0, d0, d1
	fmov	d1, #0.50000000
	fmul	d0, d0, d1
	str	d0, [x21, #24]
	b	LBB0_50
LBB0_15:
	cbz	x2, LBB0_45
; %bb.16:
	ldr	w8, [x2]
	cmp	w8, #1
	b.lt	LBB0_19
; %bb.17:
	ldr	w9, [x2, #8]
	cmp	w9, #1
	b.lt	LBB0_19
; %bb.18:
	cmp	w8, w9
	b.gt	LBB0_31
LBB0_19:
	ldr	w9, [x2, #4]
	cmp	w9, #1
	b.lt	LBB0_24
; %bb.20:
	ldr	w10, [x2, #8]
	cmp	w10, #1
	b.lt	LBB0_22
; %bb.21:
	cmp	w9, w10
	b.lt	LBB0_31
LBB0_22:
	cmp	w8, #1
	b.lt	LBB0_24
; %bb.23:
	cmp	w8, w9
	b.gt	LBB0_31
LBB0_24:
	ldr	w10, [x2, #12]
	cmp	w10, #0
	b.le	LBB0_31
; %bb.25:
	ldr	w11, [x2, #16]
	tbnz	w11, #31, LBB0_31
; %bb.26:
	ldr	w12, [x2, #20]
	tbnz	w12, #31, LBB0_31
; %bb.27:
	cmp	w12, #2
	b.hs	LBB0_31
; %bb.28:
	ldr	w13, [x2, #24]
	str	w13, [x21, #88]
	mov	w13, #1000
	mul	w8, w8, w13
	scvtf	d0, w8
	mul	w8, w9, w13
	scvtf	d1, w8
	ldr	w8, [x2, #8]
	mul	w8, w8, w13
	scvtf	d2, w8
	stp	d1, d2, [x21, #16]
	scvtf	d1, w11
	stp	d1, d0, [x21]
	stp	w10, w12, [x21, #32]
	b	LBB0_50
LBB0_29:
	cbz	x2, LBB0_31
; %bb.30:
	ldr	w8, [x21, #88]
	str	w8, [x2, #24]
	ldur	q0, [x21, #8]
	mov	x8, #70368744177664
	movk	x8, #16527, lsl #48
	dup.2d	v1, x8
	fdiv.2d	v0, v0, v1
	fcvtzs.2d	v0, v0
	xtn.2s	v0, v0
	str	d0, [x2]
	ldr	d0, [x21, #24]
	fmov	d1, x8
	fdiv	d0, d0, d1
	fcvtzs	w8, d0
	ldp	w9, w10, [x21, #32]
	stp	w8, w9, [x2, #8]
	ldr	d0, [x21]
	fcvtzs	w8, d0
	stp	w8, w10, [x2, #16]
	b	LBB0_50
LBB0_31:
	tbnz	w20, #0, LBB0_50
LBB0_32:
Lloh2:
	adrp	x8, _OV_EINVAL@GOTPAGE
Lloh3:
	ldr	x8, [x8, _OV_EINVAL@GOTPAGEOFF]
Lloh4:
	ldr	w0, [x8]
	b	LBB0_51
LBB0_33:
	ldr	d0, [x2]
	fmov	d1, #2.00000000
	fmax	d0, d0, d1
	mov	x8, #211106232532992
	movk	x8, #16472, lsl #48
	fmov	d1, x8
	fmin	d0, d0, d1
	str	d0, [x21, #40]
	mov	w8, #1
	str	w8, [x21, #48]
	b	LBB0_50
LBB0_34:
	ldr	d0, [x21, #40]
	str	d0, [x2]
	b	LBB0_50
LBB0_35:
	ldr	d0, [x2]
	movi	d1, #0000000000000000
	fmin	d0, d0, d1
	fmov	d1, #-15.00000000
	fmax	d0, d0, d1
	str	d0, [x21, #56]
	b	LBB0_50
LBB0_36:
	ldr	d0, [x21, #56]
	str	d0, [x2]
	b	LBB0_50
LBB0_37:
	str	xzr, [sp, #8]
	ldr	w8, [x2]
	cmp	w8, #0
	cset	w9, ne
	str	w9, [x21, #64]
	cbz	w8, LBB0_46
; %bb.38:
	ldr	w0, [x19, #8]
	b	LBB0_47
LBB0_39:
	ldr	w8, [x21, #64]
	str	w8, [x2]
	b	LBB0_50
LBB0_40:
	mov	w0, #0
	str	wzr, [x21, #88]
	b	LBB0_51
LBB0_41:
	ldr	d1, [x21]
	movi	d0, #0000000000000000
	movi	d2, #0000000000000000
LBB0_42:
	stp	d0, d2, [x21, #8]
	mov	x8, #4638707616191610880
	fmov	d0, x8
	fcmp	d1, d0
	b.pl	LBB0_50
; %bb.43:
	str	x8, [x21]
	b	LBB0_50
LBB0_44:
	str	xzr, [x21, #24]
	b	LBB0_50
LBB0_45:
	mov	w0, #0
	str	wzr, [x21, #88]
	tbnz	w20, #0, LBB0_50
	b	LBB0_51
LBB0_46:
	mov	w0, #-1
LBB0_47:
	ldr	d0, [x19]
	ldp	w2, w1, [x21, #88]
	add	x3, sp, #8
	bl	_get_setup_template
	ldr	x8, [x21, #80]
	cbz	x8, LBB0_49
; %bb.48:
	str	x0, [x21, #80]
	ldr	d0, [sp, #8]
	str	d0, [x21, #72]
	ldr	w1, [x19, #8]
	ldr	d0, [x19]
	mov	x0, x19
	bl	_vorbis_encode_setup_setting
	b	LBB0_50
LBB0_49:
	tbz	w20, #0, LBB0_52
LBB0_50:
	mov	w0, #0
LBB0_51:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
LBB0_52:
Lloh5:
	adrp	x8, _OV_EIMPL@GOTPAGE
Lloh6:
	ldr	x8, [x8, _OV_EIMPL@GOTPAGEOFF]
Lloh7:
	ldr	w0, [x8]
	b	LBB0_51
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_10-LBB0_10)>>2
	.byte	(LBB0_12-LBB0_10)>>2
	.byte	(LBB0_13-LBB0_10)>>2
	.byte	(LBB0_15-LBB0_10)>>2
	.byte	(LBB0_29-LBB0_10)>>2
	.byte	(LBB0_33-LBB0_10)>>2
	.byte	(LBB0_34-LBB0_10)>>2
	.byte	(LBB0_35-LBB0_10)>>2
	.byte	(LBB0_36-LBB0_10)>>2
	.byte	(LBB0_37-LBB0_10)>>2
	.byte	(LBB0_39-LBB0_10)>>2
                                        ; -- End function
	.comm	_OV_EINVAL,4,2                  ; @OV_EINVAL
	.comm	_OV_EIMPL,4,2                   ; @OV_EIMPL
.subsections_via_symbols
