	.file	"993751.c"
	.intel_syntax noprefix
	.text
	.section	.rodata
	.align 32
	.type	crc16tab, @object
	.size	crc16tab, 512
crc16tab:
	.value	0
	.value	4129
	.value	8258
	.value	12387
	.value	16516
	.value	20645
	.value	24774
	.value	28903
	.value	-32504
	.value	-28375
	.value	-24246
	.value	-20117
	.value	-15988
	.value	-11859
	.value	-7730
	.value	-3601
	.value	4657
	.value	528
	.value	12915
	.value	8786
	.value	21173
	.value	17044
	.value	29431
	.value	25302
	.value	-27847
	.value	-31976
	.value	-19589
	.value	-23718
	.value	-11331
	.value	-15460
	.value	-3073
	.value	-7202
	.value	9314
	.value	13379
	.value	1056
	.value	5121
	.value	25830
	.value	29895
	.value	17572
	.value	21637
	.value	-23190
	.value	-19125
	.value	-31448
	.value	-27383
	.value	-6674
	.value	-2609
	.value	-14932
	.value	-10867
	.value	13907
	.value	9842
	.value	5649
	.value	1584
	.value	30423
	.value	26358
	.value	22165
	.value	18100
	.value	-18597
	.value	-22662
	.value	-26855
	.value	-30920
	.value	-2081
	.value	-6146
	.value	-10339
	.value	-14404
	.value	18628
	.value	22757
	.value	26758
	.value	30887
	.value	2112
	.value	6241
	.value	10242
	.value	14371
	.value	-13876
	.value	-9747
	.value	-5746
	.value	-1617
	.value	-30392
	.value	-26263
	.value	-22262
	.value	-18133
	.value	23285
	.value	19156
	.value	31415
	.value	27286
	.value	6769
	.value	2640
	.value	14899
	.value	10770
	.value	-9219
	.value	-13348
	.value	-1089
	.value	-5218
	.value	-25735
	.value	-29864
	.value	-17605
	.value	-21734
	.value	27814
	.value	31879
	.value	19684
	.value	23749
	.value	11298
	.value	15363
	.value	3168
	.value	7233
	.value	-4690
	.value	-625
	.value	-12820
	.value	-8755
	.value	-21206
	.value	-17141
	.value	-29336
	.value	-25271
	.value	32407
	.value	28342
	.value	24277
	.value	20212
	.value	15891
	.value	11826
	.value	7761
	.value	3696
	.value	-97
	.value	-4162
	.value	-8227
	.value	-12292
	.value	-16613
	.value	-20678
	.value	-24743
	.value	-28808
	.value	-28280
	.value	-32343
	.value	-20022
	.value	-24085
	.value	-12020
	.value	-16083
	.value	-3762
	.value	-7825
	.value	4224
	.value	161
	.value	12482
	.value	8419
	.value	20484
	.value	16421
	.value	28742
	.value	24679
	.value	-31815
	.value	-27752
	.value	-23557
	.value	-19494
	.value	-15555
	.value	-11492
	.value	-7297
	.value	-3234
	.value	689
	.value	4752
	.value	8947
	.value	13010
	.value	16949
	.value	21012
	.value	25207
	.value	29270
	.value	-18966
	.value	-23093
	.value	-27224
	.value	-31351
	.value	-2706
	.value	-6833
	.value	-10964
	.value	-15091
	.value	13538
	.value	9411
	.value	5280
	.value	1153
	.value	29798
	.value	25671
	.value	21540
	.value	17413
	.value	-22565
	.value	-18438
	.value	-30823
	.value	-26696
	.value	-6305
	.value	-2178
	.value	-14563
	.value	-10436
	.value	9939
	.value	14066
	.value	1681
	.value	5808
	.value	26199
	.value	30326
	.value	17941
	.value	22068
	.value	-9908
	.value	-13971
	.value	-1778
	.value	-5841
	.value	-26168
	.value	-30231
	.value	-18038
	.value	-22101
	.value	22596
	.value	18533
	.value	30726
	.value	26663
	.value	6336
	.value	2273
	.value	14466
	.value	10403
	.value	-13443
	.value	-9380
	.value	-5313
	.value	-1250
	.value	-29703
	.value	-25640
	.value	-21573
	.value	-17510
	.value	19061
	.value	23124
	.value	27191
	.value	31254
	.value	2801
	.value	6864
	.value	10931
	.value	14994
	.value	-722
	.value	-4849
	.value	-8852
	.value	-12979
	.value	-16982
	.value	-21109
	.value	-25112
	.value	-29239
	.value	31782
	.value	27655
	.value	23652
	.value	19525
	.value	15522
	.value	11395
	.value	7392
	.value	3265
	.value	-4321
	.value	-194
	.value	-12451
	.value	-8324
	.value	-20581
	.value	-16454
	.value	-28711
	.value	-24584
	.value	28183
	.value	32310
	.value	20053
	.value	24180
	.value	11923
	.value	16050
	.value	3793
	.value	7920
	.text
	.globl	hash_crc16
	.type	hash_crc16, @function
