	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_zend_array_element_type        ## -- Begin function zend_array_element_type
	.p2align	4, 0x90
_zend_array_element_type:               ## @zend_array_element_type
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_MAY_BE_OBJECT@GOTPCREL(%rip), %rax
	movl	(%rax), %r9d
	testl	%edi, %r9d
	je	LBB0_1
## %bb.2:
	movq	_MAY_BE_ANY@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	testl	%esi, %esi
	je	LBB0_4
## %bb.3:
	movq	_MAY_BE_REF@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
LBB0_4:
	movq	_MAY_BE_RC1@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	_MAY_BE_RCN@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	_MAY_BE_ARRAY_KEY_ANY@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	_MAY_BE_ARRAY_OF_ANY@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	_MAY_BE_ARRAY_OF_REF@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	jmp	LBB0_5
LBB0_1:
	xorl	%r8d, %r8d
LBB0_5:
	movq	_MAY_BE_ARRAY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%edi, %eax
	je	LBB0_16
## %bb.6:
	movq	_MAY_BE_NULL@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r10d
	testl	%edx, %edx
	je	LBB0_8
## %bb.7:
	orl	%r10d, %r8d
	jmp	LBB0_16
LBB0_8:
	movq	_MAY_BE_ARRAY_OF_ANY@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r11d
	movl	%r11d, %edx
	andl	%edi, %edx
	movq	_MAY_BE_ARRAY_SHIFT@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	sarl	%cl, %edx
	orl	%r10d, %r8d
	orl	%edx, %r8d
	testl	%eax, %r8d
	je	LBB0_9
## %bb.10:
	movq	_MAY_BE_ARRAY_KEY_ANY@GOTPCREL(%rip), %rdx
	movq	_MAY_BE_ARRAY_OF_REF@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	%r11d, %r8d
	orl	(%rdx), %r8d
	orl	%ecx, %r8d
	testl	%edi, %ecx
	je	LBB0_14
LBB0_12:
	testl	%esi, %esi
	je	LBB0_15
## %bb.13:
	movq	_MAY_BE_REF@GOTPCREL(%rip), %rax
	movq	_MAY_BE_RC1@GOTPCREL(%rip), %rcx
	movq	_MAY_BE_RCN@GOTPCREL(%rip), %rdx
	orl	(%rax), %r8d
	orl	(%rcx), %r8d
	orl	(%rdx), %r8d
	jmp	LBB0_16
LBB0_9:
	movq	_MAY_BE_ARRAY_OF_REF@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%edi, %ecx
	jne	LBB0_12
LBB0_14:
	movq	_MAY_BE_STRING@GOTPCREL(%rip), %rcx
	orl	%r9d, %eax
	orl	(%rcx), %eax
	movq	_MAY_BE_RESOURCE@GOTPCREL(%rip), %rcx
	orl	(%rcx), %eax
	testl	%r8d, %eax
	je	LBB0_16
LBB0_15:
	movq	_MAY_BE_RC1@GOTPCREL(%rip), %rax
	movq	_MAY_BE_RCN@GOTPCREL(%rip), %rcx
	orl	(%rax), %r8d
	orl	(%rcx), %r8d
LBB0_16:
	movq	_MAY_BE_STRING@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%edi, %eax
	je	LBB0_19
## %bb.17:
	movq	_MAY_BE_RC1@GOTPCREL(%rip), %rcx
	orl	%eax, %r8d
	orl	(%rcx), %r8d
	testl	%esi, %esi
	je	LBB0_19
## %bb.18:
	movq	_MAY_BE_NULL@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
