	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal4,4byte_literals
	.p2align	2                               ## -- Begin function hsi_to_rgb
LCPI0_0:
	.long	0x43b40000                      ## float 360
LCPI0_1:
	.long	0x40490fd0                      ## float 3.14159012
LCPI0_2:
	.long	0x43340000                      ## float 180
LCPI0_4:
	.long	0x40060a7c                      ## float 2.09438992
LCPI0_7:
	.long	0x3f860a8a                      ## float 1.04719663
LCPI0_10:
	.long	0x3f800000                      ## float 1
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4
LCPI0_3:
	.long	0x3f800000                      ## float 1
	.long	0x3f800000                      ## float 1
	.space	4
	.space	4
LCPI0_8:
	.long	0x477fff00                      ## float 65535
	.space	4
	.space	4
	.space	4
LCPI0_9:
	.long	0x40400000                      ## float 3
	.space	4
	.space	4
	.space	4
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3
LCPI0_5:
	.quad	0x4010c151611ba3ca              ## double 4.1887869999999996
LCPI0_6:
	.quad	0xc010c151611ba3ca              ## double -4.1887869999999996
LCPI0_11:
	.quad	0xc000c14f8b588e37              ## double -2.0943900000000002
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_hsi_to_rgb:                            ## @hsi_to_rgb
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%rbx
	subq	$72, %rsp
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rdx, %r14
	movq	%rsi, %r15
	movq	%rdi, %rbx
	movaps	%xmm2, -64(%rbp)                ## 16-byte Spill
	movaps	%xmm1, -48(%rbp)                ## 16-byte Spill
	movss	LCPI0_0(%rip), %xmm1            ## xmm1 = mem[0],zero,zero,zero
	callq	_fmodf
	movaps	-64(%rbp), %xmm1                ## 16-byte Reload
	mulss	LCPI0_1(%rip), %xmm0
	divss	LCPI0_2(%rip), %xmm0
	insertps	$16, -48(%rbp), %xmm1           ## 16-byte Folded Reload
                                        ## xmm1 = xmm1[0],mem[0],xmm1[2,3]
	xorps	%xmm2, %xmm2
	cmpltps	%xmm1, %xmm2
	minps	LCPI0_3(%rip), %xmm1
	andps	%xmm2, %xmm1
	movss	LCPI0_4(%rip), %xmm2            ## xmm2 = mem[0],zero,zero,zero
	ucomiss	%xmm0, %xmm2
	movaps	%xmm1, -64(%rbp)                ## 16-byte Spill
	jbe	LBB0_2
## %bb.1:
	movss	%xmm0, -48(%rbp)                ## 4-byte Spill
	callq	_cos
	movaps	%xmm0, -80(%rbp)                ## 16-byte Spill
	movss	LCPI0_7(%rip), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	subss	-48(%rbp), %xmm0                ## 4-byte Folded Reload
	movss	%xmm0, -28(%rbp)                ## 4-byte Spill
	callq	_cosf
	movaps	LCPI0_8(%rip), %xmm2            ## xmm2 = <6.5535E+4,u,u,u>
	insertps	$16, -80(%rbp), %xmm2           ## 16-byte Folded Reload
                                        ## xmm2 = xmm2[0],mem[0],xmm2[2,3]
	mulps	-64(%rbp), %xmm2                ## 16-byte Folded Reload
	movaps	LCPI0_9(%rip), %xmm1            ## xmm1 = <3.0E+0,u,u,u>
	insertps	$16, %xmm0, %xmm1               ## xmm1 = xmm1[0],xmm0[0],xmm1[2,3]
	divps	%xmm1, %xmm2
	movaps	%xmm2, -80(%rbp)                ## 16-byte Spill
	movshdup	%xmm2, %xmm0                    ## xmm0 = xmm2[1,1,3,3]
	movss	LCPI0_10(%rip), %xmm1           ## xmm1 = mem[0],zero,zero,zero
	addss	%xmm1, %xmm0
	mulss	%xmm2, %xmm0
	movaps	%xmm0, -96(%rbp)                ## 16-byte Spill
	movss	-48(%rbp), %xmm0                ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	callq	_cosf
	movss	%xmm0, -48(%rbp)                ## 4-byte Spill
	movss	-28(%rbp), %xmm0                ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	callq	_cos
	movss	LCPI0_10(%rip), %xmm5           ## xmm5 = mem[0],zero,zero,zero
	movaps	-96(%rbp), %xmm4                ## 16-byte Reload
	movss	-48(%rbp), %xmm2                ## 4-byte Reload
                                        ## xmm2 = mem[0],zero,zero,zero
	divss	%xmm0, %xmm2
	movaps	%xmm5, %xmm1
	subss	%xmm2, %xmm1
	movshdup	-64(%rbp), %xmm0                ## 16-byte Folded Reload
                                        ## xmm0 = mem[1,1,3,3]
	mulss	%xmm0, %xmm1
	addss	%xmm5, %xmm1
	movaps	-80(%rbp), %xmm2                ## 16-byte Reload
	mulss	%xmm2, %xmm1
	subss	%xmm0, %xmm5
	mulss	%xmm2, %xmm5
	jmp	LBB0_5
