	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function standard_conversion
_standard_conversion:                   ## @standard_conversion
	.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	%r13
	pushq	%r12
	pushq	%rbx
	subq	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%r8d, -76(%rbp)                 ## 4-byte Spill
	movl	%ecx, -80(%rbp)                 ## 4-byte Spill
	movq	%rdx, %r13
	movq	%rsi, %rbx
	callq	_non_reference
	movq	%rax, %r15
	movq	%rbx, %rdi
	callq	_TREE_CODE
	movslq	%eax, %rcx
	movq	_REFERENCE_TYPE@GOTPCREL(%rip), %rax
	movq	(%rax), %r14
	movq	%rcx, -88(%rbp)                 ## 8-byte Spill
	cmpq	%rcx, %r14
	jne	LBB0_2
## %bb.1:
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rbx
LBB0_2:
	movq	%r15, %rdi
	callq	_strip_top_quals
	movq	%rax, %r12
	movq	%rbx, %rdi
	callq	_strip_top_quals
	movq	%rax, %r15
	movq	%r12, %rdi
	callq	_TYPE_PTRFN_P
	testq	%rax, %rax
	je	LBB0_5
## %bb.3:
	testq	%r13, %r13
	jne	LBB0_7
## %bb.4:
	xorl	%r13d, %r13d
	jmp	LBB0_11
LBB0_5:
	movq	%r12, %rdi
	callq	_TYPE_PTRMEMFUNC_P
	testq	%r13, %r13
	je	LBB0_11
## %bb.6:
	testq	%rax, %rax
	je	LBB0_11
LBB0_7:
	movq	%r13, %rdi
	callq	_type_unknown_p
	testq	%rax, %rax
	je	LBB0_11
## %bb.8:
	movq	_tf_conv@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	movq	%r13, %rsi
	callq	_instantiate_type
	movq	%rax, %r13
	movq	_error_mark_node@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r13
	je	LBB0_9
## %bb.10:
	movq	%r13, %rdi
	callq	_TREE_TYPE
	movq	%rax, %r15
LBB0_11:
	movq	%r15, %rdi
	callq	_TREE_CODE
	movl	%eax, %ebx
	movq	%r12, -48(%rbp)                 ## 8-byte Spill
	movq	%r12, %rdi
	callq	_TREE_CODE
	movl	%eax, -52(%rbp)                 ## 4-byte Spill
	movq	%r15, %rdi
	movq	%r13, -72(%rbp)                 ## 8-byte Spill
	movq	%r13, %rsi
	callq	_build_identity_conv
	movq	%rax, %r12
	movq	_FUNCTION_TYPE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	je	LBB0_16
## %bb.12:
	movq	_ARRAY_TYPE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %ebx
	je	LBB0_16
## %bb.13:
	movl	%ebx, -64(%rbp)                 ## 4-byte Spill
	cmpq	-88(%rbp), %r14                 ## 8-byte Folded Reload
	jne	LBB0_17
## %bb.14:
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	testq	%rbx, %rbx
	movl	-52(%rbp), %r13d                ## 4-byte Reload
	jne	LBB0_19
	jmp	LBB0_33
LBB0_16:
	movq	%r15, %rdi
	callq	_type_decays_to
	movq	%rax, %r15
	movq	_ck_lvalue@GOTPCREL(%rip), %r14
	movl	-52(%rbp), %r13d                ## 4-byte Reload
	jmp	LBB0_21
LBB0_17:
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	testq	%rbx, %rbx
	movl	-52(%rbp), %r13d                ## 4-byte Reload
	je	LBB0_23
## %bb.18:
	movq	%rbx, %rdi
	callq	_lvalue_p
	testq	%rax, %rax
	je	LBB0_23
LBB0_19:
	movq	%rbx, %rdi
	callq	_is_bitfield_expr_with_lowered_type
	testq	%rax, %rax
	je	LBB0_33
## %bb.20:
	movq	%rax, %rdi
	callq	_strip_top_quals
	movq	%rax, %r15
	movq	_ck_rvalue@GOTPCREL(%rip), %r14
LBB0_21:
	movq	%r15, %rdi
	callq	_TREE_CODE
	movl	%eax, -64(%rbp)                 ## 4-byte Spill
	jmp	LBB0_22
LBB0_33:
	movq	_ck_rvalue@GOTPCREL(%rip), %r14
LBB0_22:
	movq	(%r14), %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	callq	_build_conv
	movq	%rax, %r12
LBB0_23:
	movq	_COMPLEX_TYPE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%eax, %r13d
	movl	-64(%rbp), %ecx                 ## 4-byte Reload
	jne	LBB0_27
## %bb.24:
	cmpl	%eax, %ecx
	jne	LBB0_27
## %bb.25:
	movq	-48(%rbp), %r14                 ## 8-byte Reload
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rbx
	movq	%r15, %rdi
	callq	_TREE_TYPE
	movq	_NULL_TREE@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdx
	movq	%rbx, %rdi
	movq	%rax, %rsi
	movl	-80(%rbp), %ecx                 ## 4-byte Reload
	movl	-76(%rbp), %r8d                 ## 4-byte Reload
	callq	_standard_conversion
	testq	%rax, %rax
	je	LBB0_9
## %bb.26:
	movq	%rax, %rbx
	movq	(%rax), %rdi
	movq	%r14, %rsi
	movq	%r12, %rdx
	callq	_build_conv
	movq	%rax, %r12
	movq	8(%rbx), %rax
	movq	%rax, 8(%r12)
	jmp	LBB0_47
LBB0_27:
	movq	%r15, %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	callq	_same_type_p
	testq	%rax, %rax
	jne	LBB0_47
## %bb.28:
	movq	_POINTER_TYPE@GOTPCREL(%rip), %rax
	movq	_BLOCK_POINTER_TYPE@GOTPCREL(%rip), %r14
	movq	%rax, %rbx
	cmpl	(%rax), %r13d
	je	LBB0_34
## %bb.29:
	cmpl	(%r14), %r13d
	je	LBB0_34
## %bb.30:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TYPE_PTR_TO_MEMBER_P
	testq	%rax, %rax
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	je	LBB0_39
## %bb.31:
	testq	%rdi, %rdi
	jne	LBB0_35
	jmp	LBB0_39
LBB0_34:
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	testq	%rdi, %rdi
	je	LBB0_39
LBB0_35:
	callq	_null_ptr_cst_p
	testq	%rax, %rax
	je	LBB0_39
## %bb.36:
	movq	_ck_std@GOTPCREL(%rip), %rax
LBB0_37:
	movq	(%rax), %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	movq	%r12, %rdx
