	.file	"315871.c"
	.intel_syntax noprefix
	.text
	.globl	tqmf
	.bss
	.align 32
	.type	tqmf, @object
	.size	tqmf, 96
tqmf:
	.zero	96
	.globl	h
	.data
	.align 32
	.type	h, @object
	.size	h, 96
h:
	.long	12
	.long	-44
	.long	-44
	.long	212
	.long	48
	.long	-624
	.long	128
	.long	1448
	.long	-840
	.long	-3220
	.long	3804
	.long	15504
	.long	15504
	.long	3804
	.long	-3220
	.long	-840
	.long	1448
	.long	128
	.long	-624
	.long	48
	.long	212
	.long	-44
	.long	-44
	.long	12
	.globl	xl
	.bss
	.align 4
	.type	xl, @object
	.size	xl, 4
xl:
	.zero	4
	.globl	xh
	.align 4
	.type	xh, @object
	.size	xh, 4
xh:
	.zero	4
	.globl	accumc
	.align 32
	.type	accumc, @object
	.size	accumc, 44
accumc:
	.zero	44
	.globl	accumd
	.align 32
	.type	accumd, @object
	.size	accumd, 44
accumd:
	.zero	44
	.globl	xout1
	.align 4
	.type	xout1, @object
	.size	xout1, 4
xout1:
	.zero	4
	.globl	xout2
	.align 4
	.type	xout2, @object
	.size	xout2, 4
xout2:
	.zero	4
	.globl	xs
	.align 4
	.type	xs, @object
	.size	xs, 4
xs:
	.zero	4
	.globl	xd
	.align 4
	.type	xd, @object
	.size	xd, 4
xd:
	.zero	4
	.globl	il
	.align 4
	.type	il, @object
	.size	il, 4
il:
	.zero	4
	.globl	szl
	.align 4
	.type	szl, @object
	.size	szl, 4
szl:
	.zero	4
	.globl	spl
	.align 4
	.type	spl, @object
	.size	spl, 4
spl:
	.zero	4
	.globl	sl
	.align 4
	.type	sl, @object
	.size	sl, 4
sl:
	.zero	4
	.globl	el
	.align 4
	.type	el, @object
	.size	el, 4
el:
	.zero	4
	.globl	qq4_code4_table
	.data
	.align 32
	.type	qq4_code4_table, @object
	.size	qq4_code4_table, 64
qq4_code4_table:
	.long	0
	.long	-20456
	.long	-12896
	.long	-8968
	.long	-6288
	.long	-4240
	.long	-2584
	.long	-1200
	.long	20456
	.long	12896
	.long	8968
	.long	6288
	.long	4240
	.long	2584
	.long	1200
	.long	0
	.globl	qq5_code5_table
	.align 32
	.type	qq5_code5_table, @object
	.size	qq5_code5_table, 128
qq5_code5_table:
	.long	-280
	.long	-280
	.long	-23352
	.long	-17560
	.long	-14120
	.long	-11664
	.long	-9752
	.long	-8184
	.long	-6864
	.long	-5712
	.long	-4696
	.long	-3784
	.long	-2960
	.long	-2208
	.long	-1520
	.long	-880
	.long	23352
	.long	17560
	.long	14120
	.long	11664
	.long	9752
	.long	8184
	.long	6864
	.long	5712
	.long	4696
	.long	3784
	.long	2960
	.long	2208
	.long	1520
	.long	880
	.long	280
	.long	-280
	.globl	qq6_code6_table
	.align 32
	.type	qq6_code6_table, @object
	.size	qq6_code6_table, 256
qq6_code6_table:
	.long	-136
	.long	-136
	.long	-136
	.long	-136
	.long	-24808
	.long	-21904
	.long	-19008
	.long	-16704
	.long	-14984
	.long	-13512
	.long	-12280
	.long	-11192
	.long	-10232
	.long	-9360
	.long	-8576
	.long	-7856
	.long	-7192
	.long	-6576
	.long	-6000
	.long	-5456
	.long	-4944
	.long	-4464
	.long	-4008
	.long	-3576
	.long	-3168
	.long	-2776
	.long	-2400
	.long	-2032
	.long	-1688
	.long	-1360
	.long	-1040
	.long	-728
	.long	24808
	.long	21904
	.long	19008
	.long	16704
	.long	14984
	.long	13512
	.long	12280
	.long	11192
	.long	10232
	.long	9360
	.long	8576
	.long	7856
	.long	7192
	.long	6576
	.long	6000
	.long	5456
	.long	4944
	.long	4464
	.long	4008
	.long	3576
	.long	3168
	.long	2776
	.long	2400
	.long	2032
	.long	1688
	.long	1360
	.long	1040
	.long	728
	.long	432
	.long	136
	.long	-432
	.long	-136
	.globl	delay_bpl
	.bss
	.align 16
	.type	delay_bpl, @object
	.size	delay_bpl, 24
delay_bpl:
	.zero	24
	.globl	delay_dltx
	.align 16
	.type	delay_dltx, @object
	.size	delay_dltx, 24
delay_dltx:
	.zero	24
	.globl	wl_code_table
	.data
	.align 32
	.type	wl_code_table, @object
	.size	wl_code_table, 64
wl_code_table:
	.long	-60
	.long	3042
	.long	1198
	.long	538
	.long	334
	.long	172
	.long	58
	.long	-30
	.long	3042
	.long	1198
	.long	538
	.long	334
	.long	172
	.long	58
	.long	-30
	.long	-60
	.globl	wl_table
	.align 32
	.type	wl_table, @object
	.size	wl_table, 32
wl_table:
	.long	-60
	.long	-30
	.long	58
	.long	172
	.long	334
	.long	538
	.long	1198
	.long	3042
	.globl	ilb_table
	.align 32
	.type	ilb_table, @object
	.size	ilb_table, 128
ilb_table:
	.long	2048
	.long	2093
	.long	2139
	.long	2186
	.long	2233
	.long	2282
	.long	2332
	.long	2383
	.long	2435
	.long	2489
	.long	2543
	.long	2599
	.long	2656
	.long	2714
	.long	2774
	.long	2834
	.long	2896
	.long	2960
	.long	3025
	.long	3091
	.long	3158
	.long	3228
	.long	3298
	.long	3371
	.long	3444
	.long	3520
	.long	3597
	.long	3676
	.long	3756
	.long	3838
	.long	3922
	.long	4008
	.globl	nbl
	.bss
	.align 4
	.type	nbl, @object
	.size	nbl, 4
nbl:
	.zero	4
	.globl	al1
	.align 4
	.type	al1, @object
	.size	al1, 4
al1:
	.zero	4
	.globl	al2
	.align 4
	.type	al2, @object
	.size	al2, 4
al2:
	.zero	4
	.globl	plt
	.align 4
	.type	plt, @object
	.size	plt, 4
plt:
	.zero	4
	.globl	plt1
	.align 4
	.type	plt1, @object
	.size	plt1, 4
plt1:
	.zero	4
	.globl	plt2
	.align 4
	.type	plt2, @object
	.size	plt2, 4
plt2:
	.zero	4
	.globl	rs
	.align 4
	.type	rs, @object
	.size	rs, 4
rs:
	.zero	4
	.globl	dlt
	.align 4
	.type	dlt, @object
	.size	dlt, 4
dlt:
	.zero	4
	.globl	rlt
	.align 4
	.type	rlt, @object
	.size	rlt, 4
rlt:
	.zero	4
	.globl	rlt1
	.align 4
	.type	rlt1, @object
	.size	rlt1, 4
rlt1:
	.zero	4
	.globl	rlt2
	.align 4
	.type	rlt2, @object
	.size	rlt2, 4
rlt2:
	.zero	4
	.globl	decis_levl
	.data
	.align 32
	.type	decis_levl, @object
	.size	decis_levl, 120
decis_levl:
	.long	280
	.long	576
	.long	880
	.long	1200
	.long	1520
	.long	1864
	.long	2208
	.long	2584
	.long	2960
	.long	3376
	.long	3784
	.long	4240
	.long	4696
	.long	5200
	.long	5712
	.long	6288
	.long	6864
	.long	7520
	.long	8184
	.long	8968
	.long	9752
	.long	10712
	.long	11664
	.long	12896
	.long	14120
	.long	15840
	.long	17560
	.long	20456
	.long	23352
	.long	32767
	.globl	detl
	.bss
	.align 4
	.type	detl, @object
	.size	detl, 4
detl:
	.zero	4
	.globl	quant26bt_pos
	.data
	.align 32
	.type	quant26bt_pos, @object
	.size	quant26bt_pos, 124
quant26bt_pos:
	.long	61
	.long	60
	.long	59
	.long	58
	.long	57
	.long	56
	.long	55
	.long	54
	.long	53
	.long	52
	.long	51
	.long	50
	.long	49
	.long	48
	.long	47
	.long	46
	.long	45
	.long	44
	.long	43
	.long	42
	.long	41
	.long	40
	.long	39
	.long	38
	.long	37
	.long	36
	.long	35
	.long	34
	.long	33
	.long	32
	.long	32
	.globl	quant26bt_neg
	.align 32
	.type	quant26bt_neg, @object
	.size	quant26bt_neg, 124
quant26bt_neg:
	.long	63
	.long	62
	.long	31
	.long	30
	.long	29
	.long	28
	.long	27
	.long	26
	.long	25
	.long	24
	.long	23
	.long	22
	.long	21
	.long	20
	.long	19
	.long	18
	.long	17
	.long	16
	.long	15
	.long	14
	.long	13
	.long	12
	.long	11
	.long	10
	.long	9
	.long	8
	.long	7
	.long	6
	.long	5
	.long	4
	.long	4
	.globl	deth
	.bss
	.align 4
	.type	deth, @object
	.size	deth, 4
deth:
	.zero	4
	.globl	sh
	.align 4
	.type	sh, @object
	.size	sh, 4
sh:
	.zero	4
	.globl	eh
	.align 4
	.type	eh, @object
	.size	eh, 4
eh:
	.zero	4
	.globl	qq2_code2_table
	.data
	.align 16
	.type	qq2_code2_table, @object
	.size	qq2_code2_table, 16
qq2_code2_table:
	.long	-7408
	.long	-1616
	.long	7408
	.long	1616
	.globl	wh_code_table
	.align 16
	.type	wh_code_table, @object
	.size	wh_code_table, 16
wh_code_table:
	.long	798
	.long	-214
	.long	798
	.long	-214
	.globl	dh
	.bss
	.align 4
	.type	dh, @object
	.size	dh, 4
dh:
	.zero	4
	.globl	ih
	.align 4
	.type	ih, @object
	.size	ih, 4
ih:
	.zero	4
	.globl	nbh
	.align 4
	.type	nbh, @object
	.size	nbh, 4
nbh:
	.zero	4
	.globl	szh
	.align 4
	.type	szh, @object
	.size	szh, 4
szh:
	.zero	4
	.globl	sph
	.align 4
	.type	sph, @object
	.size	sph, 4
sph:
	.zero	4
	.globl	ph
	.align 4
	.type	ph, @object
	.size	ph, 4
ph:
	.zero	4
	.globl	yh
	.align 4
	.type	yh, @object
	.size	yh, 4
yh:
	.zero	4
	.globl	rh
	.align 4
	.type	rh, @object
	.size	rh, 4
rh:
	.zero	4
	.globl	delay_dhx
	.align 16
	.type	delay_dhx, @object
	.size	delay_dhx, 24
delay_dhx:
	.zero	24
	.globl	delay_bph
	.align 16
	.type	delay_bph, @object
	.size	delay_bph, 24
delay_bph:
	.zero	24
	.globl	ah1
	.align 4
	.type	ah1, @object
	.size	ah1, 4
ah1:
	.zero	4
	.globl	ah2
	.align 4
	.type	ah2, @object
	.size	ah2, 4
ah2:
	.zero	4
	.globl	ph1
	.align 4
	.type	ph1, @object
	.size	ph1, 4
ph1:
	.zero	4
	.globl	ph2
	.align 4
	.type	ph2, @object
	.size	ph2, 4
ph2:
	.zero	4
	.globl	rh1
	.align 4
	.type	rh1, @object
	.size	rh1, 4
rh1:
	.zero	4
	.globl	rh2
	.align 4
	.type	rh2, @object
	.size	rh2, 4
rh2:
	.zero	4
	.globl	ilr
	.align 4
	.type	ilr, @object
	.size	ilr, 4
ilr:
	.zero	4
	.globl	yl
	.align 4
	.type	yl, @object
	.size	yl, 4
yl:
	.zero	4
	.globl	rl
	.align 4
	.type	rl, @object
	.size	rl, 4
rl:
	.zero	4
	.globl	dec_deth
	.align 4
	.type	dec_deth, @object
	.size	dec_deth, 4
dec_deth:
	.zero	4
	.globl	dec_detl
	.align 4
	.type	dec_detl, @object
	.size	dec_detl, 4
dec_detl:
	.zero	4
	.globl	dec_dlt
	.align 4
	.type	dec_dlt, @object
	.size	dec_dlt, 4
dec_dlt:
	.zero	4
	.globl	dec_del_bpl
	.align 16
	.type	dec_del_bpl, @object
	.size	dec_del_bpl, 24
dec_del_bpl:
	.zero	24
	.globl	dec_del_dltx
	.align 16
	.type	dec_del_dltx, @object
	.size	dec_del_dltx, 24
dec_del_dltx:
	.zero	24
	.globl	dec_plt
	.align 4
	.type	dec_plt, @object
	.size	dec_plt, 4
dec_plt:
	.zero	4
	.globl	dec_plt1
	.align 4
	.type	dec_plt1, @object
	.size	dec_plt1, 4
dec_plt1:
	.zero	4
	.globl	dec_plt2
	.align 4
	.type	dec_plt2, @object
	.size	dec_plt2, 4
