	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function 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
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r14
	movl	%edi, %ebx
	leaq	L_.str(%rip), %r15
	movq	_optarg@GOTPCREL(%rip), %r12
	movq	_width@GOTPCREL(%rip), %r13
	jmp	LBB0_1
LBB0_3:                                 ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$-1, %eax
	je	LBB0_12
LBB0_4:                                 ##   in Loop: Header=BB0_1 Depth=1
	xorl	%eax, %eax
	callq	_usage
LBB0_1:                                 ## =>This Inner Loop Header: Depth=1
	movl	%ebx, %edi
	movq	%r14, %rsi
	movq	%r15, %rdx
	callq	_getopt
	cmpl	$115, %eax
	jle	LBB0_2
## %bb.5:                               ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$116, %eax
	je	LBB0_11
## %bb.6:                               ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$119, %eax
	jne	LBB0_4
## %bb.7:                               ##   in Loop: Header=BB0_1 Depth=1
	movl	(%r12), %edi
	callq	_atoi
	movl	%eax, (%r13)
	testl	%eax, %eax
	jle	LBB0_9
## %bb.8:                               ##   in Loop: Header=BB0_1 Depth=1
	movq	_DWIDTH@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jle	LBB0_1
LBB0_9:                                 ##   in Loop: Header=BB0_1 Depth=1
	movl	$1, %edi
	leaq	L_.str.1(%rip), %rsi
	callq	_errx
	jmp	LBB0_1
	.p2align	4, 0x90
LBB0_2:                                 ##   in Loop: Header=BB0_1 Depth=1
	cmpl	$100, %eax
	jne	LBB0_3
## %bb.10:                              ##   in Loop: Header=BB0_1 Depth=1
	movq	_debug@GOTPCREL(%rip), %rax
	movl	$1, (%rax)
	jmp	LBB0_1
	.p2align	4, 0x90
LBB0_11:                                ##   in Loop: Header=BB0_1 Depth=1
	movq	_trace@GOTPCREL(%rip), %rax
	movl	$1, (%rax)
	jmp	LBB0_1
LBB0_12:
	movq	_optind@GOTPCREL(%rip), %rax
	movq	(%rax), %r8
	leaq	(%r14,%r8,8), %r15
	movq	_i@GOTPCREL(%rip), %r12
	movl	$0, (%r12)
	movl	(%r13), %esi
	testl	%esi, %esi
	movq	_DWIDTH@GOTPCREL(%rip), %rdi
	jle	LBB0_16
## %bb.13:
	movq	_print@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_14:                                ## =>This Inner Loop Header: Depth=1
	imull	(%rdi), %eax
	cltd
	idivl	%esi
	movslq	%eax, %rdx
	movl	$1, (%rcx,%rdx,4)
	movl	(%r12), %eax
	incl	%eax
	movl	%eax, (%r12)
	movl	(%r13), %esi
	cmpl	%esi, %eax
	jl	LBB0_14
## %bb.15:
	movq	_j@GOTPCREL(%rip), %rax
	movq	%rdx, (%rax)
LBB0_16:
	movq	(%r15), %rdi
	testq	%rdi, %rdi
	jne	LBB0_17
## %bb.28:
	movq	_MAXMSG@GOTPCREL(%rip), %r14
	movq	(%r14), %rdi
	callq	_malloc
	movq	_message@GOTPCREL(%rip), %rbx
	movq	%rax, (%rbx)
	testq	%rax, %rax
	jne	LBB0_30
## %bb.29:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_30:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.4(%rip), %rsi
	callq	_fprintf
	movq	(%rbx), %rdi
	movq	(%r14), %rsi
	movq	_stdin@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_fgets
	testq	%rax, %rax
	jne	LBB0_32
## %bb.31:
	movq	_nchars@GOTPCREL(%rip), %rax
	movl	$0, (%rax)
	movq	(%rbx), %rax
	movb	$0, (%rax)
	movq	_DWIDTH@GOTPCREL(%rip), %r8
	jmp	LBB0_34
LBB0_17:
	subl	%r8d, %ebx
	movl	$0, (%r12)
	movq	_j@GOTPCREL(%rip), %r12
	movq	$0, (%r12)
	testl	%ebx, %ebx
	movq	%r8, -48(%rbp)                  ## 8-byte Spill
	jle	LBB0_18
## %bb.19:
	callq	_strlen
	cltq
	movq	(%r12), %rcx
	movq	%r15, %r13
	.p2align	4, 0x90
LBB0_21:                                ## =>This Inner Loop Header: Depth=1
	leaq	(%rax,%rcx), %r15
	incq	%r15
	movq	_i@GOTPCREL(%rip), %rcx
	movq	%r15, (%r12)
	movl	(%rcx), %eax
	incl	%eax
	movl	%eax, (%rcx)
	cmpl	%ebx, %eax
	jge	LBB0_22
## %bb.20:                              ##   in Loop: Header=BB0_21 Depth=1
	cltq
	movq	(%r13,%rax,8), %rdi
	callq	_strlen
	cltq
	movq	(%r12), %rcx
	jmp	LBB0_21
LBB0_32:
	movq	(%rbx), %rdi
	callq	_strlen
	movq	_nchars@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	(%rbx), %rdx
	cltq
	cmpb	$10, -1(%rdx,%rax)
	movq	_DWIDTH@GOTPCREL(%rip), %r8
	jne	LBB0_34
## %bb.33:
	decq	%rax
	movl	%eax, (%rcx)
	movb	$0, (%rdx,%rax)
	jmp	LBB0_34
LBB0_18:
	movq	%r15, %r13
	xorl	%r15d, %r15d
LBB0_22:
	movq	%r13, %rbx
	movq	%r15, %rdi
	callq	_malloc
	movq	_message@GOTPCREL(%rip), %r13
	movq	%rax, (%r13)
	testq	%rax, %rax
	jne	LBB0_24
## %bb.23:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
	movq	(%r13), %rax
	movq	(%r12), %r15
LBB0_24:
	movq	(%rbx), %rsi
	movq	%rax, %rdi
	movq	%r15, %rdx
	callq	_strlcpy
	cmpq	$0, 8(%rbx)
	je	LBB0_27
## %bb.25:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	leaq	(%r14,%rax,8), %rbx
	addq	$16, %rbx
	leaq	L_.str.3(%rip), %r14
	.p2align	4, 0x90
LBB0_26:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r13), %rdi
	movq	(%r12), %rdx
	movq	%r14, %rsi
	callq	_strlcat
	movq	(%r13), %rdi
	movq	-8(%rbx), %rsi
	movq	(%r12), %rdx
	callq	_strlcat
	cmpq	$0, (%rbx)
	leaq	8(%rbx), %rbx
	jne	LBB0_26
LBB0_27:
	movq	(%r13), %rdi
	callq	_strlen
	movq	_nchars@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	movq	_DWIDTH@GOTPCREL(%rip), %r8
	movq	_i@GOTPCREL(%rip), %r12
LBB0_34:
	movq	_debug@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	je	LBB0_47
## %bb.35:
	leaq	L_str(%rip), %rdi
	callq	_puts
	movl	$0, (%r12)
	movq	_asc_ptr@GOTPCREL(%rip), %r14
	leaq	L_.str.6(%rip), %rbx
	xorl	%eax, %eax
	jmp	LBB0_36
	.p2align	4, 0x90
LBB0_38:                                ##   in Loop: Header=BB0_36 Depth=1
	movl	%eax, (%r12)
	cmpl	$127, %ecx
	jge	LBB0_39