LBB0_19:
	movq	_MAY_BE_UNDEF@GOTPCREL(%rip), %rcx
	movq	_MAY_BE_NULL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	(%rcx), %ecx
	orl	%eax, %ecx
	movq	_MAY_BE_FALSE@GOTPCREL(%rip), %rdx
	orl	(%rdx), %ecx
	movq	_MAY_BE_TRUE@GOTPCREL(%rip), %r9
	movq	_MAY_BE_LONG@GOTPCREL(%rip), %rdx
	movl	(%rdx), %r10d
	orl	(%r9), %r10d
	movq	_MAY_BE_DOUBLE@GOTPCREL(%rip), %rdx
	orl	(%rdx), %r10d
	movq	_MAY_BE_RESOURCE@GOTPCREL(%rip), %rdx
	orl	(%rdx), %r10d
	andl	%edi, %ecx
	testl	%ecx, %ecx
	cmovnel	%eax, %ecx
	testl	%edi, %r10d
	cmovel	%ecx, %eax
	testl	%esi, %esi
	cmovnel	%ecx, %eax
	orl	%r8d, %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_MAY_BE_OBJECT,4,2              ## @MAY_BE_OBJECT
	.comm	_MAY_BE_ANY,4,2                 ## @MAY_BE_ANY
	.comm	_MAY_BE_RC1,4,2                 ## @MAY_BE_RC1
	.comm	_MAY_BE_RCN,4,2                 ## @MAY_BE_RCN
	.comm	_MAY_BE_ARRAY_KEY_ANY,4,2       ## @MAY_BE_ARRAY_KEY_ANY
	.comm	_MAY_BE_ARRAY_OF_ANY,4,2        ## @MAY_BE_ARRAY_OF_ANY
	.comm	_MAY_BE_ARRAY_OF_REF,4,2        ## @MAY_BE_ARRAY_OF_REF
	.comm	_MAY_BE_REF,4,2                 ## @MAY_BE_REF
	.comm	_MAY_BE_ARRAY,4,2               ## @MAY_BE_ARRAY
	.comm	_MAY_BE_NULL,4,2                ## @MAY_BE_NULL
	.comm	_MAY_BE_ARRAY_SHIFT,4,2         ## @MAY_BE_ARRAY_SHIFT
	.comm	_MAY_BE_STRING,4,2              ## @MAY_BE_STRING
	.comm	_MAY_BE_RESOURCE,4,2            ## @MAY_BE_RESOURCE
	.comm	_MAY_BE_UNDEF,4,2               ## @MAY_BE_UNDEF
	.comm	_MAY_BE_FALSE,4,2               ## @MAY_BE_FALSE
	.comm	_MAY_BE_TRUE,4,2                ## @MAY_BE_TRUE
	.comm	_MAY_BE_LONG,4,2                ## @MAY_BE_LONG
	.comm	_MAY_BE_DOUBLE,4,2              ## @MAY_BE_DOUBLE
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_zend_array_element_type        ; -- Begin function zend_array_element_type
	.p2align	2
_zend_array_element_type:               ; @zend_array_element_type
	.cfi_startproc
; %bb.0:
Lloh0:
	adrp	x8, _MAY_BE_OBJECT@GOTPAGE
Lloh1:
	ldr	x8, [x8, _MAY_BE_OBJECT@GOTPAGEOFF]
Lloh2:
	ldr	w12, [x8]
Lloh3:
	adrp	x8, _MAY_BE_RC1@GOTPAGE
Lloh4:
	ldr	x8, [x8, _MAY_BE_RC1@GOTPAGEOFF]
	tst	w12, w0
	b.eq	LBB0_3
; %bb.1:
Lloh5:
	adrp	x9, _MAY_BE_ANY@GOTPAGE
Lloh6:
	ldr	x9, [x9, _MAY_BE_ANY@GOTPAGEOFF]
Lloh7:
	ldr	w9, [x9]
	cbz	w1, LBB0_4
; %bb.2:
Lloh8:
	adrp	x10, _MAY_BE_REF@GOTPAGE
Lloh9:
	ldr	x10, [x10, _MAY_BE_REF@GOTPAGEOFF]
Lloh10:
	ldr	w10, [x10]
	orr	w9, w10, w9
	ldr	w10, [x8]
	orr	w9, w9, w10
	b	LBB0_5
LBB0_3:
	mov	w9, #0
	b	LBB0_6
LBB0_4:
	ldr	w10, [x8]
	orr	w9, w10, w9
LBB0_5:
Lloh11:
	adrp	x10, _MAY_BE_RCN@GOTPAGE
Lloh12:
	ldr	x10, [x10, _MAY_BE_RCN@GOTPAGEOFF]
Lloh13:
	ldr	w10, [x10]
	orr	w9, w9, w10
Lloh14:
	adrp	x10, _MAY_BE_ARRAY_KEY_ANY@GOTPAGE
Lloh15:
	ldr	x10, [x10, _MAY_BE_ARRAY_KEY_ANY@GOTPAGEOFF]
Lloh16:
	ldr	w10, [x10]
	orr	w9, w9, w10
Lloh17:
	adrp	x10, _MAY_BE_ARRAY_OF_ANY@GOTPAGE
Lloh18:
	ldr	x10, [x10, _MAY_BE_ARRAY_OF_ANY@GOTPAGEOFF]