LBB0_38:
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_build_conv                     ## TAILCALL
LBB0_39:
	movl	%r13d, %edx
	movq	%r15, %r13
	movq	%r12, %r15
	movq	_INTEGER_TYPE@GOTPCREL(%rip), %r12
	movl	(%r12), %ecx
	movl	(%rbx), %eax
	cmpl	%ecx, %edx
	jne	LBB0_41
## %bb.40:
	cmpl	%eax, -64(%rbp)                 ## 4-byte Folded Reload
	je	LBB0_45
LBB0_41:
	cmpl	%eax, -52(%rbp)                 ## 4-byte Folded Reload
	jne	LBB0_43
## %bb.42:
	cmpl	%ecx, -64(%rbp)                 ## 4-byte Folded Reload
	je	LBB0_45
LBB0_43:
	movq	_ENUMERAL_TYPE@GOTPCREL(%rip), %rsi
	movl	-52(%rbp), %edx                 ## 4-byte Reload
	cmpl	(%rsi), %edx
	jne	LBB0_48
## %bb.44:
	cmpl	%ecx, -64(%rbp)                 ## 4-byte Folded Reload
	jne	LBB0_48
LBB0_45:
	movq	_ck_std@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	movq	%r15, %rdx
LBB0_46:
	callq	_build_conv
	movq	%rax, %r12
	movl	$1, 16(%rax)
	jmp	LBB0_47
LBB0_48:
	cmpl	%eax, -52(%rbp)                 ## 4-byte Folded Reload
	jne	LBB0_50
## %bb.49:
	cmpl	%eax, -64(%rbp)                 ## 4-byte Folded Reload
	je	LBB0_53
LBB0_50:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TYPE_PTRMEM_P
	testq	%rax, %rax
	je	LBB0_62
## %bb.51:
	movq	%r13, %rdi
	callq	_TYPE_PTRMEM_P
	testq	%rax, %rax
	je	LBB0_62
## %bb.52:
	movl	(%rbx), %eax
	movl	%eax, -64(%rbp)                 ## 4-byte Spill
LBB0_53:
	movl	-64(%rbp), %eax                 ## 4-byte Reload
	cmpl	%eax, -52(%rbp)                 ## 4-byte Folded Reload
	movq	%r15, %r12
	movq	%r13, %r14
	jne	LBB0_55
## %bb.54:
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rbx, %r15
	movq	%rax, %rbx
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rbx, %rdi
	movq	%r15, %rbx
	movq	%rax, %rsi
	callq	_same_type_ignoring_top_level_qualifiers_p
	testq	%rax, %rax
	jne	LBB0_105
LBB0_55:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_VOID_TYPE_P
	testq	%rax, %rax
	je	LBB0_58
## %bb.56:
	movq	%r14, %rdi
	callq	_TYPE_PTRMEM_P
	testq	%rax, %rax
	jne	LBB0_58
## %bb.57:
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	_FUNCTION_TYPE@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_92
LBB0_58:
	movq	%r14, %rdi
	callq	_TYPE_PTRMEM_P
	movq	%r14, %rdi
	testq	%rax, %rax
	je	LBB0_80
## %bb.59:
	callq	_TYPE_PTRMEM_CLASS_TYPE
	movq	%rax, %r15
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_TYPE_PTRMEM_CLASS_TYPE
	movq	%rax, %r13
	movq	%r15, -64(%rbp)                 ## 8-byte Spill
	movq	%r15, %rdi
	movq	%rax, %rsi
	callq	_DERIVED_FROM_P
	testq	%rax, %rax
	je	LBB0_78
## %bb.60:
	movq	%r14, %rdi
	callq	_TYPE_PTRMEM_POINTED_TO_TYPE
	movq	%rax, %r15
	movq	%rbx, %rdi
	callq	_TYPE_PTRMEM_POINTED_TO_TYPE
	movq	%r15, %rdi
	movq	%rax, %rsi
	callq	_same_type_ignoring_top_level_qualifiers_p
	testq	%rax, %rax
	je	LBB0_78
## %bb.61:
	movq	%r14, %rdi
	callq	_TYPE_PTRMEM_POINTED_TO_TYPE
	movq	%r13, %rdi
	movq	%rax, %rsi
	callq	_build_ptrmem_type
	movq	%rax, %r14
	movq	_ck_pmem@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	%r14, %rsi
	movq	%r12, %rdx
	callq	_build_conv
	movq	%rax, %r12
	jmp	LBB0_104
LBB0_62:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TYPE_PTRMEMFUNC_P
	testq	%rax, %rax
	je	LBB0_69
## %bb.63:
	movq	%r13, %rdi
	callq	_TYPE_PTRMEMFUNC_P
	testq	%rax, %rax
	je	LBB0_69
## %bb.64:
	movq	%r13, %rdi
	callq	_TYPE_PTRMEMFUNC_FN_TYPE
	movq	%rax, %rdi
	callq	_TREE_TYPE
	movq	%rax, %r12
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TYPE_PTRMEMFUNC_FN_TYPE
	movq	%rax, %rdi
	callq	_TREE_TYPE
	movq	%rax, %r14
	movq	%r12, %rdi
	callq	_TYPE_ARG_TYPES
	movl	%eax, %edi
	callq	_TREE_VALUE
	movq	%rax, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rbx
	movq	%r14, %rdi
	callq	_TYPE_ARG_TYPES
	movl	%eax, %edi
	callq	_TREE_VALUE
	movq	%rax, %rdi
	callq	_TREE_TYPE
	movq	%rax, %r13
	movq	%rbx, %rdi
	movq	%rax, %rsi
	callq	_DERIVED_FROM_P
	testq	%rax, %rax
	je	LBB0_9
## %bb.65:
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movq	%r12, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rbx
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rbx, %rdi
	movq	%rax, %rsi
	callq	_same_type_p
	testq	%rax, %rax
	je	LBB0_9
## %bb.66:
	movq	%r12, %rdi
	callq	_TYPE_ARG_TYPES
	movl	%eax, %edi
	callq	_TREE_CHAIN
	movl	%eax, %ebx
	movq	%r14, %rdi
	callq	_TYPE_ARG_TYPES
	movl	%eax, %edi
	callq	_TREE_CHAIN
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_compparms
	testl	%eax, %eax
	je	LBB0_9
## %bb.67:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_cp_type_quals
	movq	%rax, %r14
	movq	%r13, %rdi
	callq	_cp_type_quals
	cmpq	%rax, %r14
	jne	LBB0_9