LBB0_36:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r14), %rcx
	cltq
	movl	(%rcx,%rax,4), %esi
	movq	%rbx, %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r12), %ecx
	leal	1(%rcx), %eax
	testb	$7, %al
	jne	LBB0_38
## %bb.37:                              ##   in Loop: Header=BB0_36 Depth=1
	movl	$10, %edi
	callq	_putchar
	movl	(%r12), %ecx
	leal	1(%rcx), %eax
	jmp	LBB0_38
LBB0_39:
	leaq	L_str.21(%rip), %rdi
	callq	_puts
	leaq	L_.str.9(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	$0, (%r12)
	leaq	L_.str.10(%rip), %rbx
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_40:                                ## =>This Inner Loop Header: Depth=1
	movq	%rbx, %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%r12), %eax
	leal	1(%rax), %esi
	movl	%esi, (%r12)
	cmpl	$9, %eax
	jl	LBB0_40
## %bb.41:
	leaq	L_str.22(%rip), %rdi
	callq	_puts
	movl	$0, (%r12)
	movq	_NBYTES@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	jle	LBB0_46
## %bb.42:
	movq	_j@GOTPCREL(%rip), %rbx
	movq	_data_table@GOTPCREL(%rip), %r13
	movq	_x@GOTPCREL(%rip), %r15
	leaq	L_.str.13(%rip), %r14
	xorl	%esi, %esi
	jmp	LBB0_43
	.p2align	4, 0x90
LBB0_45:                                ##   in Loop: Header=BB0_43 Depth=1
	movl	$10, %edi
	callq	_putchar
	movl	(%r12), %esi
	addl	$10, %esi
	movl	%esi, (%r12)
	movq	_NBYTES@GOTPCREL(%rip), %rax
	cmpl	(%rax), %esi
	jge	LBB0_46
LBB0_43:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_44 Depth 2
	leaq	L_.str.12(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movslq	(%r12), %rax
	movq	%rax, (%rbx)
	cmpq	$-11, %rax
	ja	LBB0_45
	.p2align	4, 0x90
LBB0_44:                                ##   Parent Loop BB0_43 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	(%r13), %rcx
	movzbl	(%rcx,%rax,4), %esi
	movl	%esi, (%r15)
	movq	%r14, %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	(%rbx), %rax
	incq	%rax
	movq	%rax, (%rbx)
	movslq	(%r12), %rcx
	addq	$10, %rcx
	cmpq	%rcx, %rax
	jb	LBB0_44
	jmp	LBB0_45
LBB0_46:
	leaq	L_str.23(%rip), %rdi
	callq	_puts
	movq	_DWIDTH@GOTPCREL(%rip), %r8
LBB0_47:
	movq	_j@GOTPCREL(%rip), %r15
	movq	$0, (%r15)
	movl	$0, (%r12)
	movq	_nchars@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, %eax
	jle	LBB0_54
## %bb.48:
	xorl	%ecx, %ecx
	movq	_message@GOTPCREL(%rip), %r12
	movq	_NCHARS@GOTPCREL(%rip), %rbx
	movq	_asc_ptr@GOTPCREL(%rip), %r13
	leaq	L_.str.15(%rip), %r14
	xorl	%edx, %edx
	jmp	LBB0_49
	.p2align	4, 0x90
LBB0_51:                                ##   in Loop: Header=BB0_49 Depth=1
	movq	%r14, %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	callq	_warnx
	movq	_DWIDTH@GOTPCREL(%rip), %r8
	movq	(%r15), %rcx
	incq	%rcx
	movq	%rcx, (%r15)
	movq	_i@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_nchars@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_52:                                ##   in Loop: Header=BB0_49 Depth=1
	incl	%edx
	movq	_i@GOTPCREL(%rip), %rsi
	movl	%edx, (%rsi)
	cmpl	%eax, %edx
	jge	LBB0_53
LBB0_49:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r12), %rsi
	movslq	%edx, %rdi
	movsbq	(%rsi,%rdi), %rsi
	cmpq	%rsi, (%rbx)
	jle	LBB0_51
## %bb.50:                              ##   in Loop: Header=BB0_49 Depth=1
	movq	(%r13), %rdi
	cmpl	$0, (%rdi,%rsi,4)
	jne	LBB0_52
	jmp	LBB0_51
LBB0_53:
	testq	%rcx, %rcx
	movq	_i@GOTPCREL(%rip), %r12
	jne	LBB0_95
LBB0_54:
	movq	_trace@GOTPCREL(%rip), %rcx
	cmpl	$0, (%rcx)
	je	LBB0_56
