	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ## -- Begin function main
LCPI0_0:
	.quad	0x406fe00000000000              ## double 255
LCPI0_2:
	.quad	0x40efffe000000000              ## double 65535
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_1:
	.quad	0x40efffe000000000              ## double 65535
	.quad	0x40efffe000000000              ## double 65535
	.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
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$88, %rsp
	.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
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	(%rsi), %rax
	movq	%rax, -96(%rbp)                 ## 8-byte Spill
	movq	_FE_TONEAREST@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	callq	_fesetround
	leaq	8(%r14), %r13
	xorpd	%xmm1, %xmm1
	movapd	%xmm1, -80(%rbp)
	xorpd	%xmm0, %xmm0
	movapd	%xmm0, -112(%rbp)               ## 16-byte Spill
	movapd	%xmm1, -64(%rbp)
	cmpl	$2, %ebx
	jl	LBB0_1
## %bb.2:
	movq	(%r13), %r15
	cmpb	$45, (%r15)
	jne	LBB0_1
## %bb.3:
	movl	$0, -84(%rbp)                   ## 4-byte Folded Spill
	leaq	L_.str(%rip), %r14
	movl	$0, -88(%rbp)                   ## 4-byte Folded Spill
	xorl	%r12d, %r12d
	.p2align	4, 0x90
LBB0_5:                                 ## =>This Inner Loop Header: Depth=1
	incq	%r15
	movq	%r15, %rdi
	movq	%r14, %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_6
