	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function expr_join_or
_expr_join_or:                          ## @expr_join_or
	.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
	movq	%rsi, %r14
	movq	%rdi, %rbx
	callq	_expr_eq
	testq	%rax, %rax
	je	LBB0_1
## %bb.47:
	movq	%rbx, %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_expr_copy                      ## TAILCALL
LBB0_1:
	movq	(%rbx), %rax
	movq	_E_EQUAL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdx
	movq	_E_UNEQUAL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdi
	movq	_E_SYMBOL@GOTPCREL(%rip), %rcx
	movq	(%rcx), %r8
	movq	_E_NOT@GOTPCREL(%rip), %rcx
	movq	(%rcx), %r9
	cmpq	%rdx, %rax
	je	LBB0_5
## %bb.2:
	cmpq	%rdi, %rax
	je	LBB0_5
## %bb.3:
	cmpq	%r8, %rax
	je	LBB0_5
## %bb.4:
	cmpq	%r9, %rax
	jne	LBB0_46
LBB0_5:
	movq	(%r14), %r15
	cmpq	%rdx, %r15
	je	LBB0_9
## %bb.6:
	cmpq	%rdi, %r15
	je	LBB0_9
## %bb.7:
	cmpq	%r8, %r15
	je	LBB0_9
## %bb.8:
	cmpq	%r9, %r15
	jne	LBB0_46
LBB0_9:
	movq	%rbx, %rsi
	cmpq	%r9, %rax
	jne	LBB0_13
## %bb.10:
	movq	8(%rbx), %rsi
	movq	(%rsi), %rcx
	cmpq	%rdx, %rcx
	je	LBB0_13
## %bb.11:
	cmpq	%rdi, %rcx
	je	LBB0_13
## %bb.12:
	cmpq	%r8, %rcx
	jne	LBB0_46
LBB0_13:
	movq	16(%rsi), %rsi
	movq	%r14, %rcx
	cmpq	%r9, %r15
	jne	LBB0_15
## %bb.14:
	movq	8(%r14), %rcx
	cmpq	%r8, (%rcx)
	jne	LBB0_46
LBB0_15:
	cmpq	16(%rcx), %rsi
	jne	LBB0_46
## %bb.16:
	movq	(%rsi), %r10
	movq	_S_BOOLEAN@GOTPCREL(%rip), %rcx
	movq	(%rcx), %r11
	movq	_S_TRISTATE@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	%r11, %r10
	je	LBB0_18
## %bb.17:
	cmpq	%rcx, %r10
	jne	LBB0_46
LBB0_18:
	cmpq	%rcx, %r10
	jne	LBB0_37
## %bb.19:
	cmpq	%rdx, %rax
	jne	LBB0_37
## %bb.20:
	cmpq	%rdx, %r15
	jne	LBB0_37
## %bb.21:
	movq	24(%rbx), %rdx
	cmpq	_symbol_yes@GOTPCREL(%rip), %rdx
	jne	LBB0_23
## %bb.22:
	movq	24(%r14), %rcx
	cmpq	_symbol_mod@GOTPCREL(%rip), %rcx
	je	LBB0_25
LBB0_23:
	cmpq	_symbol_mod@GOTPCREL(%rip), %rdx
	jne	LBB0_27
## %bb.24:
	movq	24(%r14), %rcx
	cmpq	_symbol_yes@GOTPCREL(%rip), %rcx
	je	LBB0_25
LBB0_27:
	cmpq	_symbol_yes@GOTPCREL(%rip), %rdx
	jne	LBB0_29
## %bb.28:
	movq	24(%r14), %rcx
	cmpq	_symbol_no@GOTPCREL(%rip), %rcx
	je	LBB0_31
LBB0_29:
	cmpq	_symbol_no@GOTPCREL(%rip), %rdx
	jne	LBB0_32
## %bb.30:
	movq	24(%r14), %rcx
	cmpq	_symbol_yes@GOTPCREL(%rip), %rcx
	je	LBB0_31
LBB0_32:
	cmpq	_symbol_mod@GOTPCREL(%rip), %rdx
	jne	LBB0_34
