Program: avl-tree

x86 assembly:
	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_printTree                      ## -- Begin function printTree
	.p2align	4, 0x90
_printTree:                             ## @printTree
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$32, %rsp
	movq	%rdi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	$0, -24(%rbp)
	cmpq	$0, -8(%rbp)
	jne	LBB0_2
## %bb.1:
	jmp	LBB0_12
LBB0_2:
	movq	-8(%rbp), %rax
	movq	24(%rax), %rsi
	movq	-8(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %edx
	movq	-8(%rbp), %rax
	movswl	32(%rax), %ecx
	leaq	L_.str(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	$0, -24(%rbp)
LBB0_3:                                 ## =>This Inner Loop Header: Depth=1
	movq	-24(%rbp), %rax
	cmpq	-16(%rbp), %rax
	jge	LBB0_6
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	leaq	L_.str.1(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
## %bb.5:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	-24(%rbp), %rax
	addq	$1, %rax
	movq	%rax, -24(%rbp)
	jmp	LBB0_3
LBB0_6:
	leaq	L_.str.2(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-8(%rbp), %rax
	movq	(%rax), %rdi
	movq	-16(%rbp), %rsi
	addq	$1, %rsi
	callq	_printTree
	leaq	L_.str.3(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	$0, -24(%rbp)
LBB0_7:                                 ## =>This Inner Loop Header: Depth=1
	movq	-24(%rbp), %rax
	cmpq	-16(%rbp), %rax
	jge	LBB0_10
## %bb.8:                               ##   in Loop: Header=BB0_7 Depth=1
	leaq	L_.str.1(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
## %bb.9:                               ##   in Loop: Header=BB0_7 Depth=1
	movq	-24(%rbp), %rax
	addq	$1, %rax
	movq	%rax, -24(%rbp)
	jmp	LBB0_7
LBB0_10:
	leaq	L_.str.4(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-8(%rbp), %rax
	movq	8(%rax), %rdi
	movq	-16(%rbp), %rsi
	addq	$1, %rsi
	callq	_printTree
	cmpq	$0, -16(%rbp)
	jne	LBB0_12
## %bb.11:
	leaq	L_.str.3(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
LBB0_12:
	addq	$32, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.globl	_breadth                        ## -- Begin function breadth
	.p2align	4, 0x90
_breadth:                               ## @breadth
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$32, %rsp
	movq	%rdi, -16(%rbp)
	cmpq	$0, -16(%rbp)
	jne	LBB1_2
## %bb.1:
	movq	$0, -8(%rbp)
	jmp	LBB1_6
LBB1_2:
	movq	-16(%rbp), %rax
	cmpq	$0, (%rax)
	jne	LBB1_5
## %bb.3:
	movq	-16(%rbp), %rax
	cmpq	$0, 8(%rax)
	jne	LBB1_5
## %bb.4:
	movq	$1, -8(%rbp)
	jmp	LBB1_6
LBB1_5:
	movq	-16(%rbp), %rax
	movq	(%rax), %rdi
	callq	_breadth
	movq	%rax, -24(%rbp)                 ## 8-byte Spill
	movq	-16(%rbp), %rax
	movq	8(%rax), %rdi
	callq	_breadth
	movq	%rax, %rcx
	movq	-24(%rbp), %rax                 ## 8-byte Reload
	addq	%rcx, %rax
	movq	%rax, -8(%rbp)
LBB1_6:
	movq	-8(%rbp), %rax
	addq	$32, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function main
LCPI2_0:
	.quad	0x3fe3333333333333              ## double 0.59999999999999998
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_main
	.p2align	4, 0x90
_main:                                  ## @main
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	subq	$128, %rsp
	movl	$0, -4(%rbp)
	movl	%edi, -8(%rbp)
	movq	%rsi, -16(%rbp)
	movq	$0, -24(%rbp)
	movq	$0, -32(%rbp)
	movq	$0, -40(%rbp)
	movq	$0, -48(%rbp)
	movq	$0, -56(%rbp)
	movq	$0, -64(%rbp)
	movq	$0, -72(%rbp)
	movq	$0, -80(%rbp)
	movq	$0, -88(%rbp)
	movq	$0, -96(%rbp)
	movq	$25, -64(%rbp)
	movq	-64(%rbp), %rax
	movl	$20, %ecx
	cqto
	idivq	%rcx
	movq	%rax, -72(%rbp)
	movl	$42, %edi
	callq	_libmin_srand
	leaq	L_.str.5(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	$0, -56(%rbp)
LBB2_1:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB2_3 Depth 2
	movq	-56(%rbp), %rax
	cmpq	-64(%rbp), %rax
	jge	LBB2_14
## %bb.2:                               ##   in Loop: Header=BB2_1 Depth=1
	movl	$8, %edi
	callq	_libmin_malloc
	movq	%rax, -40(%rbp)
	movl	$11, %edi
	callq	_libmin_malloc
	movq	%rax, -48(%rbp)
	movq	-48(%rbp), %rdi
	movq	-56(%rbp), %rcx
	movl	$11, %esi
	leaq	L_.str.6(%rip), %rdx
	movb	$0, %al
	callq	_libmin_snprintf
LBB2_3:                                 ##   Parent Loop BB2_1 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	callq	_libmin_rand
	movl	%eax, %ecx
	movq	-40(%rbp), %rax
	movl	%ecx, (%rax)
	movq	-24(%rbp), %rdi
	movq	-40(%rbp), %rsi
	movq	-48(%rbp), %rdx
	callq	_Insert
	movq	%rax, -32(%rbp)
	cmpq	$0, -32(%rbp)
	jne	LBB2_8
## %bb.4:                               ##   in Loop: Header=BB2_3 Depth=2
	movq	-80(%rbp), %rax
	movq	-40(%rbp), %rcx
	movslq	(%rcx), %rcx
	cmpq	%rcx, %rax
	jne	LBB2_6
## %bb.5:                               ##   in Loop: Header=BB2_1 Depth=1
	movq	-48(%rbp), %rdi
	callq	_libmin_free
	movq	-40(%rbp), %rdi
	callq	_libmin_free
	movq	-40(%rbp), %rax
	movl	(%rax), %esi
	leaq	L_.str.7(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	jmp	LBB2_10
LBB2_6:                                 ##   in Loop: Header=BB2_3 Depth=2
	movq	-40(%rbp), %rax
	movslq	(%rax), %rax
	movq	%rax, -80(%rbp)
## %bb.7:                               ##   in Loop: Header=BB2_3 Depth=2
	jmp	LBB2_8
LBB2_8:                                 ##   in Loop: Header=BB2_3 Depth=2
	jmp	LBB2_9
LBB2_9:                                 ##   in Loop: Header=BB2_3 Depth=2
	cmpq	$0, -32(%rbp)
	je	LBB2_3
LBB2_10:                                ##   in Loop: Header=BB2_1 Depth=1
	movq	-56(%rbp), %rax
	cqto
	idivq	-72(%rbp)
	cmpq	$0, %rdx
	jne	LBB2_12
## %bb.11:                              ##   in Loop: Header=BB2_1 Depth=1
	leaq	L_.str.8(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
LBB2_12:                                ##   in Loop: Header=BB2_1 Depth=1
	movq	-32(%rbp), %rax
	movq	%rax, -24(%rbp)
## %bb.13:                              ##   in Loop: Header=BB2_1 Depth=1
	movq	-56(%rbp), %rax
	addq	$1, %rax
	movq	%rax, -56(%rbp)
	jmp	LBB2_1
LBB2_14:
	leaq	L_.str.3(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.9(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rdi
	movq	-24(%rbp), %rax
	movq	16(%rax), %rsi
	callq	_DeleteByElement
	movq	%rax, -32(%rbp)
	cmpq	$0, -32(%rbp)
	jne	LBB2_16
## %bb.15:
	leaq	L_.str.10(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	jmp	LBB2_17
LBB2_16:
	movq	-32(%rbp), %rax
	movq	%rax, -24(%rbp)
	movq	-24(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.11(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
LBB2_17:
	leaq	L_.str.12(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rax
	movq	%rax, -32(%rbp)
LBB2_18:                                ## =>This Inner Loop Header: Depth=1
	xorl	%eax, %eax
                                        ## kill: def $al killed $al killed $eax
	cmpq	$0, -32(%rbp)
	movb	%al, -97(%rbp)                  ## 1-byte Spill
	je	LBB2_20
## %bb.19:                              ##   in Loop: Header=BB2_18 Depth=1
	movq	-32(%rbp), %rax
	cmpq	$0, (%rax)
	setne	%al
	movb	%al, -97(%rbp)                  ## 1-byte Spill
LBB2_20:                                ##   in Loop: Header=BB2_18 Depth=1
	movb	-97(%rbp), %al                  ## 1-byte Reload
	testb	$1, %al
	jne	LBB2_21
	jmp	LBB2_23
LBB2_21:                                ##   in Loop: Header=BB2_18 Depth=1
	jmp	LBB2_22
LBB2_22:                                ##   in Loop: Header=BB2_18 Depth=1
	movq	-32(%rbp), %rax
	movq	(%rax), %rax
	movq	%rax, -32(%rbp)
	jmp	LBB2_18
LBB2_23:
	cmpq	$0, -32(%rbp)
	je	LBB2_28
## %bb.24:
	movq	-32(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.13(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rdi
	movq	-32(%rbp), %rax
	movq	16(%rax), %rsi
	callq	_DeleteByElement
	movq	%rax, -32(%rbp)
	cmpq	$0, -32(%rbp)
	jne	LBB2_26
## %bb.25:
	leaq	L_.str.10(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	jmp	LBB2_27
LBB2_26:
	movq	-32(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.14(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-32(%rbp), %rax
	movq	%rax, -24(%rbp)
LBB2_27:
	jmp	LBB2_28
LBB2_28:
	leaq	L_.str.15(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rax
	movq	%rax, -32(%rbp)
LBB2_29:                                ## =>This Inner Loop Header: Depth=1
	xorl	%eax, %eax
                                        ## kill: def $al killed $al killed $eax
	cmpq	$0, -32(%rbp)
	movb	%al, -98(%rbp)                  ## 1-byte Spill
	je	LBB2_31
## %bb.30:                              ##   in Loop: Header=BB2_29 Depth=1
	movq	-32(%rbp), %rax
	cmpq	$0, 8(%rax)
	setne	%al
	movb	%al, -98(%rbp)                  ## 1-byte Spill
LBB2_31:                                ##   in Loop: Header=BB2_29 Depth=1
	movb	-98(%rbp), %al                  ## 1-byte Reload
	testb	$1, %al
	jne	LBB2_32
	jmp	LBB2_34
LBB2_32:                                ##   in Loop: Header=BB2_29 Depth=1
	jmp	LBB2_33
LBB2_33:                                ##   in Loop: Header=BB2_29 Depth=1
	movq	-32(%rbp), %rax
	movq	8(%rax), %rax
	movq	%rax, -32(%rbp)
	jmp	LBB2_29
LBB2_34:
	cmpq	$0, -32(%rbp)
	je	LBB2_39
## %bb.35:
	movq	-32(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.13(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rdi
	movq	-32(%rbp), %rax
	movq	16(%rax), %rsi
	callq	_DeleteByElement
	movq	%rax, -32(%rbp)
	cmpq	$0, -32(%rbp)
	jne	LBB2_37
## %bb.36:
	leaq	L_.str.10(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	jmp	LBB2_38
LBB2_37:
	movq	-32(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.14(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-32(%rbp), %rax
	movq	%rax, -24(%rbp)
LBB2_38:
	jmp	LBB2_39
LBB2_39:
	leaq	L_.str.3(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	cmpq	$25, -64(%rbp)
	jg	LBB2_41
## %bb.40:
	movq	-24(%rbp), %rdi
	xorl	%eax, %eax
	movl	%eax, %esi
	callq	_printTree
LBB2_41:
	movq	-24(%rbp), %rax
	movq	(%rax), %rdi
	callq	_breadth
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	movq	-24(%rbp), %rax
	movq	8(%rax), %rdi
	callq	_breadth
	movq	-120(%rbp), %rsi                ## 8-byte Reload
	movq	%rax, %rdx
	leaq	L_.str.16(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rax
	movq	(%rax), %rdi
	callq	_Height
	movq	%rax, -96(%rbp)
	movq	-96(%rbp), %rax
	movq	%rax, -112(%rbp)                ## 8-byte Spill
	movq	-24(%rbp), %rax
	movq	8(%rax), %rdi
	callq	_Height
	movq	-112(%rbp), %rsi                ## 8-byte Reload
	movq	%rax, %rdx
	leaq	L_.str.17(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	$1073741823, -80(%rbp)          ## imm = 0x3FFFFFFF
	movq	$0, -56(%rbp)
LBB2_42:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB2_44 Depth 2
	cmpq	$3, -56(%rbp)
	jge	LBB2_62
## %bb.43:                              ##   in Loop: Header=BB2_42 Depth=1
	leaq	L_.str.3(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	callq	_libmin_rand
	movl	%eax, %eax
                                        ## kill: def $rax killed $eax
	cqto
	idivq	-96(%rbp)
	movq	%rdx, -88(%rbp)
	movq	-96(%rbp), %rsi
	movq	-88(%rbp), %rdx
	leaq	L_.str.18(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rax
	movq	%rax, -32(%rbp)
LBB2_44:                                ##   Parent Loop BB2_42 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	-32(%rbp), %rax
	cmpq	$0, (%rax)
	jne	LBB2_48
## %bb.45:                              ##   in Loop: Header=BB2_44 Depth=2
	movq	-32(%rbp), %rax
	cmpq	$0, 8(%rax)
	jne	LBB2_47
## %bb.46:                              ##   in Loop: Header=BB2_42 Depth=1
	jmp	LBB2_57
LBB2_47:                                ##   in Loop: Header=BB2_44 Depth=2
	movq	-80(%rbp), %rax
	addq	$1, %rax
	movq	%rax, -72(%rbp)
	jmp	LBB2_52
LBB2_48:                                ##   in Loop: Header=BB2_44 Depth=2
	movq	-32(%rbp), %rax
	cmpq	$0, 8(%rax)
	jne	LBB2_50
## %bb.49:                              ##   in Loop: Header=BB2_44 Depth=2
	movq	-80(%rbp), %rax
	subq	$1, %rax
	movq	%rax, -72(%rbp)
	jmp	LBB2_51
LBB2_50:                                ##   in Loop: Header=BB2_44 Depth=2
	callq	_libmin_rand
	movl	%eax, %eax
                                        ## kill: def $rax killed $eax
	movq	%rax, -72(%rbp)
LBB2_51:                                ##   in Loop: Header=BB2_44 Depth=2
	jmp	LBB2_52
LBB2_52:                                ##   in Loop: Header=BB2_44 Depth=2
	movq	-72(%rbp), %rax
	cmpq	-80(%rbp), %rax
	jl	LBB2_54
## %bb.53:                              ##   in Loop: Header=BB2_44 Depth=2
	movq	-32(%rbp), %rax
	movq	8(%rax), %rax
	movq	%rax, -128(%rbp)                ## 8-byte Spill
	jmp	LBB2_55
LBB2_54:                                ##   in Loop: Header=BB2_44 Depth=2
	movq	-32(%rbp), %rax
	movq	(%rax), %rax
	movq	%rax, -128(%rbp)                ## 8-byte Spill
LBB2_55:                                ##   in Loop: Header=BB2_44 Depth=2
	movq	-128(%rbp), %rax                ## 8-byte Reload
	movq	%rax, -32(%rbp)
	movq	-88(%rbp), %rax
	addq	$-1, %rax
	movq	%rax, -88(%rbp)
## %bb.56:                              ##   in Loop: Header=BB2_44 Depth=2
	cmpq	$0, -88(%rbp)
	jg	LBB2_44
LBB2_57:                                ##   in Loop: Header=BB2_42 Depth=1
	movq	-32(%rbp), %rax
	movq	24(%rax), %rsi
	movq	-32(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %edx
	leaq	L_.str.19(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-24(%rbp), %rdi
	movq	-32(%rbp), %rax
	movq	16(%rax), %rsi
	callq	_DeleteByElement
	movq	%rax, -32(%rbp)
	cmpq	$0, -32(%rbp)
	jne	LBB2_59
## %bb.58:                              ##   in Loop: Header=BB2_42 Depth=1
	leaq	L_.str.10(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	jmp	LBB2_60
LBB2_59:                                ##   in Loop: Header=BB2_42 Depth=1
	movq	-32(%rbp), %rax
	movq	16(%rax), %rax
	movl	(%rax), %esi
	leaq	L_.str.14(%rip), %rdi
	movb	$0, %al
	callq	_libmin_printf
	movq	-32(%rbp), %rax
	movq	%rax, -24(%rbp)
LBB2_60:                                ##   in Loop: Header=BB2_42 Depth=1
	cvtsi2sdq	-96(%rbp), %xmm0
	movsd	LCPI2_0(%rip), %xmm1            ## xmm1 = mem[0],zero
	mulsd	%xmm1, %xmm0
	cvttsd2si	%xmm0, %eax
	cltq
	movq	%rax, -96(%rbp)
## %bb.61:                              ##   in Loop: Header=BB2_42 Depth=1
	movq	-56(%rbp), %rax
	addq	$1, %rax
	movq	%rax, -56(%rbp)
	jmp	LBB2_42
LBB2_62:
	movq	-24(%rbp), %rdi
	callq	_MakeEmpty
	callq	_libmin_success
	xorl	%eax, %eax
	addq	$128, %rsp
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"%s -> %ld, Balance %d\n"

L_.str.1:                               ## @.str.1
	.asciz	" "

L_.str.2:                               ## @.str.2
	.asciz	"Left: "

L_.str.3:                               ## @.str.3
	.asciz	"\n"

L_.str.4:                               ## @.str.4
	.asciz	"Right: "

L_.str.5:                               ## @.str.5
	.asciz	"Start  -->  Finished\n"

L_.str.6:                               ## @.str.6
	.asciz	"Name%ld"

L_.str.7:                               ## @.str.7
	.asciz	"going to try and skip: %ld\n"

L_.str.8:                               ## @.str.8
	.asciz	"."

L_.str.9:                               ## @.str.9
	.asciz	"\nGoing to delete the rootNode: %ld\n"

L_.str.10:                              ## @.str.10
	.asciz	"failure!\n"

L_.str.11:                              ## @.str.11
	.asciz	"success! new root is %ld\n"

L_.str.12:                              ## @.str.12
	.asciz	"\nGoing to delete leftMost child... "

L_.str.13:                              ## @.str.13
	.asciz	"found item: %ld\n"

L_.str.14:                              ## @.str.14
	.asciz	"success! new root: %ld\n"

L_.str.15:                              ## @.str.15
	.asciz	"\nGoing to delete rightMost child... "

L_.str.16:                              ## @.str.16
	.asciz	"breadth of left tree: %ld right subtree: %ld\n"

L_.str.17:                              ## @.str.17
	.asciz	"height of left subtree: %ld right subtree: %ld\n"

L_.str.18:                              ## @.str.18
	.asciz	"Going to delete a node at depth (max depth %ld): %ld\n"

L_.str.19:                              ## @.str.19
	.asciz	"Found a node to delete with Name '%s' and Item %ld\n"

.subsections_via_symbols


ARM64 assembly:
	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_printTree                      ; -- Begin function printTree
	.p2align	2
_printTree:                             ; @printTree
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	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
	stur	x0, [x29, #-8]
	stur	x1, [x29, #-16]
	str	xzr, [sp, #24]
	ldur	x8, [x29, #-8]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB0_2
	b	LBB0_1
LBB0_1:
	b	LBB0_12
LBB0_2:
	ldur	x8, [x29, #-8]
	ldr	x11, [x8, #24]
	ldur	x8, [x29, #-8]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	ldur	x9, [x29, #-8]
	ldrsh	w10, [x9, #32]
	mov	x9, sp
	str	x11, [x9]
	str	x8, [x9, #8]
                                        ; implicit-def: $x8
	mov	x8, x10
	str	x8, [x9, #16]
	adrp	x0, l_.str@PAGE
	add	x0, x0, l_.str@PAGEOFF
	bl	_libmin_printf
	str	xzr, [sp, #24]
	b	LBB0_3
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x8, [sp, #24]
	ldur	x9, [x29, #-16]
	subs	x8, x8, x9
	cset	w8, ge
	tbnz	w8, #0, LBB0_6
	b	LBB0_4
LBB0_4:                                 ;   in Loop: Header=BB0_3 Depth=1
	adrp	x0, l_.str.1@PAGE
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_libmin_printf
	b	LBB0_5
LBB0_5:                                 ;   in Loop: Header=BB0_3 Depth=1
	ldr	x8, [sp, #24]
	add	x8, x8, #1
	str	x8, [sp, #24]
	b	LBB0_3
LBB0_6:
	adrp	x0, l_.str.2@PAGE
	add	x0, x0, l_.str.2@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-8]
	ldr	x0, [x8]
	ldur	x8, [x29, #-16]
	add	x1, x8, #1
	bl	_printTree
	adrp	x0, l_.str.3@PAGE
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_libmin_printf
	str	xzr, [sp, #24]
	b	LBB0_7
LBB0_7:                                 ; =>This Inner Loop Header: Depth=1
	ldr	x8, [sp, #24]
	ldur	x9, [x29, #-16]
	subs	x8, x8, x9
	cset	w8, ge
	tbnz	w8, #0, LBB0_10
	b	LBB0_8
LBB0_8:                                 ;   in Loop: Header=BB0_7 Depth=1
	adrp	x0, l_.str.1@PAGE
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_libmin_printf
	b	LBB0_9
LBB0_9:                                 ;   in Loop: Header=BB0_7 Depth=1
	ldr	x8, [sp, #24]
	add	x8, x8, #1
	str	x8, [sp, #24]
	b	LBB0_7
LBB0_10:
	adrp	x0, l_.str.4@PAGE
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-8]
	ldr	x0, [x8, #8]
	ldur	x8, [x29, #-16]
	add	x1, x8, #1
	bl	_printTree
	ldur	x8, [x29, #-16]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB0_12
	b	LBB0_11
LBB0_11:
	adrp	x0, l_.str.3@PAGE
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_libmin_printf
	b	LBB0_12
LBB0_12:
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #64
	ret
	.cfi_endproc
                                        ; -- End function
	.globl	_breadth                        ; -- Begin function breadth
	.p2align	2
_breadth:                               ; @breadth
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #48
	.cfi_def_cfa_offset 48
	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
	str	x0, [sp, #16]
	ldr	x8, [sp, #16]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB1_2
	b	LBB1_1
LBB1_1:
	stur	xzr, [x29, #-8]
	b	LBB1_6
LBB1_2:
	ldr	x8, [sp, #16]
	ldr	x8, [x8]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB1_5
	b	LBB1_3
LBB1_3:
	ldr	x8, [sp, #16]
	ldr	x8, [x8, #8]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB1_5
	b	LBB1_4
LBB1_4:
	mov	x8, #1
	stur	x8, [x29, #-8]
	b	LBB1_6
LBB1_5:
	ldr	x8, [sp, #16]
	ldr	x0, [x8]
	bl	_breadth
	str	x0, [sp, #8]                    ; 8-byte Folded Spill
	ldr	x8, [sp, #16]
	ldr	x0, [x8, #8]
	bl	_breadth
	mov	x8, x0
	ldr	x0, [sp, #8]                    ; 8-byte Folded Reload
	add	x8, x0, x8
	stur	x8, [x29, #-8]
	b	LBB1_6
LBB1_6:
	ldur	x0, [x29, #-8]
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #48
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function main
lCPI2_0:
	.quad	0x3fe3333333333333              ; double 0.59999999999999998
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #176
	.cfi_def_cfa_offset 176
	stp	x29, x30, [sp, #160]            ; 16-byte Folded Spill
	add	x29, sp, #160
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	stur	wzr, [x29, #-4]
	stur	w0, [x29, #-8]
	stur	x1, [x29, #-16]
                                        ; kill: def $x8 killed $xzr
	stur	xzr, [x29, #-24]
	stur	xzr, [x29, #-32]
	stur	xzr, [x29, #-40]
	stur	xzr, [x29, #-48]
	stur	xzr, [x29, #-56]
	stur	xzr, [x29, #-64]
	stur	xzr, [x29, #-72]
	str	xzr, [sp, #80]
	str	xzr, [sp, #72]
	str	xzr, [sp, #64]
	mov	x8, #25
	stur	x8, [x29, #-64]
	ldur	x8, [x29, #-64]
	mov	x9, #20
	sdiv	x8, x8, x9
	stur	x8, [x29, #-72]
	mov	w0, #42
	bl	_libmin_srand
	adrp	x0, l_.str.5@PAGE
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_libmin_printf
	stur	xzr, [x29, #-56]
	b	LBB2_1
LBB2_1:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB2_3 Depth 2
	ldur	x8, [x29, #-56]
	ldur	x9, [x29, #-64]
	subs	x8, x8, x9
	cset	w8, ge
	tbnz	w8, #0, LBB2_14
	b	LBB2_2
LBB2_2:                                 ;   in Loop: Header=BB2_1 Depth=1
	mov	x0, #8
	bl	_libmin_malloc
	stur	x0, [x29, #-40]
	mov	x0, #11
	str	x0, [sp, #56]                   ; 8-byte Folded Spill
	bl	_libmin_malloc
	ldr	x1, [sp, #56]                   ; 8-byte Folded Reload
	stur	x0, [x29, #-48]
	ldur	x0, [x29, #-48]
	ldur	x8, [x29, #-56]
	mov	x9, sp
	str	x8, [x9]
	adrp	x2, l_.str.6@PAGE
	add	x2, x2, l_.str.6@PAGEOFF
	bl	_libmin_snprintf
	b	LBB2_3
LBB2_3:                                 ;   Parent Loop BB2_1 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	bl	_libmin_rand
	ldur	x8, [x29, #-40]
	str	w0, [x8]
	ldur	x0, [x29, #-24]
	ldur	x1, [x29, #-40]
	ldur	x2, [x29, #-48]
	bl	_Insert
	stur	x0, [x29, #-32]
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_8
	b	LBB2_4
LBB2_4:                                 ;   in Loop: Header=BB2_3 Depth=2
	ldr	x8, [sp, #80]
	ldur	x9, [x29, #-40]
	ldrsw	x9, [x9]
	subs	x8, x8, x9
	cset	w8, ne
	tbnz	w8, #0, LBB2_6
	b	LBB2_5
LBB2_5:                                 ;   in Loop: Header=BB2_1 Depth=1
	ldur	x0, [x29, #-48]
	bl	_libmin_free
	ldur	x0, [x29, #-40]
	bl	_libmin_free
	ldur	x8, [x29, #-40]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.7@PAGE
	add	x0, x0, l_.str.7@PAGEOFF
	bl	_libmin_printf
	b	LBB2_10
LBB2_6:                                 ;   in Loop: Header=BB2_3 Depth=2
	ldur	x8, [x29, #-40]
	ldrsw	x8, [x8]
	str	x8, [sp, #80]
	b	LBB2_7
LBB2_7:                                 ;   in Loop: Header=BB2_3 Depth=2
	b	LBB2_8
LBB2_8:                                 ;   in Loop: Header=BB2_3 Depth=2
	b	LBB2_9
LBB2_9:                                 ;   in Loop: Header=BB2_3 Depth=2
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, eq
	tbnz	w8, #0, LBB2_3
	b	LBB2_10
LBB2_10:                                ;   in Loop: Header=BB2_1 Depth=1
	ldur	x8, [x29, #-56]
	ldur	x10, [x29, #-72]
	sdiv	x9, x8, x10
	mul	x9, x9, x10
	subs	x8, x8, x9
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_12
	b	LBB2_11
LBB2_11:                                ;   in Loop: Header=BB2_1 Depth=1
	adrp	x0, l_.str.8@PAGE
	add	x0, x0, l_.str.8@PAGEOFF
	bl	_libmin_printf
	b	LBB2_12
LBB2_12:                                ;   in Loop: Header=BB2_1 Depth=1
	ldur	x8, [x29, #-32]
	stur	x8, [x29, #-24]
	b	LBB2_13
LBB2_13:                                ;   in Loop: Header=BB2_1 Depth=1
	ldur	x8, [x29, #-56]
	add	x8, x8, #1
	stur	x8, [x29, #-56]
	b	LBB2_1
LBB2_14:
	adrp	x0, l_.str.3@PAGE
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-24]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.9@PAGE
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_libmin_printf
	ldur	x0, [x29, #-24]
	ldur	x8, [x29, #-24]
	ldr	x1, [x8, #16]
	bl	_DeleteByElement
	stur	x0, [x29, #-32]
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_16
	b	LBB2_15
LBB2_15:
	adrp	x0, l_.str.10@PAGE
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_libmin_printf
	b	LBB2_17
LBB2_16:
	ldur	x8, [x29, #-32]
	stur	x8, [x29, #-24]
	ldur	x8, [x29, #-24]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.11@PAGE
	add	x0, x0, l_.str.11@PAGEOFF
	bl	_libmin_printf
	b	LBB2_17
LBB2_17:
	adrp	x0, l_.str.12@PAGE
	add	x0, x0, l_.str.12@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-24]
	stur	x8, [x29, #-32]
	b	LBB2_18
LBB2_18:                                ; =>This Inner Loop Header: Depth=1
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, eq
	mov	w9, #0
	str	w9, [sp, #52]                   ; 4-byte Folded Spill
	tbnz	w8, #0, LBB2_20
	b	LBB2_19
LBB2_19:                                ;   in Loop: Header=BB2_18 Depth=1
	ldur	x8, [x29, #-32]
	ldr	x8, [x8]
	subs	x8, x8, #0
	cset	w8, ne
	str	w8, [sp, #52]                   ; 4-byte Folded Spill
	b	LBB2_20
LBB2_20:                                ;   in Loop: Header=BB2_18 Depth=1
	ldr	w8, [sp, #52]                   ; 4-byte Folded Reload
	tbz	w8, #0, LBB2_23
	b	LBB2_21
LBB2_21:                                ;   in Loop: Header=BB2_18 Depth=1
	b	LBB2_22
LBB2_22:                                ;   in Loop: Header=BB2_18 Depth=1
	ldur	x8, [x29, #-32]
	ldr	x8, [x8]
	stur	x8, [x29, #-32]
	b	LBB2_18
LBB2_23:
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, eq
	tbnz	w8, #0, LBB2_28
	b	LBB2_24
LBB2_24:
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.13@PAGE
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_libmin_printf
	ldur	x0, [x29, #-24]
	ldur	x8, [x29, #-32]
	ldr	x1, [x8, #16]
	bl	_DeleteByElement
	stur	x0, [x29, #-32]
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_26
	b	LBB2_25
LBB2_25:
	adrp	x0, l_.str.10@PAGE
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_libmin_printf
	b	LBB2_27
LBB2_26:
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.14@PAGE
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-32]
	stur	x8, [x29, #-24]
	b	LBB2_27
LBB2_27:
	b	LBB2_28
LBB2_28:
	adrp	x0, l_.str.15@PAGE
	add	x0, x0, l_.str.15@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-24]
	stur	x8, [x29, #-32]
	b	LBB2_29
LBB2_29:                                ; =>This Inner Loop Header: Depth=1
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, eq
	mov	w9, #0
	str	w9, [sp, #48]                   ; 4-byte Folded Spill
	tbnz	w8, #0, LBB2_31
	b	LBB2_30
LBB2_30:                                ;   in Loop: Header=BB2_29 Depth=1
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #8]
	subs	x8, x8, #0
	cset	w8, ne
	str	w8, [sp, #48]                   ; 4-byte Folded Spill
	b	LBB2_31
LBB2_31:                                ;   in Loop: Header=BB2_29 Depth=1
	ldr	w8, [sp, #48]                   ; 4-byte Folded Reload
	tbz	w8, #0, LBB2_34
	b	LBB2_32
LBB2_32:                                ;   in Loop: Header=BB2_29 Depth=1
	b	LBB2_33
LBB2_33:                                ;   in Loop: Header=BB2_29 Depth=1
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #8]
	stur	x8, [x29, #-32]
	b	LBB2_29
LBB2_34:
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, eq
	tbnz	w8, #0, LBB2_39
	b	LBB2_35
LBB2_35:
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.13@PAGE
	add	x0, x0, l_.str.13@PAGEOFF
	bl	_libmin_printf
	ldur	x0, [x29, #-24]
	ldur	x8, [x29, #-32]
	ldr	x1, [x8, #16]
	bl	_DeleteByElement
	stur	x0, [x29, #-32]
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_37
	b	LBB2_36
LBB2_36:
	adrp	x0, l_.str.10@PAGE
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_libmin_printf
	b	LBB2_38
LBB2_37:
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.14@PAGE
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-32]
	stur	x8, [x29, #-24]
	b	LBB2_38
LBB2_38:
	b	LBB2_39
LBB2_39:
	adrp	x0, l_.str.3@PAGE
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-64]
	subs	x8, x8, #25
	cset	w8, gt
	tbnz	w8, #0, LBB2_41
	b	LBB2_40
LBB2_40:
	ldur	x0, [x29, #-24]
	mov	x1, #0
	bl	_printTree
	b	LBB2_41
LBB2_41:
	ldur	x8, [x29, #-24]
	ldr	x0, [x8]
	bl	_breadth
	str	x0, [sp, #32]                   ; 8-byte Folded Spill
	ldur	x8, [x29, #-24]
	ldr	x0, [x8, #8]
	bl	_breadth
	ldr	x9, [sp, #32]                   ; 8-byte Folded Reload
	mov	x8, sp
	str	x9, [x8]
	str	x0, [x8, #8]
	adrp	x0, l_.str.16@PAGE
	add	x0, x0, l_.str.16@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-24]
	ldr	x0, [x8]
	bl	_Height
	str	x0, [sp, #64]
	ldr	x8, [sp, #64]
	str	x8, [sp, #40]                   ; 8-byte Folded Spill
	ldur	x8, [x29, #-24]
	ldr	x0, [x8, #8]
	bl	_Height
	ldr	x9, [sp, #40]                   ; 8-byte Folded Reload
	mov	x8, sp
	str	x9, [x8]
	str	x0, [x8, #8]
	adrp	x0, l_.str.17@PAGE
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_libmin_printf
	mov	x8, #1073741823
	str	x8, [sp, #80]
	stur	xzr, [x29, #-56]
	b	LBB2_42
LBB2_42:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB2_44 Depth 2
	ldur	x8, [x29, #-56]
	subs	x8, x8, #3
	cset	w8, ge
	tbnz	w8, #0, LBB2_62
	b	LBB2_43
LBB2_43:                                ;   in Loop: Header=BB2_42 Depth=1
	adrp	x0, l_.str.3@PAGE
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_libmin_printf
	bl	_libmin_rand
	mov	w8, w0
                                        ; kill: def $x8 killed $w8
	ldr	x10, [sp, #64]
	sdiv	x9, x8, x10
	mul	x9, x9, x10
	subs	x8, x8, x9
	str	x8, [sp, #72]
	ldr	x10, [sp, #64]
	ldr	x8, [sp, #72]
	mov	x9, sp
	str	x10, [x9]
	str	x8, [x9, #8]
	adrp	x0, l_.str.18@PAGE
	add	x0, x0, l_.str.18@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-24]
	stur	x8, [x29, #-32]
	b	LBB2_44
LBB2_44:                                ;   Parent Loop BB2_42 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldur	x8, [x29, #-32]
	ldr	x8, [x8]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_48
	b	LBB2_45
LBB2_45:                                ;   in Loop: Header=BB2_44 Depth=2
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #8]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_47
	b	LBB2_46
LBB2_46:                                ;   in Loop: Header=BB2_42 Depth=1
	b	LBB2_57
LBB2_47:                                ;   in Loop: Header=BB2_44 Depth=2
	ldr	x8, [sp, #80]
	add	x8, x8, #1
	stur	x8, [x29, #-72]
	b	LBB2_52
LBB2_48:                                ;   in Loop: Header=BB2_44 Depth=2
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #8]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_50
	b	LBB2_49
LBB2_49:                                ;   in Loop: Header=BB2_44 Depth=2
	ldr	x8, [sp, #80]
	subs	x8, x8, #1
	stur	x8, [x29, #-72]
	b	LBB2_51
LBB2_50:                                ;   in Loop: Header=BB2_44 Depth=2
	bl	_libmin_rand
	mov	w8, w0
                                        ; kill: def $x8 killed $w8
	stur	x8, [x29, #-72]
	b	LBB2_51
LBB2_51:                                ;   in Loop: Header=BB2_44 Depth=2
	b	LBB2_52
LBB2_52:                                ;   in Loop: Header=BB2_44 Depth=2
	ldur	x8, [x29, #-72]
	ldr	x9, [sp, #80]
	subs	x8, x8, x9
	cset	w8, lt
	tbnz	w8, #0, LBB2_54
	b	LBB2_53
LBB2_53:                                ;   in Loop: Header=BB2_44 Depth=2
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #8]
	str	x8, [sp, #24]                   ; 8-byte Folded Spill
	b	LBB2_55
LBB2_54:                                ;   in Loop: Header=BB2_44 Depth=2
	ldur	x8, [x29, #-32]
	ldr	x8, [x8]
	str	x8, [sp, #24]                   ; 8-byte Folded Spill
	b	LBB2_55
LBB2_55:                                ;   in Loop: Header=BB2_44 Depth=2
	ldr	x8, [sp, #24]                   ; 8-byte Folded Reload
	stur	x8, [x29, #-32]
	ldr	x8, [sp, #72]
	subs	x8, x8, #1
	str	x8, [sp, #72]
	b	LBB2_56
LBB2_56:                                ;   in Loop: Header=BB2_44 Depth=2
	ldr	x8, [sp, #72]
	subs	x8, x8, #0
	cset	w8, gt
	tbnz	w8, #0, LBB2_44
	b	LBB2_57
LBB2_57:                                ;   in Loop: Header=BB2_42 Depth=1
	ldur	x8, [x29, #-32]
	ldr	x10, [x8, #24]
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x10, [x9]
	str	x8, [x9, #8]
	adrp	x0, l_.str.19@PAGE
	add	x0, x0, l_.str.19@PAGEOFF
	bl	_libmin_printf
	ldur	x0, [x29, #-24]
	ldur	x8, [x29, #-32]
	ldr	x1, [x8, #16]
	bl	_DeleteByElement
	stur	x0, [x29, #-32]
	ldur	x8, [x29, #-32]
	subs	x8, x8, #0
	cset	w8, ne
	tbnz	w8, #0, LBB2_59
	b	LBB2_58
LBB2_58:                                ;   in Loop: Header=BB2_42 Depth=1
	adrp	x0, l_.str.10@PAGE
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_libmin_printf
	b	LBB2_60
LBB2_59:                                ;   in Loop: Header=BB2_42 Depth=1
	ldur	x8, [x29, #-32]
	ldr	x8, [x8, #16]
	ldr	w9, [x8]
                                        ; implicit-def: $x8
	mov	x8, x9
	mov	x9, sp
	str	x8, [x9]
	adrp	x0, l_.str.14@PAGE
	add	x0, x0, l_.str.14@PAGEOFF
	bl	_libmin_printf
	ldur	x8, [x29, #-32]
	stur	x8, [x29, #-24]
	b	LBB2_60
LBB2_60:                                ;   in Loop: Header=BB2_42 Depth=1
	ldr	d0, [sp, #64]
	scvtf	d0, d0
	adrp	x8, lCPI2_0@PAGE
	ldr	d1, [x8, lCPI2_0@PAGEOFF]
	fmul	d0, d0, d1
	fcvtzs	w9, d0
                                        ; implicit-def: $x8
	mov	x8, x9
	sxtw	x8, w8
	str	x8, [sp, #64]
	b	LBB2_61
LBB2_61:                                ;   in Loop: Header=BB2_42 Depth=1
	ldur	x8, [x29, #-56]
	add	x8, x8, #1
	stur	x8, [x29, #-56]
	b	LBB2_42
LBB2_62:
	ldur	x0, [x29, #-24]
	bl	_MakeEmpty
	bl	_libmin_success
	mov	w0, #0
	ldp	x29, x30, [sp, #160]            ; 16-byte Folded Reload
	add	sp, sp, #176
	ret
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"%s -> %ld, Balance %d\n"

l_.str.1:                               ; @.str.1
	.asciz	" "

l_.str.2:                               ; @.str.2
	.asciz	"Left: "

l_.str.3:                               ; @.str.3
	.asciz	"\n"

l_.str.4:                               ; @.str.4
	.asciz	"Right: "

l_.str.5:                               ; @.str.5
	.asciz	"Start  -->  Finished\n"

l_.str.6:                               ; @.str.6
	.asciz	"Name%ld"

l_.str.7:                               ; @.str.7
	.asciz	"going to try and skip: %ld\n"

l_.str.8:                               ; @.str.8
	.asciz	"."

l_.str.9:                               ; @.str.9
	.asciz	"\nGoing to delete the rootNode: %ld\n"

l_.str.10:                              ; @.str.10
	.asciz	"failure!\n"

l_.str.11:                              ; @.str.11
	.asciz	"success! new root is %ld\n"

l_.str.12:                              ; @.str.12
	.asciz	"\nGoing to delete leftMost child... "

l_.str.13:                              ; @.str.13
	.asciz	"found item: %ld\n"

l_.str.14:                              ; @.str.14
	.asciz	"success! new root: %ld\n"

l_.str.15:                              ; @.str.15
	.asciz	"\nGoing to delete rightMost child... "

l_.str.16:                              ; @.str.16
	.asciz	"breadth of left tree: %ld right subtree: %ld\n"

l_.str.17:                              ; @.str.17
	.asciz	"height of left subtree: %ld right subtree: %ld\n"

l_.str.18:                              ; @.str.18
	.asciz	"Going to delete a node at depth (max depth %ld): %ld\n"

l_.str.19:                              ; @.str.19
	.asciz	"Found a node to delete with Name '%s' and Item %ld\n"

.subsections_via_symbols