hash_crc16:
.LFB6:
	.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	DWORD PTR -12[rbp], 0
	mov	QWORD PTR -8[rbp], 0
	jmp	.L2
.L3:
	mov	eax, DWORD PTR -12[rbp]
	sal	eax, 8
	mov	ecx, eax
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 8
	mov	esi, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	xor	eax, esi
	movzx	eax, al
	mov	eax, eax
	lea	rdx, [rax+rax]
	lea	rax, crc16tab[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movzx	eax, ax
	xor	eax, ecx
	mov	DWORD PTR -12[rbp], eax
	add	QWORD PTR -8[rbp], 1
.L2:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jb	.L3
	mov	eax, DWORD PTR -12[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	hash_crc16, .-hash_crc16
	.section	.rodata
	.align 32
	.type	crc32tab, @object
	.size	crc32tab, 1024
crc32tab:
	.long	0
	.long	1996959894
	.long	-301047508
	.long	-1727442502
	.long	124634137
	.long	1886057615
	.long	-379345611
	.long	-1637575261
	.long	249268274
	.long	2044508324
	.long	-522852066
	.long	-1747789432
	.long	162941995
	.long	2125561021
	.long	-407360249
	.long	-1866523247
	.long	498536548
	.long	1789927666
	.long	-205950648
	.long	-2067906082
	.long	450548861
	.long	1843258603
	.long	-187386543
	.long	-2083289657
	.long	325883990
	.long	1684777152
	.long	-43845254
	.long	-1973040660
	.long	335633487
	.long	1661365465
	.long	-99664541
	.long	-1928851979
	.long	997073096
	.long	1281953886
	.long	-715111964
	.long	-1570279054
	.long	1006888145
	.long	1258607687
	.long	-770865667
	.long	-1526024853
	.long	901097722
	.long	1119000684
	.long	-608450090
	.long	-1396901568
	.long	853044451
	.long	1172266101
	.long	-589951537
	.long	-1412350631
	.long	651767980
	.long	1373503546
	.long	-925412992
	.long	-1076862698
	.long	565507253
	.long	1454621731
	.long	-809855591
	.long	-1195530993
	.long	671266974
	.long	1594198024
	.long	-972236366
	.long	-1324619484
	.long	795835527
	.long	1483230225
	.long	-1050600021
	.long	-1234817731
	.long	1994146192
	.long	31158534
	.long	-1731059524
	.long	-271249366
	.long	1907459465
	.long	112637215
	.long	-1614814043
	.long	-390540237
	.long	2013776290
	.long	251722036
	.long	-1777751922
	.long	-519137256
	.long	2137656763
	.long	141376813
	.long	-1855689577
	.long	-429695999
	.long	1802195444
	.long	476864866
	.long	-2056965928
	.long	-228458418
	.long	1812370925
	.long	453092731
	.long	-2113342271
	.long	-183516073
	.long	1706088902
	.long	314042704
	.long	-1950435094
	.long	-54949764
	.long	1658658271
	.long	366619977
	.long	-1932296973
	.long	-69972891
	.long	1303535960
	.long	984961486
	.long	-1547960204
	.long	-725929758
	.long	1256170817
	.long	1037604311
	.long	-1529756563
	.long	-740887301
	.long	1131014506
	.long	879679996
	.long	-1385723834
	.long	-631195440
	.long	1141124467
	.long	855842277
	.long	-1442165665
	.long	-586318647
	.long	1342533948
	.long	654459306
	.long	-1106571248
	.long	-921952122
	.long	1466479909
	.long	544179635
	.long	-1184443383
	.long	-832445281
	.long	1591671054
	.long	702138776
	.long	-1328506846
	.long	-942167884
	.long	1504918807
	.long	783551873
	.long	-1212326853
	.long	-1061524307
	.long	-306674912
	.long	-1698712650
	.long	62317068
	.long	1957810842
	.long	-355121351
	.long	-1647151185
	.long	81470997
	.long	1943803523
	.long	-480048366
	.long	-1805370492
	.long	225274430
	.long	2053790376
	.long	-468791541
	.long	-1828061283
	.long	167816743
	.long	2097651377
	.long	-267414716
	.long	-2029476910
	.long	503444072
	.long	1762050814
	.long	-144550051
	.long	-2140837941
	.long	426522225
	.long	1852507879
	.long	-19653770
	.long	-1982649376
	.long	282753626
	.long	1742555852
	.long	-105259153
	.long	-1900089351
	.long	397917763
	.long	1622183637
	.long	-690576408
	.long	-1580100738
	.long	953729732
	.long	1340076626
	.long	-776247311
	.long	-1497606297
	.long	1068828381
	.long	1219638859
	.long	-670225446
	.long	-1358292148
	.long	906185462
	.long	1090812512
	.long	-547295293
	.long	-1469587627
	.long	829329135
	.long	1181335161
	.long	-882789492
	.long	-1134132454
	.long	628085408
	.long	1382605366
	.long	-871598187
	.long	-1156888829
	.long	570562233
	.long	1426400815
	.long	-977650754
	.long	-1296233688
	.long	733239954
	.long	1555261956
	.long	-1026031705
	.long	-1244606671
	.long	752459403
	.long	1541320221
	.long	-1687895376
	.long	-328994266
	.long	1969922972
	.long	40735498
	.long	-1677130071
	.long	-351390145
	.long	1913087877
	.long	83908371
	.long	-1782625662
	.long	-491226604
	.long	2075208622
	.long	213261112
	.long	-1831694693
	.long	-438977011
	.long	2094854071
	.long	198958881
	.long	-2032938284
	.long	-237706686
	.long	1759359992
	.long	534414190
	.long	-2118248755
	.long	-155638181
	.long	1873836001
	.long	414664567
	.long	-2012718362
	.long	-15766928
	.long	1711684554
	.long	285281116
	.long	-1889165569
	.long	-127750551
	.long	1634467795
	.long	376229701
	.long	-1609899400
	.long	-686959890
	.long	1308918612
	.long	956543938
	.long	-1486412191
	.long	-799009033
	.long	1231636301
	.long	1047427035
	.long	-1362007478
	.long	-640263460
	.long	1088359270
	.long	936918000
	.long	-1447252397
	.long	-558129467
	.long	1202900863
	.long	817233897
	.long	-1111625188
	.long	-893730166
	.long	1404277552
	.long	615818150
	.long	-1160759803
	.long	-841546093
	.long	1423857449
	.long	601450431
	.long	-1285129682
	.long	-1000256840
	.long	1567103746
	.long	711928724
	.long	-1274298825
	.long	-1022587231
	.long	1510334235
	.long	755167117
.LC0:
	.string	"%d: %u\n"
	.text
	.globl	hash_crc32
	.type	hash_crc32, @function
hash_crc32:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -12[rbp], -1
	mov	QWORD PTR -8[rbp], 0
	jmp	.L6
.L7:
	mov	eax, DWORD PTR -12[rbp]
	shr	eax, 8
	mov	esi, eax
	mov	edx, DWORD PTR -12[rbp]
	mov	rcx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rcx
	movzx	eax, BYTE PTR [rax]
	movsx	rax, al
	xor	rax, rdx
	movzx	eax, al
	lea	rdx, 0[0+rax*4]
	lea	rax, crc32tab[rip]
	mov	eax, DWORD PTR [rdx+rax]
	xor	eax, esi
	mov	DWORD PTR -12[rbp], eax
	mov	edx, DWORD PTR -12[rbp]
	mov	rax, QWORD PTR -8[rbp]
	mov	rsi, rax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
	add	QWORD PTR -8[rbp], 1
.L6:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jb	.L7
	mov	eax, DWORD PTR -12[rbp]
	not	eax
	shr	eax, 16
	and	eax, 32767
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	hash_crc32, .-hash_crc32
	.data
	.align 8
	.type	FNV_64_INIT, @object
	.size	FNV_64_INIT, 8
FNV_64_INIT:
	.quad	-3750763034362895579
	.align 8
	.type	FNV_64_PRIME, @object
	.size	FNV_64_PRIME, 8
FNV_64_PRIME:
	.quad	1099511628211
	.align 4
	.type	FNV_32_INIT, @object
	.size	FNV_32_INIT, 4
FNV_32_INIT:
	.long	-2128831035
	.align 4
	.type	FNV_32_PRIME, @object
	.size	FNV_32_PRIME, 4
FNV_32_PRIME:
	.long	16777619
	.text
	.globl	hash_fnv1a_64
	.type	hash_fnv1a_64, @function
hash_fnv1a_64:
.LFB8:
	.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 FNV_64_INIT[rip]
	mov	DWORD PTR -16[rbp], eax
	mov	QWORD PTR -8[rbp], 0
	jmp	.L10
.L11:
	mov	rdx, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	xor	DWORD PTR -16[rbp], eax
	mov	rax, QWORD PTR FNV_64_PRIME[rip]
	mov	edx, eax
	mov	eax, DWORD PTR -16[rbp]
	imul	eax, edx
	mov	DWORD PTR -16[rbp], eax
	add	QWORD PTR -8[rbp], 1
.L10:
	mov	rax, QWORD PTR -8[rbp]
	cmp	rax, QWORD PTR -32[rbp]
	jb	.L11
	mov	eax, DWORD PTR -16[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	hash_fnv1a_64, .-hash_fnv1a_64
	.section	.rodata
.LC1:
	.string	"%s fnv64 %u slot %d\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1072
	mov	DWORD PTR -1060[rbp], edi
	mov	QWORD PTR -1072[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	cmp	DWORD PTR -1060[rbp], 1
	jle	.L18
	mov	DWORD PTR -1048[rbp], 1
	jmp	.L15
.L16:
	mov	eax, DWORD PTR -1048[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	mov	eax, DWORD PTR -1048[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rcx
	mov	rax, QWORD PTR [rax]
	mov	rsi, rdx
	mov	rdi, rax
	call	hash_fnv1a_64
	mov	DWORD PTR -1044[rbp], eax
	mov	edx, DWORD PTR -1044[rbp]
	mov	eax, edx
	imul	rax, rax, 167544629
	shr	rax, 32
	shr	eax, 14
	imul	ecx, eax, 420000
	mov	eax, edx
	sub	eax, ecx
	mov	edx, DWORD PTR -1048[rbp]
	movsx	rdx, edx
	lea	rcx, 0[0+rdx*8]
	mov	rdx, QWORD PTR -1072[rbp]
	add	rdx, rcx
	mov	rsi, QWORD PTR [rdx]
	mov	edx, DWORD PTR -1044[rbp]
	mov	ecx, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	add	DWORD PTR -1048[rbp], 1
.L15:
	mov	eax, DWORD PTR -1048[rbp]
	cmp	eax, DWORD PTR -1060[rbp]
	jl	.L16
	jmp	.L17
.L20:
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 1
	movzx	eax, BYTE PTR -1040[rbp+rax]
	cmp	al, 10
	jne	.L19
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	strlen@PLT
	sub	rax, 1
	mov	BYTE PTR -1040[rbp+rax], 0
.L19:
	lea	rax, -1040[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -1040[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	hash_fnv1a_64
	mov	DWORD PTR -1044[rbp], eax
	mov	edx, DWORD PTR -1044[rbp]
	mov	eax, edx
	imul	rax, rax, 167544629
	shr	rax, 32
	shr	eax, 14
	imul	ecx, eax, 420000
	mov	eax, edx
	sub	eax, ecx
	mov	edx, DWORD PTR -1044[rbp]
	lea	rsi, -1040[rbp]
	mov	ecx, eax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
.L18:
	mov	rdx, QWORD PTR stdin[rip]
	lea	rax, -1040[rbp]
	mov	esi, 1024
	mov	rdi, rax
	call	fgets@PLT
	test	rax, rax
	jne	.L20
.L17:
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L22
	call	__stack_chk_fail@PLT
.L22:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	main, .-main
	.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	"993751.c"
	.text
	.section	.rodata
	.align	2
	.type	crc16tab, %object
	.size	crc16tab, 512
crc16tab:
	.short	0
	.short	4129
	.short	8258
	.short	12387
	.short	16516
	.short	20645
	.short	24774
	.short	28903
	.short	-32504
	.short	-28375
	.short	-24246
	.short	-20117
	.short	-15988
	.short	-11859
	.short	-7730
	.short	-3601
	.short	4657
	.short	528
	.short	12915
	.short	8786
	.short	21173
	.short	17044
	.short	29431
	.short	25302
	.short	-27847
	.short	-31976
	.short	-19589
	.short	-23718
	.short	-11331
	.short	-15460
	.short	-3073
	.short	-7202
	.short	9314
	.short	13379
	.short	1056
	.short	5121
	.short	25830
	.short	29895
	.short	17572
	.short	21637
	.short	-23190
	.short	-19125
	.short	-31448
	.short	-27383
	.short	-6674
	.short	-2609
	.short	-14932
	.short	-10867
	.short	13907
	.short	9842
	.short	5649
	.short	1584
	.short	30423
	.short	26358
	.short	22165
	.short	18100
	.short	-18597
	.short	-22662
	.short	-26855
	.short	-30920
	.short	-2081
	.short	-6146
	.short	-10339
	.short	-14404
	.short	18628
	.short	22757
	.short	26758
	.short	30887
	.short	2112
	.short	6241
	.short	10242
	.short	14371
	.short	-13876
	.short	-9747
	.short	-5746
	.short	-1617
	.short	-30392
	.short	-26263
	.short	-22262
	.short	-18133
	.short	23285
	.short	19156
	.short	31415
	.short	27286
	.short	6769
	.short	2640
	.short	14899
	.short	10770
	.short	-9219
	.short	-13348
	.short	-1089
	.short	-5218
	.short	-25735
	.short	-29864
	.short	-17605
	.short	-21734
	.short	27814
	.short	31879
	.short	19684
	.short	23749
	.short	11298
	.short	15363
	.short	3168
	.short	7233
	.short	-4690
	.short	-625
	.short	-12820
	.short	-8755
	.short	-21206
	.short	-17141
	.short	-29336
	.short	-25271
	.short	32407
	.short	28342
	.short	24277
	.short	20212
	.short	15891
	.short	11826
	.short	7761
	.short	3696
	.short	-97
	.short	-4162
	.short	-8227
	.short	-12292
	.short	-16613
	.short	-20678
	.short	-24743
	.short	-28808
	.short	-28280
	.short	-32343
	.short	-20022
	.short	-24085
	.short	-12020
	.short	-16083
	.short	-3762
	.short	-7825
	.short	4224
	.short	161
	.short	12482
	.short	8419
	.short	20484
	.short	16421
	.short	28742
	.short	24679
	.short	-31815
	.short	-27752
	.short	-23557
	.short	-19494
	.short	-15555
	.short	-11492
	.short	-7297
	.short	-3234
	.short	689
	.short	4752
	.short	8947
	.short	13010
	.short	16949
	.short	21012
	.short	25207
	.short	29270
	.short	-18966
	.short	-23093
	.short	-27224
	.short	-31351
	.short	-2706
	.short	-6833
	.short	-10964
	.short	-15091
	.short	13538
	.short	9411
	.short	5280
	.short	1153
	.short	29798
	.short	25671
	.short	21540
	.short	17413
	.short	-22565
	.short	-18438
	.short	-30823
	.short	-26696
	.short	-6305
	.short	-2178
	.short	-14563
	.short	-10436
	.short	9939
	.short	14066
	.short	1681
	.short	5808
	.short	26199
	.short	30326
	.short	17941
	.short	22068
	.short	-9908
	.short	-13971
	.short	-1778
	.short	-5841
	.short	-26168
	.short	-30231
	.short	-18038
	.short	-22101
	.short	22596
	.short	18533
	.short	30726
	.short	26663
	.short	6336
	.short	2273
	.short	14466
	.short	10403
	.short	-13443
	.short	-9380
	.short	-5313
	.short	-1250
	.short	-29703
	.short	-25640
	.short	-21573
	.short	-17510
	.short	19061
	.short	23124
	.short	27191
	.short	31254
	.short	2801
	.short	6864
	.short	10931
	.short	14994
	.short	-722
	.short	-4849
	.short	-8852
	.short	-12979
	.short	-16982
	.short	-21109
	.short	-25112
	.short	-29239
	.short	31782
	.short	27655
	.short	23652
	.short	19525
	.short	15522
	.short	11395
	.short	7392
	.short	3265
	.short	-4321
	.short	-194
	.short	-12451
	.short	-8324
	.short	-20581
	.short	-16454
	.short	-28711
	.short	-24584
	.short	28183
	.short	32310
	.short	20053
	.short	24180
	.short	11923
	.short	16050
	.short	3793
	.short	7920
	.text
	.align	2
	.global	hash_crc16
	.syntax unified
	.arm
	.fpu softvfp
	.type	hash_crc16, %function
hash_crc16:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, fp}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-32]
	str	r1, [fp, #-36]
	mov	r3, #0
	str	r3, [fp, #-24]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-20]
	str	r3, [fp, #-16]
	b	.L2
.L3:
	ldr	r3, [fp, #-24]
	lsl	r2, r3, #8
	ldr	r3, [fp, #-24]
	lsr	r1, r3, #8
	ldr	r3, [fp, #-32]
	add	r0, r3, #1
	str	r0, [fp, #-32]
	ldrb	r3, [r3]	@ zero_extendqisi2
	eor	r3, r3, r1
	and	r3, r3, #255
	ldr	r1, .L5
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrh	r3, [r3]
	eor	r3, r3, r2
	str	r3, [fp, #-24]
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	adds	r4, r2, #1
	adc	r5, r3, #0
	str	r4, [fp, #-20]
	str	r5, [fp, #-16]
.L2:
	ldr	r3, [fp, #-36]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #20
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L3
	ldr	r3, [fp, #-24]
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, r5, fp}
	bx	lr
.L6:
	.align	2
.L5:
	.word	crc16tab
	.size	hash_crc16, .-hash_crc16
	.section	.rodata
	.align	2
	.type	crc32tab, %object
	.size	crc32tab, 1024
crc32tab:
	.word	0
	.word	1996959894
	.word	-301047508
	.word	-1727442502
	.word	124634137
	.word	1886057615
	.word	-379345611
	.word	-1637575261
	.word	249268274
	.word	2044508324
	.word	-522852066
	.word	-1747789432
	.word	162941995
	.word	2125561021
	.word	-407360249
	.word	-1866523247
	.word	498536548
	.word	1789927666
	.word	-205950648
	.word	-2067906082
	.word	450548861
	.word	1843258603
	.word	-187386543
	.word	-2083289657
	.word	325883990
	.word	1684777152
	.word	-43845254
	.word	-1973040660
	.word	335633487
	.word	1661365465
	.word	-99664541
	.word	-1928851979
	.word	997073096
	.word	1281953886
	.word	-715111964
	.word	-1570279054
	.word	1006888145
	.word	1258607687
	.word	-770865667
	.word	-1526024853
	.word	901097722
	.word	1119000684
	.word	-608450090
	.word	-1396901568
	.word	853044451
	.word	1172266101
	.word	-589951537
	.word	-1412350631
	.word	651767980
	.word	1373503546
	.word	-925412992
	.word	-1076862698
	.word	565507253
	.word	1454621731
	.word	-809855591
	.word	-1195530993
	.word	671266974
	.word	1594198024
	.word	-972236366
	.word	-1324619484
	.word	795835527
	.word	1483230225
	.word	-1050600021
	.word	-1234817731
	.word	1994146192
	.word	31158534
	.word	-1731059524
	.word	-271249366
	.word	1907459465
	.word	112637215
	.word	-1614814043
	.word	-390540237
	.word	2013776290
	.word	251722036
	.word	-1777751922
	.word	-519137256
	.word	2137656763
	.word	141376813
	.word	-1855689577
	.word	-429695999
	.word	1802195444
	.word	476864866
	.word	-2056965928
	.word	-228458418
	.word	1812370925
	.word	453092731
	.word	-2113342271
	.word	-183516073
	.word	1706088902
	.word	314042704
	.word	-1950435094
	.word	-54949764
	.word	1658658271
	.word	366619977
	.word	-1932296973
	.word	-69972891
	.word	1303535960
	.word	984961486
	.word	-1547960204
	.word	-725929758
	.word	1256170817
	.word	1037604311
	.word	-1529756563
	.word	-740887301
	.word	1131014506
	.word	879679996
	.word	-1385723834
	.word	-631195440
	.word	1141124467
	.word	855842277
	.word	-1442165665
	.word	-586318647
	.word	1342533948
	.word	654459306
	.word	-1106571248
	.word	-921952122
	.word	1466479909
	.word	544179635
	.word	-1184443383
	.word	-832445281
	.word	1591671054
	.word	702138776
	.word	-1328506846
	.word	-942167884
	.word	1504918807
	.word	783551873
	.word	-1212326853
	.word	-1061524307
	.word	-306674912
	.word	-1698712650
	.word	62317068
	.word	1957810842
	.word	-355121351
	.word	-1647151185
	.word	81470997
	.word	1943803523
	.word	-480048366
	.word	-1805370492
	.word	225274430
	.word	2053790376
	.word	-468791541
	.word	-1828061283
	.word	167816743
	.word	2097651377
	.word	-267414716
	.word	-2029476910
	.word	503444072
	.word	1762050814
	.word	-144550051
	.word	-2140837941
	.word	426522225
	.word	1852507879
	.word	-19653770
	.word	-1982649376
	.word	282753626
	.word	1742555852
	.word	-105259153
	.word	-1900089351
	.word	397917763
	.word	1622183637
	.word	-690576408
	.word	-1580100738
	.word	953729732
	.word	1340076626
	.word	-776247311
	.word	-1497606297
	.word	1068828381
	.word	1219638859
	.word	-670225446
	.word	-1358292148
	.word	906185462
	.word	1090812512
	.word	-547295293
	.word	-1469587627
	.word	829329135
	.word	1181335161
	.word	-882789492
	.word	-1134132454
	.word	628085408
	.word	1382605366
	.word	-871598187
	.word	-1156888829
	.word	570562233
	.word	1426400815
	.word	-977650754
	.word	-1296233688
	.word	733239954
	.word	1555261956
	.word	-1026031705
	.word	-1244606671
	.word	752459403
	.word	1541320221
	.word	-1687895376
	.word	-328994266
	.word	1969922972
	.word	40735498
	.word	-1677130071
	.word	-351390145
	.word	1913087877
	.word	83908371
	.word	-1782625662
	.word	-491226604
	.word	2075208622
	.word	213261112
	.word	-1831694693
	.word	-438977011
	.word	2094854071
	.word	198958881
	.word	-2032938284
	.word	-237706686
	.word	1759359992
	.word	534414190
	.word	-2118248755
	.word	-155638181
	.word	1873836001
	.word	414664567
	.word	-2012718362
	.word	-15766928
	.word	1711684554
	.word	285281116
	.word	-1889165569
	.word	-127750551
	.word	1634467795
	.word	376229701
	.word	-1609899400
	.word	-686959890
	.word	1308918612
	.word	956543938
	.word	-1486412191
	.word	-799009033
	.word	1231636301
	.word	1047427035
	.word	-1362007478
	.word	-640263460
	.word	1088359270
	.word	936918000
	.word	-1447252397
	.word	-558129467
	.word	1202900863
	.word	817233897
	.word	-1111625188
	.word	-893730166
	.word	1404277552
	.word	615818150
	.word	-1160759803
	.word	-841546093
	.word	1423857449
	.word	601450431
	.word	-1285129682
	.word	-1000256840
	.word	1567103746
	.word	711928724
	.word	-1274298825
	.word	-1022587231
	.word	1510334235
	.word	755167117
	.align	2
.LC0:
	.ascii	"%d: %u\012\000"
	.text
	.align	2
	.global	hash_crc32
	.syntax unified
	.arm
	.fpu softvfp
	.type	hash_crc32, %function
hash_crc32:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, fp, lr}
	add	fp, sp, #28
	sub	sp, sp, #32
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	mvn	r3, #0
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	b	.L8
.L9:
	ldr	r3, [fp, #-40]
	lsr	ip, r3, #8
	ldr	r3, [fp, #-40]
	mov	r0, r3
	mov	r1, #0
	ldr	r3, [fp, #-36]
	ldr	r2, [fp, #-48]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	and	r2, r3, #255
	mov	r3, #0
	eor	r4, r0, r2
	eor	r5, r1, r3
	mov	r2, #255
	mov	r3, #0
	and	r8, r4, r2
	and	r9, r5, r3
	ldr	r3, .L11
	mov	r2, r8
	ldr	r3, [r3, r2, lsl #2]
	eor	r3, r3, ip
	str	r3, [fp, #-40]
	ldr	r3, [fp, #-40]
	str	r3, [sp]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	ldr	r0, .L11+4
	bl	printf
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	r6, r2, #1
	adc	r7, r3, #0
	str	r6, [fp, #-36]
	str	r7, [fp, #-32]
.L8:
	ldr	r3, [fp, #-52]
	mov	r2, r3
	mov	r3, #0
	sub	r1, fp, #36
	ldmia	r1, {r0-r1}
	cmp	r1, r3
	cmpeq	r0, r2
	bcc	.L9
	ldr	r3, [fp, #-40]
	mvn	r3, r3
	lsr	r3, r3, #16
	lsl	r3, r3, #17
	lsr	r3, r3, #17
	mov	r0, r3
	sub	sp, fp, #28
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp, pc}
.L12:
	.align	2
.L11:
	.word	crc32tab
	.word	.LC0
	.size	hash_crc32, .-hash_crc32
	.data
	.align	3
	.type	FNV_64_INIT, %object
	.size	FNV_64_INIT, 8
FNV_64_INIT:
	.word	-2078137563
	.word	-873292572
	.align	3
	.type	FNV_64_PRIME, %object
	.size	FNV_64_PRIME, 8
FNV_64_PRIME:
	.word	435
	.word	256
	.align	2
	.type	FNV_32_INIT, %object
	.size	FNV_32_INIT, 4
FNV_32_INIT:
	.word	-2128831035
	.align	2
	.type	FNV_32_PRIME, %object
	.size	FNV_32_PRIME, 4
FNV_32_PRIME:
	.word	16777619
	.text
	.align	2
	.global	hash_fnv1a_64
	.syntax unified
	.arm
	.fpu softvfp
	.type	hash_fnv1a_64, %function
hash_fnv1a_64:
	@ 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, .L17
	ldmia	r3, {r2-r3}
	mov	r3, r2
	str	r3, [fp, #-16]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L14
.L15:
	ldr	r2, [fp, #-24]
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	eor	r3, r3, r2
	str	r3, [fp, #-16]
	ldr	r3, .L17+4
	ldmia	r3, {r2-r3}
	ldr	r3, [fp, #-16]
	mul	r3, r2, r3
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L14:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	bcc	.L15
	ldr	r3, [fp, #-16]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L18:
	.align	2
.L17:
	.word	FNV_64_INIT
	.word	FNV_64_PRIME
	.size	hash_fnv1a_64, .-hash_fnv1a_64
	.section	.rodata
	.align	2
.LC1:
	.ascii	"%s fnv64 %u slot %d\012\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 1048
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #1040
	sub	sp, sp, #12
	str	r0, [fp, #-1056]
	str	r1, [fp, #-1060]
	ldr	r3, .L29
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r3, [fp, #-1056]
	cmp	r3, #1
	ble	.L24
	mov	r3, #1
	str	r3, [fp, #-1048]
	b	.L21
.L22:
	ldr	r3, [fp, #-1048]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1060]
	add	r3, r2, r3
	ldr	r4, [r3]
	ldr	r3, [fp, #-1048]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1060]
	add	r3, r2, r3
	ldr	r3, [r3]
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	hash_fnv1a_64
	str	r0, [fp, #-1044]
	ldr	r3, [fp, #-1048]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1060]
	add	r3, r2, r3
	ldr	r1, [r3]
	ldr	r2, [fp, #-1044]
	ldr	r3, .L29+4
	umull	r0, r3, r2, r3
	lsr	r3, r3, #14
	ldr	r0, .L29+8
	mul	r3, r0, r3
	sub	r3, r2, r3
	ldr	r2, [fp, #-1044]
	ldr	r0, .L29+12
	bl	printf
	ldr	r3, [fp, #-1048]
	add	r3, r3, #1
	str	r3, [fp, #-1048]
.L21:
	ldr	r2, [fp, #-1048]
	ldr	r3, [fp, #-1056]
	cmp	r2, r3
	blt	.L22
	b	.L23
.L26:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	sub	r2, fp, #12
	add	r3, r2, r3
	ldrb	r3, [r3, #-1028]	@ zero_extendqisi2
	cmp	r3, #10
	bne	.L25
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #1
	sub	r2, fp, #12
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3, #-1028]
.L25:
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r0, r3
	bl	strlen
	mov	r2, r0
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, r2
	mov	r0, r3
	bl	hash_fnv1a_64
	str	r0, [fp, #-1044]
	ldr	r2, [fp, #-1044]
	ldr	r3, .L29+4
	umull	r1, r3, r2, r3
	lsr	r3, r3, #14
	ldr	r1, .L29+8
	mul	r3, r1, r3
	sub	r3, r2, r3
	sub	r1, fp, #1024
	sub	r1, r1, #12
	sub	r1, r1, #4
	ldr	r2, [fp, #-1044]
	ldr	r0, .L29+12
	bl	printf
.L24:
	ldr	r3, .L29+16
	ldr	r2, [r3]
	sub	r3, fp, #1024
	sub	r3, r3, #12
	sub	r3, r3, #4
	mov	r1, #1024
	mov	r0, r3
	bl	fgets
	mov	r3, r0
	cmp	r3, #0
	bne	.L26
.L23:
	mov	r3, #0
	ldr	r2, .L29
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L28
	bl	__stack_chk_fail
.L28:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L30:
	.align	2
.L29:
	.word	.LC2
	.word	167544629
	.word	420000
	.word	.LC1
	.word	stdin
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