dec_plt2:
	.zero	4
	.globl	dec_szl
	.align 4
	.type	dec_szl, @object
	.size	dec_szl, 4
dec_szl:
	.zero	4
	.globl	dec_spl
	.align 4
	.type	dec_spl, @object
	.size	dec_spl, 4
dec_spl:
	.zero	4
	.globl	dec_sl
	.align 4
	.type	dec_sl, @object
	.size	dec_sl, 4
dec_sl:
	.zero	4
	.globl	dec_rlt1
	.align 4
	.type	dec_rlt1, @object
	.size	dec_rlt1, 4
dec_rlt1:
	.zero	4
	.globl	dec_rlt2
	.align 4
	.type	dec_rlt2, @object
	.size	dec_rlt2, 4
dec_rlt2:
	.zero	4
	.globl	dec_rlt
	.align 4
	.type	dec_rlt, @object
	.size	dec_rlt, 4
dec_rlt:
	.zero	4
	.globl	dec_al1
	.align 4
	.type	dec_al1, @object
	.size	dec_al1, 4
dec_al1:
	.zero	4
	.globl	dec_al2
	.align 4
	.type	dec_al2, @object
	.size	dec_al2, 4
dec_al2:
	.zero	4
	.globl	dl
	.align 4
	.type	dl, @object
	.size	dl, 4
dl:
	.zero	4
	.globl	dec_nbl
	.align 4
	.type	dec_nbl, @object
	.size	dec_nbl, 4
dec_nbl:
	.zero	4
	.globl	dec_yh
	.align 4
	.type	dec_yh, @object
	.size	dec_yh, 4
dec_yh:
	.zero	4
	.globl	dec_dh
	.align 4
	.type	dec_dh, @object
	.size	dec_dh, 4
dec_dh:
	.zero	4
	.globl	dec_nbh
	.align 4
	.type	dec_nbh, @object
	.size	dec_nbh, 4
dec_nbh:
	.zero	4
	.globl	dec_del_bph
	.align 16
	.type	dec_del_bph, @object
	.size	dec_del_bph, 24
dec_del_bph:
	.zero	24
	.globl	dec_del_dhx
	.align 16
	.type	dec_del_dhx, @object
	.size	dec_del_dhx, 24
dec_del_dhx:
	.zero	24
	.globl	dec_szh
	.align 4
	.type	dec_szh, @object
	.size	dec_szh, 4
dec_szh:
	.zero	4
	.globl	dec_rh1
	.align 4
	.type	dec_rh1, @object
	.size	dec_rh1, 4
dec_rh1:
	.zero	4
	.globl	dec_rh2
	.align 4
	.type	dec_rh2, @object
	.size	dec_rh2, 4
dec_rh2:
	.zero	4
	.globl	dec_ah1
	.align 4
	.type	dec_ah1, @object
	.size	dec_ah1, 4
dec_ah1:
	.zero	4
	.globl	dec_ah2
	.align 4
	.type	dec_ah2, @object
	.size	dec_ah2, 4
dec_ah2:
	.zero	4
	.globl	dec_ph
	.align 4
	.type	dec_ph, @object
	.size	dec_ph, 4
dec_ph:
	.zero	4
	.globl	dec_sph
	.align 4
	.type	dec_sph, @object
	.size	dec_sph, 4
dec_sph:
	.zero	4
	.globl	dec_sh
	.align 4
	.type	dec_sh, @object
	.size	dec_sh, 4
dec_sh:
	.zero	4
	.globl	dec_rh
	.align 4
	.type	dec_rh, @object
	.size	dec_rh, 4
dec_rh:
	.zero	4
	.globl	dec_ph1
	.align 4
	.type	dec_ph1, @object
	.size	dec_ph1, 4
dec_ph1:
	.zero	4
	.globl	dec_ph2
	.align 4
	.type	dec_ph2, @object
	.size	dec_ph2, 4
dec_ph2:
	.zero	4
	.text
	.globl	abs
	.type	abs, @function
abs:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	cmp	DWORD PTR -20[rbp], 0
	js	.L2
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -4[rbp], eax
	jmp	.L3
.L2:
	mov	eax, DWORD PTR -20[rbp]
	neg	eax
	mov	DWORD PTR -4[rbp], eax
.L3:
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	abs, .-abs
	.globl	fabs
	.type	fabs, @function
fabs:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	movss	DWORD PTR -20[rbp], xmm0
	movss	xmm0, DWORD PTR -20[rbp]
	pxor	xmm1, xmm1
	comiss	xmm0, xmm1
	jb	.L11
	movss	xmm0, DWORD PTR -20[rbp]
	movss	DWORD PTR -4[rbp], xmm0
	jmp	.L8
.L11:
	movss	xmm0, DWORD PTR -20[rbp]
	movss	xmm1, DWORD PTR .LC1[rip]
	xorps	xmm0, xmm1
	movss	DWORD PTR -4[rbp], xmm0
.L8:
	movss	xmm0, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	fabs, .-fabs
	.globl	sin
	.type	sin, @function
sin:
.LFB2:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 24
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -24[rbp], xmm0
	mov	DWORD PTR -4[rbp], 1
	jmp	.L13
.L14:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -24[rbp]
	movsd	xmm1, QWORD PTR .LC2[rip]
	subsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -24[rbp], xmm0
.L13:
	pxor	xmm0, xmm0
	cvtss2sd	xmm0, DWORD PTR -24[rbp]
	comisd	xmm0, QWORD PTR .LC2[rip]
	ja	.L14
	jmp	.L15