## %bb.33:
	movq	24(%r14), %rcx
	cmpq	_symbol_no@GOTPCREL(%rip), %rcx
	je	LBB0_36
LBB0_34:
	cmpq	_symbol_no@GOTPCREL(%rip), %rdx
	jne	LBB0_37
## %bb.35:
	movq	24(%r14), %rcx
	cmpq	_symbol_mod@GOTPCREL(%rip), %rcx
	je	LBB0_36
LBB0_37:
	cmpq	%r11, %r10
	jne	LBB0_44
## %bb.38:
	cmpq	%r9, %rax
	jne	LBB0_41
## %bb.39:
	movq	8(%rbx), %rcx
	cmpq	%r8, (%rcx)
	jne	LBB0_41
## %bb.40:
	cmpq	%r8, %r15
	je	LBB0_48
LBB0_41:
	cmpq	%r9, %r15
	jne	LBB0_44
## %bb.42:
	movq	8(%r14), %rcx
	cmpq	%r8, (%rcx)
	jne	LBB0_44
## %bb.43:
	cmpq	%r8, %rax
	jne	LBB0_44
LBB0_48:
	movq	_symbol_yes@GOTPCREL(%rip), %rdi
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_expr_alloc_symbol              ## TAILCALL
LBB0_44:
	movq	_DEBUG_EXPR@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_46
## %bb.45:
	leaq	L_.str(%rip), %rdi
	callq	_printf
	movq	_stdout@GOTPCREL(%rip), %r15
	movl	(%r15), %esi
	movq	%rbx, %rdi
	callq	_expr_fprint
	leaq	L_.str.1(%rip), %rdi
	callq	_printf
	movl	(%r15), %esi
	movq	%r14, %rdi
	callq	_expr_fprint
	leaq	L_str(%rip), %rdi
	callq	_puts
LBB0_46:
	xorl	%eax, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_25:
	movq	_symbol_no@GOTPCREL(%rip), %rdx
	jmp	LBB0_26
LBB0_31:
	movq	_symbol_mod@GOTPCREL(%rip), %rdx
	jmp	LBB0_26
LBB0_36:
	movq	_symbol_yes@GOTPCREL(%rip), %rdx
LBB0_26:
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_expr_alloc_comp                ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_E_EQUAL,8,3                    ## @E_EQUAL
	.comm	_E_UNEQUAL,8,3                  ## @E_UNEQUAL
	.comm	_E_SYMBOL,8,3                   ## @E_SYMBOL
	.comm	_E_NOT,8,3                      ## @E_NOT
	.comm	_S_BOOLEAN,8,3                  ## @S_BOOLEAN
	.comm	_S_TRISTATE,8,3                 ## @S_TRISTATE
	.comm	_symbol_yes,4,2                 ## @symbol_yes
	.comm	_symbol_mod,4,2                 ## @symbol_mod
	.comm	_symbol_no,4,2                  ## @symbol_no
	.comm	_DEBUG_EXPR,8,3                 ## @DEBUG_EXPR
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"optimize ("

	.comm	_stdout,4,2                     ## @stdout
L_.str.1:                               ## @.str.1
	.asciz	") || ("

L_str:                                  ## @str
	.asciz	")?"

	.no_dead_strip	_expr_join_or
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function expr_join_or
_expr_join_or:                          ; @expr_join_or
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	mov	x19, x1
	mov	x20, x0
	bl	_expr_eq
	cbz	x0, LBB0_2
; %bb.1:
	mov	x0, x20
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_expr_copy
LBB0_2:
	ldr	x8, [x20]
Lloh0:
	adrp	x9, _E_EQUAL@GOTPAGE
Lloh1:
	ldr	x9, [x9, _E_EQUAL@GOTPAGEOFF]
Lloh2:
	adrp	x10, _E_UNEQUAL@GOTPAGE
Lloh3:
	ldr	x10, [x10, _E_UNEQUAL@GOTPAGEOFF]
Lloh4:
	ldr	x14, [x9]
Lloh5:
	ldr	x0, [x10]