## %bb.68:
	movq	%rbx, %rdi
	callq	_cp_type_quals
	movq	%r13, %rdi
	movq	%rax, %rsi
	callq	_cp_build_qualified_type
	movq	%rax, %r14
	movq	%r12, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rbx
	movq	%r12, %rdi
	callq	_TYPE_ARG_TYPES
	movl	%eax, %edi
	callq	_TREE_CHAIN
	movq	%r14, %rdi
	movq	%rbx, %rsi
	movl	%eax, %edx
	callq	_build_method_type_directly
	movq	%rax, %rdi
	callq	_build_pointer_type
	movq	%rax, %rdi
	callq	_build_ptrmemfunc_type
	movq	_ck_pmem@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rdi
	movq	%rax, %rsi
	movq	%r15, %rdx
	callq	_build_conv
	movq	%rax, %r12
	movl	$1, 20(%rax)
	jmp	LBB0_47
LBB0_69:
	movq	_BOOLEAN_TYPE@GOTPCREL(%rip), %rax
	movl	-52(%rbp), %ecx                 ## 4-byte Reload
	cmpl	(%rax), %ecx
	jne	LBB0_85
## %bb.70:
	movq	%r13, %rdi
	callq	_ARITHMETIC_TYPE_P
	testq	%rax, %rax
	movl	-64(%rbp), %r12d                ## 4-byte Reload
	jne	LBB0_75
## %bb.71:
	movq	_ENUMERAL_TYPE@GOTPCREL(%rip), %rax
	cmpl	(%rax), %r12d
	je	LBB0_75
## %bb.72:
	cmpl	(%rbx), %r12d
	je	LBB0_75
## %bb.73:
	cmpl	(%r14), %r12d
	je	LBB0_75
## %bb.74:
	movq	%r13, %rdi
	callq	_TYPE_PTR_TO_MEMBER_P
	testq	%rax, %rax
	je	LBB0_9
LBB0_75:
	movq	_ck_std@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	movq	%r15, %rdx
	callq	_build_conv
	movl	%r12d, %ecx
	movq	%rax, %r12
	cmpl	(%rbx), %ecx
	je	LBB0_77
## %bb.76:
	movq	%r13, %rdi
	callq	_TYPE_PTRMEM_P
	testq	%rax, %rax
	je	LBB0_122
LBB0_77:
	movq	_cr_pbool@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 8(%r12)
	jmp	LBB0_47
LBB0_78:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movq	%r13, %rsi
	callq	_same_type_p
	testq	%rax, %rax
	movq	_POINTER_TYPE@GOTPCREL(%rip), %rbx
	jne	LBB0_105
	jmp	LBB0_9
LBB0_80:
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_IS_AGGR_TYPE
	testq	%rax, %rax
	je	LBB0_104
## %bb.81:
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_IS_AGGR_TYPE
	testq	%rax, %rax
	je	LBB0_97
## %bb.82:
	movq	%rbx, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rbx
	movq	%r13, %r14
	movq	%r13, %rdi
	callq	_TREE_TYPE
	movq	%rbx, %rdi
	movq	%rax, %rsi
	callq	_DERIVED_FROM_P
	testq	%rax, %rax
	je	LBB0_104
## %bb.83:
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_COMPLETE_TYPE_P
	testq	%rax, %rax
	movq	_POINTER_TYPE@GOTPCREL(%rip), %rbx
	je	LBB0_105
## %bb.84:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	callq	_TREE_TYPE
	movq	%rax, %r13
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_cp_type_quals
	movq	%r13, %rdi
	movq	%rax, %rsi
	callq	_cp_build_qualified_type
	movq	%rax, %rdi
	callq	_build_pointer_type
	movq	%rax, %r14
	movq	_ck_ptr@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	%r14, %rsi
	movq	%r12, %rdx
	callq	_build_conv
	movq	%rax, %r12
	movl	$1, 20(%rax)
	jmp	LBB0_105
LBB0_85:
	movq	_REAL_TYPE@GOTPCREL(%rip), %r14
	cmpl	(%r12), %ecx
	je	LBB0_93
## %bb.86:
	cmpl	(%r14), %ecx
	je	LBB0_93
## %bb.87:
	movq	_VECTOR_TYPE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%eax, -64(%rbp)                 ## 4-byte Folded Reload
	movq	-48(%rbp), %rbx                 ## 8-byte Reload
	jne	LBB0_98
## %bb.88:
	cmpl	%eax, -52(%rbp)                 ## 4-byte Folded Reload
	jne	LBB0_98
## %bb.89:
	movq	%r15, %r14
	movq	%r13, %rdi
	movq	%rbx, %rsi
	xorl	%edx, %edx
	callq	_vector_types_convertible_p
	testq	%rax, %rax
	je	LBB0_98
## %bb.90:
	movq	_ck_std@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	%rbx, %rsi
	movq	%r14, %rdx
	jmp	LBB0_38
LBB0_92:
	movq	_void_type_node@GOTPCREL(%rip), %rax
	movq	(%rax), %r13
	movq	%r14, %rdi
	callq	_TREE_TYPE
	movq	%rax, %rdi
	callq	_cp_type_quals
	movq	%r13, %rdi
	movq	%rax, %rsi
	callq	_cp_build_qualified_type
	movq	%rax, %rdi
	callq	_build_pointer_type
	movq	%rax, %r14
	movq	_ck_ptr@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	%r14, %rsi
	movq	%r12, %rdx
	callq	_build_conv
	movq	%rax, %r12
	jmp	LBB0_105
