	.file	"847670.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
.LC0:
	.string	"NTSC"
	.section	.data.rel.local,"aw"
	.align 32
	.type	NTSCsystem, @object
	.size	NTSCsystem, 80
NTSCsystem:
	.quad	.LC0
	.long	-687194767
	.long	1072001187
	.long	1374389535
	.long	1070931640
	.long	-1374389535
	.long	1070260551
	.long	-343597384
	.long	1072085073
	.long	515396076
	.long	1069673349
	.long	1202590843
	.long	1068792545
	.long	-1415621221
	.long	1070848173
	.long	-322981541
	.long	1070873758
	.long	0
	.long	0
	.section	.rodata
.LC1:
	.string	"EBU (PAL/SECAM)"
	.section	.data.rel.local
	.align 32
	.type	EBUsystem, @object
	.size	EBUsystem, 80
EBUsystem:
	.quad	.LC1
	.long	1202590843
	.long	1071938273
	.long	1374389535
	.long	1070931640
	.long	687194767
	.long	1070763868
	.long	858993459
	.long	1071854387
	.long	858993459
	.long	1069757235
	.long	-343597384
	.long	1068415057
	.long	-597859448
	.long	1070859078
	.long	1917273401
	.long	1070927865
	.long	0
	.long	0
	.section	.rodata
.LC2:
	.string	"SMPTE"
	.section	.data.rel.local
	.align 32
	.type	SMPTEsystem, @object
	.size	SMPTEsystem, 80
SMPTEsystem:
	.quad	.LC2
	.long	-1030792151
	.long	1071917301
	.long	1546188227
	.long	1070973583
	.long	1030792151
	.long	1070847754
	.long	1889785610
	.long	1071843901
	.long	1030792151
	.long	1069799178
	.long	515396076
	.long	1068624773
	.long	-597859448
	.long	1070859078
	.long	1917273401
	.long	1070927865
	.long	0
	.long	0
	.section	.rodata
.LC3:
	.string	"HDTV"
	.section	.data.rel.local
	.align 32
	.type	HDTVsystem, @object
	.size	HDTVsystem, 80
HDTVsystem:
	.quad	.LC3
	.long	-687194767
	.long	1072001187
	.long	1374389535
	.long	1070931640
	.long	-1374389535
	.long	1070260551
	.long	-343597384
	.long	1072085073
	.long	858993459
	.long	1069757235
	.long	-343597384
	.long	1068415057
	.long	-597859448
	.long	1070859078
	.long	1917273401
	.long	1070927865
	.long	0
	.long	0
	.section	.rodata
.LC4:
	.string	"CIE"
	.section	.data.rel.local
	.align 32
	.type	CIEsystem, @object
	.size	CIEsystem, 80
CIEsystem:
	.quad	.LC4
	.long	1271310320
	.long	1072138551
	.long	1752346657
	.long	1070656913
	.long	13743895
	.long	1070662366
	.long	831505669
	.long	1072115063
	.long	-1395005378
	.long	1069899002
	.long	-1340029796
	.long	1065445490
	.long	1371607770
	.long	1070945621
	.long	1371607770
	.long	1070945621
	.long	0
	.long	0
	.section	.rodata
.LC5:
	.string	"CIE REC 709"
	.section	.data.rel.local
	.align 32
	.type	Rec709system, @object
	.size	Rec709system, 80
Rec709system:
	.quad	.LC5
	.long	1202590843
	.long	1071938273
	.long	1374389535
	.long	1070931640
	.long	858993459
	.long	1070805811
	.long	858993459
	.long	1071854387
	.long	858993459
	.long	1069757235
	.long	-343597384
	.long	1068415057
	.long	-597859448
	.long	1070859078
	.long	1917273401
	.long	1070927865
	.long	0
	.long	0
	.text
	.globl	upvp_to_xy
	.type	upvp_to_xy, @function