Lloh19:
	ldr	w10, [x10]
	orr	w9, w9, w10
Lloh20:
	adrp	x10, _MAY_BE_ARRAY_OF_REF@GOTPAGE
Lloh21:
	ldr	x10, [x10, _MAY_BE_ARRAY_OF_REF@GOTPAGEOFF]
Lloh22:
	ldr	w10, [x10]
	orr	w9, w9, w10
LBB0_6:
Lloh23:
	adrp	x10, _MAY_BE_ARRAY@GOTPAGE
Lloh24:
	ldr	x10, [x10, _MAY_BE_ARRAY@GOTPAGEOFF]
Lloh25:
	adrp	x13, _MAY_BE_STRING@GOTPAGE
Lloh26:
	ldr	x13, [x13, _MAY_BE_STRING@GOTPAGEOFF]
Lloh27:
	ldr	w14, [x10]
Lloh28:
	adrp	x11, _MAY_BE_NULL@GOTPAGE
Lloh29:
	ldr	x11, [x11, _MAY_BE_NULL@GOTPAGEOFF]
Lloh30:
	adrp	x10, _MAY_BE_RESOURCE@GOTPAGE
Lloh31:
	ldr	x10, [x10, _MAY_BE_RESOURCE@GOTPAGEOFF]
	tst	w14, w0
	b.eq	LBB0_16
; %bb.7:
	ldr	w16, [x11]
	cbz	w2, LBB0_9
; %bb.8:
	orr	w9, w16, w9
	b	LBB0_16
LBB0_9:
Lloh32:
	adrp	x15, _MAY_BE_ARRAY_OF_ANY@GOTPAGE
Lloh33:
	ldr	x15, [x15, _MAY_BE_ARRAY_OF_ANY@GOTPAGEOFF]
Lloh34:
	ldr	w15, [x15]
Lloh35:
	adrp	x17, _MAY_BE_ARRAY_SHIFT@GOTPAGE
Lloh36:
	ldr	x17, [x17, _MAY_BE_ARRAY_SHIFT@GOTPAGEOFF]
	and	w2, w15, w0
Lloh37:
	ldr	w17, [x17]
	asr	w17, w2, w17
	orr	w9, w16, w9
	orr	w9, w9, w17
	tst	w9, w14
	b.eq	LBB0_13
; %bb.10:
Lloh38:
	adrp	x16, _MAY_BE_ARRAY_KEY_ANY@GOTPAGE
Lloh39:
	ldr	x16, [x16, _MAY_BE_ARRAY_KEY_ANY@GOTPAGEOFF]
Lloh40:
	ldr	w17, [x16]
Lloh41:
	adrp	x16, _MAY_BE_ARRAY_OF_REF@GOTPAGE
Lloh42:
	ldr	x16, [x16, _MAY_BE_ARRAY_OF_REF@GOTPAGEOFF]
Lloh43:
	ldr	w16, [x16]
	orr	w9, w9, w15
	orr	w9, w9, w17
	orr	w9, w9, w16
	tst	w16, w0
	b.eq	LBB0_14
LBB0_11:
	cbz	w1, LBB0_15
; %bb.12:
Lloh44:
	adrp	x12, _MAY_BE_REF@GOTPAGE
Lloh45:
	ldr	x12, [x12, _MAY_BE_REF@GOTPAGEOFF]
Lloh46:
	ldr	w12, [x12]
	ldr	w14, [x8]
Lloh47:
	adrp	x15, _MAY_BE_RCN@GOTPAGE
Lloh48:
	ldr	x15, [x15, _MAY_BE_RCN@GOTPAGEOFF]
Lloh49:
	ldr	w15, [x15]
	orr	w9, w12, w9
	orr	w9, w9, w14
	orr	w9, w9, w15
	b	LBB0_16
LBB0_13:
Lloh50:
	adrp	x15, _MAY_BE_ARRAY_OF_REF@GOTPAGE
Lloh51:
	ldr	x15, [x15, _MAY_BE_ARRAY_OF_REF@GOTPAGEOFF]
Lloh52:
	ldr	w16, [x15]
	tst	w16, w0
	b.ne	LBB0_11
LBB0_14:
	ldr	w15, [x13]
	ldr	w16, [x10]
	orr	w12, w14, w12
	orr	w12, w12, w15
	orr	w12, w12, w16
	tst	w12, w9
	b.eq	LBB0_16
LBB0_15:
	ldr	w12, [x8]
Lloh53:
	adrp	x14, _MAY_BE_RCN@GOTPAGE