LBB0_93:
	movl	-64(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %edi
	callq	_INTEGRAL_CODE_P
	testq	%rax, %rax
	movq	%r15, %rdx
	movq	-48(%rbp), %r15                 ## 8-byte Reload
	jne	LBB0_101
## %bb.94:
	cmpl	(%r14), %ebx
	jne	LBB0_9
LBB0_101:
	movq	_ck_std@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	%r15, %rsi
	callq	_build_conv
	movq	%rax, %r12
	movq	%r13, %rdi
	callq	_type_promotes_to
	movq	%r15, %rdi
	movq	%rax, %rsi
	callq	_same_type_p
	testq	%rax, %rax
	je	LBB0_47
## %bb.102:
	movq	32(%r12), %rcx
	movq	_cr_promotion@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	%rax, 8(%rcx)
	jg	LBB0_47
## %bb.103:
	movq	%rax, 8(%r12)
	jmp	LBB0_47
LBB0_97:
	movq	%r13, %r14
LBB0_104:
	movq	_POINTER_TYPE@GOTPCREL(%rip), %rbx
LBB0_105:
	movl	-52(%rbp), %eax                 ## 4-byte Reload
	cmpl	(%rbx), %eax
	jne	LBB0_107
## %bb.106:
	movq	-48(%rbp), %r15                 ## 8-byte Reload
	movq	%r15, %rdi
	callq	_TREE_TYPE
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	%r14, %rbx
	movq	%r14, %rdi
	callq	_TREE_TYPE
	jmp	LBB0_108
LBB0_107:
	movq	-48(%rbp), %r15                 ## 8-byte Reload
	movq	%r15, %rdi
	callq	_TYPE_PTRMEM_POINTED_TO_TYPE
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	%r14, %rbx
	movq	%r14, %rdi
	callq	_TYPE_PTRMEM_POINTED_TO_TYPE
LBB0_108:
	movq	%rax, %r13
	movq	%rbx, %rdi
	movq	%r15, %rsi
	callq	_same_type_p
	testq	%rax, %rax
	jne	LBB0_47
## %bb.109:
	cmpl	$0, -80(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_111
## %bb.110:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	movq	%r14, %rsi
	callq	_comp_ptr_ttypes_const
	jmp	LBB0_112
LBB0_111:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movq	%r13, %rsi
	callq	_comp_ptr_ttypes
LBB0_112:
	testq	%rax, %rax
	movq	-72(%rbp), %rsi                 ## 8-byte Reload
	je	LBB0_114
LBB0_113:
	movq	_ck_qual@GOTPCREL(%rip), %rax
	jmp	LBB0_37
LBB0_114:
	testq	%rsi, %rsi
	je	LBB0_116
## %bb.115:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	xorl	%edx, %edx
	callq	_string_conv_p
	testq	%rax, %rax
	jne	LBB0_113
LBB0_116:
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movq	%r13, %rsi
	callq	_ptr_reasonably_similar
	testq	%rax, %rax
	je	LBB0_9
## %bb.117:
	movq	_ck_ptr@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	movq	%r12, %rdx
	jmp	LBB0_46
LBB0_98:
	movq	_LOOKUP_CONSTRUCTOR_CALLABLE@GOTPCREL(%rip), %rax
	movl	-76(%rbp), %ecx                 ## 4-byte Reload
	testl	%ecx, (%rax)
	je	LBB0_124
LBB0_9:
	xorl	%r12d, %r12d
LBB0_47:
	movq	%r12, %rax
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_122:
	movq	%r13, %rdi
	callq	_TYPE_PTRMEMFUNC_P
	testq	%rax, %rax
	je	LBB0_47
## %bb.123:
	movq	8(%r12), %rax
	movq	_cr_pbool@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jge	LBB0_47
	jmp	LBB0_77
LBB0_124:
	movq	%rbx, %rdi
	callq	_IS_AGGR_TYPE
	testq	%rax, %rax
	je	LBB0_9
## %bb.125:
	movq	%r13, %rdi
	callq	_IS_AGGR_TYPE
	testq	%rax, %rax
	je	LBB0_9
## %bb.126:
	movq	%r13, %rdi
	movq	%rbx, %rsi
	callq	_is_properly_derived_from
	testq	%rax, %rax
	je	LBB0_9
## %bb.127:
	movq	(%r15), %rax
	movq	_ck_rvalue@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_129
## %bb.128:
	movq	32(%r15), %r15
LBB0_129:
	movq	_ck_base@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	movq	-48(%rbp), %rsi                 ## 8-byte Reload
	movq	%r15, %rdx
	callq	_build_conv
	movq	%rax, %r12
	movl	$1, 24(%rax)
	jmp	LBB0_47
	.cfi_endproc
                                        ## -- End function
	.comm	_REFERENCE_TYPE,8,3             ## @REFERENCE_TYPE
	.comm	_tf_conv,4,2                    ## @tf_conv
	.comm	_error_mark_node,8,3            ## @error_mark_node
	.comm	_FUNCTION_TYPE,4,2              ## @FUNCTION_TYPE
	.comm	_ARRAY_TYPE,4,2                 ## @ARRAY_TYPE
	.comm	_ck_lvalue,8,3                  ## @ck_lvalue
	.comm	_ck_rvalue,8,3                  ## @ck_rvalue
	.comm	_COMPLEX_TYPE,4,2               ## @COMPLEX_TYPE
	.comm	_NULL_TREE,8,3                  ## @NULL_TREE
	.comm	_POINTER_TYPE,4,2               ## @POINTER_TYPE
	.comm	_BLOCK_POINTER_TYPE,4,2         ## @BLOCK_POINTER_TYPE
	.comm	_ck_std,8,3                     ## @ck_std
	.comm	_INTEGER_TYPE,4,2               ## @INTEGER_TYPE
	.comm	_ENUMERAL_TYPE,4,2              ## @ENUMERAL_TYPE
	.comm	_void_type_node,8,3             ## @void_type_node
	.comm	_ck_ptr,8,3                     ## @ck_ptr
	.comm	_ck_pmem,8,3                    ## @ck_pmem
	.comm	_ck_qual,8,3                    ## @ck_qual
	.comm	_BOOLEAN_TYPE,4,2               ## @BOOLEAN_TYPE
	.comm	_cr_pbool,8,3                   ## @cr_pbool
	.comm	_REAL_TYPE,4,2                  ## @REAL_TYPE
	.comm	_cr_promotion,8,3               ## @cr_promotion
	.comm	_VECTOR_TYPE,4,2                ## @VECTOR_TYPE
	.comm	_LOOKUP_CONSTRUCTOR_CALLABLE,4,2 ## @LOOKUP_CONSTRUCTOR_CALLABLE
	.comm	_ck_base,8,3                    ## @ck_base
	.no_dead_strip	_standard_conversion
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function standard_conversion
_standard_conversion:                   ; @standard_conversion
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x28, x27, [sp, #16]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #48]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x25, x4
	mov	x24, x3
	mov	x22, x2
	mov	x19, x1
	bl	_non_reference
	mov	x20, x0
	mov	x0, x19
	bl	_TREE_CODE
                                        ; kill: def $w0 killed $w0 def $x0
	sxtw	x28, w0
Lloh0:
	adrp	x8, _REFERENCE_TYPE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _REFERENCE_TYPE@GOTPAGEOFF]
Lloh2:
	ldr	x23, [x8]
	cmp	x23, x28
	b.ne	LBB0_2
; %bb.1:
	mov	x0, x19
	bl	_TREE_TYPE
	mov	x19, x0
LBB0_2:
	mov	x0, x20
	bl	_strip_top_quals
	mov	x20, x0
	mov	x0, x19
	bl	_strip_top_quals
	mov	x21, x0
	mov	x0, x20
	bl	_TYPE_PTRFN_P
	cbz	x0, LBB0_4
; %bb.3:
	cbnz	x22, LBB0_6
	b	LBB0_9
LBB0_4:
	mov	x0, x20
	bl	_TYPE_PTRMEMFUNC_P
	cbz	x22, LBB0_9
; %bb.5:
	cbz	x0, LBB0_9
LBB0_6:
	mov	x0, x22
	bl	_type_unknown_p
	cbz	x0, LBB0_9
; %bb.7:
Lloh3:
	adrp	x8, _tf_conv@GOTPAGE
Lloh4:
	ldr	x8, [x8, _tf_conv@GOTPAGEOFF]
Lloh5:
	ldr	w2, [x8]
	mov	x0, x20
	mov	x1, x22
	bl	_instantiate_type
Lloh6:
	adrp	x8, _error_mark_node@GOTPAGE
Lloh7:
	ldr	x8, [x8, _error_mark_node@GOTPAGEOFF]
Lloh8:
	ldr	x8, [x8]
	cmp	x0, x8
	b.eq	LBB0_105
; %bb.8:
	mov	x22, x0
	str	w24, [sp, #12]                  ; 4-byte Folded Spill
	bl	_TREE_TYPE
	mov	x21, x0
	b	LBB0_10
LBB0_9:
	str	w24, [sp, #12]                  ; 4-byte Folded Spill
LBB0_10:
	mov	x0, x21
	bl	_TREE_CODE
	mov	x26, x0
	mov	x0, x20
	bl	_TREE_CODE
	mov	x24, x0
	mov	x0, x21
	mov	x1, x22
	bl	_build_identity_conv
	mov	x19, x0
Lloh9:
	adrp	x27, _FUNCTION_TYPE@GOTPAGE
Lloh10:
	ldr	x27, [x27, _FUNCTION_TYPE@GOTPAGEOFF]
	ldr	w8, [x27]
Lloh11:
	adrp	x9, _ARRAY_TYPE@GOTPAGE
Lloh12:
	ldr	x9, [x9, _ARRAY_TYPE@GOTPAGEOFF]
Lloh13:
	ldr	w9, [x9]
	cmp	w26, w8
	ccmp	w26, w9, #4, ne
	b.ne	LBB0_12
; %bb.11:
	mov	x0, x21
	bl	_type_decays_to
	mov	x21, x0
Lloh14:
	adrp	x23, _ck_lvalue@GOTPAGE
Lloh15:
	ldr	x23, [x23, _ck_lvalue@GOTPAGEOFF]
	b	LBB0_18
LBB0_12:
	cmp	x23, x28
	b.ne	LBB0_14
; %bb.13:
	cbnz	x22, LBB0_16
	b	LBB0_19
LBB0_14:
	cbz	x22, LBB0_21
; %bb.15:
	mov	x0, x22
	bl	_lvalue_p
	cbz	x0, LBB0_21
LBB0_16:
	mov	x0, x22
	bl	_is_bitfield_expr_with_lowered_type
	cbz	x0, LBB0_19
; %bb.17:
	bl	_strip_top_quals
	mov	x21, x0
Lloh16:
	adrp	x23, _ck_rvalue@GOTPAGE
Lloh17:
	ldr	x23, [x23, _ck_rvalue@GOTPAGEOFF]
LBB0_18:
	mov	x0, x21
	bl	_TREE_CODE
	mov	x26, x0
	b	LBB0_20
LBB0_19:
Lloh18:
	adrp	x23, _ck_rvalue@GOTPAGE
Lloh19:
	ldr	x23, [x23, _ck_rvalue@GOTPAGEOFF]
LBB0_20:
	ldr	x0, [x23]
	mov	x1, x21
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
LBB0_21:
Lloh20:
	adrp	x8, _COMPLEX_TYPE@GOTPAGE
Lloh21:
	ldr	x8, [x8, _COMPLEX_TYPE@GOTPAGEOFF]
Lloh22:
	ldr	w8, [x8]
	cmp	w24, w8
	b.ne	LBB0_25
; %bb.22:
	cmp	w26, w8
	b.ne	LBB0_25
; %bb.23:
	mov	x0, x20
	bl	_TREE_TYPE
	mov	x22, x0
	mov	x0, x21
	bl	_TREE_TYPE
	mov	x1, x0
Lloh23:
	adrp	x8, _NULL_TREE@GOTPAGE
Lloh24:
	ldr	x8, [x8, _NULL_TREE@GOTPAGEOFF]
Lloh25:
	ldr	x2, [x8]
	mov	x0, x22
	ldr	w3, [sp, #12]                   ; 4-byte Folded Reload
	mov	x4, x25
	bl	_standard_conversion
	cbz	x0, LBB0_105
; %bb.24:
	mov	x21, x0
	ldr	x0, [x0]
	mov	x1, x20
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
	ldr	x8, [x21, #8]
	str	x8, [x0, #8]
	b	LBB0_106
LBB0_25:
	mov	x0, x21
	mov	x1, x20
	bl	_same_type_p
	cbnz	x0, LBB0_106
; %bb.26:
Lloh26:
	adrp	x8, _POINTER_TYPE@GOTPAGE
Lloh27:
	ldr	x8, [x8, _POINTER_TYPE@GOTPAGEOFF]
Lloh28:
	ldr	w8, [x8]
Lloh29:
	adrp	x23, _BLOCK_POINTER_TYPE@GOTPAGE
Lloh30:
	ldr	x23, [x23, _BLOCK_POINTER_TYPE@GOTPAGEOFF]
	cmp	w24, w8
	b.eq	LBB0_29
; %bb.27:
	ldr	w8, [x23]
	cmp	w24, w8
	b.eq	LBB0_29
; %bb.28:
	mov	x0, x20
	bl	_TYPE_PTR_TO_MEMBER_P
	cbz	x0, LBB0_33
LBB0_29:
	cbz	x22, LBB0_33
; %bb.30:
	mov	x0, x22
	bl	_null_ptr_cst_p
	cbz	x0, LBB0_33
LBB0_31:
Lloh31:
	adrp	x8, _ck_std@GOTPAGE
Lloh32:
	ldr	x8, [x8, _ck_std@GOTPAGEOFF]
LBB0_32:
	ldr	x0, [x8]
	mov	x1, x20
	mov	x2, x19
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	b	_build_conv
LBB0_33:
Lloh33:
	adrp	x28, _INTEGER_TYPE@GOTPAGE
Lloh34:
	ldr	x28, [x28, _INTEGER_TYPE@GOTPAGEOFF]
	ldr	w9, [x28]
Lloh35:
	adrp	x8, _POINTER_TYPE@GOTPAGE
Lloh36:
	ldr	x8, [x8, _POINTER_TYPE@GOTPAGEOFF]
Lloh37:
	ldr	w8, [x8]
	cmp	w24, w9
	b.ne	LBB0_35
; %bb.34:
	cmp	w26, w8
	b.eq	LBB0_39
LBB0_35:
	cmp	w24, w8
	b.ne	LBB0_37
; %bb.36:
	cmp	w26, w9
	b.eq	LBB0_39
LBB0_37:
Lloh38:
	adrp	x10, _ENUMERAL_TYPE@GOTPAGE
Lloh39:
	ldr	x10, [x10, _ENUMERAL_TYPE@GOTPAGEOFF]
Lloh40:
	ldr	w10, [x10]
	cmp	w24, w10
	b.ne	LBB0_41
; %bb.38:
	cmp	w26, w9
	b.ne	LBB0_41
LBB0_39:
Lloh41:
	adrp	x8, _ck_std@GOTPAGE
Lloh42:
	ldr	x8, [x8, _ck_std@GOTPAGEOFF]
LBB0_40:
	ldr	x0, [x8]
	mov	x1, x20
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
	mov	w8, #1
	str	w8, [x0, #16]
	b	LBB0_106
LBB0_41:
	cmp	w24, w8
	b.ne	LBB0_43
; %bb.42:
	cmp	w26, w8
	b.eq	LBB0_46
LBB0_43:
	mov	x0, x20
	bl	_TYPE_PTRMEM_P
	cbz	x0, LBB0_55
; %bb.44:
	mov	x0, x21
	bl	_TYPE_PTRMEM_P
	cbz	x0, LBB0_55
; %bb.45:
Lloh43:
	adrp	x8, _POINTER_TYPE@GOTPAGE
Lloh44:
	ldr	x8, [x8, _POINTER_TYPE@GOTPAGEOFF]
Lloh45:
	ldr	w26, [x8]
LBB0_46:
	cmp	w24, w26
	b.ne	LBB0_48
; %bb.47:
	mov	x0, x21
	bl	_TREE_TYPE
	mov	x25, x0
	mov	x0, x20
	bl	_TREE_TYPE
	mov	x1, x0
	mov	x0, x25
	bl	_same_type_ignoring_top_level_qualifiers_p
	cbnz	x0, LBB0_91
LBB0_48:
	mov	x0, x20
	bl	_TREE_TYPE
	bl	_VOID_TYPE_P
	cbz	x0, LBB0_51
; %bb.49:
	mov	x0, x21
	bl	_TYPE_PTRMEM_P
	cbnz	x0, LBB0_51
; %bb.50:
	mov	x0, x21
	bl	_TREE_TYPE
	bl	_TREE_CODE
	ldr	w8, [x27]
	cmp	w0, w8
	b.ne	LBB0_89
LBB0_51:
	mov	x0, x21
	bl	_TYPE_PTRMEM_P
	cbz	x0, LBB0_72
; %bb.52:
	mov	x0, x21
	bl	_TYPE_PTRMEM_CLASS_TYPE
	mov	x26, x0
	mov	x0, x20
	bl	_TYPE_PTRMEM_CLASS_TYPE
	mov	x25, x0
	mov	x0, x26
	mov	x1, x25
	bl	_DERIVED_FROM_P
	cbz	x0, LBB0_71
; %bb.53:
	mov	x0, x21
	bl	_TYPE_PTRMEM_POINTED_TO_TYPE
	mov	x27, x0
	mov	x0, x20
	bl	_TYPE_PTRMEM_POINTED_TO_TYPE
	mov	x1, x0
	mov	x0, x27
	bl	_same_type_ignoring_top_level_qualifiers_p
	cbz	x0, LBB0_71
; %bb.54:
	mov	x0, x21
	bl	_TYPE_PTRMEM_POINTED_TO_TYPE
	mov	x1, x0
	mov	x0, x25
	bl	_build_ptrmem_type
	mov	x21, x0
Lloh46:
	adrp	x8, _ck_pmem@GOTPAGE
Lloh47:
	ldr	x8, [x8, _ck_pmem@GOTPAGEOFF]
	b	LBB0_90
LBB0_55:
	mov	x0, x20
	bl	_TYPE_PTRMEMFUNC_P
	cbz	x0, LBB0_62
; %bb.56:
	mov	x0, x21
	bl	_TYPE_PTRMEMFUNC_P
	cbz	x0, LBB0_62
; %bb.57:
	mov	x0, x21
	bl	_TYPE_PTRMEMFUNC_FN_TYPE
	bl	_TREE_TYPE
	mov	x21, x0
	mov	x0, x20
	bl	_TYPE_PTRMEMFUNC_FN_TYPE
	bl	_TREE_TYPE
	mov	x23, x0
	mov	x0, x21
	bl	_TYPE_ARG_TYPES
	bl	_TREE_VALUE
	bl	_TREE_TYPE
	mov	x20, x0
	mov	x0, x23
	bl	_TYPE_ARG_TYPES
	bl	_TREE_VALUE
	bl	_TREE_TYPE
	mov	x22, x0
	mov	x0, x20
	mov	x1, x22
	bl	_DERIVED_FROM_P
	cbz	x0, LBB0_105
; %bb.58:
	mov	x0, x21
	bl	_TREE_TYPE
	mov	x24, x0
	mov	x0, x23
	bl	_TREE_TYPE
	mov	x1, x0
	mov	x0, x24
	bl	_same_type_p
	cbz	x0, LBB0_105
; %bb.59:
	mov	x0, x21
	bl	_TYPE_ARG_TYPES
	bl	_TREE_CHAIN
	mov	x24, x0
	mov	x0, x23
	bl	_TYPE_ARG_TYPES
	bl	_TREE_CHAIN
	mov	x1, x0
	mov	x0, x24
	bl	_compparms
	cbz	w0, LBB0_105
; %bb.60:
	mov	x0, x20
	bl	_cp_type_quals
	mov	x23, x0
	mov	x0, x22
	bl	_cp_type_quals
	cmp	x23, x0
	b.ne	LBB0_105
; %bb.61:
	mov	x0, x20
	bl	_cp_type_quals
	mov	x1, x0
	mov	x0, x22
	bl	_cp_build_qualified_type
	mov	x20, x0
	mov	x0, x21
	bl	_TREE_TYPE
	mov	x22, x0
	mov	x0, x21
	bl	_TYPE_ARG_TYPES
	bl	_TREE_CHAIN
	mov	x2, x0
	mov	x0, x20
	mov	x1, x22
	bl	_build_method_type_directly
	bl	_build_pointer_type
	bl	_build_ptrmemfunc_type
	mov	x1, x0
Lloh48:
	adrp	x8, _ck_pmem@GOTPAGE
Lloh49:
	ldr	x8, [x8, _ck_pmem@GOTPAGEOFF]
Lloh50:
	ldr	x0, [x8]
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
	mov	w8, #1
	str	w8, [x0, #20]
	b	LBB0_106
LBB0_62:
Lloh51:
	adrp	x8, _BOOLEAN_TYPE@GOTPAGE
Lloh52:
	ldr	x8, [x8, _BOOLEAN_TYPE@GOTPAGEOFF]
Lloh53:
	ldr	w8, [x8]
	cmp	w24, w8
	b.ne	LBB0_77
; %bb.63:
	mov	x0, x21
	bl	_ARITHMETIC_TYPE_P
	cbnz	x0, LBB0_68
; %bb.64:
Lloh54:
	adrp	x8, _ENUMERAL_TYPE@GOTPAGE
Lloh55:
	ldr	x8, [x8, _ENUMERAL_TYPE@GOTPAGEOFF]
Lloh56:
	ldr	w8, [x8]
	cmp	w26, w8
	b.eq	LBB0_68
; %bb.65:
Lloh57:
	adrp	x8, _POINTER_TYPE@GOTPAGE
Lloh58:
	ldr	x8, [x8, _POINTER_TYPE@GOTPAGEOFF]
Lloh59:
	ldr	w8, [x8]
	cmp	w26, w8
	b.eq	LBB0_68
; %bb.66:
	ldr	w8, [x23]
	cmp	w26, w8
	b.eq	LBB0_68
; %bb.67:
	mov	x0, x21
	bl	_TYPE_PTR_TO_MEMBER_P
	cbz	x0, LBB0_105
LBB0_68:
Lloh60:
	adrp	x8, _ck_std@GOTPAGE
Lloh61:
	ldr	x8, [x8, _ck_std@GOTPAGEOFF]
Lloh62:
	ldr	x0, [x8]
	mov	x1, x20
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
Lloh63:
	adrp	x8, _POINTER_TYPE@GOTPAGE
Lloh64:
	ldr	x8, [x8, _POINTER_TYPE@GOTPAGEOFF]
Lloh65:
	ldr	w8, [x8]
	cmp	w26, w8
	b.eq	LBB0_70
; %bb.69:
	mov	x0, x21
	bl	_TYPE_PTRMEM_P
	cbz	x0, LBB0_110
LBB0_70:
Lloh66:
	adrp	x8, _cr_pbool@GOTPAGE
Lloh67:
	ldr	x8, [x8, _cr_pbool@GOTPAGEOFF]
Lloh68:
	ldr	x8, [x8]
	str	x8, [x19, #8]
	b	LBB0_106
LBB0_71:
	mov	x0, x26
	mov	x1, x25
	bl	_same_type_p
	cbnz	x0, LBB0_91
	b	LBB0_105
LBB0_72:
	mov	x0, x21
	bl	_TREE_TYPE
	bl	_IS_AGGR_TYPE
	cbz	x0, LBB0_91
; %bb.73:
	mov	x0, x20
	bl	_TREE_TYPE
	bl	_IS_AGGR_TYPE
	cbz	x0, LBB0_91
; %bb.74:
	mov	x0, x20
	bl	_TREE_TYPE
	mov	x25, x0
	mov	x0, x21
	bl	_TREE_TYPE
	mov	x1, x0
	mov	x0, x25
	bl	_DERIVED_FROM_P
	cbz	x0, LBB0_91
; %bb.75:
	mov	x0, x21
	bl	_TREE_TYPE
	bl	_COMPLETE_TYPE_P
	cbz	x0, LBB0_91
; %bb.76:
	mov	x0, x20
	bl	_TREE_TYPE
	mov	x25, x0
	mov	x0, x21
	bl	_TREE_TYPE
	bl	_cp_type_quals
	mov	x1, x0
	mov	x0, x25
	bl	_cp_build_qualified_type
	bl	_build_pointer_type
	mov	x21, x0
Lloh69:
	adrp	x8, _ck_ptr@GOTPAGE
Lloh70:
	ldr	x8, [x8, _ck_ptr@GOTPAGEOFF]
Lloh71:
	ldr	x0, [x8]
	mov	x1, x21
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
	mov	w8, #1
	str	w8, [x0, #20]
	b	LBB0_91
LBB0_77:
	ldr	w8, [x28]
Lloh72:
	adrp	x22, _REAL_TYPE@GOTPAGE
Lloh73:
	ldr	x22, [x22, _REAL_TYPE@GOTPAGEOFF]
	cmp	w24, w8
	b.eq	LBB0_103
; %bb.78:
	ldr	w8, [x22]
	cmp	w24, w8
	b.eq	LBB0_103
; %bb.79:
Lloh74:
	adrp	x8, _VECTOR_TYPE@GOTPAGE
Lloh75:
	ldr	x8, [x8, _VECTOR_TYPE@GOTPAGEOFF]
Lloh76:
	ldr	w8, [x8]
	cmp	w26, w8
	b.ne	LBB0_82
; %bb.80:
	cmp	w24, w8
	b.ne	LBB0_82
; %bb.81:
	mov	x0, x21
	mov	x1, x20
	mov	w2, #0
	bl	_vector_types_convertible_p
	cbnz	x0, LBB0_31
LBB0_82:
Lloh77:
	adrp	x8, _LOOKUP_CONSTRUCTOR_CALLABLE@GOTPAGE
Lloh78:
	ldr	x8, [x8, _LOOKUP_CONSTRUCTOR_CALLABLE@GOTPAGEOFF]
Lloh79:
	ldr	w8, [x8]
	tst	w8, w25
	b.ne	LBB0_105
; %bb.83:
	mov	x0, x20
	bl	_IS_AGGR_TYPE
	cbz	x0, LBB0_105
; %bb.84:
	mov	x0, x21
	bl	_IS_AGGR_TYPE
	cbz	x0, LBB0_105
; %bb.85:
	mov	x0, x21
	mov	x1, x20
	bl	_is_properly_derived_from
	cbz	x0, LBB0_105
; %bb.86:
	ldr	x8, [x19]
Lloh80:
	adrp	x9, _ck_rvalue@GOTPAGE
Lloh81:
	ldr	x9, [x9, _ck_rvalue@GOTPAGEOFF]
Lloh82:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_88
; %bb.87:
	ldr	x19, [x19, #32]
LBB0_88:
Lloh83:
	adrp	x8, _ck_base@GOTPAGE
Lloh84:
	ldr	x8, [x8, _ck_base@GOTPAGEOFF]
Lloh85:
	ldr	x0, [x8]
	mov	x1, x20
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
	mov	w8, #1
	str	w8, [x0, #24]
	b	LBB0_106
LBB0_89:
Lloh86:
	adrp	x8, _void_type_node@GOTPAGE
Lloh87:
	ldr	x8, [x8, _void_type_node@GOTPAGEOFF]
Lloh88:
	ldr	x25, [x8]
	mov	x0, x21
	bl	_TREE_TYPE
	bl	_cp_type_quals
	mov	x1, x0
	mov	x0, x25
	bl	_cp_build_qualified_type
	bl	_build_pointer_type
	mov	x21, x0
Lloh89:
	adrp	x8, _ck_ptr@GOTPAGE
Lloh90:
	ldr	x8, [x8, _ck_ptr@GOTPAGEOFF]
LBB0_90:
	ldr	x0, [x8]
	mov	x1, x21
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
LBB0_91:
Lloh91:
	adrp	x8, _POINTER_TYPE@GOTPAGE
Lloh92:
	ldr	x8, [x8, _POINTER_TYPE@GOTPAGEOFF]
Lloh93:
	ldr	w8, [x8]
	mov	x0, x20
	cmp	w24, w8
	b.ne	LBB0_93
; %bb.92:
	bl	_TREE_TYPE
	mov	x24, x0
	mov	x0, x21
	bl	_TREE_TYPE
	b	LBB0_94
LBB0_93:
	bl	_TYPE_PTRMEM_POINTED_TO_TYPE
	mov	x24, x0
	mov	x0, x21
	bl	_TYPE_PTRMEM_POINTED_TO_TYPE
LBB0_94:
	mov	x25, x0
	mov	x0, x21
	mov	x1, x20
	bl	_same_type_p
	cbnz	x0, LBB0_106
; %bb.95:
	ldr	w8, [sp, #12]                   ; 4-byte Folded Reload
	cbz	w8, LBB0_97
; %bb.96:
	mov	x0, x20
	mov	x1, x21
	bl	_comp_ptr_ttypes_const
	cbnz	x0, LBB0_100
	b	LBB0_98
LBB0_97:
	mov	x0, x24
	mov	x1, x25
	bl	_comp_ptr_ttypes
	cbnz	x0, LBB0_100
LBB0_98:
	cbz	x22, LBB0_101
; %bb.99:
	mov	x0, x20
	mov	x1, x22
	mov	w2, #0
	bl	_string_conv_p
	cbz	x0, LBB0_101
LBB0_100:
Lloh94:
	adrp	x8, _ck_qual@GOTPAGE
Lloh95:
	ldr	x8, [x8, _ck_qual@GOTPAGEOFF]
	b	LBB0_32
LBB0_101:
	mov	x0, x24
	mov	x1, x25
	bl	_ptr_reasonably_similar
	cbz	x0, LBB0_105
; %bb.102:
Lloh96:
	adrp	x8, _ck_ptr@GOTPAGE
Lloh97:
	ldr	x8, [x8, _ck_ptr@GOTPAGEOFF]
	b	LBB0_40
LBB0_103:
	mov	x0, x26
	bl	_INTEGRAL_CODE_P
	cbnz	x0, LBB0_107
; %bb.104:
	ldr	w8, [x22]
	cmp	w26, w8
	b.eq	LBB0_107
LBB0_105:
	mov	x19, #0
LBB0_106:
	mov	x0, x19
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	ret
LBB0_107:
Lloh98:
	adrp	x8, _ck_std@GOTPAGE
Lloh99:
	ldr	x8, [x8, _ck_std@GOTPAGEOFF]
Lloh100:
	ldr	x0, [x8]
	mov	x1, x20
	mov	x2, x19
	bl	_build_conv
	mov	x19, x0
	mov	x0, x21
	bl	_type_promotes_to
	mov	x1, x0
	mov	x0, x20
	bl	_same_type_p
	cbz	x0, LBB0_106
; %bb.108:
	ldr	x8, [x19, #32]
	ldr	x9, [x8, #8]
Lloh101:
	adrp	x8, _cr_promotion@GOTPAGE
Lloh102:
	ldr	x8, [x8, _cr_promotion@GOTPAGEOFF]
Lloh103:
	ldr	x8, [x8]
	cmp	x9, x8
	b.gt	LBB0_106
; %bb.109:
	str	x8, [x19, #8]
	b	LBB0_106
LBB0_110:
	mov	x0, x21
	bl	_TYPE_PTRMEMFUNC_P
	cbz	x0, LBB0_106
; %bb.111:
	ldr	x8, [x19, #8]
Lloh104:
	adrp	x9, _cr_pbool@GOTPAGE
Lloh105:
	ldr	x9, [x9, _cr_pbool@GOTPAGEOFF]
Lloh106:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ge	LBB0_106
	b	LBB0_70
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh14, Lloh15
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh48, Lloh49, Lloh50
	.loh AdrpLdrGotLdr	Lloh51, Lloh52, Lloh53
	.loh AdrpLdrGotLdr	Lloh54, Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh57, Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGot	Lloh72, Lloh73
	.loh AdrpLdrGotLdr	Lloh74, Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpLdrGot	Lloh89, Lloh90
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh91, Lloh92, Lloh93
	.loh AdrpLdrGot	Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.cfi_endproc
                                        ; -- End function
	.comm	_REFERENCE_TYPE,8,3             ; @REFERENCE_TYPE
	.comm	_tf_conv,4,2                    ; @tf_conv
	.comm	_error_mark_node,8,3            ; @error_mark_node
	.comm	_FUNCTION_TYPE,4,2              ; @FUNCTION_TYPE
	.comm	_ARRAY_TYPE,4,2                 ; @ARRAY_TYPE
	.comm	_ck_lvalue,8,3                  ; @ck_lvalue
	.comm	_ck_rvalue,8,3                  ; @ck_rvalue
	.comm	_COMPLEX_TYPE,4,2               ; @COMPLEX_TYPE
	.comm	_NULL_TREE,8,3                  ; @NULL_TREE
	.comm	_POINTER_TYPE,4,2               ; @POINTER_TYPE
	.comm	_BLOCK_POINTER_TYPE,4,2         ; @BLOCK_POINTER_TYPE
	.comm	_ck_std,8,3                     ; @ck_std
	.comm	_INTEGER_TYPE,4,2               ; @INTEGER_TYPE
	.comm	_ENUMERAL_TYPE,4,2              ; @ENUMERAL_TYPE
	.comm	_void_type_node,8,3             ; @void_type_node
	.comm	_ck_ptr,8,3                     ; @ck_ptr
	.comm	_ck_pmem,8,3                    ; @ck_pmem
	.comm	_ck_qual,8,3                    ; @ck_qual
	.comm	_BOOLEAN_TYPE,4,2               ; @BOOLEAN_TYPE
	.comm	_cr_pbool,8,3                   ; @cr_pbool
	.comm	_REAL_TYPE,4,2                  ; @REAL_TYPE
	.comm	_cr_promotion,8,3               ; @cr_promotion
	.comm	_VECTOR_TYPE,4,2                ; @VECTOR_TYPE
	.comm	_LOOKUP_CONSTRUCTOR_CALLABLE,4,2 ; @LOOKUP_CONSTRUCTOR_CALLABLE
	.comm	_ck_base,8,3                    ; @ck_base
	.no_dead_strip	_standard_conversion
.subsections_via_symbols