upvp_to_xy:
.LFB0:
	.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC7[rip]
	mulsd	xmm1, xmm2
	movsd	xmm3, QWORD PTR -16[rbp]
	movsd	xmm2, QWORD PTR .LC8[rip]
	mulsd	xmm3, xmm2
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR .LC9[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC10[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC7[rip]
	mulsd	xmm1, xmm2
	movsd	xmm3, QWORD PTR -16[rbp]
	movsd	xmm2, QWORD PTR .LC8[rip]
	mulsd	xmm3, xmm2
	movapd	xmm2, xmm1
	subsd	xmm2, xmm3
	movsd	xmm1, QWORD PTR .LC9[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	mov	rax, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	upvp_to_xy, .-upvp_to_xy
	.globl	xy_to_upvp
	.type	xy_to_upvp, @function
xy_to_upvp:
.LFB1:
	.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	movsd	xmm1, QWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC10[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC11[rip]
	mulsd	xmm2, xmm1
	movsd	xmm3, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR .LC9[rip]
	mulsd	xmm1, xmm3
	addsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR .LC12[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm1, QWORD PTR -16[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	mulsd	xmm0, xmm1
	movsd	xmm2, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR .LC11[rip]
	mulsd	xmm2, xmm1
	movsd	xmm3, QWORD PTR -16[rbp]
	movsd	xmm1, QWORD PTR .LC9[rip]
	mulsd	xmm1, xmm3
	addsd	xmm2, xmm1
	movsd	xmm1, QWORD PTR .LC12[rip]
	addsd	xmm1, xmm2
	divsd	xmm0, xmm1
	mov	rax, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	xy_to_upvp, .-xy_to_upvp
	.globl	xyz_to_rgb
	.type	xyz_to_rgb, @function
xyz_to_rgb:
.LFB2:
	.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 -200[rbp], rdi
	movsd	QWORD PTR -208[rbp], xmm0
	movsd	QWORD PTR -216[rbp], xmm1
	movsd	QWORD PTR -224[rbp], xmm2
	mov	QWORD PTR -232[rbp], rsi
	mov	QWORD PTR -240[rbp], rdx
	mov	QWORD PTR -248[rbp], rcx
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 8[rax]
	movsd	QWORD PTR -192[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 16[rax]
	movsd	QWORD PTR -184[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -184[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -176[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 24[rax]
	movsd	QWORD PTR -168[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 32[rax]
	movsd	QWORD PTR -160[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -160[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -152[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 40[rax]
	movsd	QWORD PTR -144[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 48[rax]
	movsd	QWORD PTR -136[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -136[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -128[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 56[rax]
	movsd	QWORD PTR -120[rbp], xmm0
	mov	rax, QWORD PTR -200[rbp]
	movsd	xmm0, QWORD PTR 64[rax]
	movsd	QWORD PTR -112[rbp], xmm0
	movsd	xmm0, QWORD PTR -120[rbp]
	movapd	xmm1, xmm0
	addsd	xmm1, QWORD PTR -112[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -104[rbp], xmm0
	movsd	xmm0, QWORD PTR -160[rbp]
	mulsd	xmm0, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -136[rbp]
	mulsd	xmm1, QWORD PTR -152[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mulsd	xmm1, QWORD PTR -128[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -136[rbp]
	movsd	xmm1, QWORD PTR -144[rbp]
	mulsd	xmm1, QWORD PTR -160[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -136[rbp]
	mulsd	xmm0, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -184[rbp]
	mulsd	xmm1, QWORD PTR -128[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	mulsd	xmm0, QWORD PTR -128[rbp]
	movsd	xmm1, QWORD PTR -144[rbp]
	mulsd	xmm1, QWORD PTR -176[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -144[rbp]
	mulsd	xmm0, QWORD PTR -184[rbp]
	movsd	xmm1, QWORD PTR -192[rbp]
	mulsd	xmm1, QWORD PTR -136[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -184[rbp]
	mulsd	xmm0, QWORD PTR -152[rbp]
	movsd	xmm1, QWORD PTR -160[rbp]
	mulsd	xmm1, QWORD PTR -176[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -168[rbp]
	mulsd	xmm0, QWORD PTR -176[rbp]
	movsd	xmm1, QWORD PTR -192[rbp]
	mulsd	xmm1, QWORD PTR -152[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -192[rbp]
	mulsd	xmm0, QWORD PTR -160[rbp]
	movsd	xmm1, QWORD PTR -168[rbp]
	mulsd	xmm1, QWORD PTR -184[rbp]
	subsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	addsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -24[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	addsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -120[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, QWORD PTR -112[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, QWORD PTR -104[rbp]
	addsd	xmm0, xmm1
	divsd	xmm0, QWORD PTR -112[rbp]
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	divsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -96[rbp], xmm0
	movsd	xmm0, QWORD PTR -88[rbp]
	divsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -88[rbp], xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	divsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR -80[rbp], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -72[rbp], xmm0
	movsd	xmm0, QWORD PTR -64[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -64[rbp], xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	movsd	QWORD PTR -56[rbp], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	divsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -48[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	divsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -40[rbp], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	divsd	xmm0, QWORD PTR -8[rbp]
	movsd	QWORD PTR -32[rbp], xmm0
	movsd	xmm0, QWORD PTR -96[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -88[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -80[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -232[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -72[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -56[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -240[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -48[rbp]
	movapd	xmm1, xmm0
	mulsd	xmm1, QWORD PTR -208[rbp]
	movsd	xmm0, QWORD PTR -40[rbp]
	mulsd	xmm0, QWORD PTR -216[rbp]
	addsd	xmm1, xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	mulsd	xmm0, QWORD PTR -224[rbp]
	addsd	xmm0, xmm1
	mov	rax, QWORD PTR -248[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	xyz_to_rgb, .-xyz_to_rgb
	.globl	inside_gamut
	.type	inside_gamut, @function
inside_gamut:
.LFB3:
	.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]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L5
	movsd	xmm0, QWORD PTR -16[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L5
	movsd	xmm0, QWORD PTR -24[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jb	.L5
	mov	eax, 1
	jmp	.L10
.L5:
	mov	eax, 0
.L10:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	inside_gamut, .-inside_gamut
	.globl	constrain_rgb
	.type	constrain_rgb, @function
constrain_rgb:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L31
	pxor	xmm0, xmm0
	jmp	.L17
.L31:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
.L17:
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L32
	movsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L20
.L32:
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
.L20:
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	comisd	xmm0, QWORD PTR -8[rbp]
	jbe	.L33
	movsd	xmm0, QWORD PTR -8[rbp]
	jmp	.L23
.L33:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
.L23:
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	movq	xmm1, QWORD PTR .LC15[rip]
	xorpd	xmm0, xmm1
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	jbe	.L34
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	addsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	eax, 1
	jmp	.L26
.L34:
	mov	eax, 0
.L26:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	constrain_rgb, .-constrain_rgb
	.globl	gamma_correct
	.type	gamma_correct, @function
gamma_correct:
.LFB5:
	.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
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR 72[rax]
	movsd	QWORD PTR -16[rbp], xmm0
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jp	.L36
	pxor	xmm0, xmm0
	ucomisd	xmm0, QWORD PTR -16[rbp]
	jne	.L36
	movsd	xmm0, QWORD PTR .LC16[rip]
	movsd	QWORD PTR -8[rbp], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR -8[rbp]
	comisd	xmm0, xmm1
	jbe	.L43
	movsd	xmm0, QWORD PTR .LC17[rip]
	mov	rax, QWORD PTR -8[rbp]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	xmm1, QWORD PTR .LC18[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC19[rip]
	subsd	xmm0, xmm1
	movapd	xmm1, xmm0
	divsd	xmm1, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mulsd	xmm0, xmm1
	mov	rax, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L44
.L43:
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	movsd	xmm0, QWORD PTR .LC17[rip]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movsd	xmm1, QWORD PTR .LC18[rip]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC19[rip]
	subsd	xmm0, xmm1
	mov	rax, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	jmp	.L44
.L36:
	movsd	xmm0, QWORD PTR .LC13[rip]
	divsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR [rax]
	movapd	xmm1, xmm0
	movq	xmm0, rax
	call	pow@PLT
	movq	rax, xmm0
	mov	rdx, QWORD PTR -32[rbp]
	mov	QWORD PTR [rdx], rax
.L44:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	gamma_correct, .-gamma_correct
	.globl	gamma_correct_rgb
	.type	gamma_correct_rgb, @function
gamma_correct_rgb:
.LFB6:
	.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
	mov	QWORD PTR -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	QWORD PTR -24[rbp], rdx
	mov	QWORD PTR -32[rbp], rcx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gamma_correct
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gamma_correct
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	gamma_correct
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	gamma_correct_rgb, .-gamma_correct_rgb
	.globl	norm_rgb
	.type	norm_rgb, @function
norm_rgb:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm2, QWORD PTR [rax]
	comisd	xmm0, xmm2
	jbe	.L62
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	jmp	.L49
.L62:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
.L49:
	comisd	xmm1, xmm0
	jbe	.L63
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	jmp	.L52
.L63:
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm1, QWORD PTR [rax]
	comisd	xmm0, xmm1
	jbe	.L64
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	jmp	.L52
.L64:
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
.L52:
	movsd	QWORD PTR -8[rbp], xmm0
	movsd	xmm0, QWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	comisd	xmm0, xmm1
	ja	.L61
	jmp	.L65
.L61:
	mov	rax, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR [rax]
	divsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR [rax]
	divsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -32[rbp]
	movsd	QWORD PTR [rax], xmm0
	mov	rax, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR [rax]
	divsd	xmm0, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	movsd	QWORD PTR [rax], xmm0
.L65:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	norm_rgb, .-norm_rgb
	.globl	spectrum_to_xyz
	.type	spectrum_to_xyz, @function
spectrum_to_xyz:
.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
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	QWORD PTR -88[rbp], rdx
	mov	QWORD PTR -96[rbp], rcx
	pxor	xmm0, xmm0
	movsd	QWORD PTR -40[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -32[rbp], xmm0
	pxor	xmm0, xmm0
	movsd	QWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -52[rbp], 0
	movsd	xmm0, QWORD PTR .LC20[rip]
	movsd	QWORD PTR -48[rbp], xmm0
	jmp	.L67
.L68:
	mov	rax, QWORD PTR -48[rbp]
	mov	rdx, QWORD PTR -72[rbp]
	movq	xmm0, rax
	call	rdx
	movq	rax, xmm0
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, cie_colour_match.0[rip]
	movsd	xmm0, QWORD PTR [rdx+rax]
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -40[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -40[rbp], xmm0
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, cie_colour_match.0[rip+8]
	movsd	xmm0, QWORD PTR [rdx+rax]
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -32[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -32[rbp], xmm0
	mov	eax, DWORD PTR -52[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, 1717986919
	shr	rdx, 32
	sar	edx
	sar	eax, 31
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 3
	mov	rdx, rax
	lea	rax, cie_colour_match.0[rip+16]
	movsd	xmm0, QWORD PTR [rdx+rax]
	mulsd	xmm0, QWORD PTR -8[rbp]
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
	add	DWORD PTR -52[rbp], 1
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -48[rbp], xmm0
.L67:
	movsd	xmm0, QWORD PTR .LC21[rip]
	comisd	xmm0, QWORD PTR -48[rbp]
	ja	.L68
	movsd	xmm0, QWORD PTR -40[rbp]
	addsd	xmm0, QWORD PTR -32[rbp]
	movsd	xmm1, QWORD PTR -24[rbp]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -16[rbp], xmm0
	movsd	xmm0, QWORD PTR -40[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -80[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -32[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -88[rbp]
	movsd	QWORD PTR [rax], xmm0
	movsd	xmm0, QWORD PTR -24[rbp]
	divsd	xmm0, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -96[rbp]
	movsd	QWORD PTR [rax], xmm0
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	spectrum_to_xyz, .-spectrum_to_xyz
	.globl	bbTemp
	.data
	.align 8
	.type	bbTemp, @object
	.size	bbTemp, 8
bbTemp:
	.long	0
	.long	1085507584
	.text
	.globl	bb_spectrum
	.type	bb_spectrum, @function
bb_spectrum:
.LFB9:
	.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	xmm1, QWORD PTR bbTemp[rip]
	movsd	xmm0, QWORD PTR -8[rbp]
	subsd	xmm0, xmm1
	movq	xmm1, QWORD PTR .LC22[rip]
	andpd	xmm1, xmm0
	movsd	xmm0, QWORD PTR .LC13[rip]
	comisd	xmm0, xmm1
	jb	.L74
	movsd	xmm0, QWORD PTR .LC13[rip]
	jmp	.L72
.L74:
	pxor	xmm0, xmm0
.L72:
	movq	rax, xmm0
	movq	xmm0, rax
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	bb_spectrum, .-bb_spectrum
	.section	.rodata
.LC23:
	.string	"// Autogenerated file"
	.align 8
.LC24:
	.string	"// Wavelength to RGB values (conversion) Look-Up Table"
.LC25:
	.string	"\nexport const wlToRgb = ["
	.align 8
.LC27:
	.string	"[%.3f, %.3f, %.3f], // %.1f nm\n"
.LC29:
	.string	"];"
	.text
	.globl	main
	.type	main, @function
main:
.LFB10:
	.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	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, NTSCsystem[rip]
	mov	QWORD PTR -16[rbp], rax
	lea	rdi, .LC23[rip]
	call	puts@PLT
	lea	rdi, .LC24[rip]
	call	puts@PLT
	lea	rdi, .LC25[rip]
	call	puts@PLT
	movsd	xmm0, QWORD PTR .LC20[rip]
	movsd	QWORD PTR -24[rbp], xmm0
	jmp	.L76
.L79:
	movsd	xmm0, QWORD PTR -24[rbp]
	movsd	QWORD PTR bbTemp[rip], xmm0
	lea	rcx, -56[rbp]
	lea	rdx, -64[rbp]
	lea	rax, -72[rbp]
	mov	rsi, rax
	lea	rdi, bb_spectrum[rip]
	call	spectrum_to_xyz
	movsd	xmm1, QWORD PTR -56[rbp]
	movsd	xmm0, QWORD PTR -64[rbp]
	mov	rdi, QWORD PTR -72[rbp]
	lea	rcx, -32[rbp]
	lea	rdx, -40[rbp]
	lea	rsi, -48[rbp]
	mov	rax, QWORD PTR -16[rbp]
	movapd	xmm2, xmm1
	movapd	xmm1, xmm0
	movq	xmm0, rdi
	mov	rdi, rax
	call	xyz_to_rgb
	lea	rdx, -32[rbp]
	lea	rcx, -40[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	constrain_rgb
	test	eax, eax
	je	.L77
	lea	rdx, -32[rbp]
	lea	rcx, -40[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	norm_rgb
	jmp	.L78
.L77:
	lea	rdx, -32[rbp]
	lea	rcx, -40[rbp]
	lea	rax, -48[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	norm_rgb
.L78:
	movsd	xmm1, QWORD PTR -32[rbp]
	movsd	xmm0, QWORD PTR .LC26[rip]
	movapd	xmm2, xmm1
	mulsd	xmm2, xmm0
	movsd	xmm1, QWORD PTR -40[rbp]
	movsd	xmm0, QWORD PTR .LC26[rip]
	movapd	xmm4, xmm1
	mulsd	xmm4, xmm0
	movsd	xmm1, QWORD PTR -48[rbp]
	movsd	xmm0, QWORD PTR .LC26[rip]
	mulsd	xmm1, xmm0
	movq	rax, xmm1
	movsd	xmm0, QWORD PTR -24[rbp]
	movapd	xmm3, xmm0
	movapd	xmm1, xmm4
	movq	xmm0, rax
	lea	rdi, .LC27[rip]
	mov	eax, 4
	call	printf@PLT
	movsd	xmm1, QWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC13[rip]
	addsd	xmm0, xmm1
	movsd	QWORD PTR -24[rbp], xmm0
.L76:
	movsd	xmm0, QWORD PTR .LC28[rip]
	comisd	xmm0, QWORD PTR -24[rbp]
	jnb	.L79
	lea	rdi, .LC29[rip]
	call	puts@PLT
	mov	eax, 0
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L81
	call	__stack_chk_fail@PLT
.L81:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	main, .-main
	.data
	.align 32
	.type	cie_colour_match.0, @object
	.size	cie_colour_match.0, 1944
cie_colour_match.0:
	.long	-1917273401
	.long	1062662150
	.long	0
	.long	0
	.long	1992864825
	.long	1065000894
	.long	27487791
	.long	1063388604
	.long	-350469331
	.long	1058682594
	.long	618475291
	.long	1065713926
	.long	-364213227
	.long	1064383492
	.long	-350469331
	.long	1058682594
	.long	714682558
	.long	1066702104
	.long	1999736773
	.long	1065296173
	.long	-350469331
	.long	1059731170
	.long	1882913663
	.long	1067616462
	.long	-2102815988
	.long	1066223953
	.long	-350469331
	.long	1060779746
	.long	-144310901
	.long	1068589540
	.long	-1525572384
	.long	1066910141
	.long	810889825
	.long	1061398826
	.long	872737355
	.long	1069299217
	.long	-893353198
	.long	1067861409
	.long	810889825
	.long	1062447402
	.long	1285054215
	.long	1070238741
	.long	-164926744
	.long	1068752279
	.long	27487791
	.long	1063388604
	.long	322981541
	.long	1071104865
	.long	-364213227
	.long	1069626372
	.long	-755914244
	.long	1064329805
	.long	1422493168
	.long	1071950017
	.long	-6871948
	.long	1070300816
	.long	-735298401
	.long	1065215642
	.long	1381261482
	.long	1072734247
	.long	-405444913
	.long	1070738282
	.long	-1525572384
	.long	1065861565
	.long	-405444913
	.long	1073097578
	.long	-584115552
	.long	1070925348
	.long	-364213227
	.long	1066480644
	.long	-652835029
	.long	1073346510
	.long	357341279
	.long	1071008396
	.long	-549755814
	.long	1066896719
	.long	556627762
	.long	1073476639
	.long	955200727
	.long	1071007557
	.long	632219186
	.long	1067353060
	.long	-1814194186
	.long	1073513863
	.long	20615843
	.long	1070957645
	.long	1786706395
	.long	1067676860
	.long	-2020352616
	.long	1073502853
	.long	-1353773692
	.long	1070884244
	.long	-1133871366
	.long	1068012404
	.long	1724858866
	.long	1073473493
	.long	-1704243023
	.long	1070767223
	.long	-343597384
	.long	1068415057
	.long	254262064
	.long	1073394955
	.long	-1140743314
	.long	1070600709
	.long	1126999418
	.long	1068690204
	.long	-61847529
	.long	1073247000
	.long	13743895
	.long	1070138078
	.long	-1477468750
	.long	1068977094
	.long	1965377035
	.long	1072994818
	.long	845249564
	.long	1069690965
	.long	-2054712354
	.long	1069339482
	.long	1436237064
	.long	1072737183
	.long	-645963081
	.long	1069054269
	.long	-2095944040
	.long	1069664960
	.long	-1821066134
	.long	1072301080
	.long	240518169
	.long	1068347949
	.long	1436237064
	.long	1069919135
	.long	268005959
	.long	1071888361
	.long	-755914244
	.long	1067475533
	.long	1992864825
	.long	1070243774
	.long	948328779
	.long	1071498710
	.long	-1711114971
	.long	1066277640
	.long	61847529
	.long	1070632167
	.long	-1704243023
	.long	1071029367
	.long	-1140743314
	.long	1064571397
	.long	824633721
	.long	1070902280
	.long	-1340029796
	.long	1070688370
	.long	810889825
	.long	1063495978
	.long	82463372
	.long	1071255860
	.long	2054712354
	.long	1070279845
	.long	-556627762
	.long	1065552864
	.long	1958505087
	.long	1071650963
	.long	-920840988
	.long	1069826021
	.long	-247390116
	.long	1067306083
	.long	-659706977
	.long	1071871583
	.long	116823110
	.long	1069324383
	.long	-975816570
	.long	1068512365
	.long	-343597384
	.long	1072085073
	.long	1250694477
	.long	1068762346
	.long	-542883866
	.long	1069289150
	.long	-144310901
	.long	1072259556
	.long	-199286483
	.long	1068324460
	.long	-1614907703
	.long	1069887258
	.long	103079215
	.long	1072403841
	.long	130567006
	.long	1067817789
	.long	-749042296
	.long	1070392252
	.long	1566804070
	.long	1072514780
	.long	632219186
	.long	1067353060
	.long	-508524128
	.long	1070765545
	.long	34359738
	.long	1072596779
	.long	-261134012
	.long	1066715525
	.long	639091134
	.long	1071056211
	.long	453548546
	.long	1072651934
	.long	-1910401453
	.long	1066103157
	.long	1518700436
	.long	1071365331
	.long	1030792151
	.long	1072682762
	.long	1003304360
	.long	1065472334
	.long	-1979120930
	.long	1071670047
	.long	0
	.long	1072693248
	.long	426060756
	.long	1064786146
	.long	-584115552
	.long	1071842852
	.long	1030792151
	.long	1072682762
	.long	-1903529506
	.long	1064301284
	.long	-357341279
	.long	1072018803
	.long	-226774273
	.long	1072648368
	.long	1985992878
	.long	1063657039
	.long	-1979120930
	.long	1072194335
	.long	-1271310320
	.long	1072592584
	.long	-364213227
	.long	1063334916
	.long	-1889785610
	.long	1072362946
	.long	-254262064
	.long	1072515828
	.long	1216334738
	.long	1063091647
	.long	1621779651
	.long	1072517716
	.long	1030792151
	.long	1072420618
	.long	432932703
	.long	1062984273
	.long	-226774273
	.long	1072648368
	.long	762786192
	.long	1072308001
	.long	-1917273401
	.long	1062662150
	.long	-1937889244
	.long	1072720825
	.long	274877907
	.long	1072183640
	.long	27487791
	.long	1062340028
	.long	1113255523
	.long	1072752702
	.long	-322981541
	.long	1072053406
	.long	-755914244
	.long	1062232653
	.long	1834810029
	.long	1072758469
	.long	-377957122
	.long	1071919398
	.long	-350469331
	.long	1061828322
	.long	281749855
	.long	1072741063
	.long	-1058279942
	.long	1071784761
	.long	810889825
	.long	1061398826
	.long	1278182267
	.long	1072695974
	.long	1958505087
	.long	1071650963
	.long	810889825
	.long	1060350250
	.long	1876041715
	.long	1072564063
	.long	-322981541
	.long	1071398046
	.long	-350469331
	.long	1059731170
	.long	-1422493168
	.long	1072387902
	.long	-755914244
	.long	1071145549
	.long	-350469331
	.long	1059731170
	.long	54975581
	.long	1072171896
	.long	-1786706395
	.long	1070893891
	.long	-350469331
	.long	1058682594
	.long	1910401453
	.long	1071943306
	.long	-1889785610
	.long	1070659010
	.long	0
	.long	0
	.long	-1422493168
	.long	1071732542
	.long	-274877907
	.long	1070319271
	.long	0
	.long	0
	.long	-1023920203
	.long	1071426148
	.long	1717986918
	.long	1069966950
	.long	0
	.long	0
	.long	-501652180
	.long	1071060824
	.long	-1608035756
	.long	1069658249
	.long	0
	.long	0
	.long	790273982
	.long	1070736605
	.long	481036337
	.long	1069245530
	.long	0
	.long	0
	.long	-1848553924
	.long	1070333532
	.long	-749042296
	.long	1068819388
	.long	0
	.long	0
	.long	1972248982
	.long	1069882225
	.long	1511828488
	.long	1068448612
	.long	0
	.long	0
	.long	-1807322238
	.long	1069483766
	.long	-1429365116
	.long	1067898319
	.long	0
	.long	0
	.long	-1381261482
	.long	1068916696
	.long	-755914244
	.long	1067475533
	.long	0
	.long	0
	.long	-268005959
	.long	1068517398
	.long	-1525572384
	.long	1066910141
	.long	0
	.long	0
	.long	1793578343
	.long	1067972139
	.long	-1340029796
	.long	1066494066
	.long	0
	.long	0
	.long	-804017878
	.long	1067505732
	.long	-158054796
	.long	1065901830
	.long	0
	.long	0
	.long	913969041
	.long	1066876587
	.long	1587419913
	.long	1065405225
	.long	0
	.long	0
	.long	219902326
	.long	1066413536
	.long	426060756
	.long	1064786146
	.long	0
	.long	0
	.long	426060756
	.long	1065834722
	.long	1587419913
	.long	1064356649
	.long	0
	.long	0
	.long	-1731730814
	.long	1065391803
	.long	-1525572384
	.long	1063764413
	.long	0
	.long	0
	.long	-1525572384
	.long	1064812989
	.long	-364213227
	.long	1063334916
	.long	0
	.long	0
	.long	1587419913
	.long	1064356649
	.long	-1133871366
	.long	1062769524
	.long	0
	.long	0
	.long	-1525572384
	.long	1063764413
	.long	-755914244
	.long	1062232653
	.long	0
	.long	0
	.long	-755914244
	.long	1063281229
	.long	-1917273401
	.long	1061613574
	.long	0
	.long	0
	.long	-1917273401
	.long	1062662150
	.long	-755914244
	.long	1061184077
	.long	0
	.long	0
	.long	-755914244
	.long	1062232653
	.long	-350469331
	.long	1060779746
	.long	0
	.long	0
	.long	-1917273401
	.long	1061613574
	.long	-350469331
	.long	1059731170
	.long	0
	.long	0
	.long	-755914244
	.long	1061184077
	.long	-350469331
	.long	1059731170
	.long	0
	.long	0
	.long	810889825
	.long	1060350250
	.long	-350469331
	.long	1058682594
	.long	0
	.long	0
	.long	-350469331
	.long	1059731170
	.long	-350469331
	.long	1058682594
	.long	0
	.long	0
	.long	-350469331
	.long	1059731170
	.long	-350469331
	.long	1058682594
	.long	0
	.long	0
	.long	-350469331
	.long	1058682594
	.long	0
	.long	0
	.long	0
	.long	0
	.long	-350469331
	.long	1058682594
	.long	0
	.long	0
	.long	0
	.long	0
	.long	-350469331
	.long	1058682594
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.long	0
	.section	.rodata
	.align 8
.LC6:
	.long	0
	.long	1075970048
	.align 8
.LC7:
	.long	0
	.long	1075314688
	.align 8
.LC8:
	.long	0
	.long	1076887552
	.align 8
.LC9:
	.long	0
	.long	1076363264
	.align 8
.LC10:
	.long	0
	.long	1074790400
	.align 8
.LC11:
	.long	0
	.long	-1073741824
	.align 8
.LC12:
	.long	0
	.long	1074266112
	.align 8
.LC13:
	.long	0
	.long	1072693248
	.align 16
.LC15:
	.long	0
	.long	-2147483648
	.long	0
	.long	0
	.align 8
.LC16:
	.long	-1924145349
	.long	1066561175
	.align 8
.LC17:
	.long	-858993459
	.long	1071434956
	.align 8
.LC18:
	.long	103079215
	.long	1072797057
	.align 8
.LC19:
	.long	1649267442
	.long	1069111312
	.align 8
.LC20:
	.long	0
	.long	1081589760
	.align 8
.LC21:
	.long	-858993459
	.long	1082679500
	.align 16
.LC22:
	.long	-1
	.long	2147483647
	.long	0
	.long	0
	.align 8
.LC26:
	.long	0
	.long	1081073664
	.align 8
.LC28:
	.long	0
	.long	1082679296
	.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	"847670.c"
	.text
	.section	.rodata
	.align	2
.LC0:
	.ascii	"NTSC\000"
	.data
	.align	3
	.type	NTSCsystem, %object
	.size	NTSCsystem, 80
NTSCsystem:
	.word	.LC0
	.space	4
	.word	3607772529
	.word	1072001187
	.word	1374389535
	.word	1070931640
	.word	2920577761
	.word	1070260551
	.word	3951369912
	.word	1072085073
	.word	515396076
	.word	1069673349
	.word	1202590843
	.word	1068792545
	.word	2879346075
	.word	1070848173
	.word	3971985755
	.word	1070873758
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC1:
	.ascii	"EBU (PAL/SECAM)\000"
	.data
	.align	3
	.type	EBUsystem, %object
	.size	EBUsystem, 80
EBUsystem:
	.word	.LC1
	.space	4
	.word	1202590843
	.word	1071938273
	.word	1374389535
	.word	1070931640
	.word	687194767
	.word	1070763868
	.word	858993459
	.word	1071854387
	.word	858993459
	.word	1069757235
	.word	3951369912
	.word	1068415057
	.word	3697107848
	.word	1070859078
	.word	1917273401
	.word	1070927865
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC2:
	.ascii	"SMPTE\000"
	.data
	.align	3
	.type	SMPTEsystem, %object
	.size	SMPTEsystem, 80
SMPTEsystem:
	.word	.LC2
	.space	4
	.word	3264175145
	.word	1071917301
	.word	1546188227
	.word	1070973583
	.word	1030792151
	.word	1070847754
	.word	1889785610
	.word	1071843901
	.word	1030792151
	.word	1069799178
	.word	515396076
	.word	1068624773
	.word	3697107848
	.word	1070859078
	.word	1917273401
	.word	1070927865
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC3:
	.ascii	"HDTV\000"
	.data
	.align	3
	.type	HDTVsystem, %object
	.size	HDTVsystem, 80
HDTVsystem:
	.word	.LC3
	.space	4
	.word	3607772529
	.word	1072001187
	.word	1374389535
	.word	1070931640
	.word	2920577761
	.word	1070260551
	.word	3951369912
	.word	1072085073
	.word	858993459
	.word	1069757235
	.word	3951369912
	.word	1068415057
	.word	3697107848
	.word	1070859078
	.word	1917273401
	.word	1070927865
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC4:
	.ascii	"CIE\000"
	.data
	.align	3
	.type	CIEsystem, %object
	.size	CIEsystem, 80
CIEsystem:
	.word	.LC4
	.space	4
	.word	1271310320
	.word	1072138551
	.word	1752346657
	.word	1070656913
	.word	13743895
	.word	1070662366
	.word	831505669
	.word	1072115063
	.word	2899961918
	.word	1069899002
	.word	2954937500
	.word	1065445490
	.word	1371607770
	.word	1070945621
	.word	1371607770
	.word	1070945621
	.word	0
	.word	0
	.section	.rodata
	.align	2
.LC5:
	.ascii	"CIE REC 709\000"
	.data
	.align	3
	.type	Rec709system, %object
	.size	Rec709system, 80
Rec709system:
	.word	.LC5
	.space	4
	.word	1202590843
	.word	1071938273
	.word	1374389535
	.word	1070931640
	.word	858993459
	.word	1070805811
	.word	858993459
	.word	1071854387
	.word	858993459
	.word	1069757235
	.word	3951369912
	.word	1068415057
	.word	3697107848
	.word	1070859078
	.word	1917273401
	.word	1070927865
	.word	0
	.word	0
	.global	__aeabi_dmul
	.global	__aeabi_dsub
	.global	__aeabi_dadd
	.global	__aeabi_ddiv
	.text
	.align	2
	.global	upvp_to_xy
	.syntax unified
	.arm
	.fpu softvfp
	.type	upvp_to_xy, %function
upvp_to_xy:
	@ 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]
	mov	r2, #0
	ldr	r3, .L2
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L2+4
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	mov	r2, #0
	ldr	r3, .L2+8
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L2+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #4]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L2+16
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	ldr	r3, .L2+4
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	mov	r2, #0
	ldr	r3, .L2+8
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L2+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #8]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L3:
	.align	2
.L2:
	.word	1075970048
	.word	1075314688
	.word	1076887552
	.word	1076363264
	.word	1074790400
	.size	upvp_to_xy, .-upvp_to_xy
	.align	2
	.global	xy_to_upvp
	.syntax unified
	.arm
	.fpu softvfp
	.type	xy_to_upvp, %function
xy_to_upvp:
	@ 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]
	mov	r2, #0
	ldr	r3, .L5
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #-1073741824
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	mov	r2, #0
	ldr	r3, .L5+4
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L5+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #4]
	stm	r1, {r2-r3}
	mov	r2, #0
	ldr	r3, .L5+12
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	mov	r2, #0
	mov	r3, #-1073741824
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	mov	r2, #0
	ldr	r3, .L5+4
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L5+8
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #8]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L6:
	.align	2
.L5:
	.word	1074790400
	.word	1076363264
	.word	1074266112
	.word	1075970048
	.size	xy_to_upvp, .-xy_to_upvp
	.align	2
	.global	xyz_to_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	xyz_to_rgb, %function
xyz_to_rgb:
	@ args = 28, pretend = 0, frame = 208
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #208
	str	r0, [fp, #-208]
	str	r2, [fp, #-220]
	str	r3, [fp, #-216]
	ldr	r3, [fp, #-208]
	add	r3, r3, #8
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-204]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-208]
	add	r3, r3, #16
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-196]
	str	r3, [fp, #-192]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-188]
	str	r3, [fp, #-184]
	ldr	r3, [fp, #-208]
	add	r3, r3, #24
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-180]
	str	r3, [fp, #-176]
	ldr	r3, [fp, #-208]
	add	r3, r3, #32
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-172]
	str	r3, [fp, #-168]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-164]
	str	r3, [fp, #-160]
	ldr	r3, [fp, #-208]
	add	r3, r3, #40
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-156]
	str	r3, [fp, #-152]
	ldr	r3, [fp, #-208]
	add	r3, r3, #48
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-148]
	str	r3, [fp, #-144]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-140]
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-208]
	add	r3, r3, #56
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-132]
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-208]
	add	r3, r3, #64
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-124]
	str	r3, [fp, #-120]
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #132
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, #0
	ldr	r1, .L8
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-116]
	str	r3, [fp, #-112]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	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, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	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, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	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, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #148
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	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, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #140
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	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, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #156
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #148
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	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, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #196
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #172
	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, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #188
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #164
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	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]
	sub	r3, fp, #172
	ldmia	r3, {r2-r3}
	sub	r1, fp, #204
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #196
	ldmia	r3, {r2-r3}
	sub	r1, fp, #180
	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, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	sub	r3, fp, #132
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r3, fp, #116
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #124
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-108]
	str	r3, [fp, #-104]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-100]
	str	r3, [fp, #-96]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-92]
	str	r3, [fp, #-88]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-84]
	str	r3, [fp, #-80]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-76]
	str	r3, [fp, #-72]
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-68]
	str	r3, [fp, #-64]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-60]
	str	r3, [fp, #-56]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #108
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r2-r3}
	sub	r1, fp, #100
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #92
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #20]
	stm	r1, {r2-r3}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #24]
	stm	r1, {r2-r3}
	sub	r3, fp, #220
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldmib	fp, {r2-r3}
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	add	r3, fp, #12
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #28]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L9:
	.align	2
.L8:
	.word	1072693248
	.size	xyz_to_rgb, .-xyz_to_rgb
	.global	__aeabi_dcmpge
	.align	2
	.global	inside_gamut
	.syntax unified
	.arm
	.fpu softvfp
	.type	inside_gamut, %function
inside_gamut:
	@ 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]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #12
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L11
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L11
	mov	r2, #0
	mov	r3, #0
	ldmib	fp, {r0-r1}
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L11
	mov	r3, #1
	b	.L16
.L11:
	mov	r3, #0
.L16:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	inside_gamut, .-inside_gamut
	.global	__aeabi_dcmpgt
	.global	__aeabi_dcmplt
	.align	2
	.global	constrain_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	constrain_rgb, %function
constrain_rgb:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L37
	mov	r2, #0
	mov	r3, #0
	b	.L23
.L37:
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
.L23:
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L38
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L26
.L38:
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
.L26:
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L39
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	b	.L29
.L39:
	ldr	r3, [fp, #-32]
	ldmia	r3, {r2-r3}
.L29:
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r4, [fp, #-20]
	ldr	r3, [fp, #-16]
	eor	r5, r3, #-2147483648
	str	r4, [fp, #-20]
	str	r5, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L40
	ldr	r3, [fp, #-24]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-24]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-28]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-28]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-32]
	stm	r1, {r2-r3}
	mov	r3, #1
	b	.L32
.L40:
	mov	r3, #0
.L32:
	mov	r0, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	constrain_rgb, .-constrain_rgb
	.global	__aeabi_dcmpeq
	.align	2
	.global	gamma_correct
	.syntax unified
	.arm
	.fpu softvfp
	.type	gamma_correct, %function
gamma_correct:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	ldr	r3, [fp, #-32]
	add	r3, r3, #72
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpeq
	mov	r3, r0
	cmp	r3, #0
	beq	.L49
	ldr	r2, .L52
	ldr	r3, .L52+4
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-36]
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L50
	ldr	r2, .L52+8
	ldr	r3, .L52+12
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	pow
	ldr	r2, .L52+16
	ldr	r3, .L52+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L52+24
	ldr	r3, .L52+28
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r3, [fp, #-36]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-36]
	stm	r1, {r2-r3}
	b	.L51
.L50:
	ldr	r3, [fp, #-36]
	ldmia	r3, {r0-r1}
	ldr	r2, .L52+8
	ldr	r3, .L52+12
	bl	pow
	ldr	r2, .L52+16
	ldr	r3, .L52+20
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	ldr	r2, .L52+24
	ldr	r3, .L52+28
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-36]
	stm	r1, {r2-r3}
	b	.L51
.L49:
	ldr	r3, [fp, #-36]
	ldmia	r3, {r4-r5}
	sub	r3, fp, #28
	ldmia	r3, {r2-r3}
	mov	r0, #0
	ldr	r1, .L52+32
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	pow
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-36]
	stm	r1, {r2-r3}
.L51:
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L53:
	.align	2
.L52:
	.word	-1924145349
	.word	1066561175
	.word	-858993459
	.word	1071434956
	.word	103079215
	.word	1072797057
	.word	1649267442
	.word	1069111312
	.word	1072693248
	.size	gamma_correct, .-gamma_correct
	.align	2
	.global	gamma_correct_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	gamma_correct_rgb, %function
gamma_correct_rgb:
	@ args = 0, 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	str	r3, [fp, #-20]
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-8]
	bl	gamma_correct
	ldr	r1, [fp, #-16]
	ldr	r0, [fp, #-8]
	bl	gamma_correct
	ldr	r1, [fp, #-20]
	ldr	r0, [fp, #-8]
	bl	gamma_correct
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	gamma_correct_rgb, .-gamma_correct_rgb
	.align	2
	.global	norm_rgb
	.syntax unified
	.arm
	.fpu softvfp
	.type	norm_rgb, %function
norm_rgb:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	ldmia	r3, {r4-r5}
	ldr	r3, [fp, #-28]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-32]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L71
	ldr	r3, [fp, #-28]
	ldmia	r3, {r0-r1}
	b	.L58
.L71:
	ldr	r3, [fp, #-32]
	ldmia	r3, {r0-r1}
.L58:
	mov	r2, r4
	mov	r3, r5
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	beq	.L72
	ldr	r3, [fp, #-24]
	ldmia	r3, {r2-r3}
	b	.L61
.L72:
	ldr	r3, [fp, #-28]
	ldmia	r3, {r0-r1}
	ldr	r3, [fp, #-32]
	ldmia	r3, {r2-r3}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	beq	.L73
	ldr	r3, [fp, #-28]
	ldmia	r3, {r2-r3}
	b	.L61
.L73:
	ldr	r3, [fp, #-32]
	ldmia	r3, {r2-r3}
.L61:
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	mov	r2, #0
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L70
	b	.L74
.L70:
	ldr	r3, [fp, #-24]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-24]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-28]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-28]
	stm	r1, {r2-r3}
	ldr	r3, [fp, #-32]
	ldmia	r3, {r0-r1}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-32]
	stm	r1, {r2-r3}
.L74:
	nop
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
	.size	norm_rgb, .-norm_rgb
	.align	2
	.global	spectrum_to_xyz
	.syntax unified
	.arm
	.fpu softvfp
	.type	spectrum_to_xyz, %function
spectrum_to_xyz:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #72
	str	r0, [fp, #-64]
	str	r1, [fp, #-68]
	str	r2, [fp, #-72]
	str	r3, [fp, #-76]
	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	r3, #0
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L78
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
	b	.L76
.L77:
	ldr	r3, [fp, #-64]
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	blx	r3
	str	r0, [fp, #-12]
	str	r1, [fp, #-8]
	ldr	r3, [fp, #-56]
	ldr	r2, .L78+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r1, .L78+8
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldmia	r3, {r0-r1}
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-56]
	ldr	r2, .L78+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r1, .L78+8
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #8
	ldmia	r3, {r0-r1}
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-56]
	ldr	r2, .L78+4
	smull	r1, r2, r3, r2
	asr	r2, r2, #1
	asr	r3, r3, #31
	sub	r2, r2, r3
	ldr	r1, .L78+8
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #16
	ldmia	r3, {r0-r1}
	sub	r3, fp, #12
	ldmia	r3, {r2-r3}
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-28]
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-56]
	add	r3, r3, #1
	str	r3, [fp, #-56]
	mov	r2, #0
	ldr	r3, .L78+12
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-52]
	str	r3, [fp, #-48]
.L76:
	ldr	r2, .L78+16
	ldr	r3, .L78+20
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L77
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-68]
	stm	r1, {r2-r3}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-72]
	stm	r1, {r2-r3}
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	sub	r1, fp, #28
	ldmia	r1, {r0-r1}
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	ldr	r1, [fp, #-76]
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L79:
	.align	2
.L78:
	.word	1081589760
	.word	1717986919
	.word	cie_colour_match.5740
	.word	1072693248
	.word	-858993459
	.word	1082679500
	.size	spectrum_to_xyz, .-spectrum_to_xyz
	.global	bbTemp
	.data
	.align	3
	.type	bbTemp, %object
	.size	bbTemp, 8
bbTemp:
	.word	0
	.word	1085507584
	.global	__aeabi_dcmple
	.text
	.align	2
	.global	bb_spectrum
	.syntax unified
	.arm
	.fpu softvfp
	.type	bb_spectrum, %function
bb_spectrum:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, fp, lr}
	add	fp, sp, #12
	sub	sp, sp, #8
	str	r0, [fp, #-20]
	str	r1, [fp, #-16]
	ldr	r3, .L86
	ldmia	r3, {r2-r3}
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	bic	r5, r3, #-2147483648
	mov	r2, #0
	ldr	r3, .L86+4
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	beq	.L85
	mov	r2, #0
	ldr	r3, .L86+4
	b	.L83
.L85:
	mov	r2, #0
	mov	r3, #0
.L83:
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #12
	@ sp needed
	pop	{r4, r5, fp, pc}
.L87:
	.align	2
.L86:
	.word	bbTemp
	.word	1072693248
	.size	bb_spectrum, .-bb_spectrum
	.section	.rodata
	.align	2
.LC6:
	.ascii	"// Autogenerated file\000"
	.align	2
.LC7:
	.ascii	"// Wavelength to RGB values (conversion) Look-Up Ta"
	.ascii	"ble\000"
	.align	2
.LC8:
	.ascii	"\012export const wlToRgb = [\000"
	.align	2
.LC9:
	.ascii	"[%.3f, %.3f, %.3f], // %.1f nm\012\000"
	.align	2
.LC10:
	.ascii	"];\000"
	.align	2
.LC11:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 72
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #104
	ldr	r3, .L95
	ldr	r3, [r3]
	str	r3, [fp, #-24]
	mov	r3,#0
	ldr	r3, .L95+4
	str	r3, [fp, #-88]
	ldr	r0, .L95+8
	bl	puts
	ldr	r0, .L95+12
	bl	puts
	ldr	r0, .L95+16
	bl	puts
	mov	r2, #0
	ldr	r3, .L95+20
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L89
.L92:
	ldr	r1, .L95+24
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	stm	r1, {r2-r3}
	sub	r3, fp, #68
	sub	r2, fp, #76
	sub	r1, fp, #84
	ldr	r0, .L95+28
	bl	spectrum_to_xyz
	sub	r5, fp, #84
	ldmia	r5, {r4-r5}
	sub	r3, fp, #76
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	sub	ip, fp, #44
	str	ip, [sp, #24]
	sub	ip, fp, #52
	str	ip, [sp, #20]
	sub	ip, fp, #60
	str	ip, [sp, #16]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r2-r3}
	mov	r2, r4
	mov	r3, r5
	ldr	r0, [fp, #-88]
	bl	xyz_to_rgb
	sub	r2, fp, #44
	sub	r1, fp, #52
	sub	r3, fp, #60
	mov	r0, r3
	bl	constrain_rgb
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	sub	r2, fp, #44
	sub	r1, fp, #52
	sub	r3, fp, #60
	mov	r0, r3
	bl	norm_rgb
	b	.L91
.L90:
	sub	r2, fp, #44
	sub	r1, fp, #52
	sub	r3, fp, #60
	mov	r0, r3
	bl	norm_rgb
.L91:
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L95+32
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	sub	r1, fp, #52
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L95+32
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, #0
	ldr	r3, .L95+32
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	str	r2, [sp, #16]
	str	r3, [sp, #20]
	str	r0, [sp, #8]
	str	r1, [sp, #12]
	stm	sp, {r4-r5}
	mov	r2, r6
	mov	r3, r7
	ldr	r0, .L95+36
	bl	printf
	mov	r2, #0
	ldr	r3, .L95+40
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
.L89:
	mov	r2, #0
	ldr	r3, .L95+44
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	bl	__aeabi_dcmple
	mov	r3, r0
	cmp	r3, #0
	bne	.L92
	ldr	r0, .L95+48
	bl	puts
	mov	r3, #0
	ldr	r2, .L95
	ldr	r1, [r2]
	ldr	r2, [fp, #-24]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L94
	bl	__stack_chk_fail
.L94:
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L96:
	.align	2
.L95:
	.word	.LC11
	.word	NTSCsystem
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	1081589760
	.word	bbTemp
	.word	bb_spectrum
	.word	1081073664
	.word	.LC9
	.word	1072693248
	.word	1082679296
	.word	.LC10
	.size	main, .-main
	.data
	.align	3
	.type	cie_colour_match.5740, %object
	.size	cie_colour_match.5740, 1944
cie_colour_match.5740:
	.word	2377693895
	.word	1062662150
	.word	0
	.word	0
	.word	1992864825
	.word	1065000894
	.word	27487791
	.word	1063388604
	.word	3944497965
	.word	1058682594
	.word	618475291
	.word	1065713926
	.word	3930754069
	.word	1064383492
	.word	3944497965
	.word	1058682594
	.word	714682558
	.word	1066702104
	.word	1999736773
	.word	1065296173
	.word	3944497965
	.word	1059731170
	.word	1882913663
	.word	1067616462
	.word	2192151308
	.word	1066223953
	.word	3944497965
	.word	1060779746
	.word	4150656395
	.word	1068589540
	.word	2769394912
	.word	1066910141
	.word	810889825
	.word	1061398826
	.word	872737355
	.word	1069299217
	.word	3401614098
	.word	1067861409
	.word	810889825
	.word	1062447402
	.word	1285054215
	.word	1070238741
	.word	4130040552
	.word	1068752279
	.word	27487791
	.word	1063388604
	.word	322981541
	.word	1071104865
	.word	3930754069
	.word	1069626372
	.word	3539053052
	.word	1064329805
	.word	1422493168
	.word	1071950017
	.word	4288095348
	.word	1070300816
	.word	3559668895
	.word	1065215642
	.word	1381261482
	.word	1072734247
	.word	3889522383
	.word	1070738282
	.word	2769394912
	.word	1065861565
	.word	3889522383
	.word	1073097578
	.word	3710851744
	.word	1070925348
	.word	3930754069
	.word	1066480644
	.word	3642132267
	.word	1073346510
	.word	357341279
	.word	1071008396
	.word	3745211482
	.word	1066896719
	.word	556627762
	.word	1073476639
	.word	955200727
	.word	1071007557
	.word	632219186
	.word	1067353060
	.word	2480773110
	.word	1073513863
	.word	20615843
	.word	1070957645
	.word	1786706395
	.word	1067676860
	.word	2274614680
	.word	1073502853
	.word	2941193604
	.word	1070884244
	.word	3161095930
	.word	1068012404
	.word	1724858866
	.word	1073473493
	.word	2590724273
	.word	1070767223
	.word	3951369912
	.word	1068415057
	.word	254262064
	.word	1073394955
	.word	3154223982
	.word	1070600709
	.word	1126999418
	.word	1068690204
	.word	4233119767
	.word	1073247000
	.word	13743895
	.word	1070138078
	.word	2817498546
	.word	1068977094
	.word	1965377035
	.word	1072994818
	.word	845249564
	.word	1069690965
	.word	2240254942
	.word	1069339482
	.word	1436237064
	.word	1072737183
	.word	3649004215
	.word	1069054269
	.word	2199023256
	.word	1069664960
	.word	2473901162
	.word	1072301080
	.word	240518169
	.word	1068347949
	.word	1436237064
	.word	1069919135
	.word	268005959
	.word	1071888361
	.word	3539053052
	.word	1067475533
	.word	1992864825
	.word	1070243774
	.word	948328779
	.word	1071498710
	.word	2583852325
	.word	1066277640
	.word	61847529
	.word	1070632167
	.word	2590724273
	.word	1071029367
	.word	3154223982
	.word	1064571397
	.word	824633721
	.word	1070902280
	.word	2954937500
	.word	1070688370
	.word	810889825
	.word	1063495978
	.word	82463372
	.word	1071255860
	.word	2054712354
	.word	1070279845
	.word	3738339534
	.word	1065552864
	.word	1958505087
	.word	1071650963
	.word	3374126308
	.word	1069826021
	.word	4047577180
	.word	1067306083
	.word	3635260319
	.word	1071871583
	.word	116823110
	.word	1069324383
	.word	3319150726
	.word	1068512365
	.word	3951369912
	.word	1072085073
	.word	1250694477
	.word	1068762346
	.word	3752083430
	.word	1069289150
	.word	4150656395
	.word	1072259556
	.word	4095680813
	.word	1068324460
	.word	2680059593
	.word	1069887258
	.word	103079215
	.word	1072403841
	.word	130567006
	.word	1067817789
	.word	3545925000
	.word	1070392252
	.word	1566804070
	.word	1072514780
	.word	632219186
	.word	1067353060
	.word	3786443168
	.word	1070765545
	.word	34359738
	.word	1072596779
	.word	4033833284
	.word	1066715525
	.word	639091134
	.word	1071056211
	.word	453548546
	.word	1072651934
	.word	2384565843
	.word	1066103157
	.word	1518700436
	.word	1071365331
	.word	1030792151
	.word	1072682762
	.word	1003304360
	.word	1065472334
	.word	2315846366
	.word	1071670047
	.word	0
	.word	1072693248
	.word	426060756
	.word	1064786146
	.word	3710851744
	.word	1071842852
	.word	1030792151
	.word	1072682762
	.word	2391437790
	.word	1064301284
	.word	3937626017
	.word	1072018803
	.word	4068193023
	.word	1072648368
	.word	1985992878
	.word	1063657039
	.word	2315846366
	.word	1072194335
	.word	3023656976
	.word	1072592584
	.word	3930754069
	.word	1063334916
	.word	2405181686
	.word	1072362946
	.word	4040705232
	.word	1072515828
	.word	1216334738
	.word	1063091647
	.word	1621779651
	.word	1072517716
	.word	1030792151
	.word	1072420618
	.word	432932703
	.word	1062984273
	.word	4068193023
	.word	1072648368
	.word	762786192
	.word	1072308001
	.word	2377693895
	.word	1062662150
	.word	2357078052
	.word	1072720825
	.word	274877907
	.word	1072183640
	.word	27487791
	.word	1062340028
	.word	1113255523
	.word	1072752702
	.word	3971985755
	.word	1072053406
	.word	3539053052
	.word	1062232653
	.word	1834810029
	.word	1072758469
	.word	3917010174
	.word	1071919398
	.word	3944497965
	.word	1061828322
	.word	281749855
	.word	1072741063
	.word	3236687354
	.word	1071784761
	.word	810889825
	.word	1061398826
	.word	1278182267
	.word	1072695974
	.word	1958505087
	.word	1071650963
	.word	810889825
	.word	1060350250
	.word	1876041715
	.word	1072564063
	.word	3971985755
	.word	1071398046
	.word	3944497965
	.word	1059731170
	.word	2872474128
	.word	1072387902
	.word	3539053052
	.word	1071145549
	.word	3944497965
	.word	1059731170
	.word	54975581
	.word	1072171896
	.word	2508260901
	.word	1070893891
	.word	3944497965
	.word	1058682594
	.word	1910401453
	.word	1071943306
	.word	2405181686
	.word	1070659010
	.word	0
	.word	0
	.word	2872474128
	.word	1071732542
	.word	4020089389
	.word	1070319271
	.word	0
	.word	0
	.word	3271047093
	.word	1071426148
	.word	1717986918
	.word	1069966950
	.word	0
	.word	0
	.word	3793315116
	.word	1071060824
	.word	2686931540
	.word	1069658249
	.word	0
	.word	0
	.word	790273982
	.word	1070736605
	.word	481036337
	.word	1069245530
	.word	0
	.word	0
	.word	2446413372
	.word	1070333532
	.word	3545925000
	.word	1068819388
	.word	0
	.word	0
	.word	1972248982
	.word	1069882225
	.word	1511828488
	.word	1068448612
	.word	0
	.word	0
	.word	2487645058
	.word	1069483766
	.word	2865602180
	.word	1067898319
	.word	0
	.word	0
	.word	2913705814
	.word	1068916696
	.word	3539053052
	.word	1067475533
	.word	0
	.word	0
	.word	4026961337
	.word	1068517398
	.word	2769394912
	.word	1066910141
	.word	0
	.word	0
	.word	1793578343
	.word	1067972139
	.word	2954937500
	.word	1066494066
	.word	0
	.word	0
	.word	3490949418
	.word	1067505732
	.word	4136912500
	.word	1065901830
	.word	0
	.word	0
	.word	913969041
	.word	1066876587
	.word	1587419913
	.word	1065405225
	.word	0
	.word	0
	.word	219902326
	.word	1066413536
	.word	426060756
	.word	1064786146
	.word	0
	.word	0
	.word	426060756
	.word	1065834722
	.word	1587419913
	.word	1064356649
	.word	0
	.word	0
	.word	2563236482
	.word	1065391803
	.word	2769394912
	.word	1063764413
	.word	0
	.word	0
	.word	2769394912
	.word	1064812989
	.word	3930754069
	.word	1063334916
	.word	0
	.word	0
	.word	1587419913
	.word	1064356649
	.word	3161095930
	.word	1062769524
	.word	0
	.word	0
	.word	2769394912
	.word	1063764413
	.word	3539053052
	.word	1062232653
	.word	0
	.word	0
	.word	3539053052
	.word	1063281229
	.word	2377693895
	.word	1061613574
	.word	0
	.word	0
	.word	2377693895
	.word	1062662150
	.word	3539053052
	.word	1061184077
	.word	0
	.word	0
	.word	3539053052
	.word	1062232653
	.word	3944497965
	.word	1060779746
	.word	0
	.word	0
	.word	2377693895
	.word	1061613574
	.word	3944497965
	.word	1059731170
	.word	0
	.word	0
	.word	3539053052
	.word	1061184077
	.word	3944497965
	.word	1059731170
	.word	0
	.word	0
	.word	810889825
	.word	1060350250
	.word	3944497965
	.word	1058682594
	.word	0
	.word	0
	.word	3944497965
	.word	1059731170
	.word	3944497965
	.word	1058682594
	.word	0
	.word	0
	.word	3944497965
	.word	1059731170
	.word	3944497965
	.word	1058682594
	.word	0
	.word	0
	.word	3944497965
	.word	1058682594
	.word	0
	.word	0
	.word	0
	.word	0
	.word	3944497965
	.word	1058682594
	.word	0
	.word	0
	.word	0
	.word	0
	.word	3944497965
	.word	1058682594
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.word	0
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