LBB0_2:
	cvtss2sd	%xmm0, %xmm0
	movsd	LCPI0_5(%rip), %xmm1            ## xmm1 = mem[0],zero
	ucomisd	%xmm0, %xmm1
	jbe	LBB0_4
## %bb.3:
	addsd	LCPI0_11(%rip), %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, -28(%rbp)                ## 4-byte Spill
	callq	_cosf
	movaps	%xmm0, -48(%rbp)                ## 16-byte Spill
	movss	LCPI0_7(%rip), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	subss	-28(%rbp), %xmm0                ## 4-byte Folded Reload
	callq	_cosf
	movaps	LCPI0_8(%rip), %xmm2            ## xmm2 = <6.5535E+4,u,u,u>
	movaps	-48(%rbp), %xmm5                ## 16-byte Reload
	insertps	$16, %xmm5, %xmm2               ## xmm2 = xmm2[0],xmm5[0],xmm2[2,3]
	movaps	-64(%rbp), %xmm3                ## 16-byte Reload
	mulps	%xmm3, %xmm2
	movaps	LCPI0_9(%rip), %xmm1            ## xmm1 = <3.0E+0,u,u,u>
	insertps	$16, %xmm0, %xmm1               ## xmm1 = xmm1[0],xmm0[0],xmm1[2,3]
	divps	%xmm1, %xmm2
	movshdup	%xmm2, %xmm1                    ## xmm1 = xmm2[1,1,3,3]
	movss	LCPI0_10(%rip), %xmm4           ## xmm4 = mem[0],zero,zero,zero
	addss	%xmm4, %xmm1
	mulss	%xmm2, %xmm1
	divss	%xmm0, %xmm5
	movaps	%xmm5, %xmm0
	movaps	%xmm4, %xmm5
	subss	%xmm0, %xmm5
	movshdup	%xmm3, %xmm0                    ## xmm0 = xmm3[1,1,3,3]
	mulss	%xmm0, %xmm5
	addss	%xmm4, %xmm5
	mulss	%xmm2, %xmm5
	subss	%xmm0, %xmm4
	mulss	%xmm2, %xmm4
	jmp	LBB0_5