Lloh54:
	ldr	x14, [x14, _MAY_BE_RCN@GOTPAGEOFF]
Lloh55:
	ldr	w14, [x14]
	orr	w9, w12, w9
	orr	w9, w9, w14
LBB0_16:
	ldr	w12, [x13]
	tst	w12, w0
	b.eq	LBB0_19
; %bb.17:
	ldr	w8, [x8]
	orr	w9, w12, w9
	orr	w9, w9, w8
	cbz	w1, LBB0_19
; %bb.18:
	ldr	w8, [x11]
	orr	w9, w8, w9
LBB0_19:
Lloh56:
	adrp	x8, _MAY_BE_UNDEF@GOTPAGE
Lloh57:
	ldr	x8, [x8, _MAY_BE_UNDEF@GOTPAGEOFF]
Lloh58:
	ldr	w8, [x8]
	ldr	w11, [x11]
	orr	w8, w11, w8
Lloh59:
	adrp	x12, _MAY_BE_FALSE@GOTPAGE
Lloh60:
	ldr	x12, [x12, _MAY_BE_FALSE@GOTPAGEOFF]
Lloh61:
	ldr	w12, [x12]
	orr	w8, w8, w12
Lloh62:
	adrp	x12, _MAY_BE_TRUE@GOTPAGE
Lloh63:
	ldr	x12, [x12, _MAY_BE_TRUE@GOTPAGEOFF]
	and	w8, w8, w0
Lloh64:
	ldr	w12, [x12]
Lloh65:
	adrp	x13, _MAY_BE_LONG@GOTPAGE
Lloh66:
	ldr	x13, [x13, _MAY_BE_LONG@GOTPAGEOFF]
Lloh67:
	ldr	w13, [x13]
	orr	w12, w13, w12
Lloh68:
	adrp	x13, _MAY_BE_DOUBLE@GOTPAGE
Lloh69:
	ldr	x13, [x13, _MAY_BE_DOUBLE@GOTPAGEOFF]
Lloh70:
	ldr	w13, [x13]
	orr	w12, w12, w13
	ldr	w10, [x10]
	orr	w10, w12, w10
	tst	w10, w0
	ccmp	w1, #0, #0, ne
	ccmp	w8, #0, #0, ne
	csel	w8, wzr, w11, eq
	orr	w0, w8, w9
	ret
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh27
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpLdrGotLdr	Lloh68, Lloh69, Lloh70
	.loh AdrpLdrGotLdr	Lloh65, Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGotLdr	Lloh59, Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh56, Lloh57, Lloh58
	.cfi_endproc
                                        ; -- End function
	.comm	_MAY_BE_OBJECT,4,2              ; @MAY_BE_OBJECT
	.comm	_MAY_BE_ANY,4,2                 ; @MAY_BE_ANY
	.comm	_MAY_BE_RC1,4,2                 ; @MAY_BE_RC1
	.comm	_MAY_BE_RCN,4,2                 ; @MAY_BE_RCN
	.comm	_MAY_BE_ARRAY_KEY_ANY,4,2       ; @MAY_BE_ARRAY_KEY_ANY
	.comm	_MAY_BE_ARRAY_OF_ANY,4,2        ; @MAY_BE_ARRAY_OF_ANY
	.comm	_MAY_BE_ARRAY_OF_REF,4,2        ; @MAY_BE_ARRAY_OF_REF
	.comm	_MAY_BE_REF,4,2                 ; @MAY_BE_REF
	.comm	_MAY_BE_ARRAY,4,2               ; @MAY_BE_ARRAY
	.comm	_MAY_BE_NULL,4,2                ; @MAY_BE_NULL
	.comm	_MAY_BE_ARRAY_SHIFT,4,2         ; @MAY_BE_ARRAY_SHIFT
	.comm	_MAY_BE_STRING,4,2              ; @MAY_BE_STRING
	.comm	_MAY_BE_RESOURCE,4,2            ; @MAY_BE_RESOURCE
	.comm	_MAY_BE_UNDEF,4,2               ; @MAY_BE_UNDEF
	.comm	_MAY_BE_FALSE,4,2               ; @MAY_BE_FALSE
	.comm	_MAY_BE_TRUE,4,2                ; @MAY_BE_TRUE
	.comm	_MAY_BE_LONG,4,2                ; @MAY_BE_LONG
	.comm	_MAY_BE_DOUBLE,4,2              ; @MAY_BE_DOUBLE
.subsections_via_symbols
