	.file	"131812.c"
	.intel_syntax noprefix
	.text
	.globl	fmax_rgb_value
	.type	fmax_rgb_value, @function
fmax_rgb_value:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	movsd	QWORD PTR -24[rbp], xmm2
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR -16[rbp]
	jbe	.L12
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L13
	movsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L6
.L13:
	movsd	xmm0, QWORD PTR -24[rbp]
	jmp	.L6
.L12:
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L14
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L6
.L14:
	movsd	xmm0, QWORD PTR -24[rbp]
.L6:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	fmax_rgb_value, .-fmax_rgb_value
	.globl	fmin_rgb_value
	.type	fmin_rgb_value, @function
fmin_rgb_value:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	movsd	QWORD PTR -24[rbp], xmm2
	movsd	xmm0, QWORD PTR -16[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L26
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L27
	movsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L20
.L27:
	movsd	xmm0, QWORD PTR -24[rbp]
	jmp	.L20
.L26:
	movsd	xmm0, QWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR -16[rbp]
	jbe	.L28
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L20
.L28:
	movsd	xmm0, QWORD PTR -24[rbp]
.L20:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	fmin_rgb_value, .-fmin_rgb_value
	.section	.rodata
.LC0:
	.string	"Memory not allocated."
	.text
	.globl	rgb_to_hsl
	.type	rgb_to_hsl, @function
rgb_to_hsl:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 96
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	QWORD PTR -80[rbp], xmm1
	movsd	QWORD PTR -88[rbp], xmm2
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -40[rbp], rax
	cmp	QWORD PTR -40[rbp], 0
	jne	.L30
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L30:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmax_rgb_value
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR -80[rbp]
	mov	rax, QWORD PTR -72[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmin_rgb_value
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -32[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	addsd	xmm0, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR .LC2[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L31
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L31
	pxor	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L33
.L31:
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L34
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jne	.L34
	movsd	xmm0, QWORD PTR -80[rbp]
	subsd	xmm0, QWORD PTR -88[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR .LC4[rip]
	jbe	.L36
	movsd	xmm0, QWORD PTR -64[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L36
	movsd	xmm0, QWORD PTR .LC4[rip]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	jmp	.L39
.L36:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -64[rbp]
	jbe	.L39
	movsd	xmm0, QWORD PTR -64[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
.L39:
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L41
.L34:
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -80[rbp]
	jp	.L42
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -80[rbp]
	jne	.L42
	movsd	xmm0, QWORD PTR -88[rbp]
	subsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC2[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	jmp	.L41
.L42:
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -88[rbp]
	jp	.L41
	movsd	xmm0, QWORD PTR -32[rbp]
	ucomisd	xmm0, QWORD PTR -88[rbp]
	jne	.L41
	movsd	xmm0, QWORD PTR -72[rbp]
	subsd	xmm0, QWORD PTR -80[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
.L41:
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -8[rbp]
	jb	.L56
	movsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L33
.L56:
	movsd	xmm0, QWORD PTR .LC2[rip]
	subsd	xmm0, QWORD PTR -32[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR -16[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
.L33:
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR .LC8[rip]
	divsd	xmm0, xmm1
	mov	rax, QWORD PTR -40[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	movsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -40[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	rgb_to_hsl, .-rgb_to_hsl
	.globl	hue_to_rgb
	.type	hue_to_rgb, @function
hue_to_rgb:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	QWORD PTR -16[rbp], xmm1
	movsd	QWORD PTR -24[rbp], xmm2
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC9[rip]
	comisd	xmm0, xmm1
	jbe	.L58
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L58
	movsd	xmm0, QWORD PTR .LC9[rip]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	jmp	.L61
.L58:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L61
	movsd	xmm0, QWORD PTR -24[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC9[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L61:
	movsd	xmm0, QWORD PTR .LC10[rip]
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L76
	movsd	xmm0, QWORD PTR -16[rbp]
	subsd	xmm0, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC4[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L65
.L76:
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L77
	movsd	xmm0, QWORD PTR -16[rbp]
	jmp	.L65
.L77:
	movsd	xmm0, QWORD PTR .LC11[rip]
	comisd	xmm0, QWORD PTR -24[rbp]
	jbe	.L78
	movsd	xmm0, QWORD PTR -16[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC11[rip]
	subsd	xmm0, QWORD PTR -24[rbp]
	mulsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	mulsd	xmm0, xmm1
	addsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L65
.L78:
	movsd	xmm0, QWORD PTR -8[rbp]
.L65:
	movq	rax, xmm0
	movq	xmm0, rax
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	hue_to_rgb, .-hue_to_rgb
	.globl	hsl_to_rgb
	.type	hsl_to_rgb, @function
hsl_to_rgb:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 72
	.cfi_offset 3, -24
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	QWORD PTR -64[rbp], xmm1
	movsd	QWORD PTR -72[rbp], xmm2
	mov	edi, 24
	call	malloc@PLT
	mov	QWORD PTR -32[rbp], rax
	cmp	QWORD PTR -32[rbp], 0
	jne	.L80
	lea	rdi, .LC0[rip]
	call	puts@PLT
	mov	edi, 0
	call	exit@PLT
.L80:
	pxor	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -64[rbp]
	jp	.L81
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -64[rbp]
	jne	.L81
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 8
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -32[rbp]
	add	rax, 16
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -32[rbp]
	jmp	.L83
.L81:
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -72[rbp]
	jb	.L89
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -72[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	jmp	.L86
.L89:
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR -72[rbp]
	mulsd	xmm1, QWORD PTR -64[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
.L86:
	movsd	xmm0, QWORD PTR -72[rbp]
	addsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR .LC12[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hue_to_rgb
	movq	rax, xmm0
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rbx, 8[rax]
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hue_to_rgb
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
	movsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR .LC12[rip]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm1
	mov	rax, QWORD PTR -32[rbp]
	lea	rbx, 16[rax]
	movsd	xmm0, QWORD PTR -40[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hue_to_rgb
	movq	rax, xmm0
	mov	QWORD PTR [rbx], rax
	mov	rax, QWORD PTR -32[rbp]
.L83:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	hsl_to_rgb, .-hsl_to_rgb
	.globl	struct_rgb_to_hsl
	.type	struct_rgb_to_hsl, @function
struct_rgb_to_hsl:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	add	rsp, -128
	mov	QWORD PTR -104[rbp], rdi
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	QWORD PTR -120[rbp], xmm1
	movsd	QWORD PTR -128[rbp], xmm2
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -64[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -56[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -112[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmax_rgb_value
	movq	rax, xmm0
	mov	QWORD PTR -64[rbp], rax
	movsd	xmm1, QWORD PTR -128[rbp]
	movsd	xmm0, QWORD PTR -120[rbp]
	mov	rax, QWORD PTR -112[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmin_rgb_value
	movq	rax, xmm0
	mov	QWORD PTR -56[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	subsd	xmm0, QWORD PTR -56[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	addsd	xmm0, QWORD PTR -56[rbp]
	movsd	xmm1, QWORD PTR .LC2[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -48[rbp]
	jp	.L91
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -48[rbp]
	jne	.L91
	pxor	xmm0, xmm0
	movsd	QWORD PTR -80[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -72[rbp], xmm0
	jmp	.L93
.L91:
	movsd	xmm0, QWORD PTR -64[rbp]
	ucomisd	xmm0, QWORD PTR -112[rbp]
	jp	.L94
	movsd	xmm0, QWORD PTR -64[rbp]
	ucomisd	xmm0, QWORD PTR -112[rbp]
	jne	.L94
	movsd	xmm0, QWORD PTR -120[rbp]
	subsd	xmm0, QWORD PTR -128[rbp]
	divsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm0, xmm1
	comisd	xmm0, QWORD PTR .LC4[rip]
	jbe	.L96
	movsd	xmm0, QWORD PTR -88[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L96
	movsd	xmm0, QWORD PTR .LC4[rip]
	mov	rax, QWORD PTR -88[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	fmod@PLT
	movq	rax, xmm0
	mov	QWORD PTR -88[rbp], rax
	jmp	.L99
.L96:
	pxor	xmm0, xmm0
	comisd	xmm0, QWORD PTR -88[rbp]
	jbe	.L99
	movsd	xmm0, QWORD PTR -88[rbp]
	movq	xmm1, QWORD PTR .LC3[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
.L99:
	movsd	xmm1, QWORD PTR -88[rbp]
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	jmp	.L101
.L94:
	movsd	xmm0, QWORD PTR -64[rbp]
	ucomisd	xmm0, QWORD PTR -120[rbp]
	jp	.L102
	movsd	xmm0, QWORD PTR -64[rbp]
	ucomisd	xmm0, QWORD PTR -120[rbp]
	jne	.L102
	movsd	xmm0, QWORD PTR -128[rbp]
	subsd	xmm0, QWORD PTR -112[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC2[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	jmp	.L101
.L102:
	movsd	xmm0, QWORD PTR -64[rbp]
	ucomisd	xmm0, QWORD PTR -128[rbp]
	jp	.L101
	movsd	xmm0, QWORD PTR -64[rbp]
	ucomisd	xmm0, QWORD PTR -128[rbp]
	jne	.L101
	movsd	xmm0, QWORD PTR -112[rbp]
	subsd	xmm0, QWORD PTR -120[rbp]
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC5[rip]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
.L101:
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -40[rbp]
	jb	.L116
	movsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	jmp	.L93
.L116:
	movsd	xmm0, QWORD PTR .LC2[rip]
	subsd	xmm0, QWORD PTR -64[rbp]
	movapd	xmm1, xmm0
	subsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
.L93:
	movsd	xmm0, QWORD PTR -80[rbp]
	movsd	xmm1, QWORD PTR .LC8[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rcx, QWORD PTR -104[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
	mov	rax, QWORD PTR -104[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	struct_rgb_to_hsl, .-struct_rgb_to_hsl
	.globl	struct_hsl_to_rgb
	.type	struct_hsl_to_rgb, @function
struct_hsl_to_rgb:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -56[rbp], rdi
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	QWORD PTR -72[rbp], xmm1
	movsd	QWORD PTR -80[rbp], xmm2
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -48[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jp	.L118
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -72[rbp]
	jne	.L118
	movsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
	jmp	.L124
.L118:
	movsd	xmm0, QWORD PTR .LC7[rip]
	comisd	xmm0, QWORD PTR -80[rbp]
	jb	.L127
	movsd	xmm1, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR .LC9[rip]
	addsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR -80[rbp]
	mulsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L123
.L127:
	movsd	xmm0, QWORD PTR -80[rbp]
	addsd	xmm0, QWORD PTR -72[rbp]
	movsd	xmm1, QWORD PTR -80[rbp]
	mulsd	xmm1, QWORD PTR -72[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
.L123:
	movsd	xmm0, QWORD PTR -80[rbp]
	addsd	xmm0, xmm0
	subsd	xmm0, QWORD PTR -48[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR .LC12[rip]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hue_to_rgb
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	movsd	xmm1, QWORD PTR -64[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hue_to_rgb
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	movsd	xmm0, QWORD PTR -64[rbp]
	movsd	xmm1, QWORD PTR .LC12[rip]
	movapd	xmm2, xmm0
	subsd	xmm2, xmm1
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hue_to_rgb
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	rcx, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	rax, QWORD PTR -16[rbp]
	mov	QWORD PTR 16[rcx], rax
.L124:
	mov	rax, QWORD PTR -56[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	struct_hsl_to_rgb, .-struct_hsl_to_rgb
	.section	.rodata
.LC17:
	.string	"\ntotal time %f :"
.LC18:
	.string	"\nTesting algorithm(s)."
.LC20:
	.string	"\n\nRGB VALUES:R:%i G:%i B:%i "
.LC21:
	.string	"\nRGB VALUES:R:%f G:%f B:%f "
.LC22:
	.string	"\n %f, %f, %f "
.LC23:
	.string	"\nError(s) found n=%i"
	.text
	.globl	main
	.type	main, @function
main:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 112
	mov	DWORD PTR -112[rbp], 0
	mov	DWORD PTR -108[rbp], 0
	mov	DWORD PTR -104[rbp], 0
	mov	DWORD PTR -100[rbp], 1000000
	call	clock@PLT
	mov	QWORD PTR -96[rbp], rax
	mov	DWORD PTR -112[rbp], 0
	jmp	.L129
.L130:
	movsd	xmm1, QWORD PTR .LC13[rip]
	movsd	xmm0, QWORD PTR .LC14[rip]
	mov	rax, QWORD PTR .LC15[rip]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	rgb_to_hsl
	mov	QWORD PTR -8[rbp], rax
	add	DWORD PTR -112[rbp], 1
.L129:
	mov	eax, DWORD PTR -112[rbp]
	cmp	eax, DWORD PTR -100[rbp]
	jle	.L130
	call	clock@PLT
	mov	QWORD PTR -88[rbp], rax
	mov	rax, QWORD PTR -88[rbp]
	sub	rax, QWORD PTR -96[rbp]
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, rax
	movsd	xmm1, QWORD PTR .LC16[rip]
	divsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	mov	rax, QWORD PTR -80[rbp]
	movq	xmm0, rax
	lea	rdi, .LC17[rip]
	mov	eax, 1
	call	printf@PLT
	lea	rdi, .LC18[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR -100[rbp], 0
	mov	DWORD PTR -112[rbp], 0
	jmp	.L131
.L140:
	mov	DWORD PTR -108[rbp], 0
	jmp	.L132
.L139:
	mov	DWORD PTR -104[rbp], 0
	jmp	.L133
.L138:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -104[rbp]
	movsd	xmm1, QWORD PTR .LC19[rip]
	movapd	xmm2, xmm0
	divsd	xmm2, xmm1
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -108[rbp]
	movsd	xmm1, QWORD PTR .LC19[rip]
	movapd	xmm3, xmm0
	divsd	xmm3, xmm1
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -112[rbp]
	movsd	xmm1, QWORD PTR .LC19[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movapd	xmm1, xmm3
	movq	xmm0, rax
	call	rgb_to_hsl
	mov	QWORD PTR -72[rbp], rax
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR -64[rbp], xmm0
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -56[rbp], xmm0
	mov	rax, QWORD PTR -72[rbp]
	movsd	xmm0, QWORD PTR 16[rax]
	movsd	QWORD PTR -48[rbp], xmm0
	mov	rax, QWORD PTR -72[rbp]
	mov	rdi, rax
	call	free@PLT
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR -56[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	hsl_to_rgb
	mov	QWORD PTR -40[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR .LC19[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 8
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR .LC19[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	add	rax, 16
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR .LC19[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movq	xmm0, rax
	call	round@PLT
	movq	rax, xmm0
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -40[rbp]
	mov	rdi, rax
	call	free@PLT
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -112[rbp]
	subsd	xmm0, QWORD PTR -32[rbp]
	cvttsd2si	eax, xmm0
	cdq
	xor	eax, edx
	sub	eax, edx
	test	eax, eax
	jle	.L134
	mov	ecx, DWORD PTR -104[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	movsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC21[rip]
	mov	eax, 3
	call	printf@PLT
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC22[rip]
	mov	eax, 3
	call	printf@PLT
	add	DWORD PTR -100[rbp], 1
	mov	eax, -1
	jmp	.L135
.L134:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -108[rbp]
	subsd	xmm0, QWORD PTR -24[rbp]
	cvttsd2si	eax, xmm0
	cdq
	xor	eax, edx
	sub	eax, edx
	test	eax, eax
	jle	.L136
	mov	ecx, DWORD PTR -104[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	movsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC21[rip]
	mov	eax, 3
	call	printf@PLT
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC22[rip]
	mov	eax, 3
	call	printf@PLT
	add	DWORD PTR -100[rbp], 1
	mov	eax, -1
	jmp	.L135
.L136:
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -104[rbp]
	subsd	xmm0, QWORD PTR -16[rbp]
	cvttsd2si	eax, xmm0
	cdq
	xor	eax, edx
	sub	eax, edx
	test	eax, eax
	jle	.L137
	mov	ecx, DWORD PTR -104[rbp]
	mov	edx, DWORD PTR -108[rbp]
	mov	eax, DWORD PTR -112[rbp]
	mov	esi, eax
	lea	rdi, .LC20[rip]
	mov	eax, 0
	call	printf@PLT
	movsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC21[rip]
	mov	eax, 3
	call	printf@PLT
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -48[rbp]
	mov	rax, QWORD PTR -64[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rax
	lea	rdi, .LC22[rip]
	mov	eax, 3
	call	printf@PLT
	add	DWORD PTR -100[rbp], 1
	mov	eax, -1
	jmp	.L135
.L137:
	add	DWORD PTR -104[rbp], 1
.L133:
	cmp	DWORD PTR -104[rbp], 255
	jle	.L138
	add	DWORD PTR -108[rbp], 1
.L132:
	cmp	DWORD PTR -108[rbp], 255
	jle	.L139
	add	DWORD PTR -112[rbp], 1
.L131:
	cmp	DWORD PTR -112[rbp], 255
	jle	.L140
	mov	eax, DWORD PTR -100[rbp]
	mov	esi, eax
	lea	rdi, .LC23[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L135:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	main, .-main
	.section	.rodata
	.align 8
.LC2:
	.long	0
	.long	1073741824
	.align 16
.LC3:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC4:
	.long	0
	.long	1075314688
	.align 8
.LC5:
	.long	0
	.long	1078853632
	.align 8
.LC6:
	.long	0
	.long	1074790400
	.align 8
.LC7:
	.long	0
	.long	1071644672
	.align 8
.LC8:
	.long	0
	.long	1081507840
	.align 8
.LC9:
	.long	0
	.long	1072693248
	.align 8
.LC10:
	.long	1431655765
	.long	1069897045
	.align 8
.LC11:
	.long	1431655765
	.long	1071994197
	.align 8
.LC12:
	.long	1431655765
	.long	1070945621
	.align 8
.LC13:
	.long	269488144
	.long	1071648784
	.align 8
.LC14:
	.long	505290270
	.long	1070472734
	.align 8
.LC15:
	.long	421075225
	.long	1069095193
	.align 8
.LC16:
	.long	0
	.long	1093567616
	.align 8
.LC19:
	.long	0
	.long	1081073664
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"131812.c"
	.text
	.global	__aeabi_dcmpgt
	.align	2
	.global	fmax_rgb_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	fmax_rgb_value, %function
fmax_rgb_value:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L12
	ldmib	fp, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L13
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	b	.L6
.L13:
	ldmib	fp, {r2-r3}
	b	.L6
.L12:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L14
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L6
.L14:
	ldmib	fp, {r2-r3}
.L6:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fmax_rgb_value, .-fmax_rgb_value
	.global	__aeabi_dcmplt
	.align	2
	.global	fmin_rgb_value
	.syntax unified
	.arm
	.fpu softvfp
	.type	fmin_rgb_value, %function
fmin_rgb_value:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L26
	ldmib	fp, {r2-r3}
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L27
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	b	.L20
.L27:
	ldmib	fp, {r2-r3}
	b	.L20
.L26:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L28
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L20
.L28:
	ldmib	fp, {r2-r3}
.L20:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fmin_rgb_value, .-fmin_rgb_value
	.section	.rodata
	.align	2
.LC0:
	.ascii	"Memory not allocated.\000"
	.global	__aeabi_dsub
	.global	__aeabi_dadd
	.global	__aeabi_ddiv
	.global	__aeabi_dcmpeq
	.global	__aeabi_dmul
	.global	__aeabi_dcmple
	.text
	.align	2
	.global	rgb_to_hsl
	.syntax unified
	.arm
	.fpu softvfp
	.type	rgb_to_hsl, %function
rgb_to_hsl:
	@ args = 8, pretend = 0, frame = 80
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #88
	str	r0, [fp, #-92]
	str	r1, [fp, #-88]
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-80]
	ldr	r3, [fp, #-80]
	cmp	r3, #0
	bne	.L30
	ldr	r0, .L60
	bl	puts
	mov	r0, #0
	bl	exit
.L30:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	fmax_rgb_value
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	ldmib	fp, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	fmin_rgb_value
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L56
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L33
.L56:
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L57
	ldmib	fp, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	ldr	r6, [fp, #-76]
	ldr	r3, [fp, #-72]
	bic	r7, r3, #-2147483648
	mov	r2, #0
	ldr	r3, .L60+4
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L36
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L36
	mov	r2, #0
	ldr	r3, .L60+4
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	fmod
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	b	.L39
.L36:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L39
	ldr	r4, [fp, #-76]
	ldr	r3, [fp, #-72]
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	ldr	r1, .L60+4
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
.L39:
	mov	r2, #0
	ldr	r3, .L60+8
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	b	.L41
.L57:
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L58
	sub	r3, fp, #92
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L60+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	b	.L41
.L58:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L41
	sub	r3, fp, #100
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L60+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L60+8
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
.L41:
	mov	r2, #0
	ldr	r3, .L60+16
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L59
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	b	.L33
.L59:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
.L33:
	mov	r2, #0
	ldr	r3, .L60+20
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-80]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-80]
	add	r1, r3, #8
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-80]
	add	r1, r3, #16
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-80]
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L61:
	.align	2
.L60:
	.word	.LC0
	.word	1075314688
	.word	1078853632
	.word	1074790400
	.word	1071644672
	.word	1081507840
	.size	rgb_to_hsl, .-rgb_to_hsl
	.align	2
	.global	hue_to_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	hue_to_rgb, %function
hue_to_rgb:
	@ args = 8, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #16
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r6, [fp, #4]
	ldr	r3, [fp, #8]
	bic	r7, r3, #-2147483648
	mov	r2, #0
	ldr	r3, .L84
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	mov	r2, #0
	mov	r3, #0
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L63
	mov	r2, #0
	ldr	r3, .L84
	ldmib	fp, {r0-r1}
	bl	fmod
	stmib	fp, {r0-r1}
	b	.L66
.L63:
	mov	r2, #0
	mov	r3, #0
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L66
	ldr	r4, [fp, #4]
	ldr	r3, [fp, #8]
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	ldr	r1, .L84
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stmib	fp, {r2-r3}
.L66:
	ldr	r2, .L84+4
	ldr	r3, .L84+8
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L81
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldmib	fp, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L84+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L70
.L81:
	mov	r2, #0
	ldr	r3, .L84+16
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L82
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	b	.L70
.L82:
	ldr	r2, .L84+4
	ldr	r3, .L84+20
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L83
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r2-r3}
	ldr	r0, .L84+4
	ldr	r1, .L84+20
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L84+12
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	b	.L70
.L83:
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
.L70:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L85:
	.align	2
.L84:
	.word	1072693248
	.word	1431655765
	.word	1069897045
	.word	1075314688
	.word	1071644672
	.word	1071994197
	.size	hue_to_rgb, .-hue_to_rgb
	.align	2
	.global	hsl_to_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	hsl_to_rgb, %function
hsl_to_rgb:
	@ args = 8, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #48
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r0, #24
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	bne	.L87
	ldr	r0, .L98
	bl	puts
	mov	r0, #0
	bl	exit
.L87:
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L96
	ldr	r1, [fp, #-32]
	ldmib	fp, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	add	r1, r3, #8
	ldmib	fp, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	add	r1, r3, #16
	ldmib	fp, {r2-r3}
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	b	.L90
.L96:
	mov	r2, #0
	ldr	r3, .L98+4
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L97
	mov	r2, #0
	ldr	r3, .L98+8
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	b	.L93
.L97:
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
.L93:
	ldmib	fp, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r2, .L98+12
	ldr	r3, .L98+16
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	hue_to_rgb
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-32]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	add	r4, r3, #8
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	hue_to_rgb
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r2, .L98+12
	ldr	r3, .L98+16
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-32]
	add	r4, r1, #16
	stm	sp, {r2-r3}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	hue_to_rgb
	mov	r2, r0
	mov	r3, r1
	stm	r4, {r2-r3}
	ldr	r3, [fp, #-32]
.L90:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L99:
	.align	2
.L98:
	.word	.LC0
	.word	1071644672
	.word	1072693248
	.word	1431655765
	.word	1070945621
	.size	hsl_to_rgb, .-hsl_to_rgb
	.align	2
	.global	struct_rgb_to_hsl
	.syntax unified
	.arm
	.fpu softvfp
	.type	struct_rgb_to_hsl, %function
struct_rgb_to_hsl:
	@ args = 16, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #104
	str	r0, [fp, #-104]
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	fmax_rgb_value
	str	r0, [fp, #-76]
	str	r1, [fp, #-72]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	ldmib	fp, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	fmin_rgb_value
	str	r0, [fp, #-68]
	str	r1, [fp, #-64]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L126
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	b	.L103
.L126:
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L127
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	ldmib	fp, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	ldr	r6, [fp, #-100]
	ldr	r3, [fp, #-96]
	bic	r7, r3, #-2147483648
	mov	r2, #0
	ldr	r3, .L130
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L106
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L106
	mov	r2, #0
	ldr	r3, .L130
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	fmod
	str	r0, [fp, #-100]
	str	r1, [fp, #-96]
	b	.L109
.L106:
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L109
	ldr	r4, [fp, #-100]
	ldr	r3, [fp, #-96]
	bic	r5, r3, #-2147483648
	mov	r2, r4
	mov	r3, r5
	mov	r0, #0
	ldr	r1, .L130
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
.L109:
	mov	r2, #0
	ldr	r3, .L130+4
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	b	.L111
.L127:
	ldmib	fp, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L128
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	mov	r3, #1073741824
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L130+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	b	.L111
.L128:
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L111
	ldmib	fp, {r2-r3}
	sub	r1, fp, #116
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L130+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L130+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
.L111:
	mov	r2, #0
	ldr	r3, .L130+12
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L129
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	b	.L103
.L129:
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #1073741824
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
.L103:
	mov	r2, #0
	ldr	r3, .L130+16
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #84
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-104]
	mov	lr, r3
	sub	ip, fp, #44
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
	ldr	r0, [fp, #-104]
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L131:
	.align	2
.L130:
	.word	1075314688
	.word	1078853632
	.word	1074790400
	.word	1071644672
	.word	1081507840
	.size	struct_rgb_to_hsl, .-struct_rgb_to_hsl
	.align	2
	.global	struct_hsl_to_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	struct_hsl_to_rgb, %function
struct_hsl_to_rgb:
	@ args = 16, pretend = 0, frame = 56
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #64
	str	r0, [fp, #-56]
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L142
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	mov	lr, r3
	sub	ip, fp, #36
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
	b	.L132
.L142:
	mov	r2, #0
	ldr	r3, .L144
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L143
	mov	r2, #0
	ldr	r3, .L144+4
	ldmib	fp, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L138
.L143:
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r2-r3}
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L138:
	add	r1, fp, #12
	ldmia	r1, {r0-r1}
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r2, .L144+8
	ldr	r3, .L144+12
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	hue_to_rgb
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	hue_to_rgb
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r2, .L144+8
	ldr	r3, .L144+12
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	hue_to_rgb
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-56]
	mov	lr, r3
	sub	ip, fp, #36
	ldmia	ip!, {r0, r1, r2, r3}
	stmia	lr!, {r0, r1, r2, r3}
	ldm	ip, {r0, r1}
	stm	lr, {r0, r1}
.L132:
	ldr	r0, [fp, #-56]
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L145:
	.align	2
.L144:
	.word	1071644672
	.word	1072693248
	.word	1431655765
	.word	1070945621
	.size	struct_hsl_to_rgb, .-struct_hsl_to_rgb
	.global	__aeabi_i2d
	.section	.rodata
	.align	2
.LC1:
	.ascii	"\012total time %f :\000"
	.align	2
.LC2:
	.ascii	"\012Testing algorithm(s).\000"
	.global	__aeabi_d2iz
	.align	2
.LC3:
	.ascii	"\012\012RGB VALUES:R:%i G:%i B:%i \000"
	.align	2
.LC4:
	.ascii	"\012RGB VALUES:R:%f G:%f B:%f \000"
	.align	2
.LC5:
	.ascii	"\012 %f, %f, %f \000"
	.align	2
.LC6:
	.ascii	"\012Error(s) found n=%i\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 96
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #112
	mov	r3, #0
	str	r3, [fp, #-112]
	mov	r3, #0
	str	r3, [fp, #-108]
	mov	r3, #0
	str	r3, [fp, #-104]
	ldr	r3, .L159
	str	r3, [fp, #-100]
	bl	clock
	str	r0, [fp, #-96]
	mov	r3, #0
	str	r3, [fp, #-112]
	b	.L147
.L148:
	ldr	r2, .L159+4
	ldr	r3, .L159+8
	stm	sp, {r2-r3}
	ldr	r2, .L159+12
	ldr	r3, .L159+16
	ldr	r0, .L159+20
	ldr	r1, .L159+24
	bl	rgb_to_hsl
	str	r0, [fp, #-80]
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L147:
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-100]
	cmp	r2, r3
	ble	.L148
	bl	clock
	str	r0, [fp, #-92]
	ldr	r2, [fp, #-92]
	ldr	r3, [fp, #-96]
	sub	r3, r2, r3
	mov	r0, r3
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L159+28
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+32
	bl	printf
	ldr	r0, .L159+36
	bl	printf
	mov	r3, #0
	str	r3, [fp, #-100]
	mov	r3, #0
	str	r3, [fp, #-112]
	b	.L149
.L158:
	mov	r3, #0
	str	r3, [fp, #-108]
	b	.L150
.L157:
	mov	r3, #0
	str	r3, [fp, #-104]
	b	.L151
.L156:
	ldr	r0, [fp, #-112]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L159+40
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-108]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L159+40
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, [fp, #-104]
	bl	__aeabi_i2d
	mov	r2, #0
	ldr	r3, .L159+40
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	stm	sp, {r2-r3}
	mov	r2, r6
	mov	r3, r7
	mov	r0, r4
	mov	r1, r5
	bl	rgb_to_hsl
	str	r0, [fp, #-88]
	ldr	r3, [fp, #-88]
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	ldr	r3, [fp, #-88]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	ldr	r3, [fp, #-88]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	ldr	r0, [fp, #-88]
	bl	free
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	hsl_to_rgb
	str	r0, [fp, #-84]
	ldr	r3, [fp, #-84]
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L159+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	str	r0, [fp, #-44]
	str	r1, [fp, #-40]
	ldr	r3, [fp, #-84]
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L159+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	str	r0, [fp, #-36]
	str	r1, [fp, #-32]
	ldr	r3, [fp, #-84]
	add	r3, r3, #16
	ldmia	r3, {r0-r1}
	mov	r2, #0
	ldr	r3, .L159+40
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	round
	str	r0, [fp, #-28]
	str	r1, [fp, #-24]
	ldr	r0, [fp, #-84]
	bl	free
	ldr	r0, [fp, #-112]
	bl	__aeabi_i2d
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	cmp	r3, #0
	rsblt	r3, r3, #0
	cmp	r3, #0
	ble	.L152
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-112]
	ldr	r0, .L159+44
	bl	printf
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+48
	bl	printf
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+52
	bl	printf
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	mvn	r3, #0
	b	.L153
.L152:
	ldr	r0, [fp, #-108]
	bl	__aeabi_i2d
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	cmp	r3, #0
	rsblt	r3, r3, #0
	cmp	r3, #0
	ble	.L154
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-112]
	ldr	r0, .L159+44
	bl	printf
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+48
	bl	printf
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+52
	bl	printf
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	mvn	r3, #0
	b	.L153
.L154:
	ldr	r0, [fp, #-104]
	bl	__aeabi_i2d
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2iz
	mov	r3, r0
	cmp	r3, #0
	rsblt	r3, r3, #0
	cmp	r3, #0
	ble	.L155
	ldr	r3, [fp, #-104]
	ldr	r2, [fp, #-108]
	ldr	r1, [fp, #-112]
	ldr	r0, .L159+44
	bl	printf
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+48
	bl	printf
	sub	r3, fp, #60
	ldmia	r3, {r2-r3}
	str	r2, [sp, #8]
	str	r3, [sp, #12]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	stm	sp, {r2-r3}
	sub	r3, fp, #68
	ldmia	r3, {r2-r3}
	ldr	r0, .L159+52
	bl	printf
	ldr	r3, [fp, #-100]
	add	r3, r3, #1
	str	r3, [fp, #-100]
	mvn	r3, #0
	b	.L153
.L155:
	ldr	r3, [fp, #-104]
	add	r3, r3, #1
	str	r3, [fp, #-104]
.L151:
	ldr	r3, [fp, #-104]
	cmp	r3, #255
	ble	.L156
	ldr	r3, [fp, #-108]
	add	r3, r3, #1
	str	r3, [fp, #-108]
.L150:
	ldr	r3, [fp, #-108]
	cmp	r3, #255
	ble	.L157
	ldr	r3, [fp, #-112]
	add	r3, r3, #1
	str	r3, [fp, #-112]
.L149:
	ldr	r3, [fp, #-112]
	cmp	r3, #255
	ble	.L158
	ldr	r1, [fp, #-100]
	ldr	r0, .L159+56
	bl	printf
	mov	r3, #0
.L153:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L160:
	.align	2
.L159:
	.word	1000000
	.word	269488144
	.word	1071648784
	.word	505290270
	.word	1070472734
	.word	421075225
	.word	1069095193
	.word	1093567616
	.word	.LC1
	.word	.LC2
	.word	1081073664
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