LBB0_4:
	addsd	LCPI0_6(%rip), %xmm0
	cvtsd2ss	%xmm0, %xmm0
	movss	%xmm0, -28(%rbp)                ## 4-byte Spill
	callq	_cosf
	movaps	%xmm0, -48(%rbp)                ## 16-byte Spill
	movss	LCPI0_7(%rip), %xmm0            ## xmm0 = mem[0],zero,zero,zero
	subss	-28(%rbp), %xmm0                ## 4-byte Folded Reload
	callq	_cosf
	movaps	LCPI0_8(%rip), %xmm2            ## xmm2 = <6.5535E+4,u,u,u>
	movaps	-48(%rbp), %xmm4                ## 16-byte Reload
	insertps	$16, %xmm4, %xmm2               ## xmm2 = xmm2[0],xmm4[0],xmm2[2,3]
	movaps	-64(%rbp), %xmm3                ## 16-byte Reload
	mulps	%xmm3, %xmm2
	movaps	LCPI0_9(%rip), %xmm1            ## xmm1 = <3.0E+0,u,u,u>
	insertps	$16, %xmm0, %xmm1               ## xmm1 = xmm1[0],xmm0[0],xmm1[2,3]
	divps	%xmm1, %xmm2
	movshdup	%xmm2, %xmm5                    ## xmm5 = xmm2[1,1,3,3]
	movss	LCPI0_10(%rip), %xmm1           ## xmm1 = mem[0],zero,zero,zero
	addss	%xmm1, %xmm5
	mulss	%xmm2, %xmm5
	divss	%xmm0, %xmm4
	movaps	%xmm4, %xmm0
	movaps	%xmm1, %xmm4
	subss	%xmm0, %xmm4
	movshdup	%xmm3, %xmm0                    ## xmm0 = xmm3[1,1,3,3]
	mulss	%xmm0, %xmm4
	addss	%xmm1, %xmm4
	mulss	%xmm2, %xmm4
	subss	%xmm0, %xmm1
	mulss	%xmm2, %xmm1
LBB0_5:
	cvttss2si	%xmm5, %rax
	cvttss2si	%xmm1, %rcx
	cvttss2si	%xmm4, %rdx
	cmpl	$65535, %edx                    ## imm = 0xFFFF
	movl	$65535, %esi                    ## imm = 0xFFFF
	cmovael	%esi, %edx
	movl	%edx, (%rbx)
	cmpl	$65535, %ecx                    ## imm = 0xFFFF
	cmovael	%esi, %ecx
	movl	%ecx, (%r15)
	cmpl	$65535, %eax                    ## imm = 0xFFFF
	cmovbl	%eax, %esi
	movl	%esi, (%r14)
	addq	$72, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.no_dead_strip	_hsi_to_rgb
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function hsi_to_rgb
_hsi_to_rgb:                            ; @hsi_to_rgb
	.cfi_startproc