.L16:
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC2[rip]
	addsd	xmm0, xmm1
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -24[rbp], xmm0
.L15:
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -24[rbp]
	movsd	xmm0, QWORD PTR .LC3[rip]
	comisd	xmm0, xmm1
	ja	.L16
	movss	xmm0, DWORD PTR -24[rbp]
	movss	DWORD PTR -8[rbp], xmm0
	movss	xmm0, DWORD PTR -8[rbp]
	movss	DWORD PTR -12[rbp], xmm0
	movss	xmm0, DWORD PTR -24[rbp]
	mulss	xmm0, xmm0
	movss	xmm1, DWORD PTR .LC1[rip]
	xorps	xmm0, xmm1
	mulss	xmm0, DWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -4[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -4[rbp]
	movapd	xmm3, xmm0
	addsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	addsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	divsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movss	DWORD PTR -8[rbp], xmm0
	movss	xmm0, DWORD PTR -12[rbp]
	addss	xmm0, DWORD PTR -8[rbp]
	movss	DWORD PTR -12[rbp], xmm0
	add	DWORD PTR -4[rbp], 1
	jmp	.L17
.L18:
	movss	xmm0, DWORD PTR -24[rbp]
	mulss	xmm0, xmm0
	movss	xmm1, DWORD PTR .LC1[rip]
	xorps	xmm0, xmm1
	mulss	xmm0, DWORD PTR -8[rbp]
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -4[rbp]
	movapd	xmm2, xmm0
	addsd	xmm2, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -4[rbp]
	movapd	xmm3, xmm0
	addsd	xmm3, xmm0
	movsd	xmm0, QWORD PTR .LC4[rip]
	addsd	xmm0, xmm3
	mulsd	xmm0, xmm2
	divsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsd2ss	xmm0, xmm1
	movss	DWORD PTR -8[rbp], xmm0
	movss	xmm0, DWORD PTR -12[rbp]
	addss	xmm0, DWORD PTR -8[rbp]
	movss	DWORD PTR -12[rbp], xmm0
	add	DWORD PTR -4[rbp], 1
.L17:
	mov	eax, DWORD PTR -8[rbp]
	movd	xmm0, eax
	call	fabs
	cvtss2sd	xmm0, xmm0
	comisd	xmm0, QWORD PTR .LC5[rip]
	jnb	.L18
	movss	xmm0, DWORD PTR -12[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE2:
	.size	sin, .-sin
	.globl	cos
	.type	cos, @function
cos:
.LFB3:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 8
	cvtsd2ss	xmm0, xmm0
	movss	DWORD PTR -8[rbp], xmm0
	pxor	xmm1, xmm1
	cvtss2sd	xmm1, DWORD PTR -8[rbp]
	movsd	xmm0, QWORD PTR .LC6[rip]
	subsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	mov	eax, 1
	call	sin
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE3:
	.size	cos, .-cos
	.globl	encode
	.type	encode, @function
encode:
.LFB4:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	DWORD PTR -52[rbp], edi
	mov	DWORD PTR -56[rbp], esi
	lea	rax, h[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, tqmf[rip]
	mov	QWORD PTR -32[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L23
.L24:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -8[rbp], rax
	add	DWORD PTR -48[rbp], 1
.L23:
	cmp	DWORD PTR -48[rbp], 9
	jle	.L24
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 8
	mov	QWORD PTR -24[rbp], rax
	mov	DWORD PTR -48[rbp], 0
	jmp	.L25
.L26:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -4[rdx]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, -4[rax]
	mov	QWORD PTR -32[rbp], rcx
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -48[rbp], 1
.L25:
	cmp	DWORD PTR -48[rbp], 21
	jle	.L26
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, -4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	edx, DWORD PTR -52[rbp]
	mov	DWORD PTR [rax], edx
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -56[rbp]
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	sar	rax, 15
	mov	DWORD PTR xl[rip], eax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, QWORD PTR -8[rbp]
	sar	rax, 15
	mov	DWORD PTR xh[rip], eax
	lea	rsi, delay_dltx[rip]
	lea	rdi, delay_bpl[rip]
	call	filtez
	mov	DWORD PTR szl[rip], eax
	mov	ecx, DWORD PTR al2[rip]
	mov	edx, DWORD PTR rlt2[rip]
	mov	esi, DWORD PTR al1[rip]
	mov	eax, DWORD PTR rlt1[rip]
	mov	edi, eax
	call	filtep
	mov	DWORD PTR spl[rip], eax
	mov	edx, DWORD PTR szl[rip]
	mov	eax, DWORD PTR spl[rip]
	add	eax, edx
	mov	DWORD PTR sl[rip], eax
	mov	eax, DWORD PTR xl[rip]
	mov	edx, DWORD PTR sl[rip]
	sub	eax, edx
	mov	DWORD PTR el[rip], eax
	mov	edx, DWORD PTR detl[rip]
	mov	eax, DWORD PTR el[rip]
	mov	esi, edx
	mov	edi, eax
	call	quantl
	mov	DWORD PTR il[rip], eax
	mov	eax, DWORD PTR detl[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR il[rip]
	sar	eax, 2
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, qq4_code4_table[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	DWORD PTR dlt[rip], eax
	mov	edx, DWORD PTR nbl[rip]
	mov	eax, DWORD PTR il[rip]
	mov	esi, edx
	mov	edi, eax
	call	logscl
	mov	DWORD PTR nbl[rip], eax
	mov	eax, DWORD PTR nbl[rip]
	mov	esi, 8
	mov	edi, eax
	call	scalel
	mov	DWORD PTR detl[rip], eax
	mov	edx, DWORD PTR dlt[rip]
	mov	eax, DWORD PTR szl[rip]
	add	eax, edx
	mov	DWORD PTR plt[rip], eax
	mov	eax, DWORD PTR dlt[rip]
	lea	rdx, delay_bpl[rip]
	lea	rsi, delay_dltx[rip]
	mov	edi, eax
	call	upzero
	mov	edi, DWORD PTR plt2[rip]
	mov	ecx, DWORD PTR plt1[rip]
	mov	edx, DWORD PTR plt[rip]
	mov	esi, DWORD PTR al2[rip]
	mov	eax, DWORD PTR al1[rip]
	mov	r8d, edi
	mov	edi, eax
	call	uppol2
	mov	DWORD PTR al2[rip], eax
	mov	ecx, DWORD PTR plt1[rip]
	mov	edx, DWORD PTR plt[rip]
	mov	esi, DWORD PTR al2[rip]
	mov	eax, DWORD PTR al1[rip]
	mov	edi, eax
	call	uppol1
	mov	DWORD PTR al1[rip], eax
	mov	edx, DWORD PTR sl[rip]
	mov	eax, DWORD PTR dlt[rip]
	add	eax, edx
	mov	DWORD PTR rlt[rip], eax
	mov	eax, DWORD PTR rlt1[rip]
	mov	DWORD PTR rlt2[rip], eax
	mov	eax, DWORD PTR rlt[rip]
	mov	DWORD PTR rlt1[rip], eax
	mov	eax, DWORD PTR plt1[rip]
	mov	DWORD PTR plt2[rip], eax
	mov	eax, DWORD PTR plt[rip]
	mov	DWORD PTR plt1[rip], eax
	lea	rsi, delay_dhx[rip]
	lea	rdi, delay_bph[rip]
	call	filtez
	mov	DWORD PTR szh[rip], eax
	mov	ecx, DWORD PTR ah2[rip]
	mov	edx, DWORD PTR rh2[rip]
	mov	esi, DWORD PTR ah1[rip]
	mov	eax, DWORD PTR rh1[rip]
	mov	edi, eax
	call	filtep
	mov	DWORD PTR sph[rip], eax
	mov	edx, DWORD PTR sph[rip]
	mov	eax, DWORD PTR szh[rip]
	add	eax, edx
	mov	DWORD PTR sh[rip], eax
	mov	eax, DWORD PTR xh[rip]
	mov	edx, DWORD PTR sh[rip]
	sub	eax, edx
	mov	DWORD PTR eh[rip], eax
	mov	eax, DWORD PTR eh[rip]
	test	eax, eax
	js	.L27
	mov	DWORD PTR ih[rip], 3
	jmp	.L28
.L27:
	mov	DWORD PTR ih[rip], 1
.L28:
	mov	eax, DWORD PTR deth[rip]
	cdqe
	imul	rax, rax, 564
	sar	rax, 12
	mov	DWORD PTR -44[rbp], eax
	mov	eax, DWORD PTR eh[rip]
	cdq
	xor	eax, edx
	sub	eax, edx
	cmp	DWORD PTR -44[rbp], eax
	jge	.L29
	mov	eax, DWORD PTR ih[rip]
	sub	eax, 1
	mov	DWORD PTR ih[rip], eax
.L29:
	mov	eax, DWORD PTR deth[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR ih[rip]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, qq2_code2_table[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	DWORD PTR dh[rip], eax
	mov	edx, DWORD PTR nbh[rip]
	mov	eax, DWORD PTR ih[rip]
	mov	esi, edx
	mov	edi, eax
	call	logsch
	mov	DWORD PTR nbh[rip], eax
	mov	eax, DWORD PTR nbh[rip]
	mov	esi, 10
	mov	edi, eax
	call	scalel
	mov	DWORD PTR deth[rip], eax
	mov	edx, DWORD PTR dh[rip]
	mov	eax, DWORD PTR szh[rip]
	add	eax, edx
	mov	DWORD PTR ph[rip], eax
	mov	eax, DWORD PTR dh[rip]
	lea	rdx, delay_bph[rip]
	lea	rsi, delay_dhx[rip]
	mov	edi, eax
	call	upzero
	mov	edi, DWORD PTR ph2[rip]
	mov	ecx, DWORD PTR ph1[rip]
	mov	edx, DWORD PTR ph[rip]
	mov	esi, DWORD PTR ah2[rip]
	mov	eax, DWORD PTR ah1[rip]
	mov	r8d, edi
	mov	edi, eax
	call	uppol2
	mov	DWORD PTR ah2[rip], eax
	mov	ecx, DWORD PTR ph1[rip]
	mov	edx, DWORD PTR ph[rip]
	mov	esi, DWORD PTR ah2[rip]
	mov	eax, DWORD PTR ah1[rip]
	mov	edi, eax
	call	uppol1
	mov	DWORD PTR ah1[rip], eax
	mov	edx, DWORD PTR sh[rip]
	mov	eax, DWORD PTR dh[rip]
	add	eax, edx
	mov	DWORD PTR yh[rip], eax
	mov	eax, DWORD PTR rh1[rip]
	mov	DWORD PTR rh2[rip], eax
	mov	eax, DWORD PTR yh[rip]
	mov	DWORD PTR rh1[rip], eax
	mov	eax, DWORD PTR ph1[rip]
	mov	DWORD PTR ph2[rip], eax
	mov	eax, DWORD PTR ph[rip]
	mov	DWORD PTR ph1[rip], eax
	mov	eax, DWORD PTR ih[rip]
	sal	eax, 6
	mov	edx, eax
	mov	eax, DWORD PTR il[rip]
	or	eax, edx
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE4:
	.size	encode, .-encode
	.globl	decode
	.type	decode, @function
decode:
.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, 80
	mov	DWORD PTR -68[rbp], edi
	mov	eax, DWORD PTR -68[rbp]
	and	eax, 63
	mov	DWORD PTR ilr[rip], eax
	mov	eax, DWORD PTR -68[rbp]
	sar	eax, 6
	mov	DWORD PTR ih[rip], eax
	lea	rsi, dec_del_dltx[rip]
	lea	rdi, dec_del_bpl[rip]
	call	filtez
	mov	DWORD PTR dec_szl[rip], eax
	mov	ecx, DWORD PTR dec_al2[rip]
	mov	edx, DWORD PTR dec_rlt2[rip]
	mov	esi, DWORD PTR dec_al1[rip]
	mov	eax, DWORD PTR dec_rlt1[rip]
	mov	edi, eax
	call	filtep
	mov	DWORD PTR dec_spl[rip], eax
	mov	edx, DWORD PTR dec_spl[rip]
	mov	eax, DWORD PTR dec_szl[rip]
	add	eax, edx
	mov	DWORD PTR dec_sl[rip], eax
	mov	eax, DWORD PTR dec_detl[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR ilr[rip]
	sar	eax, 2
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, qq4_code4_table[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	DWORD PTR dec_dlt[rip], eax
	mov	eax, DWORD PTR dec_detl[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR il[rip]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, qq6_code6_table[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	DWORD PTR dl[rip], eax
	mov	edx, DWORD PTR dl[rip]
	mov	eax, DWORD PTR dec_sl[rip]
	add	eax, edx
	mov	DWORD PTR rl[rip], eax
	mov	edx, DWORD PTR dec_nbl[rip]
	mov	eax, DWORD PTR ilr[rip]
	mov	esi, edx
	mov	edi, eax
	call	logscl
	mov	DWORD PTR dec_nbl[rip], eax
	mov	eax, DWORD PTR dec_nbl[rip]
	mov	esi, 8
	mov	edi, eax
	call	scalel
	mov	DWORD PTR dec_detl[rip], eax
	mov	edx, DWORD PTR dec_dlt[rip]
	mov	eax, DWORD PTR dec_szl[rip]
	add	eax, edx
	mov	DWORD PTR dec_plt[rip], eax
	mov	eax, DWORD PTR dec_dlt[rip]
	lea	rdx, dec_del_bpl[rip]
	lea	rsi, dec_del_dltx[rip]
	mov	edi, eax
	call	upzero
	mov	edi, DWORD PTR dec_plt2[rip]
	mov	ecx, DWORD PTR dec_plt1[rip]
	mov	edx, DWORD PTR dec_plt[rip]
	mov	esi, DWORD PTR dec_al2[rip]
	mov	eax, DWORD PTR dec_al1[rip]
	mov	r8d, edi
	mov	edi, eax
	call	uppol2
	mov	DWORD PTR dec_al2[rip], eax
	mov	ecx, DWORD PTR dec_plt1[rip]
	mov	edx, DWORD PTR dec_plt[rip]
	mov	esi, DWORD PTR dec_al2[rip]
	mov	eax, DWORD PTR dec_al1[rip]
	mov	edi, eax
	call	uppol1
	mov	DWORD PTR dec_al1[rip], eax
	mov	edx, DWORD PTR dec_sl[rip]
	mov	eax, DWORD PTR dec_dlt[rip]
	add	eax, edx
	mov	DWORD PTR dec_rlt[rip], eax
	mov	eax, DWORD PTR dec_rlt1[rip]
	mov	DWORD PTR dec_rlt2[rip], eax
	mov	eax, DWORD PTR dec_rlt[rip]
	mov	DWORD PTR dec_rlt1[rip], eax
	mov	eax, DWORD PTR dec_plt1[rip]
	mov	DWORD PTR dec_plt2[rip], eax
	mov	eax, DWORD PTR dec_plt[rip]
	mov	DWORD PTR dec_plt1[rip], eax
	lea	rsi, dec_del_dhx[rip]
	lea	rdi, dec_del_bph[rip]
	call	filtez
	mov	DWORD PTR dec_szh[rip], eax
	mov	ecx, DWORD PTR dec_ah2[rip]
	mov	edx, DWORD PTR dec_rh2[rip]
	mov	esi, DWORD PTR dec_ah1[rip]
	mov	eax, DWORD PTR dec_rh1[rip]
	mov	edi, eax
	call	filtep
	mov	DWORD PTR dec_sph[rip], eax
	mov	edx, DWORD PTR dec_sph[rip]
	mov	eax, DWORD PTR dec_szh[rip]
	add	eax, edx
	mov	DWORD PTR dec_sh[rip], eax
	mov	eax, DWORD PTR dec_deth[rip]
	movsx	rdx, eax
	mov	eax, DWORD PTR ih[rip]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, qq2_code2_table[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	DWORD PTR dec_dh[rip], eax
	mov	edx, DWORD PTR dec_nbh[rip]
	mov	eax, DWORD PTR ih[rip]
	mov	esi, edx
	mov	edi, eax
	call	logsch
	mov	DWORD PTR dec_nbh[rip], eax
	mov	eax, DWORD PTR dec_nbh[rip]
	mov	esi, 10
	mov	edi, eax
	call	scalel
	mov	DWORD PTR dec_deth[rip], eax
	mov	edx, DWORD PTR dec_dh[rip]
	mov	eax, DWORD PTR dec_szh[rip]
	add	eax, edx
	mov	DWORD PTR dec_ph[rip], eax
	mov	eax, DWORD PTR dec_dh[rip]
	lea	rdx, dec_del_bph[rip]
	lea	rsi, dec_del_dhx[rip]
	mov	edi, eax
	call	upzero
	mov	edi, DWORD PTR dec_ph2[rip]
	mov	ecx, DWORD PTR dec_ph1[rip]
	mov	edx, DWORD PTR dec_ph[rip]
	mov	esi, DWORD PTR dec_ah2[rip]
	mov	eax, DWORD PTR dec_ah1[rip]
	mov	r8d, edi
	mov	edi, eax
	call	uppol2
	mov	DWORD PTR dec_ah2[rip], eax
	mov	ecx, DWORD PTR dec_ph1[rip]
	mov	edx, DWORD PTR dec_ph[rip]
	mov	esi, DWORD PTR dec_ah2[rip]
	mov	eax, DWORD PTR dec_ah1[rip]
	mov	edi, eax
	call	uppol1
	mov	DWORD PTR dec_ah1[rip], eax
	mov	edx, DWORD PTR dec_sh[rip]
	mov	eax, DWORD PTR dec_dh[rip]
	add	eax, edx
	mov	DWORD PTR rh[rip], eax
	mov	eax, DWORD PTR dec_rh1[rip]
	mov	DWORD PTR dec_rh2[rip], eax
	mov	eax, DWORD PTR rh[rip]
	mov	DWORD PTR dec_rh1[rip], eax
	mov	eax, DWORD PTR dec_ph1[rip]
	mov	DWORD PTR dec_ph2[rip], eax
	mov	eax, DWORD PTR dec_ph[rip]
	mov	DWORD PTR dec_ph1[rip], eax
	mov	eax, DWORD PTR rl[rip]
	mov	edx, DWORD PTR rh[rip]
	sub	eax, edx
	mov	DWORD PTR xd[rip], eax
	mov	edx, DWORD PTR rl[rip]
	mov	eax, DWORD PTR rh[rip]
	add	eax, edx
	mov	DWORD PTR xs[rip], eax
	lea	rax, h[rip]
	mov	QWORD PTR -40[rbp], rax
	lea	rax, accumc[rip]
	mov	QWORD PTR -32[rbp], rax
	lea	rax, accumd[rip]
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR xd[rip]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	mov	QWORD PTR -56[rbp], rax
	mov	eax, DWORD PTR xs[rip]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	mov	QWORD PTR -48[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L32
.L33:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -16[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -48[rbp], rax
	add	DWORD PTR -60[rbp], 1
.L32:
	cmp	DWORD PTR -60[rbp], 9
	jle	.L33
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -56[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -40[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -40[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -48[rbp], rax
	mov	rax, QWORD PTR -56[rbp]
	sar	rax, 14
	mov	DWORD PTR xout1[rip], eax
	mov	rax, QWORD PTR -48[rbp]
	sar	rax, 14
	mov	DWORD PTR xout2[rip], eax
	mov	rax, QWORD PTR -32[rbp]
	sub	rax, 4
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, 4
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -60[rbp], 0
	jmp	.L34
.L35:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -4[rdx]
	mov	QWORD PTR -24[rbp], rax
	mov	rax, QWORD PTR -32[rbp]
	lea	rcx, -4[rax]
	mov	QWORD PTR -32[rbp], rcx
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
	mov	rdx, QWORD PTR -8[rbp]
	lea	rax, -4[rdx]
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	lea	rcx, -4[rax]
	mov	QWORD PTR -16[rbp], rcx
	mov	edx, DWORD PTR [rdx]
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -60[rbp], 1
.L34:
	cmp	DWORD PTR -60[rbp], 9
	jle	.L35
	mov	edx, DWORD PTR xd[rip]
	mov	rax, QWORD PTR -32[rbp]
	mov	DWORD PTR [rax], edx
	mov	edx, DWORD PTR xs[rip]
	mov	rax, QWORD PTR -16[rbp]
	mov	DWORD PTR [rax], edx
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE5:
	.size	decode, .-decode
	.globl	reset
	.type	reset, @function
reset:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR dec_detl[rip], 32
	mov	eax, DWORD PTR dec_detl[rip]
	mov	DWORD PTR detl[rip], eax
	mov	DWORD PTR dec_deth[rip], 8
	mov	eax, DWORD PTR dec_deth[rip]
	mov	DWORD PTR deth[rip], eax
	mov	DWORD PTR rlt2[rip], 0
	mov	eax, DWORD PTR rlt2[rip]
	mov	DWORD PTR rlt1[rip], eax
	mov	eax, DWORD PTR rlt1[rip]
	mov	DWORD PTR plt2[rip], eax
	mov	eax, DWORD PTR plt2[rip]
	mov	DWORD PTR plt1[rip], eax
	mov	eax, DWORD PTR plt1[rip]
	mov	DWORD PTR al2[rip], eax
	mov	eax, DWORD PTR al2[rip]
	mov	DWORD PTR al1[rip], eax
	mov	eax, DWORD PTR al1[rip]
	mov	DWORD PTR nbl[rip], eax
	mov	DWORD PTR rh2[rip], 0
	mov	eax, DWORD PTR rh2[rip]
	mov	DWORD PTR rh1[rip], eax
	mov	eax, DWORD PTR rh1[rip]
	mov	DWORD PTR ph2[rip], eax
	mov	eax, DWORD PTR ph2[rip]
	mov	DWORD PTR ph1[rip], eax
	mov	eax, DWORD PTR ph1[rip]
	mov	DWORD PTR ah2[rip], eax
	mov	eax, DWORD PTR ah2[rip]
	mov	DWORD PTR ah1[rip], eax
	mov	eax, DWORD PTR ah1[rip]
	mov	DWORD PTR nbh[rip], eax
	mov	DWORD PTR dec_rlt2[rip], 0
	mov	eax, DWORD PTR dec_rlt2[rip]
	mov	DWORD PTR dec_rlt1[rip], eax
	mov	eax, DWORD PTR dec_rlt1[rip]
	mov	DWORD PTR dec_plt2[rip], eax
	mov	eax, DWORD PTR dec_plt2[rip]
	mov	DWORD PTR dec_plt1[rip], eax
	mov	eax, DWORD PTR dec_plt1[rip]
	mov	DWORD PTR dec_al2[rip], eax
	mov	eax, DWORD PTR dec_al2[rip]
	mov	DWORD PTR dec_al1[rip], eax
	mov	eax, DWORD PTR dec_al1[rip]
	mov	DWORD PTR dec_nbl[rip], eax
	mov	DWORD PTR dec_rh2[rip], 0
	mov	eax, DWORD PTR dec_rh2[rip]
	mov	DWORD PTR dec_rh1[rip], eax
	mov	eax, DWORD PTR dec_rh1[rip]
	mov	DWORD PTR dec_ph2[rip], eax
	mov	eax, DWORD PTR dec_ph2[rip]
	mov	DWORD PTR dec_ph1[rip], eax
	mov	eax, DWORD PTR dec_ph1[rip]
	mov	DWORD PTR dec_ah2[rip], eax
	mov	eax, DWORD PTR dec_ah2[rip]
	mov	DWORD PTR dec_ah1[rip], eax
	mov	eax, DWORD PTR dec_ah1[rip]
	mov	DWORD PTR dec_nbh[rip], eax
	mov	DWORD PTR -4[rbp], 0
	jmp	.L37
.L38:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, delay_dltx[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, delay_dhx[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, dec_del_dltx[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, dec_del_dhx[rip]
	mov	DWORD PTR [rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L37:
	cmp	DWORD PTR -4[rbp], 5
	jle	.L38
	mov	DWORD PTR -4[rbp], 0
	jmp	.L39
.L40:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, delay_bpl[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, delay_bph[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, dec_del_bpl[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, dec_del_bph[rip]
	mov	DWORD PTR [rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L39:
	cmp	DWORD PTR -4[rbp], 5
	jle	.L40
	mov	DWORD PTR -4[rbp], 0
	jmp	.L41
.L42:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, tqmf[rip]
	mov	DWORD PTR [rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L41:
	cmp	DWORD PTR -4[rbp], 22
	jle	.L42
	mov	DWORD PTR -4[rbp], 0
	jmp	.L43
.L44:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, accumc[rip]
	mov	DWORD PTR [rdx+rax], 0
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, accumd[rip]
	mov	DWORD PTR [rdx+rax], 0
	add	DWORD PTR -4[rbp], 1
.L43:
	cmp	DWORD PTR -4[rbp], 10
	jle	.L44
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	reset, .-reset
	.globl	filtez
	.type	filtez, @function
filtez:
.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	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	mov	QWORD PTR -8[rbp], rax
	mov	DWORD PTR -12[rbp], 1
	jmp	.L46
.L47:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	eax, DWORD PTR [rax]
	movsx	rcx, eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	QWORD PTR -32[rbp], rdx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rcx
	add	QWORD PTR -8[rbp], rax
	add	DWORD PTR -12[rbp], 1
.L46:
	cmp	DWORD PTR -12[rbp], 5
	jle	.L47
	mov	rax, QWORD PTR -8[rbp]
	sar	rax, 14
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	filtez, .-filtez
	.globl	filtep
	.type	filtep, @function
filtep:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -32[rbp], ecx
	mov	eax, DWORD PTR -20[rbp]
	add	eax, eax
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -24[rbp]
	cdqe
	mov	rdx, QWORD PTR -16[rbp]
	imul	rax, rdx
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	add	eax, eax
	cdqe
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	imul	rax, QWORD PTR -8[rbp]
	add	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	filtep, .-filtep
	.globl	quantl
	.type	quantl, @function
quantl:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	eax, DWORD PTR -36[rbp]
	cdq
	mov	eax, edx
	xor	eax, DWORD PTR -36[rbp]
	sub	eax, edx
	cdqe
	mov	QWORD PTR -16[rbp], rax
	mov	DWORD PTR -20[rbp], 0
	jmp	.L52
.L55:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, decis_levl[rip]
	mov	eax, DWORD PTR [rdx+rax]
	movsx	rdx, eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	cmp	rax, QWORD PTR -8[rbp]
	jle	.L59
	add	DWORD PTR -20[rbp], 1
.L52:
	cmp	DWORD PTR -20[rbp], 29
	jle	.L55
	jmp	.L54
.L59:
	nop
.L54:
	cmp	DWORD PTR -36[rbp], 0
	js	.L56
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, quant26bt_pos[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
	jmp	.L57
.L56:
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, quant26bt_neg[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	DWORD PTR -24[rbp], eax
.L57:
	mov	eax, DWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	quantl, .-quantl
	.globl	invqxl
	.type	invqxl, @function
invqxl:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	QWORD PTR -32[rbp], rdx
	mov	DWORD PTR -36[rbp], ecx
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -36[rbp]
	sub	eax, 1
	mov	esi, DWORD PTR -20[rbp]
	mov	ecx, eax
	sar	esi, cl
	mov	eax, esi
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rdx
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	sar	rax, 15
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	invqxl, .-invqxl
	.globl	logscl
	.type	logscl, @function
logscl:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	sub	rax, rdx
	sar	rax, 7
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -20[rbp]
	sar	eax, 2
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, wl_code_table[rip]
	mov	eax, DWORD PTR [rdx+rax]
	add	eax, ecx
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L63
	mov	DWORD PTR -24[rbp], 0
.L63:
	cmp	DWORD PTR -24[rbp], 18432
	jle	.L64
	mov	DWORD PTR -24[rbp], 18432
.L64:
	mov	eax, DWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	logscl, .-logscl
	.globl	scalel
	.type	scalel, @function
scalel:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -20[rbp]
	sar	eax, 6
	and	eax, 31
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	sar	eax, 11
	mov	DWORD PTR -8[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, ilb_table[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -24[rbp]
	add	eax, 1
	sub	eax, DWORD PTR -8[rbp]
	mov	ecx, eax
	sar	edx, cl
	mov	eax, edx
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	sal	eax, 3
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	scalel, .-scalel
	.globl	upzero
	.type	upzero, @function
upzero:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	cmp	DWORD PTR -20[rbp], 0
	jne	.L69
	mov	DWORD PTR -12[rbp], 0
	jmp	.L70
.L71:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 8
	sub	rax, rdx
	sar	rax, 8
	mov	rdx, rax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rcx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -12[rbp], 1
.L70:
	cmp	DWORD PTR -12[rbp], 5
	jle	.L71
	jmp	.L72
.L69:
	mov	DWORD PTR -12[rbp], 0
	jmp	.L73
.L76:
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	mov	rax, QWORD PTR -32[rbp]
	add	rax, rcx
	mov	eax, DWORD PTR [rax]
	cdqe
	imul	rax, rdx
	test	rax, rax
	js	.L74
	mov	DWORD PTR -8[rbp], 128
	jmp	.L75
.L74:
	mov	DWORD PTR -8[rbp], -128
.L75:
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 8
	sub	rax, rdx
	sar	rax, 8
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -40[rbp]
	add	rax, rdx
	mov	ecx, DWORD PTR -8[rbp]
	mov	edx, DWORD PTR -4[rbp]
	add	edx, ecx
	mov	DWORD PTR [rax], edx
	add	DWORD PTR -12[rbp], 1
.L73:
	cmp	DWORD PTR -12[rbp], 5
	jle	.L76
.L72:
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 20[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 16[rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 16[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 12[rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 12[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -32[rbp]
	lea	rdx, 4[rax]
	mov	rax, QWORD PTR -32[rbp]
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR [rdx], eax
	mov	rax, QWORD PTR -32[rbp]
	mov	edx, DWORD PTR -20[rbp]
	mov	DWORD PTR [rax], edx
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	upzero, .-upzero
	.globl	uppol2
	.type	uppol2, @function
uppol2:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -36[rbp], edi
	mov	DWORD PTR -40[rbp], esi
	mov	DWORD PTR -44[rbp], edx
	mov	DWORD PTR -48[rbp], ecx
	mov	DWORD PTR -52[rbp], r8d
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	sal	rax, 2
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -48[rbp]
	cdqe
	imul	rax, rdx
	test	rax, rax
	js	.L78
	neg	QWORD PTR -16[rbp]
.L78:
	sar	QWORD PTR -16[rbp], 7
	mov	eax, DWORD PTR -44[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -52[rbp]
	cdqe
	imul	rax, rdx
	test	rax, rax
	js	.L79
	mov	rax, QWORD PTR -16[rbp]
	sub	rax, -128
	mov	QWORD PTR -8[rbp], rax
	jmp	.L80
.L79:
	mov	rax, QWORD PTR -16[rbp]
	add	rax, -128
	mov	QWORD PTR -8[rbp], rax
.L80:
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	sub	rax, rdx
	sar	rax, 7
	mov	edx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	eax, edx
	mov	DWORD PTR -20[rbp], eax
	cmp	DWORD PTR -20[rbp], 12288
	jle	.L81
	mov	DWORD PTR -20[rbp], 12288
.L81:
	cmp	DWORD PTR -20[rbp], -12288
	jge	.L82
	mov	DWORD PTR -20[rbp], -12288
.L82:
	mov	eax, DWORD PTR -20[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	uppol2, .-uppol2
	.globl	uppol1
	.type	uppol1, @function
uppol1:
.LFB15:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -28[rbp], edx
	mov	DWORD PTR -32[rbp], ecx
	mov	eax, DWORD PTR -20[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 8
	sub	rax, rdx
	sar	rax, 8
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -28[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -32[rbp]
	cdqe
	imul	rax, rdx
	test	rax, rax
	js	.L85
	mov	rax, QWORD PTR -8[rbp]
	add	eax, 192
	mov	DWORD PTR -16[rbp], eax
	jmp	.L86
.L85:
	mov	rax, QWORD PTR -8[rbp]
	sub	eax, 192
	mov	DWORD PTR -16[rbp], eax
.L86:
	mov	eax, 15360
	sub	eax, DWORD PTR -24[rbp]
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -16[rbp]
	cmp	eax, DWORD PTR -12[rbp]
	jle	.L87
	mov	eax, DWORD PTR -12[rbp]
	mov	DWORD PTR -16[rbp], eax
.L87:
	mov	eax, DWORD PTR -12[rbp]
	neg	eax
	cmp	DWORD PTR -16[rbp], eax
	jge	.L88
	mov	eax, DWORD PTR -12[rbp]
	neg	eax
	mov	DWORD PTR -16[rbp], eax
.L88:
	mov	eax, DWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	uppol1, .-uppol1
	.globl	invqah
	.type	invqah, @function
invqah:
.LFB16:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, qq2_code2_table[rip]
	mov	eax, DWORD PTR [rcx+rax]
	cdqe
	imul	rax, rdx
	sar	rax, 15
	mov	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	invqah, .-invqah
	.globl	logsch
	.type	logsch, @function
logsch:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	eax, DWORD PTR -24[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 7
	sub	rax, rdx
	sar	rax, 7
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -20[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, wh_code_table[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -4[rbp]
	add	eax, edx
	mov	DWORD PTR -24[rbp], eax
	cmp	DWORD PTR -24[rbp], 0
	jns	.L93
	mov	DWORD PTR -24[rbp], 0
.L93:
	cmp	DWORD PTR -24[rbp], 22528
	jle	.L94
	mov	DWORD PTR -24[rbp], 22528
.L94:
	mov	eax, DWORD PTR -24[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	logsch, .-logsch
	.globl	main
	.type	main, @function
main:
.LFB18:
	.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, 40
	.cfi_offset 3, -24
	mov	eax, 0
	call	reset
	mov	DWORD PTR -24[rbp], 10
	mov	DWORD PTR -20[rbp], 2000
	mov	DWORD PTR -28[rbp], 0
	jmp	.L97
.L98:
	pxor	xmm2, xmm2
	cvtsi2ss	xmm2, DWORD PTR -24[rbp]
	movss	DWORD PTR -36[rbp], xmm2
	pxor	xmm1, xmm1
	cvtsi2sd	xmm1, DWORD PTR -20[rbp]
	movsd	xmm0, QWORD PTR .LC7[rip]
	mulsd	xmm1, xmm0
	pxor	xmm0, xmm0
	cvtsi2sd	xmm0, DWORD PTR -28[rbp]
	mulsd	xmm0, xmm1
	movsd	xmm1, QWORD PTR .LC8[rip]
	divsd	xmm0, xmm1
	movq	rax, xmm0
	movq	xmm0, rax
	mov	eax, 1
	call	cos
	mulss	xmm0, DWORD PTR -36[rbp]
	cvttss2si	eax, xmm0
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, test_data.2[rip]
	mov	DWORD PTR [rcx+rdx], eax
	add	DWORD PTR -28[rbp], 1
.L97:
	cmp	DWORD PTR -28[rbp], 1999
	jle	.L98
	mov	DWORD PTR -28[rbp], 0
	jmp	.L99
.L100:
	mov	eax, DWORD PTR -28[rbp]
	add	eax, 1
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, test_data.2[rip]
	mov	edx, DWORD PTR [rdx+rax]
	mov	eax, DWORD PTR -28[rbp]
	cdqe
	lea	rcx, 0[0+rax*4]
	lea	rax, test_data.2[rip]
	mov	eax, DWORD PTR [rcx+rax]
	mov	ecx, DWORD PTR -28[rbp]
	mov	esi, ecx
	shr	esi, 31
	add	ecx, esi
	sar	ecx
	mov	ebx, ecx
	mov	esi, edx
	mov	edi, eax
	call	encode
	movsx	rdx, ebx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, compressed.1[rip]
	mov	DWORD PTR [rcx+rdx], eax
	add	DWORD PTR -28[rbp], 2
.L99:
	cmp	DWORD PTR -28[rbp], 1999
	jle	.L100
	mov	DWORD PTR -28[rbp], 0
	jmp	.L101
.L102:
	mov	eax, DWORD PTR -28[rbp]
	mov	edx, eax
	shr	edx, 31
	add	eax, edx
	sar	eax
	cdqe
	lea	rdx, 0[0+rax*4]
	lea	rax, compressed.1[rip]
	mov	eax, DWORD PTR [rdx+rax]
	mov	edi, eax
	call	decode
	mov	eax, DWORD PTR xout1[rip]
	mov	edx, DWORD PTR -28[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, result.0[rip]
	mov	DWORD PTR [rcx+rdx], eax
	mov	eax, DWORD PTR -28[rbp]
	lea	edx, 1[rax]
	mov	eax, DWORD PTR xout2[rip]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*4]
	lea	rdx, result.0[rip]
	mov	DWORD PTR [rcx+rdx], eax
	add	DWORD PTR -28[rbp], 2
.L101:
	cmp	DWORD PTR -28[rbp], 1999
	jle	.L102
	nop
	nop
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	main, .-main
	.local	test_data.2
	.comm	test_data.2,8000,32
	.local	compressed.1
	.comm	compressed.1,8000,32
	.local	result.0
	.comm	result.0,8000,32
	.section	.rodata
	.align 16
.LC1:
	.long	-2147483648
	.long	0
	.long	0
	.long	0
	.align 8
.LC2:
	.long	1413754136
	.long	1075388923
	.align 8
.LC3:
	.long	1413754136
	.long	-1072094725
	.align 8
.LC4:
	.long	0
	.long	1072693248
	.align 8
.LC5:
	.long	-1998362383
	.long	1055193269
	.align 8
.LC6:
	.long	1413754136
	.long	1073291771
	.align 8
.LC7:
	.long	1413754136
	.long	1074340347
	.align 8
.LC8:
	.long	0
	.long	1086275584
	.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	"315871.c"
	.text
	.comm	tqmf,96,4
	.global	h
	.data
	.align	2
	.type	h, %object
	.size	h, 96
h:
	.word	12
	.word	-44
	.word	-44
	.word	212
	.word	48
	.word	-624
	.word	128
	.word	1448
	.word	-840
	.word	-3220
	.word	3804
	.word	15504
	.word	15504
	.word	3804
	.word	-3220
	.word	-840
	.word	1448
	.word	128
	.word	-624
	.word	48
	.word	212
	.word	-44
	.word	-44
	.word	12
	.comm	xl,4,4
	.comm	xh,4,4
	.comm	accumc,44,4
	.comm	accumd,44,4
	.comm	xout1,4,4
	.comm	xout2,4,4
	.comm	xs,4,4
	.comm	xd,4,4
	.comm	il,4,4
	.comm	szl,4,4
	.comm	spl,4,4
	.comm	sl,4,4
	.comm	el,4,4
	.global	qq4_code4_table
	.align	2
	.type	qq4_code4_table, %object
	.size	qq4_code4_table, 64
qq4_code4_table:
	.word	0
	.word	-20456
	.word	-12896
	.word	-8968
	.word	-6288
	.word	-4240
	.word	-2584
	.word	-1200
	.word	20456
	.word	12896
	.word	8968
	.word	6288
	.word	4240
	.word	2584
	.word	1200
	.word	0
	.global	qq5_code5_table
	.align	2
	.type	qq5_code5_table, %object
	.size	qq5_code5_table, 128
qq5_code5_table:
	.word	-280
	.word	-280
	.word	-23352
	.word	-17560
	.word	-14120
	.word	-11664
	.word	-9752
	.word	-8184
	.word	-6864
	.word	-5712
	.word	-4696
	.word	-3784
	.word	-2960
	.word	-2208
	.word	-1520
	.word	-880
	.word	23352
	.word	17560
	.word	14120
	.word	11664
	.word	9752
	.word	8184
	.word	6864
	.word	5712
	.word	4696
	.word	3784
	.word	2960
	.word	2208
	.word	1520
	.word	880
	.word	280
	.word	-280
	.global	qq6_code6_table
	.align	2
	.type	qq6_code6_table, %object
	.size	qq6_code6_table, 256
qq6_code6_table:
	.word	-136
	.word	-136
	.word	-136
	.word	-136
	.word	-24808
	.word	-21904
	.word	-19008
	.word	-16704
	.word	-14984
	.word	-13512
	.word	-12280
	.word	-11192
	.word	-10232
	.word	-9360
	.word	-8576
	.word	-7856
	.word	-7192
	.word	-6576
	.word	-6000
	.word	-5456
	.word	-4944
	.word	-4464
	.word	-4008
	.word	-3576
	.word	-3168
	.word	-2776
	.word	-2400
	.word	-2032
	.word	-1688
	.word	-1360
	.word	-1040
	.word	-728
	.word	24808
	.word	21904
	.word	19008
	.word	16704
	.word	14984
	.word	13512
	.word	12280
	.word	11192
	.word	10232
	.word	9360
	.word	8576
	.word	7856
	.word	7192
	.word	6576
	.word	6000
	.word	5456
	.word	4944
	.word	4464
	.word	4008
	.word	3576
	.word	3168
	.word	2776
	.word	2400
	.word	2032
	.word	1688
	.word	1360
	.word	1040
	.word	728
	.word	432
	.word	136
	.word	-432
	.word	-136
	.comm	delay_bpl,24,4
	.comm	delay_dltx,24,4
	.global	wl_code_table
	.align	2
	.type	wl_code_table, %object
	.size	wl_code_table, 64
wl_code_table:
	.word	-60
	.word	3042
	.word	1198
	.word	538
	.word	334
	.word	172
	.word	58
	.word	-30
	.word	3042
	.word	1198
	.word	538
	.word	334
	.word	172
	.word	58
	.word	-30
	.word	-60
	.global	wl_table
	.align	2
	.type	wl_table, %object
	.size	wl_table, 32
wl_table:
	.word	-60
	.word	-30
	.word	58
	.word	172
	.word	334
	.word	538
	.word	1198
	.word	3042
	.global	ilb_table
	.align	2
	.type	ilb_table, %object
	.size	ilb_table, 128
ilb_table:
	.word	2048
	.word	2093
	.word	2139
	.word	2186
	.word	2233
	.word	2282
	.word	2332
	.word	2383
	.word	2435
	.word	2489
	.word	2543
	.word	2599
	.word	2656
	.word	2714
	.word	2774
	.word	2834
	.word	2896
	.word	2960
	.word	3025
	.word	3091
	.word	3158
	.word	3228
	.word	3298
	.word	3371
	.word	3444
	.word	3520
	.word	3597
	.word	3676
	.word	3756
	.word	3838
	.word	3922
	.word	4008
	.comm	nbl,4,4
	.comm	al1,4,4
	.comm	al2,4,4
	.comm	plt,4,4
	.comm	plt1,4,4
	.comm	plt2,4,4
	.comm	rs,4,4
	.comm	dlt,4,4
	.comm	rlt,4,4
	.comm	rlt1,4,4
	.comm	rlt2,4,4
	.global	decis_levl
	.align	2
	.type	decis_levl, %object
	.size	decis_levl, 120
decis_levl:
	.word	280
	.word	576
	.word	880
	.word	1200
	.word	1520
	.word	1864
	.word	2208
	.word	2584
	.word	2960
	.word	3376
	.word	3784
	.word	4240
	.word	4696
	.word	5200
	.word	5712
	.word	6288
	.word	6864
	.word	7520
	.word	8184
	.word	8968
	.word	9752
	.word	10712
	.word	11664
	.word	12896
	.word	14120
	.word	15840
	.word	17560
	.word	20456
	.word	23352
	.word	32767
	.comm	detl,4,4
	.global	quant26bt_pos
	.align	2
	.type	quant26bt_pos, %object
	.size	quant26bt_pos, 124
quant26bt_pos:
	.word	61
	.word	60
	.word	59
	.word	58
	.word	57
	.word	56
	.word	55
	.word	54
	.word	53
	.word	52
	.word	51
	.word	50
	.word	49
	.word	48
	.word	47
	.word	46
	.word	45
	.word	44
	.word	43
	.word	42
	.word	41
	.word	40
	.word	39
	.word	38
	.word	37
	.word	36
	.word	35
	.word	34
	.word	33
	.word	32
	.word	32
	.global	quant26bt_neg
	.align	2
	.type	quant26bt_neg, %object
	.size	quant26bt_neg, 124
quant26bt_neg:
	.word	63
	.word	62
	.word	31
	.word	30
	.word	29
	.word	28
	.word	27
	.word	26
	.word	25
	.word	24
	.word	23
	.word	22
	.word	21
	.word	20
	.word	19
	.word	18
	.word	17
	.word	16
	.word	15
	.word	14
	.word	13
	.word	12
	.word	11
	.word	10
	.word	9
	.word	8
	.word	7
	.word	6
	.word	5
	.word	4
	.word	4
	.comm	deth,4,4
	.comm	sh,4,4
	.comm	eh,4,4
	.global	qq2_code2_table
	.align	2
	.type	qq2_code2_table, %object
	.size	qq2_code2_table, 16
qq2_code2_table:
	.word	-7408
	.word	-1616
	.word	7408
	.word	1616
	.global	wh_code_table
	.align	2
	.type	wh_code_table, %object
	.size	wh_code_table, 16
wh_code_table:
	.word	798
	.word	-214
	.word	798
	.word	-214
	.comm	dh,4,4
	.comm	ih,4,4
	.comm	nbh,4,4
	.comm	szh,4,4
	.comm	sph,4,4
	.comm	ph,4,4
	.comm	yh,4,4
	.comm	rh,4,4
	.comm	delay_dhx,24,4
	.comm	delay_bph,24,4
	.comm	ah1,4,4
	.comm	ah2,4,4
	.comm	ph1,4,4
	.comm	ph2,4,4
	.comm	rh1,4,4
	.comm	rh2,4,4
	.comm	ilr,4,4
	.comm	yl,4,4
	.comm	rl,4,4
	.comm	dec_deth,4,4
	.comm	dec_detl,4,4
	.comm	dec_dlt,4,4
	.comm	dec_del_bpl,24,4
	.comm	dec_del_dltx,24,4
	.comm	dec_plt,4,4
	.comm	dec_plt1,4,4
	.comm	dec_plt2,4,4
	.comm	dec_szl,4,4
	.comm	dec_spl,4,4
	.comm	dec_sl,4,4
	.comm	dec_rlt1,4,4
	.comm	dec_rlt2,4,4
	.comm	dec_rlt,4,4
	.comm	dec_al1,4,4
	.comm	dec_al2,4,4
	.comm	dl,4,4
	.comm	dec_nbl,4,4
	.comm	dec_yh,4,4
	.comm	dec_dh,4,4
	.comm	dec_nbh,4,4
	.comm	dec_del_bph,24,4
	.comm	dec_del_dhx,24,4
	.comm	dec_szh,4,4
	.comm	dec_rh1,4,4
	.comm	dec_rh2,4,4
	.comm	dec_ah1,4,4
	.comm	dec_ah2,4,4
	.comm	dec_ph,4,4
	.comm	dec_sph,4,4
	.comm	dec_sh,4,4
	.comm	dec_rh,4,4
	.comm	dec_ph1,4,4
	.comm	dec_ph2,4,4
	.text
	.align	2
	.global	abs
	.syntax unified
	.arm
	.fpu softvfp
	.type	abs, %function
abs:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	blt	.L2
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-8]
	b	.L3
.L2:
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	str	r3, [fp, #-8]
.L3:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	abs, .-abs
	.global	__aeabi_fcmpge
	.align	2
	.global	fabs
	.syntax unified
	.arm
	.fpu softvfp
	.type	fabs, %function
fabs:
	@ 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, #-16]	@ float
	mov	r1, #0
	ldr	r0, [fp, #-16]	@ float
	bl	__aeabi_fcmpge
	mov	r3, r0
	cmp	r3, #0
	beq	.L11
	ldr	r3, [fp, #-16]	@ float
	str	r3, [fp, #-8]	@ float
	b	.L8
.L11:
	ldr	r3, [fp, #-16]
	eor	r3, r3, #-2147483648
	str	r3, [fp, #-8]	@ float
.L8:
	ldr	r3, [fp, #-8]	@ float
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	fabs, .-fabs
	.global	__aeabi_d2f
	.global	__aeabi_f2d
	.global	__aeabi_dsub
	.global	__aeabi_dcmpgt
	.global	__aeabi_dadd
	.global	__aeabi_dcmplt
	.global	__aeabi_fmul
	.global	__aeabi_i2d
	.global	__aeabi_dmul
	.global	__aeabi_ddiv
	.global	__aeabi_fadd
	.global	__aeabi_dcmpge
	.align	2
	.global	sin
	.syntax unified
	.arm
	.fpu softvfp
	.type	sin, %function
sin:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, fp, lr}
	add	fp, sp, #20
	sub	sp, sp, #24
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-44]	@ float
	mov	r3, #1
	str	r3, [fp, #-24]
	b	.L13
.L14:
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_f2d
	ldr	r2, .L20
	ldr	r3, .L20+4
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-44]	@ float
.L13:
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_f2d
	ldr	r2, .L20
	ldr	r3, .L20+4
	bl	__aeabi_dcmpgt
	mov	r3, r0
	cmp	r3, #0
	bne	.L14
	b	.L15
.L16:
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_f2d
	ldr	r2, .L20
	ldr	r3, .L20+4
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-44]	@ float
.L15:
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_f2d
	ldr	r2, .L20
	ldr	r3, .L20+8
	bl	__aeabi_dcmplt
	mov	r3, r0
	cmp	r3, #0
	bne	.L16
	ldr	r3, [fp, #-44]	@ float
	str	r3, [fp, #-28]	@ float
	ldr	r3, [fp, #-28]	@ float
	str	r3, [fp, #-32]	@ float
	ldr	r1, [fp, #-44]	@ float
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	eor	r3, r3, #-2147483648
	ldr	r1, [fp, #-28]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L20+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r1, [fp, #-28]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
	b	.L17
.L18:
	ldr	r1, [fp, #-44]	@ float
	ldr	r0, [fp, #-44]	@ float
	bl	__aeabi_fmul
	mov	r3, r0
	eor	r3, r3, #-2147483648
	ldr	r1, [fp, #-28]	@ float
	mov	r0, r3
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	mov	r4, r0
	mov	r5, r1
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r6, r2
	mov	r7, r3
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	mov	r2, r0
	mov	r3, r1
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	mov	r2, #0
	ldr	r3, .L20+12
	bl	__aeabi_dadd
	mov	r2, r0
	mov	r3, r1
	mov	r0, r6
	mov	r1, r7
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r0, r4
	mov	r1, r5
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-28]	@ float
	ldr	r1, [fp, #-28]	@ float
	ldr	r0, [fp, #-32]	@ float
	bl	__aeabi_fadd
	mov	r3, r0
	str	r3, [fp, #-32]	@ float
	ldr	r3, [fp, #-24]
	add	r3, r3, #1
	str	r3, [fp, #-24]
.L17:
	ldr	r0, [fp, #-28]	@ float
	bl	fabs
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2d
	ldr	r2, .L20+16
	ldr	r3, .L20+20
	bl	__aeabi_dcmpge
	mov	r3, r0
	cmp	r3, #0
	bne	.L18
	ldr	r3, [fp, #-32]	@ float
	mov	r0, r3
	sub	sp, fp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, fp, pc}
.L21:
	.align	2
.L20:
	.word	1413754136
	.word	1075388923
	.word	-1072094725
	.word	1072693248
	.word	-1998362383
	.word	1055193269
	.size	sin, .-sin
	.align	2
	.global	cos
	.syntax unified
	.arm
	.fpu softvfp
	.type	cos, %function
cos:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__aeabi_d2f
	mov	r3, r0
	str	r3, [fp, #-12]	@ float
	ldr	r0, [fp, #-12]	@ float
	bl	__aeabi_f2d
	mov	r2, r0
	mov	r3, r1
	ldr	r0, .L24
	ldr	r1, .L24+4
	bl	__aeabi_dsub
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	sin
	mov	r3, r0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L25:
	.align	2
.L24:
	.word	1413754136
	.word	1073291771
	.size	cos, .-cos
	.align	2
	.global	encode
	.syntax unified
	.arm
	.fpu softvfp
	.type	encode, %function
encode:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	str	r1, [fp, #-44]
	ldr	r3, .L35
	str	r3, [fp, #-28]
	ldr	r3, .L35+4
	str	r3, [fp, #-24]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #4
	str	r1, [fp, #-28]
	ldr	r3, [r3]
	mul	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #4
	str	r1, [fp, #-28]
	ldr	r3, [r3]
	mul	r3, r2, r3
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L27
.L28:
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #4
	str	r1, [fp, #-28]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #4
	str	r1, [fp, #-28]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L27:
	ldr	r3, [fp, #-32]
	cmp	r3, #9
	ble	.L28
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #4
	str	r1, [fp, #-28]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-16]
	add	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r1, r3, #4
	str	r1, [fp, #-28]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	sub	r3, r3, #8
	str	r3, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L29
.L30:
	ldr	r2, [fp, #-20]
	sub	r3, r2, #4
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-24]
	sub	r1, r3, #4
	str	r1, [fp, #-24]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L29:
	ldr	r3, [fp, #-32]
	cmp	r3, #21
	ble	.L30
	ldr	r3, [fp, #-24]
	sub	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r2, [fp, #-40]
	str	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-44]
	str	r2, [r3]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L35+8
	str	r3, [r2]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-12]
	sub	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L35+12
	str	r3, [r2]
	ldr	r1, .L35+16
	ldr	r0, .L35+20
	bl	filtez
	mov	r3, r0
	ldr	r2, .L35+24
	str	r3, [r2]
	ldr	r3, .L35+28
	ldr	r0, [r3]
	ldr	r3, .L35+32
	ldr	r1, [r3]
	ldr	r3, .L35+36
	ldr	r2, [r3]
	ldr	r3, .L35+40
	ldr	r3, [r3]
	bl	filtep
	mov	r3, r0
	ldr	r2, .L35+44
	str	r3, [r2]
	ldr	r3, .L35+24
	ldr	r2, [r3]
	ldr	r3, .L35+44
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L35+48
	str	r3, [r2]
	ldr	r3, .L35+8
	ldr	r2, [r3]
	ldr	r3, .L35+48
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, .L35+52
	str	r3, [r2]
	ldr	r3, .L35+52
	ldr	r3, [r3]
	ldr	r2, .L35+56
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	quantl
	mov	r3, r0
	ldr	r2, .L35+60
	str	r3, [r2]
	ldr	r3, .L35+60
	ldr	r3, [r3]
	asr	r3, r3, #2
	ldr	r2, .L35+64
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L35+56
	ldr	r2, [r2]
	mul	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L35+68
	str	r3, [r2]
	ldr	r3, .L35+60
	ldr	r3, [r3]
	ldr	r2, .L35+72
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	logscl
	mov	r3, r0
	ldr	r2, .L35+72
	str	r3, [r2]
	ldr	r3, .L35+72
	ldr	r3, [r3]
	mov	r1, #8
	mov	r0, r3
	bl	scalel
	mov	r3, r0
	ldr	r2, .L35+56
	str	r3, [r2]
	ldr	r3, .L35+68
	ldr	r2, [r3]
	ldr	r3, .L35+24
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L35+76
	str	r3, [r2]
	ldr	r3, .L35+68
	ldr	r3, [r3]
	ldr	r2, .L35+20
	ldr	r1, .L35+16
	mov	r0, r3
	bl	upzero
	ldr	r3, .L35+32
	ldr	r0, [r3]
	ldr	r3, .L35+40
	ldr	r1, [r3]
	ldr	r3, .L35+76
	ldr	r2, [r3]
	ldr	r3, .L35+80
	ldr	ip, [r3]
	ldr	r3, .L35+84
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, ip
	bl	uppol2
	mov	r3, r0
	ldr	r2, .L35+40
	str	r3, [r2]
	ldr	r3, .L35+32
	ldr	r0, [r3]
	ldr	r3, .L35+40
	ldr	r1, [r3]
	ldr	r3, .L35+76
	ldr	r2, [r3]
	ldr	r3, .L35+80
	ldr	r3, [r3]
	bl	uppol1
	mov	r3, r0
	ldr	r2, .L35+32
	str	r3, [r2]
	ldr	r3, .L35+48
	ldr	r2, [r3]
	ldr	r3, .L35+68
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L35+88
	str	r3, [r2]
	ldr	r3, .L35+28
	ldr	r3, [r3]
	ldr	r2, .L35+36
	str	r3, [r2]
	ldr	r3, .L35+88
	ldr	r3, [r3]
	ldr	r2, .L35+28
	str	r3, [r2]
	ldr	r3, .L35+80
	ldr	r3, [r3]
	ldr	r2, .L35+84
	str	r3, [r2]
	ldr	r3, .L35+76
	ldr	r3, [r3]
	ldr	r2, .L35+80
	str	r3, [r2]
	ldr	r1, .L35+92
	ldr	r0, .L35+96
	bl	filtez
	mov	r3, r0
	ldr	r2, .L35+100
	str	r3, [r2]
	ldr	r3, .L35+104
	ldr	r0, [r3]
	ldr	r3, .L35+108
	ldr	r1, [r3]
	ldr	r3, .L35+112
	ldr	r2, [r3]
	ldr	r3, .L35+116
	ldr	r3, [r3]
	bl	filtep
	mov	r3, r0
	ldr	r2, .L35+120
	str	r3, [r2]
	ldr	r3, .L35+120
	ldr	r2, [r3]
	ldr	r3, .L35+100
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L35+124
	str	r3, [r2]
	ldr	r3, .L35+12
	ldr	r2, [r3]
	ldr	r3, .L35+124
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, .L35+128
	str	r3, [r2]
	ldr	r3, .L35+128
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L31
	ldr	r3, .L35+132
	mov	r2, #3
	str	r2, [r3]
	b	.L32
.L31:
	ldr	r3, .L35+132
	mov	r2, #1
	str	r2, [r3]
.L32:
	ldr	r3, .L35+136
	ldr	r3, [r3]
	mov	r2, #564
	mul	r3, r2, r3
	asr	r3, r3, #12
	str	r3, [fp, #-8]
	ldr	r3, .L35+128
	ldr	r3, [r3]
	cmp	r3, #0
	rsblt	r3, r3, #0
	ldr	r2, [fp, #-8]
	cmp	r2, r3
	bge	.L33
	ldr	r3, .L35+132
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L35+132
	str	r3, [r2]
.L33:
	ldr	r3, .L35+132
	ldr	r3, [r3]
	ldr	r2, .L35+140
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L35+136
	ldr	r2, [r2]
	mul	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L35+144
	str	r3, [r2]
	ldr	r3, .L35+132
	ldr	r3, [r3]
	ldr	r2, .L35+148
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	logsch
	mov	r3, r0
	ldr	r2, .L35+148
	str	r3, [r2]
	ldr	r3, .L35+148
	ldr	r3, [r3]
	mov	r1, #10
	mov	r0, r3
	bl	scalel
	mov	r3, r0
	ldr	r2, .L35+136
	str	r3, [r2]
	ldr	r3, .L35+144
	ldr	r2, [r3]
	ldr	r3, .L35+100
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L35+152
	str	r3, [r2]
	ldr	r3, .L35+144
	ldr	r3, [r3]
	ldr	r2, .L35+96
	ldr	r1, .L35+92
	mov	r0, r3
	bl	upzero
	ldr	r3, .L35+108
	ldr	r0, [r3]
	ldr	r3, .L35+116
	ldr	r1, [r3]
	ldr	r3, .L35+152
	ldr	r2, [r3]
	ldr	r3, .L35+156
	ldr	ip, [r3]
	ldr	r3, .L35+160
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, ip
	bl	uppol2
	mov	r3, r0
	ldr	r2, .L35+116
	str	r3, [r2]
	ldr	r3, .L35+108
	ldr	r0, [r3]
	ldr	r3, .L35+116
	ldr	r1, [r3]
	ldr	r3, .L35+152
	ldr	r2, [r3]
	ldr	r3, .L35+156
	ldr	r3, [r3]
	bl	uppol1
	mov	r3, r0
	ldr	r2, .L35+108
	str	r3, [r2]
	ldr	r3, .L35+124
	ldr	r2, [r3]
	ldr	r3, .L35+144
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L35+164
	str	r3, [r2]
	ldr	r3, .L35+104
	ldr	r3, [r3]
	ldr	r2, .L35+112
	str	r3, [r2]
	ldr	r3, .L35+164
	ldr	r3, [r3]
	ldr	r2, .L35+104
	str	r3, [r2]
	ldr	r3, .L35+156
	ldr	r3, [r3]
	ldr	r2, .L35+160
	str	r3, [r2]
	ldr	r3, .L35+152
	ldr	r3, [r3]
	ldr	r2, .L35+156
	str	r3, [r2]
	ldr	r3, .L35+132
	ldr	r3, [r3]
	lsl	r2, r3, #6
	ldr	r3, .L35+60
	ldr	r3, [r3]
	orr	r3, r2, r3
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L36:
	.align	2
.L35:
	.word	h
	.word	tqmf
	.word	xl
	.word	xh
	.word	delay_dltx
	.word	delay_bpl
	.word	szl
	.word	rlt1
	.word	al1
	.word	rlt2
	.word	al2
	.word	spl
	.word	sl
	.word	el
	.word	detl
	.word	il
	.word	qq4_code4_table
	.word	dlt
	.word	nbl
	.word	plt
	.word	plt1
	.word	plt2
	.word	rlt
	.word	delay_dhx
	.word	delay_bph
	.word	szh
	.word	rh1
	.word	ah1
	.word	rh2
	.word	ah2
	.word	sph
	.word	sh
	.word	eh
	.word	ih
	.word	deth
	.word	qq2_code2_table
	.word	dh
	.word	nbh
	.word	ph
	.word	ph1
	.word	ph2
	.word	yh
	.size	encode, .-encode
	.align	2
	.global	decode
	.syntax unified
	.arm
	.fpu softvfp
	.type	decode, %function
decode:
	@ args = 0, pretend = 0, frame = 40
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-40]
	ldr	r3, [fp, #-40]
	and	r3, r3, #63
	ldr	r2, .L42
	str	r3, [r2]
	ldr	r3, [fp, #-40]
	asr	r3, r3, #6
	ldr	r2, .L42+4
	str	r3, [r2]
	ldr	r1, .L42+8
	ldr	r0, .L42+12
	bl	filtez
	mov	r3, r0
	ldr	r2, .L42+16
	str	r3, [r2]
	ldr	r3, .L42+20
	ldr	r0, [r3]
	ldr	r3, .L42+24
	ldr	r1, [r3]
	ldr	r3, .L42+28
	ldr	r2, [r3]
	ldr	r3, .L42+32
	ldr	r3, [r3]
	bl	filtep
	mov	r3, r0
	ldr	r2, .L42+36
	str	r3, [r2]
	ldr	r3, .L42+36
	ldr	r2, [r3]
	ldr	r3, .L42+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+40
	str	r3, [r2]
	ldr	r3, .L42
	ldr	r3, [r3]
	asr	r3, r3, #2
	ldr	r2, .L42+44
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L42+48
	ldr	r2, [r2]
	mul	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L42+52
	str	r3, [r2]
	ldr	r3, .L42+56
	ldr	r3, [r3]
	ldr	r2, .L42+60
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L42+48
	ldr	r2, [r2]
	mul	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L42+64
	str	r3, [r2]
	ldr	r3, .L42+64
	ldr	r2, [r3]
	ldr	r3, .L42+40
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+68
	str	r3, [r2]
	ldr	r3, .L42
	ldr	r3, [r3]
	ldr	r2, .L42+72
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	logscl
	mov	r3, r0
	ldr	r2, .L42+72
	str	r3, [r2]
	ldr	r3, .L42+72
	ldr	r3, [r3]
	mov	r1, #8
	mov	r0, r3
	bl	scalel
	mov	r3, r0
	ldr	r2, .L42+48
	str	r3, [r2]
	ldr	r3, .L42+52
	ldr	r2, [r3]
	ldr	r3, .L42+16
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+76
	str	r3, [r2]
	ldr	r3, .L42+52
	ldr	r3, [r3]
	ldr	r2, .L42+12
	ldr	r1, .L42+8
	mov	r0, r3
	bl	upzero
	ldr	r3, .L42+24
	ldr	r0, [r3]
	ldr	r3, .L42+32
	ldr	r1, [r3]
	ldr	r3, .L42+76
	ldr	r2, [r3]
	ldr	r3, .L42+80
	ldr	ip, [r3]
	ldr	r3, .L42+84
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, ip
	bl	uppol2
	mov	r3, r0
	ldr	r2, .L42+32
	str	r3, [r2]
	ldr	r3, .L42+24
	ldr	r0, [r3]
	ldr	r3, .L42+32
	ldr	r1, [r3]
	ldr	r3, .L42+76
	ldr	r2, [r3]
	ldr	r3, .L42+80
	ldr	r3, [r3]
	bl	uppol1
	mov	r3, r0
	ldr	r2, .L42+24
	str	r3, [r2]
	ldr	r3, .L42+40
	ldr	r2, [r3]
	ldr	r3, .L42+52
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+88
	str	r3, [r2]
	ldr	r3, .L42+20
	ldr	r3, [r3]
	ldr	r2, .L42+28
	str	r3, [r2]
	ldr	r3, .L42+88
	ldr	r3, [r3]
	ldr	r2, .L42+20
	str	r3, [r2]
	ldr	r3, .L42+80
	ldr	r3, [r3]
	ldr	r2, .L42+84
	str	r3, [r2]
	ldr	r3, .L42+76
	ldr	r3, [r3]
	ldr	r2, .L42+80
	str	r3, [r2]
	ldr	r1, .L42+92
	ldr	r0, .L42+96
	bl	filtez
	mov	r3, r0
	ldr	r2, .L42+100
	str	r3, [r2]
	ldr	r3, .L42+104
	ldr	r0, [r3]
	ldr	r3, .L42+108
	ldr	r1, [r3]
	ldr	r3, .L42+112
	ldr	r2, [r3]
	ldr	r3, .L42+116
	ldr	r3, [r3]
	bl	filtep
	mov	r3, r0
	ldr	r2, .L42+120
	str	r3, [r2]
	ldr	r3, .L42+120
	ldr	r2, [r3]
	ldr	r3, .L42+100
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+124
	str	r3, [r2]
	ldr	r3, .L42+4
	ldr	r3, [r3]
	ldr	r2, .L42+128
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, .L42+132
	ldr	r2, [r2]
	mul	r3, r2, r3
	asr	r3, r3, #15
	ldr	r2, .L42+136
	str	r3, [r2]
	ldr	r3, .L42+4
	ldr	r3, [r3]
	ldr	r2, .L42+140
	ldr	r2, [r2]
	mov	r1, r2
	mov	r0, r3
	bl	logsch
	mov	r3, r0
	ldr	r2, .L42+140
	str	r3, [r2]
	ldr	r3, .L42+140
	ldr	r3, [r3]
	mov	r1, #10
	mov	r0, r3
	bl	scalel
	mov	r3, r0
	ldr	r2, .L42+132
	str	r3, [r2]
	ldr	r3, .L42+136
	ldr	r2, [r3]
	ldr	r3, .L42+100
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+144
	str	r3, [r2]
	ldr	r3, .L42+136
	ldr	r3, [r3]
	ldr	r2, .L42+96
	ldr	r1, .L42+92
	mov	r0, r3
	bl	upzero
	ldr	r3, .L42+108
	ldr	r0, [r3]
	ldr	r3, .L42+116
	ldr	r1, [r3]
	ldr	r3, .L42+144
	ldr	r2, [r3]
	ldr	r3, .L42+148
	ldr	ip, [r3]
	ldr	r3, .L42+152
	ldr	r3, [r3]
	str	r3, [sp]
	mov	r3, ip
	bl	uppol2
	mov	r3, r0
	ldr	r2, .L42+116
	str	r3, [r2]
	ldr	r3, .L42+108
	ldr	r0, [r3]
	ldr	r3, .L42+116
	ldr	r1, [r3]
	ldr	r3, .L42+144
	ldr	r2, [r3]
	ldr	r3, .L42+148
	ldr	r3, [r3]
	bl	uppol1
	mov	r3, r0
	ldr	r2, .L42+108
	str	r3, [r2]
	ldr	r3, .L42+124
	ldr	r2, [r3]
	ldr	r3, .L42+136
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+156
	str	r3, [r2]
	ldr	r3, .L42+104
	ldr	r3, [r3]
	ldr	r2, .L42+112
	str	r3, [r2]
	ldr	r3, .L42+156
	ldr	r3, [r3]
	ldr	r2, .L42+104
	str	r3, [r2]
	ldr	r3, .L42+148
	ldr	r3, [r3]
	ldr	r2, .L42+152
	str	r3, [r2]
	ldr	r3, .L42+144
	ldr	r3, [r3]
	ldr	r2, .L42+148
	str	r3, [r2]
	ldr	r3, .L42+68
	ldr	r2, [r3]
	ldr	r3, .L42+156
	ldr	r3, [r3]
	sub	r3, r2, r3
	ldr	r2, .L42+160
	str	r3, [r2]
	ldr	r3, .L42+68
	ldr	r2, [r3]
	ldr	r3, .L42+156
	ldr	r3, [r3]
	add	r3, r2, r3
	ldr	r2, .L42+164
	str	r3, [r2]
	ldr	r3, .L42+168
	str	r3, [fp, #-24]
	ldr	r3, .L42+172
	str	r3, [fp, #-20]
	ldr	r3, .L42+176
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L42+160
	ldr	r2, [r2]
	mul	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-24]
	add	r2, r3, #4
	str	r2, [fp, #-24]
	ldr	r3, [r3]
	ldr	r2, .L42+164
	ldr	r2, [r2]
	mul	r3, r2, r3
	str	r3, [fp, #-28]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L38
.L39:
	ldr	r3, [fp, #-20]
	add	r2, r3, #4
	str	r2, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r1, r3, #4
	str	r1, [fp, #-24]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-12]
	add	r2, r3, #4
	str	r2, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r1, r3, #4
	str	r1, [fp, #-24]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L38:
	ldr	r3, [fp, #-36]
	cmp	r3, #9
	ble	.L39
	ldr	r3, [fp, #-20]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r1, r3, #4
	str	r1, [fp, #-24]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	str	r3, [fp, #-32]
	ldr	r3, [fp, #-12]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	add	r1, r3, #4
	str	r1, [fp, #-24]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-32]
	asr	r3, r3, #14
	ldr	r2, .L42+180
	str	r3, [r2]
	ldr	r3, [fp, #-28]
	asr	r3, r3, #14
	ldr	r2, .L42+184
	str	r3, [r2]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	sub	r3, r3, #4
	str	r3, [fp, #-8]
	mov	r3, #0
	str	r3, [fp, #-36]
	b	.L40
.L41:
	ldr	r2, [fp, #-16]
	sub	r3, r2, #4
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-20]
	sub	r1, r3, #4
	str	r1, [fp, #-20]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r2, [fp, #-8]
	sub	r3, r2, #4
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	sub	r1, r3, #4
	str	r1, [fp, #-12]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-36]
	add	r3, r3, #1
	str	r3, [fp, #-36]
.L40:
	ldr	r3, [fp, #-36]
	cmp	r3, #9
	ble	.L41
	ldr	r3, .L42+160
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	str	r2, [r3]
	ldr	r3, .L42+164
	ldr	r2, [r3]
	ldr	r3, [fp, #-12]
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L43:
	.align	2
.L42:
	.word	ilr
	.word	ih
	.word	dec_del_dltx
	.word	dec_del_bpl
	.word	dec_szl
	.word	dec_rlt1
	.word	dec_al1
	.word	dec_rlt2
	.word	dec_al2
	.word	dec_spl
	.word	dec_sl
	.word	qq4_code4_table
	.word	dec_detl
	.word	dec_dlt
	.word	il
	.word	qq6_code6_table
	.word	dl
	.word	rl
	.word	dec_nbl
	.word	dec_plt
	.word	dec_plt1
	.word	dec_plt2
	.word	dec_rlt
	.word	dec_del_dhx
	.word	dec_del_bph
	.word	dec_szh
	.word	dec_rh1
	.word	dec_ah1
	.word	dec_rh2
	.word	dec_ah2
	.word	dec_sph
	.word	dec_sh
	.word	qq2_code2_table
	.word	dec_deth
	.word	dec_dh
	.word	dec_nbh
	.word	dec_ph
	.word	dec_ph1
	.word	dec_ph2
	.word	rh
	.word	xd
	.word	xs
	.word	h
	.word	accumc
	.word	accumd
	.word	xout1
	.word	xout2
	.size	decode, .-decode
	.align	2
	.global	reset
	.syntax unified
	.arm
	.fpu softvfp
	.type	reset, %function
reset:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	ldr	r3, .L53
	mov	r2, #32
	str	r2, [r3]
	ldr	r3, .L53
	ldr	r3, [r3]
	ldr	r2, .L53+4
	str	r3, [r2]
	ldr	r3, .L53+8
	mov	r2, #8
	str	r2, [r3]
	ldr	r3, .L53+8
	ldr	r3, [r3]
	ldr	r2, .L53+12
	str	r3, [r2]
	ldr	r3, .L53+16
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L53+16
	ldr	r3, [r3]
	ldr	r2, .L53+20
	str	r3, [r2]
	ldr	r3, .L53+20
	ldr	r3, [r3]
	ldr	r2, .L53+24
	str	r3, [r2]
	ldr	r3, .L53+24
	ldr	r3, [r3]
	ldr	r2, .L53+28
	str	r3, [r2]
	ldr	r3, .L53+28
	ldr	r3, [r3]
	ldr	r2, .L53+32
	str	r3, [r2]
	ldr	r3, .L53+32
	ldr	r3, [r3]
	ldr	r2, .L53+36
	str	r3, [r2]
	ldr	r3, .L53+36
	ldr	r3, [r3]
	ldr	r2, .L53+40
	str	r3, [r2]
	ldr	r3, .L53+44
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L53+44
	ldr	r3, [r3]
	ldr	r2, .L53+48
	str	r3, [r2]
	ldr	r3, .L53+48
	ldr	r3, [r3]
	ldr	r2, .L53+52
	str	r3, [r2]
	ldr	r3, .L53+52
	ldr	r3, [r3]
	ldr	r2, .L53+56
	str	r3, [r2]
	ldr	r3, .L53+56
	ldr	r3, [r3]
	ldr	r2, .L53+60
	str	r3, [r2]
	ldr	r3, .L53+60
	ldr	r3, [r3]
	ldr	r2, .L53+64
	str	r3, [r2]
	ldr	r3, .L53+64
	ldr	r3, [r3]
	ldr	r2, .L53+68
	str	r3, [r2]
	ldr	r3, .L53+72
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L53+72
	ldr	r3, [r3]
	ldr	r2, .L53+76
	str	r3, [r2]
	ldr	r3, .L53+76
	ldr	r3, [r3]
	ldr	r2, .L53+80
	str	r3, [r2]
	ldr	r3, .L53+80
	ldr	r3, [r3]
	ldr	r2, .L53+84
	str	r3, [r2]
	ldr	r3, .L53+84
	ldr	r3, [r3]
	ldr	r2, .L53+88
	str	r3, [r2]
	ldr	r3, .L53+88
	ldr	r3, [r3]
	ldr	r2, .L53+92
	str	r3, [r2]
	ldr	r3, .L53+92
	ldr	r3, [r3]
	ldr	r2, .L53+96
	str	r3, [r2]
	ldr	r3, .L53+100
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L53+100
	ldr	r3, [r3]
	ldr	r2, .L53+104
	str	r3, [r2]
	ldr	r3, .L53+104
	ldr	r3, [r3]
	ldr	r2, .L53+108
	str	r3, [r2]
	ldr	r3, .L53+108
	ldr	r3, [r3]
	ldr	r2, .L53+112
	str	r3, [r2]
	ldr	r3, .L53+112
	ldr	r3, [r3]
	ldr	r2, .L53+116
	str	r3, [r2]
	ldr	r3, .L53+116
	ldr	r3, [r3]
	ldr	r2, .L53+120
	str	r3, [r2]
	ldr	r3, .L53+120
	ldr	r3, [r3]
	ldr	r2, .L53+124
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L45
.L46:
	ldr	r2, .L53+128
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+132
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+136
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+140
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L45:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	ble	.L46
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L47
.L48:
	ldr	r2, .L53+144
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+148
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+152
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+156
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L47:
	ldr	r3, [fp, #-8]
	cmp	r3, #5
	ble	.L48
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L49
.L50:
	ldr	r2, .L53+160
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L49:
	ldr	r3, [fp, #-8]
	cmp	r3, #22
	ble	.L50
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L51
.L52:
	ldr	r2, .L53+164
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r2, .L53+168
	ldr	r3, [fp, #-8]
	mov	r1, #0
	str	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L51:
	ldr	r3, [fp, #-8]
	cmp	r3, #10
	ble	.L52
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L54:
	.align	2
.L53:
	.word	dec_detl
	.word	detl
	.word	dec_deth
	.word	deth
	.word	rlt2
	.word	rlt1
	.word	plt2
	.word	plt1
	.word	al2
	.word	al1
	.word	nbl
	.word	rh2
	.word	rh1
	.word	ph2
	.word	ph1
	.word	ah2
	.word	ah1
	.word	nbh
	.word	dec_rlt2
	.word	dec_rlt1
	.word	dec_plt2
	.word	dec_plt1
	.word	dec_al2
	.word	dec_al1
	.word	dec_nbl
	.word	dec_rh2
	.word	dec_rh1
	.word	dec_ph2
	.word	dec_ph1
	.word	dec_ah2
	.word	dec_ah1
	.word	dec_nbh
	.word	delay_dltx
	.word	delay_dhx
	.word	dec_del_dltx
	.word	dec_del_dhx
	.word	delay_bpl
	.word	delay_bph
	.word	dec_del_bpl
	.word	dec_del_bph
	.word	tqmf
	.word	accumc
	.word	accumd
	.size	reset, .-reset
	.align	2
	.global	filtez
	.syntax unified
	.arm
	.fpu softvfp
	.type	filtez, %function
filtez:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	add	r2, r3, #4
	str	r2, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r1, r3, #4
	str	r1, [fp, #-20]
	ldr	r3, [r3]
	mul	r3, r2, r3
	str	r3, [fp, #-8]
	mov	r3, #1
	str	r3, [fp, #-12]
	b	.L56
.L57:
	ldr	r3, [fp, #-16]
	add	r2, r3, #4
	str	r2, [fp, #-16]
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	add	r1, r3, #4
	str	r1, [fp, #-20]
	ldr	r3, [r3]
	mul	r3, r2, r3
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L56:
	ldr	r3, [fp, #-12]
	cmp	r3, #5
	ble	.L57
	ldr	r3, [fp, #-8]
	asr	r3, r3, #14
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	filtez, .-filtez
	.align	2
	.global	filtep
	.syntax unified
	.arm
	.fpu softvfp
	.type	filtep, %function
filtep:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #1
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-8]
	mul	r3, r2, r3
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	asr	r3, r3, #15
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	filtep, .-filtep
	.align	2
	.global	quantl
	.syntax unified
	.arm
	.fpu softvfp
	.type	quantl, %function
quantl:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L62
.L65:
	ldr	r2, .L70
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-28]
	mul	r3, r2, r3
	asr	r3, r3, #15
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	ble	.L69
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L62:
	ldr	r3, [fp, #-16]
	cmp	r3, #29
	ble	.L65
	b	.L64
.L69:
	nop
.L64:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	blt	.L66
	ldr	r2, .L70+4
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
	b	.L67
.L66:
	ldr	r2, .L70+8
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	str	r3, [fp, #-20]
.L67:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L71:
	.align	2
.L70:
	.word	decis_levl
	.word	quant26bt_pos
	.word	quant26bt_neg
	.size	quantl, .-quantl
	.align	2
	.global	invqxl
	.syntax unified
	.arm
	.fpu softvfp
	.type	invqxl, %function
invqxl:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	sub	r3, r3, #1
	ldr	r2, [fp, #-16]
	asr	r3, r2, r3
	lsl	r3, r3, #2
	ldr	r2, [fp, #-24]
	add	r3, r2, r3
	ldr	r2, [r3]
	ldr	r3, [fp, #-20]
	mul	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	asr	r3, r3, #15
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	invqxl, .-invqxl
	.align	2
	.global	logscl
	.syntax unified
	.arm
	.fpu softvfp
	.type	logscl, %function
logscl:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #7
	sub	r3, r3, r2
	asr	r3, r3, #7
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	asr	r3, r3, #2
	ldr	r2, .L78
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L75
	mov	r3, #0
	str	r3, [fp, #-20]
.L75:
	ldr	r3, [fp, #-20]
	cmp	r3, #18432
	ble	.L76
	mov	r3, #18432
	str	r3, [fp, #-20]
.L76:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L79:
	.align	2
.L78:
	.word	wl_code_table
	.size	logscl, .-logscl
	.align	2
	.global	scalel
	.syntax unified
	.arm
	.fpu softvfp
	.type	scalel, %function
scalel:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	asr	r3, r3, #6
	and	r3, r3, #31
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-24]
	asr	r3, r3, #11
	str	r3, [fp, #-12]
	ldr	r2, .L82
	ldr	r3, [fp, #-16]
	ldr	r2, [r2, r3, lsl #2]
	ldr	r3, [fp, #-28]
	add	r1, r3, #1
	ldr	r3, [fp, #-12]
	sub	r3, r1, r3
	asr	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	lsl	r3, r3, #3
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L83:
	.align	2
.L82:
	.word	ilb_table
	.size	scalel, .-scalel
	.align	2
	.global	upzero
	.syntax unified
	.arm
	.fpu softvfp
	.type	upzero, %function
upzero:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L85
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L86
.L87:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #8
	sub	r2, r3, r2
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r1, [fp, #-32]
	add	r3, r1, r3
	asr	r2, r2, #8
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L86:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	ble	.L87
	b	.L88
.L85:
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L89
.L92:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-28]
	add	r3, r2, r3
	ldr	r3, [r3]
	ldr	r2, [fp, #-24]
	mul	r3, r2, r3
	cmp	r3, #0
	blt	.L90
	mov	r3, #128
	str	r3, [fp, #-12]
	b	.L91
.L90:
	mvn	r3, #127
	str	r3, [fp, #-12]
.L91:
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r2, [r3]
	mov	r3, r2
	lsl	r3, r3, #8
	sub	r3, r3, r2
	asr	r3, r3, #8
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-32]
	add	r3, r2, r3
	ldr	r1, [fp, #-12]
	ldr	r2, [fp, #-8]
	add	r2, r1, r2
	str	r2, [r3]
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L89:
	ldr	r3, [fp, #-16]
	cmp	r3, #5
	ble	.L92
.L88:
	ldr	r3, [fp, #-28]
	add	r3, r3, #20
	ldr	r2, [fp, #-28]
	ldr	r2, [r2, #16]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #16
	ldr	r2, [fp, #-28]
	ldr	r2, [r2, #12]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #12
	ldr	r2, [fp, #-28]
	ldr	r2, [r2, #8]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	add	r3, r3, #4
	ldr	r2, [fp, #-28]
	ldr	r2, [r2]
	str	r2, [r3]
	ldr	r3, [fp, #-28]
	ldr	r2, [fp, #-24]
	str	r2, [r3]
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	upzero, .-upzero
	.align	2
	.global	uppol2
	.syntax unified
	.arm
	.fpu softvfp
	.type	uppol2, %function
uppol2:
	@ args = 4, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r3, [fp, #-24]
	lsl	r3, r3, #2
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	mul	r3, r2, r3
	cmp	r3, #0
	blt	.L94
	ldr	r3, [fp, #-16]
	rsb	r3, r3, #0
	str	r3, [fp, #-16]
.L94:
	ldr	r3, [fp, #-16]
	asr	r3, r3, #7
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #4]
	mul	r3, r2, r3
	cmp	r3, #0
	blt	.L95
	ldr	r3, [fp, #-16]
	add	r3, r3, #128
	str	r3, [fp, #-12]
	b	.L96
.L95:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #128
	str	r3, [fp, #-12]
.L96:
	ldr	r2, [fp, #-28]
	mov	r3, r2
	lsl	r3, r3, #7
	sub	r3, r3, r2
	asr	r3, r3, #7
	ldr	r2, [fp, #-12]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #12288
	ble	.L97
	mov	r3, #12288
	str	r3, [fp, #-8]
.L97:
	ldr	r3, [fp, #-8]
	cmn	r3, #12288
	bge	.L98
	ldr	r3, .L100
	str	r3, [fp, #-8]
.L98:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L101:
	.align	2
.L100:
	.word	-12288
	.size	uppol2, .-uppol2
	.align	2
	.global	uppol1
	.syntax unified
	.arm
	.fpu softvfp
	.type	uppol1, %function
uppol1:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #36
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	str	r2, [fp, #-32]
	str	r3, [fp, #-36]
	ldr	r2, [fp, #-24]
	mov	r3, r2
	lsl	r3, r3, #8
	sub	r3, r3, r2
	asr	r3, r3, #8
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r2, [fp, #-36]
	mul	r3, r2, r3
	cmp	r3, #0
	blt	.L103
	ldr	r3, [fp, #-12]
	add	r3, r3, #192
	str	r3, [fp, #-16]
	b	.L104
.L103:
	ldr	r3, [fp, #-12]
	sub	r3, r3, #192
	str	r3, [fp, #-16]
.L104:
	ldr	r3, [fp, #-28]
	rsb	r3, r3, #15360
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	ble	.L105
	ldr	r3, [fp, #-8]
	str	r3, [fp, #-16]
.L105:
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-16]
	cmp	r2, r3
	bge	.L106
	ldr	r3, [fp, #-8]
	rsb	r3, r3, #0
	str	r3, [fp, #-16]
.L106:
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	uppol1, .-uppol1
	.align	2
	.global	invqah
	.syntax unified
	.arm
	.fpu softvfp
	.type	invqah, %function
invqah:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r2, .L110
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-20]
	mul	r3, r2, r3
	asr	r3, r3, #15
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L111:
	.align	2
.L110:
	.word	qq2_code2_table
	.size	invqah, .-invqah
	.align	2
	.global	logsch
	.syntax unified
	.arm
	.fpu softvfp
	.type	logsch, %function
logsch:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	ldr	r2, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #7
	sub	r3, r3, r2
	asr	r3, r3, #7
	str	r3, [fp, #-8]
	ldr	r2, .L116
	ldr	r3, [fp, #-16]
	ldr	r3, [r2, r3, lsl #2]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bge	.L113
	mov	r3, #0
	str	r3, [fp, #-20]
.L113:
	ldr	r3, [fp, #-20]
	cmp	r3, #22528
	ble	.L114
	mov	r3, #22528
	str	r3, [fp, #-20]
.L114:
	ldr	r3, [fp, #-20]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L117:
	.align	2
.L116:
	.word	wh_code_table
	.size	logsch, .-logsch
	.global	__aeabi_i2f
	.global	__aeabi_f2iz
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, fp, lr}
	add	fp, sp, #16
	sub	sp, sp, #20
	bl	reset
	mov	r3, #10
	str	r3, [fp, #-28]
	mov	r3, #2000
	str	r3, [fp, #-24]
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L119
.L120:
	ldr	r0, [fp, #-28]
	bl	__aeabi_i2f
	mov	r6, r0
	ldr	r0, [fp, #-24]
	bl	__aeabi_i2d
	ldr	r2, .L125
	ldr	r3, .L125+4
	bl	__aeabi_dmul
	mov	r2, r0
	mov	r3, r1
	mov	r4, r2
	mov	r5, r3
	ldr	r0, [fp, #-32]
	bl	__aeabi_i2d
	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, .L125+8
	bl	__aeabi_ddiv
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	cos
	mov	r3, r0
	mov	r1, r3
	mov	r0, r6
	bl	__aeabi_fmul
	mov	r3, r0
	mov	r0, r3
	bl	__aeabi_f2iz
	mov	r2, r0
	ldr	r1, .L125+12
	ldr	r3, [fp, #-32]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	str	r3, [fp, #-32]
.L119:
	ldr	r3, [fp, #-32]
	cmp	r3, #2000
	blt	.L120
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L121
.L122:
	ldr	r2, .L125+12
	ldr	r3, [fp, #-32]
	ldr	r0, [r2, r3, lsl #2]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r2, .L125+12
	ldr	r1, [r2, r3, lsl #2]
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r4, r3
	bl	encode
	mov	r3, r0
	ldr	r2, .L125+16
	str	r3, [r2, r4, lsl #2]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	str	r3, [fp, #-32]
.L121:
	ldr	r3, [fp, #-32]
	cmp	r3, #2000
	blt	.L122
	mov	r3, #0
	str	r3, [fp, #-32]
	b	.L123
.L124:
	ldr	r3, [fp, #-32]
	lsr	r2, r3, #31
	add	r3, r2, r3
	asr	r3, r3, #1
	mov	r2, r3
	ldr	r3, .L125+16
	ldr	r3, [r3, r2, lsl #2]
	mov	r0, r3
	bl	decode
	ldr	r3, .L125+20
	ldr	r2, [r3]
	ldr	r1, .L125+24
	ldr	r3, [fp, #-32]
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-32]
	add	r3, r3, #1
	ldr	r2, .L125+28
	ldr	r2, [r2]
	ldr	r1, .L125+24
	str	r2, [r1, r3, lsl #2]
	ldr	r3, [fp, #-32]
	add	r3, r3, #2
	str	r3, [fp, #-32]
.L123:
	ldr	r3, [fp, #-32]
	cmp	r3, #2000
	blt	.L124
	nop
	nop
	sub	sp, fp, #16
	@ sp needed
	pop	{r4, r5, r6, fp, pc}
.L126:
	.align	2
.L125:
	.word	1413754136
	.word	1074340347
	.word	1086275584
	.word	test_data.4543
	.word	compressed.4544
	.word	xout1
	.word	result.4545
	.word	xout2
	.size	main, .-main
	.local	test_data.4543
	.comm	test_data.4543,8000,4
	.local	compressed.4544
	.comm	compressed.4544,8000,4
	.local	result.4545
	.comm	result.4545,8000,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
