	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function check_range
_check_range:                           ## @check_range
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_OP_LEGAL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movq	(%rdi), %r9
	testl	%esi, %esi
	jne	LBB0_2
## %bb.1:
	testq	%r9, %r9
	jle	LBB0_2
LBB0_36:
	movq	_OP_OUT_OF_RANGE@GOTPCREL(%rip), %rax
	jmp	LBB0_37
LBB0_2:
	movq	%r9, %r8
	orq	$-2147483648, %r8               ## imm = 0x80000000
	testl	$-2147483648, %r9d              ## imm = 0x80000000
	cmoveq	%r9, %r8
	movq	_OP_EVEN@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_5
## %bb.3:
	movl	%r8d, %r9d
	andl	$1, %r9d
	testq	%r9, %r9
	je	LBB0_5
## %bb.4:
	movq	_OP_NOT_EVEN@GOTPCREL(%rip), %rax
LBB0_37:
	movl	(%rax), %eax
LBB0_38:
	popq	%rbp
	retq
LBB0_5:
	movq	_OP_DEC@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_8
## %bb.6:
	decq	%r8
	testl	%ecx, %ecx
	je	LBB0_10
## %bb.7:
	movq	%r8, (%rdi)
LBB0_8:
	movq	_OP_SHIFT@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_12
## %bb.9:
	sarq	%r8
	testl	%ecx, %ecx
	jne	LBB0_15
	jmp	LBB0_18
LBB0_12:
	movq	_OP_SHIFT_DEC@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_18
## %bb.13:
	sarq	%r8
	decq	%r8
	testl	%ecx, %ecx
	je	LBB0_18
LBB0_15:
	movq	%r8, (%rdi)
	jmp	LBB0_18
LBB0_10:
	movq	_OP_SHIFT@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_16
## %bb.11:
	sarq	%r8
	jmp	LBB0_18
LBB0_16:
	movq	_OP_SHIFT_DEC@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_18
## %bb.17:
	sarq	%r8
	decq	%r8
LBB0_18:
	movq	_OP_ABS20@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_20
## %bb.19:
	cmpq	$983040, %r8                    ## imm = 0xF0000
	jge	LBB0_36
LBB0_20:
	movq	_OP_ESC@GOTPCREL(%rip), %r9
	testl	%edx, (%r9)
	je	LBB0_25
## %bb.21:
	movq	%r8, %r9
	andq	$-3, %r9
	cmpq	$9, %r9
	je	LBB0_36
## %bb.22:
	cmpq	$-1, %r8
	je	LBB0_23
LBB0_25:
	movq	_OP_ESC1@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	je	LBB0_27
## %bb.26:
	cmpq	$14, %r8
	jge	LBB0_36
LBB0_27:
	movq	_OP_SIGNED@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	je	LBB0_30
## %bb.28:
	decb	%sil
	movl	$1, %edx
	movl	%esi, %ecx
	shll	%cl, %edx
	leal	-1(%rdx), %ecx
	movslq	%ecx, %rcx
	cmpq	%rcx, %r8
	jg	LBB0_36
## %bb.29:
	negl	%edx
	movslq	%edx, %rcx
	cmpq	%rcx, %r8
	jl	LBB0_36
	jmp	LBB0_38
LBB0_23:
	testl	%ecx, %ecx
	je	LBB0_38
## %bb.24:
	movq	$9, (%rdi)
	popq	%rbp
	retq
LBB0_30:
	movq	_OP_UNSIGNED@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	je	LBB0_32
## %bb.31:
	decb	%sil
	movl	$-1, %edx
	movl	%esi, %ecx
	shll	%cl, %edx
	notl	%edx
	leal	(%rdx,%rdx), %ecx
	incl	%ecx
	movslq	%ecx, %rcx
	cmpq	%rcx, %r8
	ja	LBB0_36
	jmp	LBB0_38
LBB0_32:
	movq	_OP_NEG@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	je	LBB0_38
## %bb.33:
	testq	%r8, %r8
	jns	LBB0_36