## %bb.7:                               ##   in Loop: Header=BB0_5 Depth=1
	movq	%r15, %rdi
	leaq	L_.str.1(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_8
## %bb.9:                               ##   in Loop: Header=BB0_5 Depth=1
	movq	%r15, %rdi
	leaq	L_.str.2(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_10
## %bb.11:                              ##   in Loop: Header=BB0_5 Depth=1
	movq	%r15, %rdi
	leaq	L_.str.3(%rip), %rsi
	callq	_strcmp
	testq	%rax, %rax
	je	LBB0_12
## %bb.13:                              ##   in Loop: Header=BB0_5 Depth=1
	movq	-96(%rbp), %rdi                 ## 8-byte Reload
	callq	_usage
	cmpl	$2, %ebx
	ja	LBB0_4
	jmp	LBB0_15
	.p2align	4, 0x90
LBB0_6:                                 ##   in Loop: Header=BB0_5 Depth=1
	xorl	%r12d, %r12d
	cmpl	$2, %ebx
	ja	LBB0_4
	jmp	LBB0_15
	.p2align	4, 0x90
LBB0_8:                                 ##   in Loop: Header=BB0_5 Depth=1
	movl	$1, %r12d
	cmpl	$2, %ebx
	ja	LBB0_4
	jmp	LBB0_15
LBB0_10:                                ##   in Loop: Header=BB0_5 Depth=1
	movl	$0, -88(%rbp)                   ## 4-byte Folded Spill
	movl	$1, -84(%rbp)                   ## 4-byte Folded Spill
	cmpl	$2, %ebx
	ja	LBB0_4
	jmp	LBB0_15
LBB0_12:                                ##   in Loop: Header=BB0_5 Depth=1
	movl	$1, -88(%rbp)                   ## 4-byte Folded Spill
	movl	$0, -84(%rbp)                   ## 4-byte Folded Spill
	cmpl	$2, %ebx
	jbe	LBB0_15
	.p2align	4, 0x90
LBB0_4:                                 ##   in Loop: Header=BB0_5 Depth=1
	movq	8(%r13), %r15
	addq	$8, %r13
	decl	%ebx
	cmpb	$45, (%r15)
	je	LBB0_5
## %bb.16:
	leaq	-8(%r13), %r14
	jmp	LBB0_17
LBB0_1:
	movl	$0, -84(%rbp)                   ## 4-byte Folded Spill
	movl	$0, -88(%rbp)                   ## 4-byte Folded Spill
	xorl	%r12d, %r12d
LBB0_17:
	addl	$-2, %ebx
	cmpl	$3, %ebx
	ja	LBB0_15
## %bb.18:
	movl	$1, %edx
	xorpd	%xmm0, %xmm0
	leaq	LJTI0_0(%rip), %rax
	movslq	(%rax,%rbx,4), %rcx
	addq	%rax, %rcx
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	movl	%r12d, %ebx
	xorl	%r12d, %r12d
	jmpq	*%rcx
LBB0_19:
	movq	32(%r14), %rsi
	movq	%r15, %rdi
	movl	%ebx, %edx
	callq	_component
	movsd	%xmm0, -56(%rbp)
	movl	$2, %edx
LBB0_20:
	movapd	%xmm0, -128(%rbp)               ## 16-byte Spill
	movq	24(%r14), %rsi
	movq	%r15, %rdi
	movl	%edx, %r12d
	movl	%ebx, %edx
	callq	_component
	movsd	%xmm0, -64(%rbp)
	unpcklpd	-128(%rbp), %xmm0               ## 16-byte Folded Reload
                                        ## xmm0 = xmm0[0],mem[0]
	movapd	%xmm0, -112(%rbp)               ## 16-byte Spill
                                        ## kill: def $r12d killed $r12d def $r12
LBB0_21:
	movq	16(%r14), %rsi
	movq	%r15, %rdi
	movl	%ebx, %edx
	callq	_component
	movsd	%xmm0, -72(%rbp)
	incl	%r12d
LBB0_22:
	movapd	%xmm0, -128(%rbp)               ## 16-byte Spill
	movq	(%r13), %rsi
	movq	%r15, %rdi
	movl	%ebx, %edx
	callq	_component
	movsd	%xmm0, -80(%rbp)
	incl	%r12d
	unpcklpd	-128(%rbp), %xmm0               ## 16-byte Folded Reload
                                        ## xmm0 = xmm0[0],mem[0]
	movl	%ebx, %r13d
	testl	%r13d, %r13d
	je	LBB0_24
LBB0_28:
	movl	%r12d, %eax
	andl	$1, %eax
	cmpl	$1, %eax
	movl	%r12d, %r14d
	sbbl	$0, %r14d
	testl	%r14d, %r14d
	jle	LBB0_32
## %bb.29:
	divsd	LCPI0_0(%rip), %xmm0
	callq	_linear_from_sRGB
	movsd	%xmm0, -80(%rbp)
	cmpl	$1, %r14d
	je	LBB0_32
## %bb.30:
	movl	%r14d, %r15d
	movl	$1, %ebx
	.p2align	4, 0x90
LBB0_31:                                ## =>This Inner Loop Header: Depth=1
	movsd	-80(%rbp,%rbx,8), %xmm0         ## xmm0 = mem[0],zero
	divsd	LCPI0_0(%rip), %xmm0
	callq	_linear_from_sRGB
	movsd	%xmm0, -80(%rbp,%rbx,8)
	incq	%rbx
	cmpq	%rbx, %r15
	jne	LBB0_31
LBB0_32:
	testb	$1, %r12b
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	jne	LBB0_46
## %bb.33:
	movslq	%r14d, %rax
	movsd	-80(%rbp,%rax,8), %xmm0         ## xmm0 = mem[0],zero
	divsd	LCPI0_0(%rip), %xmm0
	movsd	%xmm0, -80(%rbp,%rax,8)
	jmp	LBB0_46
LBB0_15:
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	movq	%r15, %rdi
	callq	_usage
	xorpd	%xmm0, %xmm0
	xorpd	%xmm1, %xmm1
	movapd	%xmm1, -112(%rbp)               ## 16-byte Spill
	movl	%r12d, %r13d
	xorl	%r12d, %r12d
	testl	%r13d, %r13d
	jne	LBB0_28
LBB0_24:
	movapd	LCPI0_1(%rip), %xmm1            ## xmm1 = [6.5535E+4,6.5535E+4]
	divpd	%xmm1, %xmm0
	movapd	%xmm0, -80(%rbp)
	movapd	-112(%rbp), %xmm2               ## 16-byte Reload
	divpd	%xmm1, %xmm2
	movapd	%xmm2, -64(%rbp)
	testb	$1, %r12b
	jne	LBB0_46
## %bb.25:
	leal	-1(%r12), %eax
	movl	%r12d, %ecx
	movsd	-88(%rbp,%rcx,8), %xmm1         ## xmm1 = mem[0],zero
	xorpd	%xmm2, %xmm2
	ucomisd	%xmm2, %xmm1
	jbe	LBB0_26
## %bb.34:
	cmpl	$2, %r12d
	jb	LBB0_46
## %bb.35:
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -80(%rbp)
	cmpl	$1, %eax
	je	LBB0_46
## %bb.36:
	movl	%eax, %eax
	leaq	-1(%rax), %rcx
	movl	$1, %edx
	cmpq	$2, %rcx
	jb	LBB0_45
## %bb.37:
	movq	%rcx, %rdx
	andq	$-2, %rdx
	movddup	%xmm1, %xmm0                    ## xmm0 = xmm1[0,0]
	leaq	-2(%rdx), %rsi
	movq	%rsi, %rbx
	shrq	%rbx
	incq	%rbx
	testq	%rsi, %rsi
	je	LBB0_38
## %bb.39:
	movq	%rbx, %rdi
	andq	$-2, %rdi
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_40:                                ## =>This Inner Loop Header: Depth=1
	movupd	-72(%rbp,%rsi,8), %xmm2
	movupd	-56(%rbp,%rsi,8), %xmm3
	divpd	%xmm0, %xmm2
	movupd	%xmm2, -72(%rbp,%rsi,8)
	divpd	%xmm0, %xmm3
	movupd	%xmm3, -56(%rbp,%rsi,8)
	addq	$4, %rsi
	addq	$-2, %rdi
	jne	LBB0_40
	jmp	LBB0_41
LBB0_26:
	cmpl	$2, %r12d
	jb	LBB0_46
## %bb.27:
	movl	%eax, %edx
	shlq	$3, %rdx
	leaq	L_.memset_pattern(%rip), %rsi
	leaq	-80(%rbp), %rdi
	callq	_memset_pattern16
	jmp	LBB0_46
LBB0_38:
	xorl	%esi, %esi
LBB0_41:
	testb	$1, %bl
	je	LBB0_43
## %bb.42:
	shlq	$3, %rsi
	orq	$8, %rsi
	movupd	-80(%rbp,%rsi), %xmm2
	divpd	%xmm0, %xmm2
	movupd	%xmm2, -80(%rbp,%rsi)
LBB0_43:
	cmpq	%rdx, %rcx
	movq	-96(%rbp), %r15                 ## 8-byte Reload
	je	LBB0_46
## %bb.44:
	orq	$1, %rcx
	movq	%rcx, %rdx
	.p2align	4, 0x90
LBB0_45:                                ## =>This Inner Loop Header: Depth=1
	movsd	-80(%rbp,%rdx,8), %xmm0         ## xmm0 = mem[0],zero
	divsd	%xmm1, %xmm0
	movsd	%xmm0, -80(%rbp,%rdx,8)
	incq	%rdx
	cmpq	%rdx, %rax
	jne	LBB0_45
LBB0_46:
	cmpl	$0, -84(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_50
## %bb.47:
	cmpl	$2, %r12d
	jg	LBB0_49
## %bb.48:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.4(%rip), %rsi
	movq	%r15, %rdx
	movl	%r12d, %ecx
	callq	_fprintf
	movq	%r15, %rdi
	callq	_usage
LBB0_49:
	movsd	-80(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	-72(%rbp), %xmm1                ## xmm1 = mem[0],zero
	movsd	-64(%rbp), %xmm2                ## xmm2 = mem[0],zero
	callq	_YfromRGB
	movsd	%xmm0, -80(%rbp)
	addl	$-2, %r12d
LBB0_50:
	cmpl	$0, -88(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_54
## %bb.51:
	cmpl	$3, %r12d
	jl	LBB0_53
## %bb.52:
	movq	_stderr@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.5(%rip), %rsi
	movq	%r15, %rdx
	movl	%r12d, %ecx
	callq	_fprintf
	movq	%r15, %rdi
	callq	_usage
LBB0_53:
	movsd	-72(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	%xmm0, -56(%rbp)
	movddup	-80(%rbp), %xmm0                ## xmm0 = mem[0,0]
	movupd	%xmm0, -72(%rbp)
LBB0_54:
	testl	%r13d, %r13d
	je	LBB0_72
## %bb.55:
	testb	$1, %r12b
	jne	LBB0_67
## %bb.56:
	cmpl	$2, %r12d
	jl	LBB0_67
## %bb.57:
	leal	-1(%r12), %ecx
	movslq	%r12d, %rax
	movsd	-88(%rbp,%rax,8), %xmm0         ## xmm0 = mem[0],zero
	movl	%ecx, %eax
	cmpl	$4, %ecx
	jae	LBB0_59
## %bb.58:
	xorl	%ecx, %ecx
	jmp	LBB0_66
LBB0_72:
	leal	1(%r12), %r14d
	andl	$-2, %r14d
	jle	LBB0_75
## %bb.73:
	movl	%r14d, %ebx
	incq	%rbx
	decl	%r14d
	.p2align	4, 0x90
LBB0_74:                                ## =>This Inner Loop Header: Depth=1
	movl	%r14d, %r15d
	movsd	-80(%rbp,%r15,8), %xmm0         ## xmm0 = mem[0],zero
	callq	_sRGB_from_linear
	movsd	%xmm0, -80(%rbp,%r15,8)
	decq	%rbx
	decl	%r14d
	cmpq	$1, %rbx
	ja	LBB0_74
LBB0_75:
	testl	%r12d, %r12d
	jle	LBB0_84
## %bb.76:
	movsd	-80(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_0(%rip), %xmm0
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -80(%rbp)
	cmpl	$1, %r12d
	je	LBB0_81
## %bb.77:
	movsd	-72(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_0(%rip), %xmm0
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -72(%rbp)
	cmpl	$2, %r12d
	je	LBB0_81
## %bb.78:
	movsd	-64(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_0(%rip), %xmm0
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -64(%rbp)
	cmpl	$3, %r12d
	je	LBB0_81
## %bb.79:
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_0(%rip), %xmm0
	jmp	LBB0_80
LBB0_59:
	movl	%eax, %ecx
	andl	$-4, %ecx
	movddup	%xmm0, %xmm1                    ## xmm1 = xmm0[0,0]
	leaq	-4(%rcx), %rsi
	movq	%rsi, %rdx
	shrq	$2, %rdx
	incq	%rdx
	testq	%rsi, %rsi
	je	LBB0_60
## %bb.61:
	movq	%rdx, %rdi
	andq	$-2, %rdi
	xorl	%esi, %esi
	.p2align	4, 0x90
LBB0_62:                                ## =>This Inner Loop Header: Depth=1
	movapd	-80(%rbp,%rsi,8), %xmm2
	mulpd	%xmm1, %xmm2
	movapd	-64(%rbp,%rsi,8), %xmm3
	mulpd	%xmm1, %xmm3
	movapd	%xmm2, -80(%rbp,%rsi,8)
	movapd	%xmm3, -64(%rbp,%rsi,8)
	movapd	-48(%rbp,%rsi,8), %xmm2
	mulpd	%xmm1, %xmm2
	movapd	-32(%rbp,%rsi,8), %xmm3
	mulpd	%xmm1, %xmm3
	movapd	%xmm2, -48(%rbp,%rsi,8)
	movapd	%xmm3, -32(%rbp,%rsi,8)
	addq	$8, %rsi
	addq	$-2, %rdi
	jne	LBB0_62
## %bb.63:
	testb	$1, %dl
	je	LBB0_65
LBB0_64:
	movapd	%xmm1, %xmm2
	mulpd	-80(%rbp,%rsi,8), %xmm2
	movapd	-64(%rbp,%rsi,8), %xmm3
	mulpd	%xmm1, %xmm3
	movapd	%xmm2, -80(%rbp,%rsi,8)
	movapd	%xmm3, -64(%rbp,%rsi,8)
LBB0_65:
	cmpq	%rax, %rcx
	je	LBB0_67
	.p2align	4, 0x90
LBB0_66:                                ## =>This Inner Loop Header: Depth=1
	movsd	-80(%rbp,%rcx,8), %xmm1         ## xmm1 = mem[0],zero
	mulsd	%xmm0, %xmm1
	movsd	%xmm1, -80(%rbp,%rcx,8)
	incq	%rcx
	cmpq	%rcx, %rax
	jne	LBB0_66
LBB0_67:
	testl	%r12d, %r12d
	jle	LBB0_84
## %bb.68:
	movsd	-80(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_2(%rip), %xmm0
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -80(%rbp)
	cmpl	$1, %r12d
	je	LBB0_81
## %bb.69:
	movsd	-72(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_2(%rip), %xmm0
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -72(%rbp)
	cmpl	$2, %r12d
	je	LBB0_81
## %bb.70:
	movsd	-64(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_2(%rip), %xmm0
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -64(%rbp)
	cmpl	$3, %r12d
	je	LBB0_81
## %bb.71:
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	mulsd	LCPI0_2(%rip), %xmm0
LBB0_80:
	roundsd	$12, %xmm0, %xmm0
	movsd	%xmm0, -56(%rbp)
LBB0_81:
	testl	%r12d, %r12d
	jle	LBB0_84
## %bb.82:
	movl	%r12d, %r15d
	xorl	%ebx, %ebx
	leaq	L_.str.6(%rip), %r14
	.p2align	4, 0x90
LBB0_83:                                ## =>This Inner Loop Header: Depth=1
	movsd	-80(%rbp,%rbx,8), %xmm0         ## xmm0 = mem[0],zero
	movq	%r14, %rdi
	movb	$1, %al
	callq	_printf
	incq	%rbx
	cmpq	%rbx, %r15
	jne	LBB0_83
LBB0_84:
	movl	$10, %edi
	callq	_putchar
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_86
## %bb.85:
	xorl	%eax, %eax
	addq	$88, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_60:
	xorl	%esi, %esi
	testb	$1, %dl
	jne	LBB0_64
	jmp	LBB0_65
LBB0_86:
	callq	___stack_chk_fail
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_22, LBB0_22-LJTI0_0
.set L0_0_set_21, LBB0_21-LJTI0_0
.set L0_0_set_20, LBB0_20-LJTI0_0
.set L0_0_set_19, LBB0_19-LJTI0_0
LJTI0_0:
	.long	L0_0_set_22
	.long	L0_0_set_21
	.long	L0_0_set_20
	.long	L0_0_set_19
	.end_data_region
                                        ## -- End function
	.comm	_FE_TONEAREST,4,2               ## @FE_TONEAREST
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"sRGB"

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

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

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

	.comm	_stderr,4,2                     ## @stderr
L_.str.4:                               ## @.str.4
	.asciz	"%s: too few channels (%d) for -gray\n"

L_.str.5:                               ## @.str.5
	.asciz	"%s: too many channels (%d) for -color\n"

L_.str.6:                               ## @.str.6
	.asciz	" %g"

	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## @.memset_pattern
L_.memset_pattern:
	.quad	0x3ff0000000000000              ## double 1
	.quad	0x3ff0000000000000              ## double 1

.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, #192
	.cfi_def_cfa_offset 192
	stp	d11, d10, [sp, #64]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #80]               ; 16-byte Folded Spill
	stp	x28, x27, [sp, #96]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #112]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #128]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #144]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #160]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #176]            ; 16-byte Folded Spill
	add	x29, sp, #176
	.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
	.cfi_offset b8, -104
	.cfi_offset b9, -112
	.cfi_offset b10, -120
	.cfi_offset b11, -128
	mov	x23, x1
	mov	x21, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	str	x8, [sp, #56]
	mov	x22, x1
	ldr	x19, [x22], #8
Lloh3:
	adrp	x8, _FE_TONEAREST@GOTPAGE
Lloh4:
	ldr	x8, [x8, _FE_TONEAREST@GOTPAGEOFF]
Lloh5:
	ldr	w0, [x8]
	bl	_fesetround
	movi.2d	v0, #0000000000000000
	stp	q0, q0, [sp, #16]
	cmp	w21, #2
	b.lt	LBB0_14
; %bb.1:
	ldr	x8, [x22]
	ldrb	w9, [x8]
	cmp	w9, #45
	b.ne	LBB0_14
; %bb.2:
	mov	w28, #0
	mov	w27, #0
	mov	w20, #0
Lloh6:
	adrp	x25, l_.str@PAGE
Lloh7:
	add	x25, x25, l_.str@PAGEOFF
Lloh8:
	adrp	x23, l_.str.1@PAGE
Lloh9:
	add	x23, x23, l_.str.1@PAGEOFF
Lloh10:
	adrp	x24, l_.str.2@PAGE
Lloh11:
	add	x24, x24, l_.str.2@PAGEOFF
LBB0_3:                                 ; =>This Inner Loop Header: Depth=1
	add	x26, x8, #1
	mov	x0, x26
	mov	x1, x25
	bl	_strcmp
	cbz	x0, LBB0_8
; %bb.4:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x26
	mov	x1, x23
	bl	_strcmp
	cbz	x0, LBB0_9
; %bb.5:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x26
	mov	x1, x24
	bl	_strcmp
	cbz	x0, LBB0_10
; %bb.6:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x26
Lloh12:
	adrp	x1, l_.str.3@PAGE
Lloh13:
	add	x1, x1, l_.str.3@PAGEOFF
	bl	_strcmp
	cbz	x0, LBB0_11
; %bb.7:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	x0, x19
	bl	_usage
	cmp	w21, #2
	b.hi	LBB0_12
	b	LBB0_27
LBB0_8:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	w20, #0
	cmp	w21, #2
	b.hi	LBB0_12
	b	LBB0_27
LBB0_9:                                 ;   in Loop: Header=BB0_3 Depth=1
	mov	w20, #1
	cmp	w21, #2
	b.hi	LBB0_12
	b	LBB0_27
LBB0_10:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w27, #0
	mov	w28, #1
	cmp	w21, #2
	b.hi	LBB0_12
	b	LBB0_27
LBB0_11:                                ;   in Loop: Header=BB0_3 Depth=1
	mov	w28, #0
	mov	w27, #1
	cmp	w21, #2
	b.ls	LBB0_27
LBB0_12:                                ;   in Loop: Header=BB0_3 Depth=1
	ldr	x8, [x22, #8]!
	ldrb	w9, [x8]
	sub	w21, w21, #1
	cmp	w9, #45
	b.eq	LBB0_3
; %bb.13:
	sub	x23, x22, #8
	b	LBB0_15
LBB0_14:
	mov	w28, #0
	mov	w27, #0
	mov	w20, #0
LBB0_15:
	sub	w8, w21, #2
	cmp	w8, #3
	b.hi	LBB0_27
; %bb.16:
	mov	w25, #0
	mov	w21, #0
	mov	w24, #1
	movi	d8, #0000000000000000
Lloh14:
	adrp	x9, lJTI0_0@PAGE
Lloh15:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_17
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	movi	d10, #0000000000000000
	movi	d11, #0000000000000000
	movi	d9, #0000000000000000
	br	x10
LBB0_17:
	ldr	x1, [x23, #32]
	mov	x0, x19
	mov	x2, x20
	bl	_component
	fmov	d8, d0
	str	d0, [sp, #40]
	mov	w24, #2
LBB0_18:
	ldr	x1, [x23, #24]
	mov	x0, x19
	mov	x2, x20
	bl	_component
	fmov	d10, d0
	str	d0, [sp, #32]
	mov	x25, x24
LBB0_19:
	ldr	x1, [x23, #16]
	mov	x0, x19
	mov	x2, x20
	bl	_component
	fmov	d9, d0
	str	d0, [sp, #24]
	add	w21, w25, #1
	fmov	d11, d10
LBB0_20:
	ldr	x1, [x22]
	mov	x0, x19
	mov	x2, x20
	bl	_component
	str	d0, [sp, #16]
	add	w21, w21, #1
	cbz	w20, LBB0_28
LBB0_21:
	tst	w21, #0x1
	cset	w8, eq
	sub	w22, w21, w8
	cmp	w22, #1
	b.lt	LBB0_25
; %bb.22:
	mov	x8, #246290604621824
	movk	x8, #16495, lsl #48
	fmov	d1, x8
	fdiv	d0, d0, d1
	bl	_linear_from_sRGB
	str	d0, [sp, #16]
	cmp	w22, #1
	b.eq	LBB0_25
; %bb.23:
	sub	x23, x22, #1
	add	x8, sp, #16
	orr	x24, x8, #0x8
	mov	x25, #246290604621824
	movk	x25, #16495, lsl #48
LBB0_24:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x24]
	fmov	d1, x25
	fdiv	d0, d0, d1
	bl	_linear_from_sRGB
	str	d0, [x24], #8
	subs	x23, x23, #1
	b.ne	LBB0_24
LBB0_25:
	tbnz	w21, #0, LBB0_41
; %bb.26:
                                        ; kill: def $w22 killed $w22 killed $x22 def $x22
	sbfiz	x8, x22, #3, #32
	add	x9, sp, #16
	ldr	d0, [x9, x8]
	mov	x10, #246290604621824
	movk	x10, #16495, lsl #48
	fmov	d1, x10
	fdiv	d0, d0, d1
	str	d0, [x9, x8]
	b	LBB0_41
LBB0_27:
	mov	x0, x19
	bl	_usage
	mov	w21, #0
	movi	d8, #0000000000000000
	movi	d11, #0000000000000000
	movi	d9, #0000000000000000
	movi	d0, #0000000000000000
	cbnz	w20, LBB0_21
LBB0_28:
	mov	x8, #281337537757184
	movk	x8, #16623, lsl #48
	fmov	d2, x8
	fdiv	d1, d0, d2
	fdiv	d0, d9, d2
	stp	d1, d0, [sp, #16]
	fdiv	d0, d11, d2
	fdiv	d2, d8, d2
	stp	d0, d2, [sp, #32]
	tbnz	w21, #0, LBB0_41
; %bb.29:
	mov	w8, w21
	sub	x8, x8, #1
	add	x9, sp, #16
	ldr	d0, [x9, x8, lsl #3]
	fcmp	d0, #0.0
	b.le	LBB0_34
; %bb.30:
	cmp	w21, #2
	b.lo	LBB0_41
; %bb.31:
	fdiv	d1, d1, d0
	str	d1, [sp, #16]
	cmp	w8, #1
	b.eq	LBB0_41
; %bb.32:
	mov	w8, w8
	sub	x10, x8, #1
	cmp	x10, #8
	b.hs	LBB0_36
; %bb.33:
	mov	w9, #1
	b	LBB0_39
LBB0_34:
	cmp	w21, #2
	b.lo	LBB0_41
; %bb.35:
	mov	w8, w8
	lsl	x2, x8, #3
Lloh16:
	adrp	x1, l_.memset_pattern@PAGE
Lloh17:
	add	x1, x1, l_.memset_pattern@PAGEOFF
	add	x0, sp, #16
	bl	_memset_pattern16
	b	LBB0_41
LBB0_36:
	and	x11, x10, #0xfffffffffffffff8
	orr	x9, x11, #0x1
	dup.2d	v1, v0[0]
	add	x12, sp, #16
	add	x12, x12, #40
	mov	x13, x11
LBB0_37:                                ; =>This Inner Loop Header: Depth=1
	ldp	q2, q3, [x12, #-32]
	ldp	q4, q5, [x12]
	fdiv.2d	v2, v2, v1
	fdiv.2d	v3, v3, v1
	fdiv.2d	v4, v4, v1
	fdiv.2d	v5, v5, v1
	stp	q2, q3, [x12, #-32]
	stp	q4, q5, [x12], #64
	subs	x13, x13, #8
	b.ne	LBB0_37
; %bb.38:
	cmp	x10, x11
	b.eq	LBB0_41
LBB0_39:
	sub	x8, x8, x9
	add	x10, sp, #16
	add	x9, x10, x9, lsl #3
LBB0_40:                                ; =>This Inner Loop Header: Depth=1
	ldr	d1, [x9]
	fdiv	d1, d1, d0
	str	d1, [x9], #8
	subs	x8, x8, #1
	b.ne	LBB0_40
LBB0_41:
	cbz	w28, LBB0_45
; %bb.42:
	subs	w22, w21, #2
	b.gt	LBB0_44
; %bb.43:
Lloh18:
	adrp	x8, _stderr@GOTPAGE
Lloh19:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh20:
	ldr	w0, [x8]
Lloh21:
	adrp	x1, l_.str.4@PAGE
Lloh22:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x2, x19
	mov	x3, x21
	bl	_fprintf
	mov	x0, x19
	bl	_usage
LBB0_44:
	ldp	d0, d1, [sp, #16]
	ldr	d2, [sp, #32]
	bl	_YfromRGB
	str	d0, [sp, #16]
	mov	x21, x22
LBB0_45:
	cbz	w27, LBB0_49
; %bb.46:
	cmp	w21, #3
	b.lt	LBB0_48
; %bb.47:
Lloh23:
	adrp	x8, _stderr@GOTPAGE
Lloh24:
	ldr	x8, [x8, _stderr@GOTPAGEOFF]
Lloh25:
	ldr	w0, [x8]
Lloh26:
	adrp	x1, l_.str.5@PAGE
Lloh27:
	add	x1, x1, l_.str.5@PAGEOFF
	mov	x2, x19
	mov	x3, x21
	bl	_fprintf
	mov	x0, x19
	bl	_usage
LBB0_48:
	ldr	q0, [sp, #16]
	str	d0, [sp, #24]
	str	q0, [sp, #32]
LBB0_49:
	cbz	w20, LBB0_54
; %bb.50:
	tbnz	w21, #0, LBB0_66
; %bb.51:
	cmp	w21, #1
	b.le	LBB0_66
; %bb.52:
	sxtw	x8, w21
	sub	x9, x8, #1
	add	x8, sp, #16
	ldr	d0, [x8, x9, lsl #3]
	mov	w8, w9
	cmp	w9, #8
	b.hs	LBB0_61
; %bb.53:
	mov	x9, #0
	b	LBB0_64
LBB0_54:
	add	w8, w21, #1
	and	w8, w8, #0xfffffffe
	subs	w19, w8, #1
	b.lt	LBB0_57
; %bb.55:
	add	x20, x8, #1
	add	x22, sp, #16
LBB0_56:                                ; =>This Inner Loop Header: Depth=1
	mov	w8, w19
	lsl	x23, x8, #3
	ldr	d0, [x22, x23]
	bl	_sRGB_from_linear
	str	d0, [x22, x23]
	sub	x20, x20, #1
	sub	w19, w19, #1
	cmp	x20, #1
	b.hi	LBB0_56
LBB0_57:
	cmp	w21, #0
	b.le	LBB0_77
; %bb.58:
	ldr	d0, [sp, #16]
	mov	x8, #246290604621824
	movk	x8, #16495, lsl #48
	fmov	d1, x8
	fmul	d0, d0, d1
	frinti	d0, d0
	str	d0, [sp, #16]
	cmp	w21, #1
	b.eq	LBB0_72
; %bb.59:
	ldr	d0, [sp, #24]
	mov	x8, #246290604621824
	movk	x8, #16495, lsl #48
	fmov	d1, x8
	fmul	d0, d0, d1
	frinti	d0, d0
	str	d0, [sp, #24]
	cmp	w21, #2
	b.eq	LBB0_72
; %bb.60:
	ldr	d1, [sp, #32]
	mov	x8, #246290604621824
	movk	x8, #16495, lsl #48
	b	LBB0_70
LBB0_61:
	and	x9, x8, #0xfffffff8
	dup.2d	v1, v0[0]
	add	x10, sp, #16
	add	x10, x10, #32
	mov	x11, x9
LBB0_62:                                ; =>This Inner Loop Header: Depth=1
	ldp	q2, q3, [x10, #-32]
	ldp	q4, q5, [x10]
	fmul.2d	v2, v1, v2
	fmul.2d	v3, v1, v3
	fmul.2d	v4, v1, v4
	fmul.2d	v5, v5, v0[0]
	stp	q2, q3, [x10, #-32]
	stp	q4, q5, [x10], #64
	subs	x11, x11, #8
	b.ne	LBB0_62
; %bb.63:
	cmp	x9, x8
	b.eq	LBB0_66
LBB0_64:
	add	x10, sp, #16
	add	x10, x10, x9, lsl #3
	sub	x8, x8, x9
LBB0_65:                                ; =>This Inner Loop Header: Depth=1
	ldr	d1, [x10]
	fmul	d1, d0, d1
	str	d1, [x10], #8
	subs	x8, x8, #1
	b.ne	LBB0_65
LBB0_66:
	cmp	w21, #1
	b.lt	LBB0_77
; %bb.67:
	ldr	d0, [sp, #16]
	mov	x8, #281337537757184
	movk	x8, #16623, lsl #48
	fmov	d1, x8
	fmul	d0, d0, d1
	frinti	d0, d0
	str	d0, [sp, #16]
	cmp	w21, #1
	b.eq	LBB0_72
; %bb.68:
	ldr	d0, [sp, #24]
	mov	x8, #281337537757184
	movk	x8, #16623, lsl #48
	fmov	d1, x8
	fmul	d0, d0, d1
	frinti	d0, d0
	str	d0, [sp, #24]
	cmp	w21, #2
	b.eq	LBB0_72
; %bb.69:
	ldr	d1, [sp, #32]
	mov	x8, #281337537757184
	movk	x8, #16623, lsl #48
LBB0_70:
	fmov	d0, x8
	fmul	d1, d1, d0
	frinti	d1, d1
	str	d1, [sp, #32]
	cmp	w21, #3
	b.eq	LBB0_72
; %bb.71:
	ldr	d1, [sp, #40]
	fmul	d0, d1, d0
	frinti	d0, d0
	str	d0, [sp, #40]
LBB0_72:
	cmp	w21, #1
	b.lt	LBB0_77
; %bb.73:
	ldr	d0, [sp, #16]
	str	d0, [sp]
Lloh28:
	adrp	x0, l_.str.6@PAGE
Lloh29:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_printf
	cmp	w21, #1
	b.eq	LBB0_77
; %bb.74:
	ldr	d0, [sp, #24]
	str	d0, [sp]
Lloh30:
	adrp	x0, l_.str.6@PAGE
Lloh31:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_printf
	cmp	w21, #2
	b.eq	LBB0_77
; %bb.75:
	ldr	d0, [sp, #32]
	str	d0, [sp]
Lloh32:
	adrp	x0, l_.str.6@PAGE
Lloh33:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_printf
	cmp	w21, #3
	b.eq	LBB0_77
; %bb.76:
	ldr	d0, [sp, #40]
	str	d0, [sp]
Lloh34:
	adrp	x0, l_.str.6@PAGE
Lloh35:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_printf
LBB0_77:
	mov	w0, #10
	bl	_putchar
	ldr	x8, [sp, #56]
Lloh36:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh37:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_79
; %bb.78:
	mov	w0, #0
	ldp	x29, x30, [sp, #176]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #160]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #144]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #128]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #112]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #96]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #80]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #64]             ; 16-byte Folded Reload
	add	sp, sp, #192
	ret
LBB0_79:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpAdd	Lloh28, Lloh29
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpAdd	Lloh32, Lloh33
	.loh AdrpAdd	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_20-LBB0_17)>>2
	.byte	(LBB0_19-LBB0_17)>>2
	.byte	(LBB0_18-LBB0_17)>>2
	.byte	(LBB0_17-LBB0_17)>>2
                                        ; -- End function
	.comm	_FE_TONEAREST,4,2               ; @FE_TONEAREST
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"sRGB"

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

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

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

	.comm	_stderr,4,2                     ; @stderr
l_.str.4:                               ; @.str.4
	.asciz	"%s: too few channels (%d) for -gray\n"

l_.str.5:                               ; @.str.5
	.asciz	"%s: too many channels (%d) for -color\n"

l_.str.6:                               ; @.str.6
	.asciz	" %g"

	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; @.memset_pattern
l_.memset_pattern:
	.quad	0x3ff0000000000000              ; double 1
	.quad	0x3ff0000000000000              ; double 1

.subsections_via_symbols