; %bb.0:
	stp	d13, d12, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	d11, d10, [sp, #16]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #32]               ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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 b8, -56
	.cfi_offset b9, -64
	.cfi_offset b10, -72
	.cfi_offset b11, -80
	.cfi_offset b12, -88
	.cfi_offset b13, -96
	mov	x19, x2
	mov	x20, x1
	mov	x21, x0
	fmov	s9, s2
	fmov	s10, s1
	mov	w8, #1135869952
	fmov	s1, w8
	bl	_fmodf
	mov	w8, #4048
	movk	w8, #16457, lsl #16
	fmov	s1, w8
	fmul	s0, s0, s1
	mov	w8, #1127481344
	fmov	s1, w8
	fdiv	s8, s0, s1
	fmov	s11, #1.00000000
	fminnm	s0, s10, s11
	fcmp	s10, #0.0
	movi	d1, #0000000000000000
	fcsel	s10, s0, s1, gt
	fminnm	s0, s9, s11
	fcmp	s9, #0.0
	fcsel	s0, s0, s1, gt
	mov	w8, #2684
	movk	w8, #16390, lsl #16
	fmov	s1, w8
	fcmp	s8, s1
	b.pl	LBB0_2
; %bb.1:
	mov	w8, #65280
	movk	w8, #18303, lsl #16
	fmov	s1, w8
	fmul	s0, s0, s1
	fmov	s1, #3.00000000
	fdiv	s13, s0, s1
	fmov	s0, s8
	bl	_cos
	fmul	s12, s10, s0
	mov	w8, #2698
	movk	w8, #16262, lsl #16
	fmov	s0, w8
	fsub	s9, s0, s8
	fmov	s0, s9
	bl	_cosf
	fdiv	s0, s12, s0
	fadd	s0, s0, s11
	fmul	s12, s13, s0
	fmov	s0, s8
	bl	_cosf
	fmov	s8, s0
	fmov	s0, s9
	bl	_cos
	fdiv	s0, s8, s0
	fsub	s0, s11, s0
	fmadd	s0, s10, s0, s11
	fmul	s1, s13, s0
	fsub	s0, s11, s10
	fmul	s2, s0, s13
	b	LBB0_5
LBB0_2:
	fcvt	d1, s8
	mov	x8, #41930
	movk	x8, #24859, lsl #16
	movk	x8, #49489, lsl #32
	movk	x8, #16400, lsl #48
	fmov	d2, x8
	fcmp	d1, d2
	b.pl	LBB0_4
; %bb.3:
	mov	x8, #36407
	movk	x8, #35672, lsl #16
	movk	x8, #49487, lsl #32
	movk	x8, #49152, lsl #48
	fmov	d2, x8
	fadd	d1, d1, d2
	fcvt	s8, d1
	mov	w8, #65280
	movk	w8, #18303, lsl #16
	fmov	s1, w8
	fmul	s0, s0, s1
	fmov	s1, #3.00000000
	fdiv	s11, s0, s1
	fmov	s0, s8
	bl	_cosf
	fmov	s9, s0
	fmul	s12, s10, s0
	mov	w8, #2698
	movk	w8, #16262, lsl #16
	fmov	s0, w8
	fsub	s0, s0, s8
	bl	_cosf
	fdiv	s1, s12, s0
	fmov	s3, #1.00000000
	fadd	s1, s1, s3
	fmul	s1, s11, s1
	fdiv	s0, s9, s0
	fsub	s0, s3, s0
	fmadd	s0, s10, s0, s3
	fmul	s2, s11, s0
	fsub	s0, s3, s10
	fmul	s12, s0, s11
	b	LBB0_5
LBB0_4:
	mov	x8, #41930
	movk	x8, #24859, lsl #16
	movk	x8, #49489, lsl #32
	movk	x8, #49168, lsl #48
	fmov	d2, x8
	fadd	d1, d1, d2
	fcvt	s8, d1
	mov	w8, #65280
	movk	w8, #18303, lsl #16
	fmov	s1, w8
	fmul	s0, s0, s1
	fmov	s1, #3.00000000
	fdiv	s11, s0, s1
	fmov	s0, s8
	bl	_cosf
	fmov	s9, s0
	fmul	s12, s10, s0
	mov	w8, #2698
	movk	w8, #16262, lsl #16
	fmov	s0, w8
	fsub	s0, s0, s8
	bl	_cosf
	fdiv	s1, s12, s0
	fmov	s3, #1.00000000
	fadd	s1, s1, s3
	fmul	s2, s11, s1
	fdiv	s0, s9, s0
	fsub	s0, s3, s0
	fmadd	s0, s10, s0, s3
	fmul	s12, s11, s0
	fsub	s0, s3, s10
	fmul	s1, s0, s11
LBB0_5:
	fcvtzu	w8, s2
	fcvtzu	w9, s1
	fcvtzu	w10, s12
	mov	w11, #65535
	cmp	w10, w11
	csel	w10, w10, w11, lo
	str	w10, [x21]
	cmp	w9, w11
	csel	w9, w9, w11, lo
	str	w9, [x20]
	cmp	w8, w11
	csel	w8, w8, w11, lo
	str	w8, [x19]
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #32]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #16]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp], #96             ; 16-byte Folded Reload
	ret
	.cfi_endproc
                                        ; -- End function
	.no_dead_strip	_hsi_to_rgb
.subsections_via_symbols