## %bb.34:
	decb	%sil
	movl	$-1, %edx
	movl	%esi, %ecx
	shll	%cl, %edx
	incl	%edx
	movslq	%edx, %rcx
	cmpq	%rcx, %r8
	jl	LBB0_36
	jmp	LBB0_38
	.cfi_endproc
                                        ## -- End function
	.comm	_OP_LEGAL,4,2                   ## @OP_LEGAL
	.comm	_OP_OUT_OF_RANGE,4,2            ## @OP_OUT_OF_RANGE
	.comm	_OP_EVEN,4,2                    ## @OP_EVEN
	.comm	_OP_NOT_EVEN,4,2                ## @OP_NOT_EVEN
	.comm	_OP_DEC,4,2                     ## @OP_DEC
	.comm	_OP_SHIFT,4,2                   ## @OP_SHIFT
	.comm	_OP_SHIFT_DEC,4,2               ## @OP_SHIFT_DEC
	.comm	_OP_ABS20,4,2                   ## @OP_ABS20
	.comm	_OP_ESC,4,2                     ## @OP_ESC
	.comm	_OP_ESC1,4,2                    ## @OP_ESC1
	.comm	_OP_SIGNED,4,2                  ## @OP_SIGNED
	.comm	_OP_UNSIGNED,4,2                ## @OP_UNSIGNED
	.comm	_OP_NEG,4,2                     ## @OP_NEG
	.no_dead_strip	_check_range
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function check_range
_check_range:                           ; @check_range
	.cfi_startproc
; %bb.0:
	mov	x8, x0
Lloh0:
	adrp	x9, _OP_LEGAL@GOTPAGE
Lloh1:
	ldr	x9, [x9, _OP_LEGAL@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x9]
	ldr	x9, [x8]
	cbnz	w1, LBB0_3
; %bb.1:
	cmp	x9, #1
	b.lt	LBB0_3
LBB0_2:
Lloh3:
	adrp	x8, _OP_OUT_OF_RANGE@GOTPAGE
Lloh4:
	ldr	x8, [x8, _OP_OUT_OF_RANGE@GOTPAGEOFF]
	b	LBB0_10
LBB0_3:
	orr	x10, x9, #0xffffffff80000000
	tst	x9, #0x80000000
Lloh5:
	adrp	x11, _OP_EVEN@GOTPAGE
Lloh6:
	ldr	x11, [x11, _OP_EVEN@GOTPAGEOFF]
	csel	x9, x9, x10, eq
Lloh7:
	ldr	w10, [x11]
	and	w10, w10, w2
	and	x11, x9, #0x1
	cmp	w10, #0
	ccmp	x11, #0, #4, ne
	b.ne	LBB0_9
; %bb.4:
Lloh8:
	adrp	x10, _OP_DEC@GOTPAGE
Lloh9:
	ldr	x10, [x10, _OP_DEC@GOTPAGEOFF]
Lloh10:
	ldr	w10, [x10]
	tst	w10, w2
	b.eq	LBB0_7
; %bb.5:
	sub	x9, x9, #1
	cbz	w3, LBB0_15
; %bb.6:
	str	x9, [x8]
LBB0_7:
Lloh11:
	adrp	x10, _OP_SHIFT@GOTPAGE
Lloh12:
	ldr	x10, [x10, _OP_SHIFT@GOTPAGEOFF]
Lloh13:
	ldr	w10, [x10]
	tst	w10, w2
	b.eq	LBB0_12
; %bb.8:
	asr	x9, x9, #1
	cbnz	w3, LBB0_14
	b	LBB0_18
LBB0_9:
Lloh14:
	adrp	x8, _OP_NOT_EVEN@GOTPAGE
Lloh15:
	ldr	x8, [x8, _OP_NOT_EVEN@GOTPAGEOFF]
LBB0_10:
	ldr	w0, [x8]
LBB0_11:
	ret
LBB0_12:
Lloh16:
	adrp	x10, _OP_SHIFT_DEC@GOTPAGE
Lloh17:
	ldr	x10, [x10, _OP_SHIFT_DEC@GOTPAGEOFF]
Lloh18:
	ldr	w10, [x10]
	tst	w10, w2
	b.eq	LBB0_18
; %bb.13:
	asr	x9, x9, #1
	sub	x9, x9, #1
	cbz	w3, LBB0_18
LBB0_14:
	str	x9, [x8]
	b	LBB0_18
LBB0_15:
Lloh19:
	adrp	x10, _OP_SHIFT@GOTPAGE
Lloh20:
	ldr	x10, [x10, _OP_SHIFT@GOTPAGEOFF]
Lloh21:
	ldr	w10, [x10]
	tst	w10, w2
	b.eq	LBB0_17
; %bb.16:
	asr	x9, x9, #1
	b	LBB0_18
LBB0_17:
Lloh22:
	adrp	x10, _OP_SHIFT_DEC@GOTPAGE
Lloh23:
	ldr	x10, [x10, _OP_SHIFT_DEC@GOTPAGEOFF]
Lloh24:
	ldr	w10, [x10]
	asr	x11, x9, #1
	sub	x11, x11, #1
	tst	w10, w2
	csel	x9, x9, x11, eq
LBB0_18:
Lloh25:
	adrp	x10, _OP_ABS20@GOTPAGE
Lloh26:
	ldr	x10, [x10, _OP_ABS20@GOTPAGEOFF]