Lloh6:
	adrp	x9, _E_SYMBOL@GOTPAGE
Lloh7:
	ldr	x9, [x9, _E_SYMBOL@GOTPAGEOFF]
Lloh8:
	adrp	x10, _E_NOT@GOTPAGE
Lloh9:
	ldr	x10, [x10, _E_NOT@GOTPAGEOFF]
Lloh10:
	ldr	x9, [x9]
Lloh11:
	ldr	x10, [x10]
	cmp	x8, x14
	ccmp	x8, x0, #4, ne
	ccmp	x8, x9, #4, ne
	ccmp	x8, x10, #4, ne
	b.ne	LBB0_33
; %bb.3:
	ldr	x11, [x19]
	cmp	x11, x14
	ccmp	x11, x0, #4, ne
	ccmp	x11, x9, #4, ne
	ccmp	x11, x10, #4, ne
	b.ne	LBB0_33
; %bb.4:
	mov	x12, x20
	cmp	x8, x10
	b.ne	LBB0_6
; %bb.5:
	ldr	x12, [x20, #8]
	ldr	x13, [x12]
	cmp	x13, x14
	ccmp	x13, x0, #4, ne
	ccmp	x13, x9, #4, ne
	b.ne	LBB0_33
LBB0_6:
	ldr	x1, [x12, #16]
	mov	x12, x19
	cmp	x11, x10
	b.ne	LBB0_8
; %bb.7:
	ldr	x12, [x19, #8]
	ldr	x13, [x12]
	cmp	x13, x9
	b.ne	LBB0_33
LBB0_8:
	ldr	x12, [x12, #16]
	cmp	x1, x12
	b.ne	LBB0_33
; %bb.9:
	ldr	x12, [x1]
Lloh12:
	adrp	x13, _S_BOOLEAN@GOTPAGE
Lloh13:
	ldr	x13, [x13, _S_BOOLEAN@GOTPAGEOFF]
Lloh14:
	ldr	x13, [x13]
Lloh15:
	adrp	x15, _S_TRISTATE@GOTPAGE
Lloh16:
	ldr	x15, [x15, _S_TRISTATE@GOTPAGEOFF]
Lloh17:
	ldr	x15, [x15]
	cmp	x12, x13
	ccmp	x12, x15, #4, ne
	b.ne	LBB0_33
; %bb.10:
	cmp	x12, x15
	ccmp	x8, x14, #0, eq
	ccmp	x11, x14, #0, eq
	b.ne	LBB0_23
; %bb.11:
	ldr	x15, [x20, #24]
Lloh18:
	adrp	x16, _symbol_yes@GOTPAGE
Lloh19:
	ldr	x16, [x16, _symbol_yes@GOTPAGEOFF]
Lloh20:
	adrp	x14, _symbol_mod@GOTPAGE
Lloh21:
	ldr	x14, [x14, _symbol_mod@GOTPAGEOFF]
	cmp	x15, x16
	b.ne	LBB0_13
; %bb.12:
	ldr	x17, [x19, #24]
	cmp	x17, x14
	b.eq	LBB0_34
LBB0_13:
	cmp	x15, x14
	b.ne	LBB0_15
; %bb.14:
	ldr	x17, [x19, #24]
	cmp	x17, x16
	b.eq	LBB0_34
LBB0_15:
Lloh22:
	adrp	x17, _symbol_no@GOTPAGE
Lloh23:
	ldr	x17, [x17, _symbol_no@GOTPAGEOFF]
	cmp	x15, x16
	b.ne	LBB0_17
; %bb.16:
	ldr	x2, [x19, #24]
	cmp	x2, x17
	b.eq	LBB0_35
LBB0_17:
	cmp	x15, x17
	b.ne	LBB0_19
; %bb.18:
	ldr	x2, [x19, #24]
	cmp	x2, x16
	b.eq	LBB0_35
LBB0_19:
	cmp	x15, x14
	b.ne	LBB0_21
; %bb.20:
	ldr	x16, [x19, #24]
	cmp	x16, x17
	b.eq	LBB0_36
LBB0_21:
	cmp	x15, x17
	b.ne	LBB0_23
; %bb.22:
	ldr	x15, [x19, #24]
	cmp	x15, x14
	b.eq	LBB0_36
LBB0_23:
	cmp	x12, x13
	b.ne	LBB0_31
; %bb.24:
	cmp	x8, x10
	b.ne	LBB0_27
; %bb.25:
	ldr	x12, [x20, #8]
	ldr	x12, [x12]
	cmp	x12, x9
	b.ne	LBB0_27
; %bb.26:
	cmp	x11, x9
	b.eq	LBB0_30
LBB0_27:
	cmp	x11, x10
	b.ne	LBB0_31
; %bb.28:
	ldr	x10, [x19, #8]
	ldr	x10, [x10]
	cmp	x10, x9
	b.ne	LBB0_31
; %bb.29:
	cmp	x8, x9
	b.ne	LBB0_31
LBB0_30:
Lloh24:
	adrp	x0, _symbol_yes@GOTPAGE
Lloh25:
	ldr	x0, [x0, _symbol_yes@GOTPAGEOFF]
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_expr_alloc_symbol
LBB0_31:
Lloh26:
	adrp	x8, _DEBUG_EXPR@GOTPAGE
Lloh27:
	ldr	x8, [x8, _DEBUG_EXPR@GOTPAGEOFF]
Lloh28:
	ldr	x8, [x8]
	cbz	x8, LBB0_33
; %bb.32:
Lloh29:
	adrp	x0, l_.str@PAGE
Lloh30:
	add	x0, x0, l_.str@PAGEOFF
	bl	_printf
Lloh31:
	adrp	x21, _stdout@GOTPAGE
Lloh32:
	ldr	x21, [x21, _stdout@GOTPAGEOFF]
	ldr	w1, [x21]
	mov	x0, x20
	bl	_expr_fprint
Lloh33:
	adrp	x0, l_.str.1@PAGE
Lloh34:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_printf
	ldr	w1, [x21]
	mov	x0, x19
	bl	_expr_fprint
Lloh35:
	adrp	x0, l_str@PAGE
Lloh36:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
LBB0_33:
	mov	x0, #0
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
LBB0_34:
Lloh37:
	adrp	x2, _symbol_no@GOTPAGE
Lloh38:
	ldr	x2, [x2, _symbol_no@GOTPAGEOFF]
	b	LBB0_37
LBB0_35:
Lloh39:
	adrp	x2, _symbol_mod@GOTPAGE
Lloh40:
	ldr	x2, [x2, _symbol_mod@GOTPAGEOFF]
	b	LBB0_37
LBB0_36:
Lloh41:
	adrp	x2, _symbol_yes@GOTPAGE
Lloh42:
	ldr	x2, [x2, _symbol_yes@GOTPAGEOFF]
LBB0_37:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_expr_alloc_comp
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh10
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh4
	.loh AdrpLdrGotLdr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpLdrGot	Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh41, Lloh42
	.cfi_endproc
                                        ; -- End function
	.comm	_E_EQUAL,8,3                    ; @E_EQUAL
	.comm	_E_UNEQUAL,8,3                  ; @E_UNEQUAL
	.comm	_E_SYMBOL,8,3                   ; @E_SYMBOL
	.comm	_E_NOT,8,3                      ; @E_NOT
	.comm	_S_BOOLEAN,8,3                  ; @S_BOOLEAN
	.comm	_S_TRISTATE,8,3                 ; @S_TRISTATE
	.comm	_symbol_yes,4,2                 ; @symbol_yes
	.comm	_symbol_mod,4,2                 ; @symbol_mod
	.comm	_symbol_no,4,2                  ; @symbol_no
	.comm	_DEBUG_EXPR,8,3                 ; @DEBUG_EXPR
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"optimize ("

	.comm	_stdout,4,2                     ; @stdout
l_.str.1:                               ; @.str.1
	.asciz	") || ("

l_str:                                  ; @str
	.asciz	")?"

	.no_dead_strip	_expr_join_or
.subsections_via_symbols