## %bb.55:
	movq	_message@GOTPCREL(%rip), %rax
	movq	(%rax), %rsi
	leaq	L_.str.16(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movq	_DWIDTH@GOTPCREL(%rip), %r8
	movq	_nchars@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
LBB0_56:
	movl	$0, (%r12)
	testl	%eax, %eax
	jle	LBB0_94
## %bb.57:
	movq	_max@GOTPCREL(%rip), %r14
	movq	_x@GOTPCREL(%rip), %r13
	movq	_line@GOTPCREL(%rip), %r12
	movq	_print@GOTPCREL(%rip), %rbx
	xorl	%eax, %eax
	jmp	LBB0_58
	.p2align	4, 0x90
LBB0_93:                                ##   in Loop: Header=BB0_58 Depth=1
	movq	_i@GOTPCREL(%rip), %rcx
	movl	(%rcx), %eax
	incl	%eax
	movl	%eax, (%rcx)
	movq	_nchars@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	movq	_DWIDTH@GOTPCREL(%rip), %r8
	jge	LBB0_94
LBB0_58:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_62 Depth 2
                                        ##     Child Loop BB0_65 Depth 2
                                        ##       Child Loop BB0_86 Depth 3
                                        ##       Child Loop BB0_72 Depth 3
                                        ##         Child Loop BB0_81 Depth 4
                                        ##       Child Loop BB0_75 Depth 3
	movq	_trace@GOTPCREL(%rip), %rcx
	cmpl	$0, (%rcx)
	je	LBB0_60
## %bb.59:                              ##   in Loop: Header=BB0_58 Depth=1
	movq	_message@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movslq	%eax, %rsi
	movsbl	(%rcx,%rsi), %edx
	leaq	L_.str.17(%rip), %rdi
                                        ## kill: def $esi killed $esi killed $rsi
	xorl	%eax, %eax
	callq	_printf
	movq	_DWIDTH@GOTPCREL(%rip), %r8
LBB0_60:                                ##   in Loop: Header=BB0_58 Depth=1
	movq	$0, (%r15)
	cmpl	$0, (%r8)
	je	LBB0_63
## %bb.61:                              ##   in Loop: Header=BB0_58 Depth=1
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_62:                                ##   Parent Loop BB0_58 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	(%r12), %rcx
	movb	$32, (%rcx,%rax)
	movq	(%r15), %rax
	incq	%rax
	movq	%rax, (%r15)
	movslq	(%r8), %rcx
	cmpq	%rcx, %rax
	jb	LBB0_62
LBB0_63:                                ##   in Loop: Header=BB0_58 Depth=1
	movq	_asc_ptr@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_message@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	_i@GOTPCREL(%rip), %rdx
	movslq	(%rdx), %rdx
	movsbq	(%rcx,%rdx), %rcx
	movl	(%rax,%rcx,4), %esi
	movq	_pc@GOTPCREL(%rip), %rdx
	movl	%esi, (%rdx)
	movq	_term@GOTPCREL(%rip), %rax
	movl	$0, (%rax)
	movl	$0, (%r14)
	movq	_linen@GOTPCREL(%rip), %rax
	movl	$0, (%rax)
	testl	%esi, %esi
	js	LBB0_92
	.p2align	4, 0x90
LBB0_65:                                ##   Parent Loop BB0_58 Depth=1
                                        ## =>  This Loop Header: Depth=2
                                        ##       Child Loop BB0_86 Depth 3
                                        ##       Child Loop BB0_72 Depth 3
                                        ##         Child Loop BB0_81 Depth 4
                                        ##       Child Loop BB0_75 Depth 3
	movq	_NBYTES@GOTPCREL(%rip), %rax
	cmpl	(%rax), %esi
	jg	LBB0_92
## %bb.66:                              ##   in Loop: Header=BB0_65 Depth=2
	movq	_data_table@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movl	%esi, %ecx
	movzbl	(%rax,%rcx,4), %r9d
	movl	%r9d, (%r13)
	movq	_trace@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	je	LBB0_68
## %bb.67:                              ##   in Loop: Header=BB0_65 Depth=2
	movl	(%r14), %ecx
	movq	_linen@GOTPCREL(%rip), %rax
	movl	(%rax), %r8d
	leaq	L_.str.19(%rip), %rdi
	xorl	%edx, %edx
                                        ## kill: def $r9d killed $r9d killed $r9
	xorl	%eax, %eax
	callq	_printf
	movq	_pc@GOTPCREL(%rip), %rdx
	movl	(%r13), %r9d
LBB0_68:                                ##   in Loop: Header=BB0_65 Depth=2
	cmpl	$128, %r9d
	jl	LBB0_84
## %bb.69:                              ##   in Loop: Header=BB0_65 Depth=2
	cmpl	$193, %r9d
	jb	LBB0_71
## %bb.70:                              ##   in Loop: Header=BB0_65 Depth=2
	movq	_term@GOTPCREL(%rip), %rax
	incl	(%rax)
LBB0_71:                                ##   in Loop: Header=BB0_65 Depth=2
	andl	$63, %r9d
	jmp	LBB0_72
	.p2align	4, 0x90
LBB0_83:                                ##   in Loop: Header=BB0_72 Depth=3
	movl	$10, %edi
	callq	_putchar
	movl	(%r13), %r9d
LBB0_72:                                ##   Parent Loop BB0_58 Depth=1
                                        ##     Parent Loop BB0_65 Depth=2
                                        ## =>    This Loop Header: Depth=3
                                        ##         Child Loop BB0_81 Depth 4
	subl	$1, %r9d
	movl	%r9d, (%r13)
	jb	LBB0_73
## %bb.77:                              ##   in Loop: Header=BB0_72 Depth=3
	movq	(%rbx), %rcx
	movq	_linen@GOTPCREL(%rip), %rsi
	movslq	(%rsi), %rax
	leal	1(%rax), %edx
	movl	%edx, (%rsi)
	cmpl	$0, (%rcx,%rax,4)
	je	LBB0_72
## %bb.78:                              ##   in Loop: Header=BB0_72 Depth=3
	movq	$0, (%r15)
	xorl	%eax, %eax
	cmpl	$0, (%rcx,%rax,4)
	je	LBB0_81
	.p2align	4, 0x90
LBB0_80:                                ##   in Loop: Header=BB0_72 Depth=3
	movq	(%r12), %rcx
	movsbl	(%rcx,%rax), %edi
	callq	_putchar
	movq	(%r15), %rax
LBB0_81:                                ##   Parent Loop BB0_58 Depth=1
                                        ##     Parent Loop BB0_65 Depth=2
                                        ##       Parent Loop BB0_72 Depth=3
                                        ## =>      This Inner Loop Header: Depth=4
	incq	%rax
	movq	%rax, (%r15)
	movslq	(%r14), %rcx
	cmpq	%rcx, %rax
	ja	LBB0_83
## %bb.82:                              ##   in Loop: Header=BB0_81 Depth=4
	movq	(%rbx), %rcx
	cmpl	$0, (%rcx,%rax,4)
	jne	LBB0_80
	jmp	LBB0_81
	.p2align	4, 0x90
LBB0_84:                                ##   in Loop: Header=BB0_65 Depth=2
	movq	_data_table@GOTPCREL(%rip), %rax
	movq	(%rax), %rcx
	movslq	(%rdx), %rax
	movl	4(%rcx,%rax,4), %edx
	movq	_y@GOTPCREL(%rip), %rcx
	movl	%edx, (%rcx)
	leal	(%rdx,%r9), %ecx
	movl	%ecx, (%r14)
	testl	%edx, %edx
	jle	LBB0_85
	.p2align	4, 0x90
LBB0_86:                                ##   Parent Loop BB0_58 Depth=1
                                        ##     Parent Loop BB0_65 Depth=2
                                        ## =>    This Inner Loop Header: Depth=3
	movq	(%r12), %rax
	leal	1(%r9), %ecx
	movl	%ecx, (%r13)
	movslq	%r9d, %rcx
	movb	$35, (%rax,%rcx)
	movl	(%r13), %r9d
	movl	(%r14), %ecx
	cmpl	%ecx, %r9d
	jl	LBB0_86
## %bb.87:                              ##   in Loop: Header=BB0_65 Depth=2
	movq	_pc@GOTPCREL(%rip), %rdx
	movl	(%rdx), %eax
	jmp	LBB0_88
	.p2align	4, 0x90
LBB0_73:                                ##   in Loop: Header=BB0_65 Depth=2
	movq	$0, (%r15)
	movq	_DWIDTH@GOTPCREL(%rip), %rdx
	cmpl	$0, (%rdx)
	je	LBB0_76
## %bb.74:                              ##   in Loop: Header=BB0_65 Depth=2
	xorl	%eax, %eax
	.p2align	4, 0x90
LBB0_75:                                ##   Parent Loop BB0_58 Depth=1
                                        ##     Parent Loop BB0_65 Depth=2
                                        ## =>    This Inner Loop Header: Depth=3
	movq	(%r12), %rcx
	movb	$32, (%rcx,%rax)
	movq	(%r15), %rax
	incq	%rax
	movq	%rax, (%r15)
	movslq	(%rdx), %rcx
	cmpq	%rcx, %rax
	jb	LBB0_75
LBB0_76:                                ##   in Loop: Header=BB0_65 Depth=2
	movq	_pc@GOTPCREL(%rip), %rdx
	incl	(%rdx)
	jmp	LBB0_90
LBB0_85:                                ##   in Loop: Header=BB0_65 Depth=2
	movq	_pc@GOTPCREL(%rip), %rdx
LBB0_88:                                ##   in Loop: Header=BB0_65 Depth=2
	addl	$2, %eax
	movl	%eax, (%rdx)
	movq	_trace@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	je	LBB0_90
## %bb.89:                              ##   in Loop: Header=BB0_65 Depth=2
	movq	_y@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	L_.str.20(%rip), %rdi
	movl	%r9d, %esi
	xorl	%eax, %eax
	callq	_printf
	movq	_pc@GOTPCREL(%rip), %rdx
LBB0_90:                                ##   in Loop: Header=BB0_65 Depth=2
	movq	_term@GOTPCREL(%rip), %rax
	cmpl	$0, (%rax)
	jne	LBB0_93
## %bb.91:                              ##   in Loop: Header=BB0_65 Depth=2
	movl	(%rdx), %esi
	testl	%esi, %esi
	jns	LBB0_65
LBB0_92:
	leaq	L_.str.18(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	$1, %edi
	callq	_exit
LBB0_94:
	movq	_message@GOTPCREL(%rip), %rax
	movq	(%rax), %rdi
	callq	_free
	xorl	%edi, %edi
	callq	_exit
LBB0_95:
	movl	$1, %edi
	callq	_exit
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"w:td"

	.comm	_debug,4,2                      ## @debug
	.comm	_trace,4,2                      ## @trace
	.comm	_optarg,4,2                     ## @optarg
	.comm	_width,4,2                      ## @width
	.comm	_DWIDTH,4,2                     ## @DWIDTH
L_.str.1:                               ## @.str.1
	.asciz	"illegal argument for -w option"

	.comm	_optind,8,3                     ## @optind
	.comm	_i,4,2                          ## @i
	.comm	_j,8,3                          ## @j
	.comm	_print,8,3                      ## @print
	.comm	_message,8,3                    ## @message
L_.str.2:                               ## @.str.2
	.asciz	"malloc"

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

	.comm	_nchars,4,2                     ## @nchars
	.comm	_MAXMSG,8,3                     ## @MAXMSG
	.comm	_stderr,4,2                     ## @stderr
L_.str.4:                               ## @.str.4
	.asciz	"Message: "

	.comm	_stdin,4,2                      ## @stdin
L_.str.6:                               ## @.str.6
	.asciz	"%4d,   "

	.comm	_asc_ptr,8,3                    ## @asc_ptr
L_.str.9:                               ## @.str.9
	.asciz	"/*          "

L_.str.10:                              ## @.str.10
	.asciz	" %3d  "

	.comm	_NBYTES,4,2                     ## @NBYTES
L_.str.12:                              ## @.str.12
	.asciz	"/* %4d */  "

	.comm	_data_table,8,3                 ## @data_table
	.comm	_x,4,2                          ## @x
L_.str.13:                              ## @.str.13
	.asciz	" %3d, "

	.comm	_NCHARS,8,3                     ## @NCHARS
L_.str.15:                              ## @.str.15
	.asciz	"the character '%c' is not in my character set"

L_.str.16:                              ## @.str.16
	.asciz	"Message '%s' is OK\n"

L_.str.17:                              ## @.str.17
	.asciz	"Char #%d: %c\n"

	.comm	_line,8,3                       ## @line
	.comm	_pc,4,2                         ## @pc
	.comm	_term,4,2                       ## @term
	.comm	_max,4,2                        ## @max
	.comm	_linen,4,2                      ## @linen
L_.str.18:                              ## @.str.18
	.asciz	"bad pc: %d\n"

L_.str.19:                              ## @.str.19
	.asciz	"pc=%d, term=%d, max=%d, linen=%d, x=%d\n"

	.comm	_y,4,2                          ## @y
L_.str.20:                              ## @.str.20
	.asciz	"x=%d, y=%d, max=%d\n"

L_str:                                  ## @str
	.asciz	"const int asc_ptr[NCHARS] = {"

L_str.21:                               ## @str.21
	.asciz	"};\nconst unsigned char data_table[NBYTES] = {"

L_str.22:                               ## @str.22
	.asciz	"*/"

L_str.23:                               ## @str.23
	.asciz	"};"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #144
	.cfi_def_cfa_offset 144
	stp	x28, x27, [sp, #48]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #64]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #80]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #96]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #112]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #128]            ; 16-byte Folded Spill
	add	x29, sp, #128
	.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	x19, x1
	mov	x20, x0
Lloh0:
	adrp	x28, _debug@GOTPAGE
Lloh1:
	ldr	x28, [x28, _debug@GOTPAGEOFF]
	mov	w23, #1
Lloh2:
	adrp	x26, _trace@GOTPAGE
Lloh3:
	ldr	x26, [x26, _trace@GOTPAGEOFF]
Lloh4:
	adrp	x21, l_.str@PAGE
Lloh5:
	add	x21, x21, l_.str@PAGEOFF
Lloh6:
	adrp	x25, _optarg@GOTPAGE
Lloh7:
	ldr	x25, [x25, _optarg@GOTPAGEOFF]
Lloh8:
	adrp	x27, _width@GOTPAGE
Lloh9:
	ldr	x27, [x27, _width@GOTPAGEOFF]
Lloh10:
	adrp	x24, _DWIDTH@GOTPAGE
Lloh11:
	ldr	x24, [x24, _DWIDTH@GOTPAGEOFF]
Lloh12:
	adrp	x22, l_.str.1@PAGE
Lloh13:
	add	x22, x22, l_.str.1@PAGEOFF
	b	LBB0_3
LBB0_1:                                 ;   in Loop: Header=BB0_3 Depth=1
	cmn	w0, #1
	b.eq	LBB0_11
LBB0_2:                                 ;   in Loop: Header=BB0_3 Depth=1
	bl	_usage
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	mov	x0, x20
	mov	x1, x19
	mov	x2, x21
	bl	_getopt
	cmp	w0, #115
	b.le	LBB0_8
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	cmp	w0, #116
	b.eq	LBB0_10
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	cmp	w0, #119
	b.ne	LBB0_2
; %bb.6:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	w0, [x25]
	bl	_atoi
	str	w0, [x27]
	ldr	w8, [x24]
	cmp	w0, #1
	ccmp	w0, w8, #0, ge
	b.le	LBB0_3
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w0, #1
	mov	x1, x22
	bl	_errx
	b	LBB0_3
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	cmp	w0, #100
	b.ne	LBB0_1
; %bb.9:                                ;   in Loop: Header=BB0_3 Depth=1
	str	w23, [x28]
	b	LBB0_3
LBB0_10:                                ;   in Loop: Header=BB0_3 Depth=1
	str	w23, [x26]
	b	LBB0_3
LBB0_11:
Lloh14:
	adrp	x8, _optind@GOTPAGE
Lloh15:
	ldr	x8, [x8, _optind@GOTPAGEOFF]
Lloh16:
	ldr	x23, [x8]
Lloh17:
	adrp	x22, _i@GOTPAGE
Lloh18:
	ldr	x22, [x22, _i@GOTPAGEOFF]
	add	x26, x19, x23, lsl #3
	str	wzr, [x22]
	ldr	w8, [x27]
Lloh19:
	adrp	x25, _j@GOTPAGE
Lloh20:
	ldr	x25, [x25, _j@GOTPAGEOFF]
	cmp	w8, #1
	b.lt	LBB0_15
; %bb.12:
	mov	w10, #0
Lloh21:
	adrp	x9, _print@GOTPAGE
Lloh22:
	ldr	x9, [x9, _print@GOTPAGEOFF]
Lloh23:
	ldr	x9, [x9]
	mov	w11, #1
LBB0_13:                                ; =>This Inner Loop Header: Depth=1
	ldr	w12, [x24]
	mul	w10, w12, w10
	sdiv	w12, w10, w8
	str	w11, [x9, w12, sxtw #2]
	ldr	w8, [x22]
	add	w10, w8, #1
	str	w10, [x22]
	ldr	w8, [x27]
	cmp	w10, w8
	b.lt	LBB0_13
; %bb.14:
	sxtw	x8, w12
	str	x8, [x25]
LBB0_15:
	ldr	x0, [x26]
Lloh24:
	adrp	x27, _message@GOTPAGE
Lloh25:
	ldr	x27, [x27, _message@GOTPAGEOFF]
	cbnz	x0, LBB0_20
; %bb.16:
Lloh26:
	adrp	x19, _MAXMSG@GOTPAGE
Lloh27:
	ldr	x19, [x19, _MAXMSG@GOTPAGEOFF]
	ldr	x0, [x19]
	bl	_malloc
	str	x0, [x27]
	cbnz	x0, LBB0_18
; %bb.17:
Lloh28:
	adrp	x1, l_.str.2@PAGE
Lloh29:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_18:
Lloh30:
	adrp	x8, _stderr@GOTPAGE
Lloh31:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh32:
	ldr	w0, [x8]
Lloh33:
	adrp	x1, l_.str.4@PAGE
Lloh34:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_fprintf
	ldr	x0, [x27]
	ldr	x1, [x19]
Lloh35:
	adrp	x8, _stdin@GOTPAGE
Lloh36:
	ldr	x8, [x8, _stdin@GOTPAGEOFF]
Lloh37:
	ldr	w2, [x8]
	bl	_fgets
Lloh38:
	adrp	x21, _trace@GOTPAGE
Lloh39:
	ldr	x21, [x21, _trace@GOTPAGEOFF]
Lloh40:
	adrp	x23, _nchars@GOTPAGE
Lloh41:
	ldr	x23, [x23, _nchars@GOTPAGEOFF]
	cbnz	x0, LBB0_29
; %bb.19:
	str	wzr, [x23]
	ldr	x8, [x27]
	strb	wzr, [x8]
	b	LBB0_31
LBB0_20:
	mov	x21, #0
	sub	w20, w20, w23
	str	wzr, [x22]
	str	xzr, [x25]
	cmp	w20, #1
	b.lt	LBB0_23
LBB0_21:                                ; =>This Inner Loop Header: Depth=1
	bl	_strlen
	add	w8, w0, #1
	ldr	x9, [x25]
	add	x21, x9, w8, sxtw
	str	x21, [x25]
	ldr	w8, [x22]
	add	w8, w8, #1
	str	w8, [x22]
	cmp	w8, w20
	b.ge	LBB0_23
; %bb.22:                               ;   in Loop: Header=BB0_21 Depth=1
	ldr	x0, [x26, w8, sxtw #3]
	b	LBB0_21
LBB0_23:
	mov	x0, x21
	bl	_malloc
	str	x0, [x27]
	cbnz	x0, LBB0_25
; %bb.24:
Lloh42:
	adrp	x1, l_.str.2@PAGE
Lloh43:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
	ldr	x0, [x27]
	ldr	x21, [x25]
LBB0_25:
	ldr	x1, [x26]
	mov	x2, x21
	bl	_strlcpy
	ldr	x8, [x26, #8]
	cbz	x8, LBB0_28
; %bb.26:
	add	x8, x19, x23, lsl #3
	add	x20, x8, #16
Lloh44:
	adrp	x19, l_.str.3@PAGE
Lloh45:
	add	x19, x19, l_.str.3@PAGEOFF
LBB0_27:                                ; =>This Inner Loop Header: Depth=1
	ldr	x0, [x27]
	ldr	x2, [x25]
	mov	x1, x19
	bl	_strlcat
	ldr	x0, [x27]
	ldur	x1, [x20, #-8]
	ldr	x2, [x25]
	bl	_strlcat
	ldr	x8, [x20], #8
	cbnz	x8, LBB0_27
LBB0_28:
	ldr	x0, [x27]
	bl	_strlen
Lloh46:
	adrp	x23, _nchars@GOTPAGE
Lloh47:
	ldr	x23, [x23, _nchars@GOTPAGEOFF]
	str	w0, [x23]
Lloh48:
	adrp	x21, _trace@GOTPAGE
Lloh49:
	ldr	x21, [x21, _trace@GOTPAGEOFF]
	b	LBB0_31
LBB0_29:
	ldr	x0, [x27]
	bl	_strlen
                                        ; kill: def $w0 killed $w0 def $x0
	str	w0, [x23]
	ldr	x8, [x27]
	sxtw	x9, w0
	sub	x9, x9, #1
	ldrb	w10, [x8, x9]
	cmp	w10, #10
	b.ne	LBB0_31
; %bb.30:
	str	w9, [x23]
	strb	wzr, [x8, x9]
LBB0_31:
	ldr	w8, [x28]
Lloh50:
	adrp	x28, _asc_ptr@GOTPAGE
Lloh51:
	ldr	x28, [x28, _asc_ptr@GOTPAGEOFF]
	cbz	w8, LBB0_44
; %bb.32:
Lloh52:
	adrp	x0, l_str@PAGE
Lloh53:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
	mov	w8, #0
	str	wzr, [x22]
Lloh54:
	adrp	x19, l_.str.6@PAGE
Lloh55:
	add	x19, x19, l_.str.6@PAGEOFF
	b	LBB0_34
LBB0_33:                                ;   in Loop: Header=BB0_34 Depth=1
	str	w8, [x22]
	cmp	w9, #127
	b.ge	LBB0_36
LBB0_34:                                ; =>This Inner Loop Header: Depth=1
	ldr	x9, [x28]
	ldr	w8, [x9, w8, sxtw #2]
	str	x8, [sp]
	mov	x0, x19
	bl	_printf
	ldr	w9, [x22]
	add	w8, w9, #1
	tst	w8, #0x7
	b.ne	LBB0_33
; %bb.35:                               ;   in Loop: Header=BB0_34 Depth=1
	mov	w0, #10
	bl	_putchar
	ldr	w9, [x22]
	add	w8, w9, #1
	b	LBB0_33
LBB0_36:
Lloh56:
	adrp	x0, l_str.21@PAGE
Lloh57:
	add	x0, x0, l_str.21@PAGEOFF
	bl	_puts
Lloh58:
	adrp	x0, l_.str.9@PAGE
Lloh59:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_printf
	mov	w8, #0
	str	wzr, [x22]
Lloh60:
	adrp	x19, l_.str.10@PAGE
Lloh61:
	add	x19, x19, l_.str.10@PAGEOFF
LBB0_37:                                ; =>This Inner Loop Header: Depth=1
	str	x8, [sp]
	mov	x0, x19
	bl	_printf
	ldr	w9, [x22]
	add	w8, w9, #1
	str	w8, [x22]
	cmp	w9, #9
	b.lt	LBB0_37
; %bb.38:
Lloh62:
	adrp	x0, l_str.22@PAGE
Lloh63:
	add	x0, x0, l_str.22@PAGEOFF
	bl	_puts
	str	wzr, [x22]
Lloh64:
	adrp	x21, _NBYTES@GOTPAGE
Lloh65:
	ldr	x21, [x21, _NBYTES@GOTPAGEOFF]
	ldr	w8, [x21]
	cmp	w8, #1
	b.lt	LBB0_43
; %bb.39:
	mov	w8, #0
Lloh66:
	adrp	x19, l_.str.12@PAGE
Lloh67:
	add	x19, x19, l_.str.12@PAGEOFF
Lloh68:
	adrp	x23, _data_table@GOTPAGE
Lloh69:
	ldr	x23, [x23, _data_table@GOTPAGEOFF]
Lloh70:
	adrp	x26, _x@GOTPAGE
Lloh71:
	ldr	x26, [x26, _x@GOTPAGEOFF]
Lloh72:
	adrp	x20, l_.str.13@PAGE
Lloh73:
	add	x20, x20, l_.str.13@PAGEOFF
	b	LBB0_41
LBB0_40:                                ;   in Loop: Header=BB0_41 Depth=1
	mov	w0, #10
	bl	_putchar
	ldr	w8, [x22]
	add	w8, w8, #10
	str	w8, [x22]
	ldr	w9, [x21]
	cmp	w8, w9
	b.ge	LBB0_43
LBB0_41:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_42 Depth 2
	str	x8, [sp]
	mov	x0, x19
	bl	_printf
	ldrsw	x8, [x22]
	str	x8, [x25]
	cmn	w8, #11
	b.hi	LBB0_40
LBB0_42:                                ;   Parent Loop BB0_41 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x9, [x23]
	lsl	x8, x8, #2
	ldrb	w8, [x9, x8]
	str	w8, [x26]
	str	x8, [sp]
	mov	x0, x20
	bl	_printf
	ldr	x8, [x25]
	add	x8, x8, #1
	str	x8, [x25]
	ldrsw	x9, [x22]
	add	x9, x9, #10
	cmp	x8, x9
	b.lo	LBB0_42
	b	LBB0_40
LBB0_43:
Lloh74:
	adrp	x0, l_str.23@PAGE
Lloh75:
	add	x0, x0, l_str.23@PAGEOFF
	bl	_puts
Lloh76:
	adrp	x21, _trace@GOTPAGE
Lloh77:
	ldr	x21, [x21, _trace@GOTPAGEOFF]
Lloh78:
	adrp	x23, _nchars@GOTPAGE
Lloh79:
	ldr	x23, [x23, _nchars@GOTPAGEOFF]
LBB0_44:
	str	xzr, [x25]
	str	wzr, [x22]
	ldr	w8, [x23]
	cmp	w8, #1
	b.lt	LBB0_51
; %bb.45:
	mov	x9, #0
	mov	w10, #0
Lloh80:
	adrp	x20, _NCHARS@GOTPAGE
Lloh81:
	ldr	x20, [x20, _NCHARS@GOTPAGEOFF]
Lloh82:
	adrp	x19, l_.str.15@PAGE
Lloh83:
	add	x19, x19, l_.str.15@PAGEOFF
	b	LBB0_48
LBB0_46:                                ;   in Loop: Header=BB0_48 Depth=1
	mov	x0, x19
                                        ; kill: def $w1 killed $w1 killed $x1
	bl	_warnx
	ldr	x8, [x25]
	add	x9, x8, #1
	str	x9, [x25]
	ldr	w10, [x22]
	ldr	w8, [x23]
LBB0_47:                                ;   in Loop: Header=BB0_48 Depth=1
	add	w10, w10, #1
	str	w10, [x22]
	cmp	w10, w8
	b.ge	LBB0_50
LBB0_48:                                ; =>This Inner Loop Header: Depth=1
	ldr	x11, [x27]
	ldrsb	x1, [x11, w10, sxtw]
	ldr	x11, [x20]
	cmp	x11, x1
	b.le	LBB0_46
; %bb.49:                               ;   in Loop: Header=BB0_48 Depth=1
	ldr	x11, [x28]
	ldr	w11, [x11, x1, lsl #2]
	cbnz	w11, LBB0_47
	b	LBB0_46
LBB0_50:
	cbnz	x9, LBB0_91
LBB0_51:
	ldr	w9, [x21]
	cbz	w9, LBB0_53
; %bb.52:
	ldr	x8, [x27]
	str	x8, [sp]
Lloh84:
	adrp	x0, l_.str.16@PAGE
Lloh85:
	add	x0, x0, l_.str.16@PAGEOFF
	bl	_printf
	ldr	w8, [x23]
LBB0_53:
	str	wzr, [x22]
	cmp	w8, #1
	b.lt	LBB0_90
; %bb.54:
	mov	w8, #0
Lloh86:
	adrp	x11, _pc@GOTPAGE
Lloh87:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
Lloh88:
	adrp	x27, _max@GOTPAGE
Lloh89:
	ldr	x27, [x27, _max@GOTPAGEOFF]
	mov	w20, #32
	mov	w26, #35
Lloh90:
	adrp	x28, _linen@GOTPAGE
Lloh91:
	ldr	x28, [x28, _linen@GOTPAGEOFF]
Lloh92:
	adrp	x23, _x@GOTPAGE
Lloh93:
	ldr	x23, [x23, _x@GOTPAGEOFF]
Lloh94:
	adrp	x19, _line@GOTPAGE
Lloh95:
	ldr	x19, [x19, _line@GOTPAGEOFF]
Lloh96:
	adrp	x21, _print@GOTPAGE
Lloh97:
	ldr	x21, [x21, _print@GOTPAGEOFF]
	b	LBB0_56
LBB0_55:                                ;   in Loop: Header=BB0_56 Depth=1
	ldr	w8, [x22]
	add	w8, w8, #1
	str	w8, [x22]
Lloh98:
	adrp	x9, _nchars@GOTPAGE
Lloh99:
	ldr	x9, [x9, _nchars@GOTPAGEOFF]
Lloh100:
	ldr	w9, [x9]
	cmp	w8, w9
	b.ge	LBB0_90
LBB0_56:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_60 Depth 2
                                        ;     Child Loop BB0_62 Depth 2
                                        ;       Child Loop BB0_78 Depth 3
                                        ;       Child Loop BB0_71 Depth 3
                                        ;         Child Loop BB0_75 Depth 4
                                        ;       Child Loop BB0_82 Depth 3
Lloh101:
	adrp	x9, _trace@GOTPAGE
Lloh102:
	ldr	x9, [x9, _trace@GOTPAGEOFF]
Lloh103:
	ldr	w9, [x9]
	cbz	w9, LBB0_58
; %bb.57:                               ;   in Loop: Header=BB0_56 Depth=1
Lloh104:
	adrp	x9, _message@GOTPAGE
Lloh105:
	ldr	x9, [x9, _message@GOTPAGEOFF]
Lloh106:
	ldr	x9, [x9]
	ldrsb	x9, [x9, w8, sxtw]
	stp	x8, x9, [sp]
Lloh107:
	adrp	x0, l_.str.17@PAGE
Lloh108:
	add	x0, x0, l_.str.17@PAGEOFF
	bl	_printf
Lloh109:
	adrp	x11, _pc@GOTPAGE
Lloh110:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
LBB0_58:                                ;   in Loop: Header=BB0_56 Depth=1
	str	xzr, [x25]
	ldr	w8, [x24]
	cbz	w8, LBB0_61
; %bb.59:                               ;   in Loop: Header=BB0_56 Depth=1
	mov	x8, #0
LBB0_60:                                ;   Parent Loop BB0_56 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x9, [x19]
	strb	w20, [x9, x8]
	ldr	x8, [x25]
	add	x8, x8, #1
	str	x8, [x25]
	ldrsw	x9, [x24]
	cmp	x8, x9
	b.lo	LBB0_60
LBB0_61:                                ;   in Loop: Header=BB0_56 Depth=1
Lloh111:
	adrp	x8, _asc_ptr@GOTPAGE
Lloh112:
	ldr	x8, [x8, _asc_ptr@GOTPAGEOFF]
Lloh113:
	ldr	x8, [x8]
Lloh114:
	adrp	x9, _message@GOTPAGE
Lloh115:
	ldr	x9, [x9, _message@GOTPAGEOFF]
Lloh116:
	ldr	x9, [x9]
	ldrsw	x10, [x22]
	ldrsb	x9, [x9, x10]
	ldr	w9, [x8, x9, lsl #2]
	str	w9, [x11]
Lloh117:
	adrp	x8, _term@GOTPAGE
Lloh118:
	ldr	x8, [x8, _term@GOTPAGEOFF]
Lloh119:
	str	wzr, [x8]
	str	wzr, [x27]
	str	wzr, [x28]
	tbnz	w9, #31, LBB0_89
LBB0_62:                                ;   Parent Loop BB0_56 Depth=1
                                        ; =>  This Loop Header: Depth=2
                                        ;       Child Loop BB0_78 Depth 3
                                        ;       Child Loop BB0_71 Depth 3
                                        ;         Child Loop BB0_75 Depth 4
                                        ;       Child Loop BB0_82 Depth 3
Lloh120:
	adrp	x8, _NBYTES@GOTPAGE
Lloh121:
	ldr	x8, [x8, _NBYTES@GOTPAGEOFF]
Lloh122:
	ldr	w8, [x8]
	cmp	w9, w8
	b.gt	LBB0_89
; %bb.63:                               ;   in Loop: Header=BB0_62 Depth=2
Lloh123:
	adrp	x8, _data_table@GOTPAGE
Lloh124:
	ldr	x8, [x8, _data_table@GOTPAGEOFF]
Lloh125:
	ldr	x8, [x8]
	mov	w10, w9
	lsl	x10, x10, #2
	ldrb	w8, [x8, x10]
	str	w8, [x23]
Lloh126:
	adrp	x10, _trace@GOTPAGE
Lloh127:
	ldr	x10, [x10, _trace@GOTPAGEOFF]
Lloh128:
	ldr	w10, [x10]
	cbz	w10, LBB0_65
; %bb.64:                               ;   in Loop: Header=BB0_62 Depth=2
	ldr	w10, [x27]
	ldr	w11, [x28]
	stp	x11, x8, [sp, #24]
	stp	xzr, x10, [sp, #8]
	str	x9, [sp]
Lloh129:
	adrp	x0, l_.str.19@PAGE
Lloh130:
	add	x0, x0, l_.str.19@PAGEOFF
	bl	_printf
Lloh131:
	adrp	x11, _pc@GOTPAGE
Lloh132:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
	ldr	w8, [x23]
LBB0_65:                                ;   in Loop: Header=BB0_62 Depth=2
	cmp	w8, #128
	b.lt	LBB0_77
; %bb.66:                               ;   in Loop: Header=BB0_62 Depth=2
	cmp	w8, #193
	b.lo	LBB0_68
; %bb.67:                               ;   in Loop: Header=BB0_62 Depth=2
Lloh133:
	adrp	x10, _term@GOTPAGE
Lloh134:
	ldr	x10, [x10, _term@GOTPAGEOFF]
	ldr	w9, [x10]
	add	w9, w9, #1
	str	w9, [x10]
LBB0_68:                                ;   in Loop: Header=BB0_62 Depth=2
	and	w9, w8, #0x3f
	sub	w8, w9, #1
	b	LBB0_71
LBB0_69:                                ;   in Loop: Header=BB0_71 Depth=3
	mov	w0, #10
	bl	_putchar
	ldr	w8, [x23]
LBB0_70:                                ;   in Loop: Header=BB0_71 Depth=3
	mov	x9, x8
	sub	w8, w8, #1
LBB0_71:                                ;   Parent Loop BB0_56 Depth=1
                                        ;     Parent Loop BB0_62 Depth=2
                                        ; =>    This Loop Header: Depth=3
                                        ;         Child Loop BB0_75 Depth 4
	str	w8, [x23]
	cbz	w9, LBB0_80
; %bb.72:                               ;   in Loop: Header=BB0_71 Depth=3
	ldr	x9, [x21]
	ldrsw	x10, [x28]
	add	w11, w10, #1
	str	w11, [x28]
	ldr	w10, [x9, x10, lsl #2]
	cbz	w10, LBB0_70
; %bb.73:                               ;   in Loop: Header=BB0_71 Depth=3
	mov	x8, #0
	str	xzr, [x25]
	ldr	w9, [x9, x8, lsl #2]
	cbz	w9, LBB0_75
LBB0_74:                                ;   in Loop: Header=BB0_71 Depth=3
	ldr	x9, [x19]
	ldrsb	w0, [x9, x8]
	bl	_putchar
	ldr	x8, [x25]
LBB0_75:                                ;   Parent Loop BB0_56 Depth=1
                                        ;     Parent Loop BB0_62 Depth=2
                                        ;       Parent Loop BB0_71 Depth=3
                                        ; =>      This Inner Loop Header: Depth=4
	add	x8, x8, #1
	str	x8, [x25]
	ldrsw	x9, [x27]
	cmp	x8, x9
	b.hi	LBB0_69
; %bb.76:                               ;   in Loop: Header=BB0_75 Depth=4
	ldr	x9, [x21]
	ldr	w9, [x9, x8, lsl #2]
	cbnz	w9, LBB0_74
	b	LBB0_75
LBB0_77:                                ;   in Loop: Header=BB0_62 Depth=2
Lloh135:
	adrp	x9, _data_table@GOTPAGE
Lloh136:
	ldr	x9, [x9, _data_table@GOTPAGEOFF]
Lloh137:
	ldr	x9, [x9]
	ldr	w10, [x11]
	add	w11, w10, #1
	ldr	w11, [x9, w11, sxtw #2]
Lloh138:
	adrp	x9, _y@GOTPAGE
Lloh139:
	ldr	x9, [x9, _y@GOTPAGEOFF]
Lloh140:
	str	w11, [x9]
	add	w9, w11, w8
	str	w9, [x27]
	cmp	w11, #1
	b.lt	LBB0_84
LBB0_78:                                ;   Parent Loop BB0_56 Depth=1
                                        ;     Parent Loop BB0_62 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	ldr	x9, [x19]
	add	w10, w8, #1
	str	w10, [x23]
	strb	w26, [x9, w8, sxtw]
	ldr	w8, [x23]
	ldr	w9, [x27]
	cmp	w8, w9
	b.lt	LBB0_78
; %bb.79:                               ;   in Loop: Header=BB0_62 Depth=2
Lloh141:
	adrp	x11, _pc@GOTPAGE
Lloh142:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
	ldr	w10, [x11]
	b	LBB0_85
LBB0_80:                                ;   in Loop: Header=BB0_62 Depth=2
	str	xzr, [x25]
	ldr	w8, [x24]
	cbz	w8, LBB0_83
; %bb.81:                               ;   in Loop: Header=BB0_62 Depth=2
	mov	x8, #0
LBB0_82:                                ;   Parent Loop BB0_56 Depth=1
                                        ;     Parent Loop BB0_62 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	ldr	x9, [x19]
	strb	w20, [x9, x8]
	ldr	x8, [x25]
	add	x8, x8, #1
	str	x8, [x25]
	ldrsw	x9, [x24]
	cmp	x8, x9
	b.lo	LBB0_82
LBB0_83:                                ;   in Loop: Header=BB0_62 Depth=2
Lloh143:
	adrp	x11, _pc@GOTPAGE
Lloh144:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
	ldr	w8, [x11]
	add	w8, w8, #1
	str	w8, [x11]
	b	LBB0_87
LBB0_84:                                ;   in Loop: Header=BB0_62 Depth=2
Lloh145:
	adrp	x11, _pc@GOTPAGE
Lloh146:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
LBB0_85:                                ;   in Loop: Header=BB0_62 Depth=2
	add	w10, w10, #2
	str	w10, [x11]
Lloh147:
	adrp	x10, _trace@GOTPAGE
Lloh148:
	ldr	x10, [x10, _trace@GOTPAGEOFF]
Lloh149:
	ldr	w10, [x10]
	cbz	w10, LBB0_87
; %bb.86:                               ;   in Loop: Header=BB0_62 Depth=2
Lloh150:
	adrp	x10, _y@GOTPAGE
Lloh151:
	ldr	x10, [x10, _y@GOTPAGEOFF]
Lloh152:
	ldr	w10, [x10]
	stp	x10, x9, [sp, #8]
                                        ; kill: def $w8 killed $w8 killed $x8 def $x8
	str	x8, [sp]
Lloh153:
	adrp	x0, l_.str.20@PAGE
Lloh154:
	add	x0, x0, l_.str.20@PAGEOFF
	bl	_printf
Lloh155:
	adrp	x11, _pc@GOTPAGE
Lloh156:
	ldr	x11, [x11, _pc@GOTPAGEOFF]
LBB0_87:                                ;   in Loop: Header=BB0_62 Depth=2
Lloh157:
	adrp	x8, _term@GOTPAGE
Lloh158:
	ldr	x8, [x8, _term@GOTPAGEOFF]
Lloh159:
	ldr	w8, [x8]
	cbnz	w8, LBB0_55
; %bb.88:                               ;   in Loop: Header=BB0_62 Depth=2
	ldr	w9, [x11]
	tbz	w9, #31, LBB0_62
LBB0_89:
                                        ; kill: def $w9 killed $w9 killed $x9 def $x9
	str	x9, [sp]
Lloh160:
	adrp	x0, l_.str.18@PAGE
Lloh161:
	add	x0, x0, l_.str.18@PAGEOFF
	bl	_printf
	mov	w0, #1
	bl	_exit
LBB0_90:
Lloh162:
	adrp	x8, _message@GOTPAGE
Lloh163:
	ldr	x8, [x8, _message@GOTPAGEOFF]
Lloh164:
	ldr	x0, [x8]
	bl	_free
	mov	w0, #0
	bl	_exit
LBB0_91:
	mov	w0, #1
	bl	_exit
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh10, Lloh11
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh40, Lloh41
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpAdd	Lloh42, Lloh43
	.loh AdrpAdd	Lloh44, Lloh45
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpAdd	Lloh54, Lloh55
	.loh AdrpAdd	Lloh52, Lloh53
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpAdd	Lloh58, Lloh59
	.loh AdrpAdd	Lloh56, Lloh57
	.loh AdrpLdrGot	Lloh64, Lloh65
	.loh AdrpAdd	Lloh62, Lloh63
	.loh AdrpAdd	Lloh72, Lloh73
	.loh AdrpLdrGot	Lloh70, Lloh71
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpAdd	Lloh66, Lloh67
	.loh AdrpLdrGot	Lloh78, Lloh79
	.loh AdrpLdrGot	Lloh76, Lloh77
	.loh AdrpAdd	Lloh74, Lloh75
	.loh AdrpAdd	Lloh82, Lloh83
	.loh AdrpLdrGot	Lloh80, Lloh81
	.loh AdrpAdd	Lloh84, Lloh85
	.loh AdrpLdrGot	Lloh96, Lloh97
	.loh AdrpLdrGot	Lloh94, Lloh95
	.loh AdrpLdrGot	Lloh92, Lloh93
	.loh AdrpLdrGot	Lloh90, Lloh91
	.loh AdrpLdrGot	Lloh88, Lloh89
	.loh AdrpLdrGot	Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh101, Lloh102, Lloh103
	.loh AdrpLdrGot	Lloh109, Lloh110
	.loh AdrpAdd	Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh104, Lloh105, Lloh106
	.loh AdrpLdrGotStr	Lloh117, Lloh118, Lloh119
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGotLdr	Lloh111, Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh122
	.loh AdrpLdrGotLdr	Lloh126, Lloh127, Lloh128
	.loh AdrpLdrGotLdr	Lloh123, Lloh124, Lloh125
	.loh AdrpLdrGot	Lloh131, Lloh132
	.loh AdrpAdd	Lloh129, Lloh130
	.loh AdrpLdrGot	Lloh133, Lloh134
	.loh AdrpLdrGotStr	Lloh138, Lloh139, Lloh140
	.loh AdrpLdrGotLdr	Lloh135, Lloh136, Lloh137
	.loh AdrpLdrGot	Lloh141, Lloh142
	.loh AdrpLdrGot	Lloh143, Lloh144
	.loh AdrpLdrGot	Lloh145, Lloh146
	.loh AdrpLdrGotLdr	Lloh147, Lloh148, Lloh149
	.loh AdrpLdrGot	Lloh155, Lloh156
	.loh AdrpAdd	Lloh153, Lloh154
	.loh AdrpLdrGotLdr	Lloh150, Lloh151, Lloh152
	.loh AdrpLdrGotLdr	Lloh157, Lloh158, Lloh159
	.loh AdrpAdd	Lloh160, Lloh161
	.loh AdrpLdrGotLdr	Lloh162, Lloh163, Lloh164
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"w:td"

	.comm	_debug,4,2                      ; @debug
	.comm	_trace,4,2                      ; @trace
	.comm	_optarg,4,2                     ; @optarg
	.comm	_width,4,2                      ; @width
	.comm	_DWIDTH,4,2                     ; @DWIDTH
l_.str.1:                               ; @.str.1
	.asciz	"illegal argument for -w option"

	.comm	_optind,8,3                     ; @optind
	.comm	_i,4,2                          ; @i
	.comm	_j,8,3                          ; @j
	.comm	_print,8,3                      ; @print
	.comm	_message,8,3                    ; @message
l_.str.2:                               ; @.str.2
	.asciz	"malloc"

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

	.comm	_nchars,4,2                     ; @nchars
	.comm	_MAXMSG,8,3                     ; @MAXMSG
	.comm	_stderr,4,2                     ; @stderr
l_.str.4:                               ; @.str.4
	.asciz	"Message: "

	.comm	_stdin,4,2                      ; @stdin
l_.str.6:                               ; @.str.6
	.asciz	"%4d,   "

	.comm	_asc_ptr,8,3                    ; @asc_ptr
l_.str.9:                               ; @.str.9
	.asciz	"/*          "

l_.str.10:                              ; @.str.10
	.asciz	" %3d  "

	.comm	_NBYTES,4,2                     ; @NBYTES
l_.str.12:                              ; @.str.12
	.asciz	"/* %4d */  "

	.comm	_data_table,8,3                 ; @data_table
	.comm	_x,4,2                          ; @x
l_.str.13:                              ; @.str.13
	.asciz	" %3d, "

	.comm	_NCHARS,8,3                     ; @NCHARS
l_.str.15:                              ; @.str.15
	.asciz	"the character '%c' is not in my character set"

l_.str.16:                              ; @.str.16
	.asciz	"Message '%s' is OK\n"

l_.str.17:                              ; @.str.17
	.asciz	"Char #%d: %c\n"

	.comm	_line,8,3                       ; @line
	.comm	_pc,4,2                         ; @pc
	.comm	_term,4,2                       ; @term
	.comm	_max,4,2                        ; @max
	.comm	_linen,4,2                      ; @linen
l_.str.18:                              ; @.str.18
	.asciz	"bad pc: %d\n"

l_.str.19:                              ; @.str.19
	.asciz	"pc=%d, term=%d, max=%d, linen=%d, x=%d\n"

	.comm	_y,4,2                          ; @y
l_.str.20:                              ; @.str.20
	.asciz	"x=%d, y=%d, max=%d\n"

l_str:                                  ; @str
	.asciz	"const int asc_ptr[NCHARS] = {"

l_str.21:                               ; @str.21
	.asciz	"};\nconst unsigned char data_table[NBYTES] = {"

l_str.22:                               ; @str.22
	.asciz	"*/"

l_str.23:                               ; @str.23
	.asciz	"};"

.subsections_via_symbols