Lloh27:
	ldr	w10, [x10]
	tst	w10, w2
	b.eq	LBB0_20
; %bb.19:
	cmp	x9, #240, lsl #12               ; =983040
	b.ge	LBB0_2
LBB0_20:
Lloh28:
	adrp	x10, _OP_ESC@GOTPAGE
Lloh29:
	ldr	x10, [x10, _OP_ESC@GOTPAGEOFF]
Lloh30:
	ldr	w10, [x10]
	tst	w10, w2
	b.eq	LBB0_23
; %bb.21:
	and	x10, x9, #0xfffffffffffffffd
	cmp	x10, #9
	b.eq	LBB0_2
; %bb.22:
	cmn	x9, #1
	b.eq	LBB0_27
LBB0_23:
Lloh31:
	adrp	x8, _OP_ESC1@GOTPAGE
Lloh32:
	ldr	x8, [x8, _OP_ESC1@GOTPAGEOFF]
Lloh33:
	ldr	w8, [x8]
	and	w8, w8, w2
	cmp	w8, #0
	ccmp	x9, #14, #8, ne
	b.ge	LBB0_2
; %bb.24:
Lloh34:
	adrp	x8, _OP_SIGNED@GOTPAGE
Lloh35:
	ldr	x8, [x8, _OP_SIGNED@GOTPAGEOFF]
Lloh36:
	ldr	w8, [x8]
	tst	w8, w2
	b.eq	LBB0_29
; %bb.25:
	sub	w8, w1, #1
	mov	w10, #1
	lsl	w8, w10, w8
	sub	w10, w8, #1
	cmp	x9, w10, sxtw
	b.gt	LBB0_2
; %bb.26:
	neg	w8, w8
	cmp	x9, w8, sxtw
	b.lt	LBB0_2
	b	LBB0_11
LBB0_27:
	cbz	w3, LBB0_11
; %bb.28:
	mov	w9, #9
	str	x9, [x8]
	ret
LBB0_29:
Lloh37:
	adrp	x8, _OP_UNSIGNED@GOTPAGE
Lloh38:
	ldr	x8, [x8, _OP_UNSIGNED@GOTPAGEOFF]
Lloh39:
	ldr	w8, [x8]
	tst	w8, w2
	b.eq	LBB0_31
; %bb.30:
	sub	w8, w1, #1
	mov	w10, #-1
	lsl	w8, w10, w8
	mvn	w8, w8
	mov	w10, #1
	bfi	w10, w8, #1, #31
Lloh40:
	adrp	x8, _OP_OUT_OF_RANGE@GOTPAGE
Lloh41:
	ldr	x8, [x8, _OP_OUT_OF_RANGE@GOTPAGEOFF]
Lloh42:
	ldr	w8, [x8]
	cmp	x9, w10, sxtw
	csel	w0, w8, w0, hi
	ret
LBB0_31:
Lloh43:
	adrp	x8, _OP_NEG@GOTPAGE
Lloh44:
	ldr	x8, [x8, _OP_NEG@GOTPAGEOFF]
Lloh45:
	ldr	w8, [x8]
	tst	w8, w2
	b.eq	LBB0_11
; %bb.32:
	tbz	x9, #63, LBB0_2
; %bb.33:
	sub	w8, w1, #1
	mov	w10, #-1
	lsl	w8, w10, w8
	add	w8, w8, #1
	cmp	x9, w8, sxtw
	b.lt	LBB0_2
	b	LBB0_11
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.cfi_endproc
                                        ; -- End function
	.comm	_OP_LEGAL,4,2                   ; @OP_LEGAL
	.comm	_OP_OUT_OF_RANGE,4,2            ; @OP_OUT_OF_RANGE
	.comm	_OP_EVEN,4,2                    ; @OP_EVEN
	.comm	_OP_NOT_EVEN,4,2                ; @OP_NOT_EVEN
	.comm	_OP_DEC,4,2                     ; @OP_DEC
	.comm	_OP_SHIFT,4,2                   ; @OP_SHIFT
	.comm	_OP_SHIFT_DEC,4,2               ; @OP_SHIFT_DEC
	.comm	_OP_ABS20,4,2                   ; @OP_ABS20
	.comm	_OP_ESC,4,2                     ; @OP_ESC
	.comm	_OP_ESC1,4,2                    ; @OP_ESC1
	.comm	_OP_SIGNED,4,2                  ; @OP_SIGNED
	.comm	_OP_UNSIGNED,4,2                ; @OP_UNSIGNED
	.comm	_OP_NEG,4,2                     ; @OP_NEG
	.no_dead_strip	_check_range
.subsections_via_symbols
