
coremark.out:     file format elf32-littleriscv


Disassembly of section .text:

00002000 <main>:
    2000:	f9010113          	addi	sp,sp,-112
    2004:	06812423          	sw	s0,104(sp)
    2008:	00058413          	mv	s0,a1
    200c:	00a12623          	sw	a0,12(sp)
    2010:	00c10593          	addi	a1,sp,12
    2014:	05e10513          	addi	a0,sp,94
    2018:	00040613          	mv	a2,s0
    201c:	06112623          	sw	ra,108(sp)
    2020:	408010ef          	jal	ra,3428 <portable_init>
    2024:	00c12583          	lw	a1,12(sp)
    2028:	00040613          	mv	a2,s0
    202c:	00100513          	li	a0,1
    2030:	331010ef          	jal	ra,3b60 <get_seed_args>
    2034:	00c12583          	lw	a1,12(sp)
    2038:	00a11e23          	sh	a0,28(sp)
    203c:	00040613          	mv	a2,s0
    2040:	00200513          	li	a0,2
    2044:	31d010ef          	jal	ra,3b60 <get_seed_args>
    2048:	00c12583          	lw	a1,12(sp)
    204c:	00a11f23          	sh	a0,30(sp)
    2050:	00040613          	mv	a2,s0
    2054:	00300513          	li	a0,3
    2058:	309010ef          	jal	ra,3b60 <get_seed_args>
    205c:	00c12583          	lw	a1,12(sp)
    2060:	02a11023          	sh	a0,32(sp)
    2064:	00040613          	mv	a2,s0
    2068:	00400513          	li	a0,4
    206c:	2f5010ef          	jal	ra,3b60 <get_seed_args>
    2070:	00c12583          	lw	a1,12(sp)
    2074:	00100793          	li	a5,1
    2078:	00040613          	mv	a2,s0
    207c:	00500513          	li	a0,5
    2080:	02f12c23          	sw	a5,56(sp)
    2084:	2dd010ef          	jal	ra,3b60 <get_seed_args>
    2088:	24050e63          	beqz	a0,22e4 <main+0x2e4>
    208c:	02a12e23          	sw	a0,60(sp)
    2090:	01c12783          	lw	a5,28(sp)
    2094:	28079063          	bnez	a5,2314 <main+0x314>
    2098:	02011783          	lh	a5,32(sp)
    209c:	28078a63          	beqz	a5,2330 <main+0x330>
    20a0:	03c12783          	lw	a5,60(sp)
    20a4:	000045b7          	lui	a1,0x4
    20a8:	01058593          	addi	a1,a1,16 # 4010 <_edata>
    20ac:	0017f693          	andi	a3,a5,1
    20b0:	0027f713          	andi	a4,a5,2
    20b4:	01069613          	slli	a2,a3,0x10
    20b8:	01065613          	srli	a2,a2,0x10
    20bc:	00e03533          	snez	a0,a4
    20c0:	02b12223          	sw	a1,36(sp)
    20c4:	04011e23          	sh	zero,92(sp)
    20c8:	0047f593          	andi	a1,a5,4
    20cc:	00a60633          	add	a2,a2,a0
    20d0:	00058863          	beqz	a1,20e0 <main+0xe0>
    20d4:	00160513          	addi	a0,a2,1
    20d8:	01051613          	slli	a2,a0,0x10
    20dc:	01065613          	srli	a2,a2,0x10
    20e0:	7d000513          	li	a0,2000
    20e4:	02c55533          	divu	a0,a0,a2
    20e8:	00000313          	li	t1,0
    20ec:	00000613          	li	a2,0
    20f0:	00100893          	li	a7,1
    20f4:	00300813          	li	a6,3
    20f8:	02a12a23          	sw	a0,52(sp)
    20fc:	00c895b3          	sll	a1,a7,a2
    2100:	00f5f5b3          	and	a1,a1,a5
    2104:	1a059a63          	bnez	a1,22b8 <main+0x2b8>
    2108:	00160613          	addi	a2,a2,1
    210c:	ff0618e3          	bne	a2,a6,20fc <main+0xfc>
    2110:	16069263          	bnez	a3,2274 <main+0x274>
    2114:	16071e63          	bnez	a4,2290 <main+0x290>
    2118:	0047f793          	andi	a5,a5,4
    211c:	00078a63          	beqz	a5,2130 <main+0x130>
    2120:	03012603          	lw	a2,48(sp)
    2124:	01c11583          	lh	a1,28(sp)
    2128:	03412503          	lw	a0,52(sp)
    212c:	310010ef          	jal	ra,343c <core_init_state>
    2130:	01c10513          	addi	a0,sp,28
    2134:	220000ef          	jal	ra,2354 <iterate>
    2138:	01c11503          	lh	a0,28(sp)
    213c:	00000593          	li	a1,0
    2140:	331010ef          	jal	ra,3c70 <crc16>
    2144:	00050593          	mv	a1,a0
    2148:	01e11503          	lh	a0,30(sp)
    214c:	325010ef          	jal	ra,3c70 <crc16>
    2150:	00050593          	mv	a1,a0
    2154:	02011503          	lh	a0,32(sp)
    2158:	319010ef          	jal	ra,3c70 <crc16>
    215c:	00050593          	mv	a1,a0
    2160:	03411503          	lh	a0,52(sp)
    2164:	30d010ef          	jal	ra,3c70 <crc16>
    2168:	000087b7          	lui	a5,0x8
    216c:	b0578793          	addi	a5,a5,-1275 # 7b05 <__global_pointer$+0x32f9>
    2170:	1cf50e63          	beq	a0,a5,234c <main+0x34c>
    2174:	16a7ee63          	bltu	a5,a0,22f0 <main+0x2f0>
    2178:	000027b7          	lui	a5,0x2
    217c:	8f278793          	addi	a5,a5,-1806 # 18f2 <main-0x70e>
    2180:	1cf50263          	beq	a0,a5,2344 <main+0x344>
    2184:	00005737          	lui	a4,0x5
    2188:	eaf70713          	addi	a4,a4,-337 # 4eaf <__global_pointer$+0x6a3>
    218c:	00200793          	li	a5,2
    2190:	16e51e63          	bne	a0,a4,230c <main+0x30c>
    2194:	00004737          	lui	a4,0x4
    2198:	00c72e83          	lw	t4,12(a4) # 400c <default_num_contexts>
    219c:	00000513          	li	a0,0
    21a0:	00000713          	li	a4,0
    21a4:	0c0e8063          	beqz	t4,2264 <main+0x264>
    21a8:	00004e37          	lui	t3,0x4
    21ac:	00179793          	slli	a5,a5,0x1
    21b0:	c84e0e13          	addi	t3,t3,-892 # 3c84 <list_known_crc>
    21b4:	00fe0e33          	add	t3,t3,a5
    21b8:	00100f13          	li	t5,1
    21bc:	00471793          	slli	a5,a4,0x4
    21c0:	00e786b3          	add	a3,a5,a4
    21c4:	06010613          	addi	a2,sp,96
    21c8:	00269693          	slli	a3,a3,0x2
    21cc:	00d606b3          	add	a3,a2,a3
    21d0:	fdc6a583          	lw	a1,-36(a3)
    21d4:	00170713          	addi	a4,a4,1
    21d8:	01071713          	slli	a4,a4,0x10
    21dc:	0015f313          	andi	t1,a1,1
    21e0:	fe069e23          	sh	zero,-4(a3)
    21e4:	0025f893          	andi	a7,a1,2
    21e8:	00068813          	mv	a6,a3
    21ec:	00068793          	mv	a5,a3
    21f0:	0045f593          	andi	a1,a1,4
    21f4:	01075713          	srli	a4,a4,0x10
    21f8:	00000613          	li	a2,0
    21fc:	00030c63          	beqz	t1,2214 <main+0x214>
    2200:	ff66df83          	lhu	t6,-10(a3)
    2204:	000e5303          	lhu	t1,0(t3)
    2208:	006f8663          	beq	t6,t1,2214 <main+0x214>
    220c:	ffe69e23          	sh	t5,-4(a3)
    2210:	00100613          	li	a2,1
    2214:	02088063          	beqz	a7,2234 <main+0x234>
    2218:	ff885883          	lhu	a7,-8(a6)
    221c:	00ce5683          	lhu	a3,12(t3)
    2220:	00160313          	addi	t1,a2,1
    2224:	00d88863          	beq	a7,a3,2234 <main+0x234>
    2228:	01031613          	slli	a2,t1,0x10
    222c:	01065613          	srli	a2,a2,0x10
    2230:	fec81e23          	sh	a2,-4(a6)
    2234:	02058063          	beqz	a1,2254 <main+0x254>
    2238:	ffa7d583          	lhu	a1,-6(a5)
    223c:	018e5683          	lhu	a3,24(t3)
    2240:	00160813          	addi	a6,a2,1
    2244:	00d58863          	beq	a1,a3,2254 <main+0x254>
    2248:	01081613          	slli	a2,a6,0x10
    224c:	01065613          	srli	a2,a2,0x10
    2250:	fec79e23          	sh	a2,-4(a5)
    2254:	00a60633          	add	a2,a2,a0
    2258:	01061513          	slli	a0,a2,0x10
    225c:	41055513          	srai	a0,a0,0x10
    2260:	f5d76ee3          	bltu	a4,t4,21bc <main+0x1bc>
    2264:	06c12083          	lw	ra,108(sp)
    2268:	06812403          	lw	s0,104(sp)
    226c:	07010113          	addi	sp,sp,112
    2270:	00008067          	ret
    2274:	01c11603          	lh	a2,28(sp)
    2278:	02812583          	lw	a1,40(sp)
    227c:	011000ef          	jal	ra,2a8c <core_list_init>
    2280:	03c12783          	lw	a5,60(sp)
    2284:	04a12023          	sw	a0,64(sp)
    2288:	0027f713          	andi	a4,a5,2
    228c:	e80706e3          	beqz	a4,2118 <main+0x118>
    2290:	01e11783          	lh	a5,30(sp)
    2294:	01c11603          	lh	a2,28(sp)
    2298:	02c12583          	lw	a1,44(sp)
    229c:	03412503          	lw	a0,52(sp)
    22a0:	01079793          	slli	a5,a5,0x10
    22a4:	00c7e633          	or	a2,a5,a2
    22a8:	04410693          	addi	a3,sp,68
    22ac:	16d000ef          	jal	ra,2c18 <core_init_matrix>
    22b0:	03c12783          	lw	a5,60(sp)
    22b4:	e65ff06f          	j	2118 <main+0x118>
    22b8:	02a30eb3          	mul	t4,t1,a0
    22bc:	01c10e13          	addi	t3,sp,28
    22c0:	00261593          	slli	a1,a2,0x2
    22c4:	00be05b3          	add	a1,t3,a1
    22c8:	02412e03          	lw	t3,36(sp)
    22cc:	00130313          	addi	t1,t1,1
    22d0:	01031313          	slli	t1,t1,0x10
    22d4:	01035313          	srli	t1,t1,0x10
    22d8:	01de0e33          	add	t3,t3,t4
    22dc:	01c5a623          	sw	t3,12(a1)
    22e0:	e29ff06f          	j	2108 <main+0x108>
    22e4:	00700793          	li	a5,7
    22e8:	02f12e23          	sw	a5,60(sp)
    22ec:	da5ff06f          	j	2090 <main+0x90>
    22f0:	000097b7          	lui	a5,0x9
    22f4:	a0278793          	addi	a5,a5,-1534 # 8a02 <__global_pointer$+0x41f6>
    22f8:	04f50263          	beq	a0,a5,233c <main+0x33c>
    22fc:	0000f737          	lui	a4,0xf
    2300:	9f570713          	addi	a4,a4,-1547 # e9f5 <__global_pointer$+0xa1e9>
    2304:	00300793          	li	a5,3
    2308:	e8e506e3          	beq	a0,a4,2194 <main+0x194>
    230c:	fff00513          	li	a0,-1
    2310:	f55ff06f          	j	2264 <main+0x264>
    2314:	00100713          	li	a4,1
    2318:	d8e794e3          	bne	a5,a4,20a0 <main+0xa0>
    231c:	02011783          	lh	a5,32(sp)
    2320:	d80790e3          	bnez	a5,20a0 <main+0xa0>
    2324:	341537b7          	lui	a5,0x34153
    2328:	41578793          	addi	a5,a5,1045 # 34153415 <__global_pointer$+0x3414ec09>
    232c:	00f12e23          	sw	a5,28(sp)
    2330:	06600793          	li	a5,102
    2334:	02f11023          	sh	a5,32(sp)
    2338:	d69ff06f          	j	20a0 <main+0xa0>
    233c:	00000793          	li	a5,0
    2340:	e55ff06f          	j	2194 <main+0x194>
    2344:	00400793          	li	a5,4
    2348:	e4dff06f          	j	2194 <main+0x194>
    234c:	00100793          	li	a5,1
    2350:	e45ff06f          	j	2194 <main+0x194>

00002354 <iterate>:
    2354:	ff010113          	addi	sp,sp,-16
    2358:	01212023          	sw	s2,0(sp)
    235c:	01c52903          	lw	s2,28(a0)
    2360:	00112623          	sw	ra,12(sp)
    2364:	00812423          	sw	s0,8(sp)
    2368:	00912223          	sw	s1,4(sp)
    236c:	02052c23          	sw	zero,56(a0)
    2370:	02052e23          	sw	zero,60(a0)
    2374:	04090463          	beqz	s2,23bc <iterate+0x68>
    2378:	00050413          	mv	s0,a0
    237c:	00000493          	li	s1,0
    2380:	00100593          	li	a1,1
    2384:	00040513          	mv	a0,s0
    2388:	4a0000ef          	jal	ra,2828 <core_bench_list>
    238c:	03845583          	lhu	a1,56(s0)
    2390:	02d010ef          	jal	ra,3bbc <crcu16>
    2394:	02a41c23          	sh	a0,56(s0)
    2398:	fff00593          	li	a1,-1
    239c:	00040513          	mv	a0,s0
    23a0:	488000ef          	jal	ra,2828 <core_bench_list>
    23a4:	03845583          	lhu	a1,56(s0)
    23a8:	015010ef          	jal	ra,3bbc <crcu16>
    23ac:	02a41c23          	sh	a0,56(s0)
    23b0:	02048463          	beqz	s1,23d8 <iterate+0x84>
    23b4:	00148493          	addi	s1,s1,1
    23b8:	fc9914e3          	bne	s2,s1,2380 <iterate+0x2c>
    23bc:	00c12083          	lw	ra,12(sp)
    23c0:	00812403          	lw	s0,8(sp)
    23c4:	00412483          	lw	s1,4(sp)
    23c8:	00012903          	lw	s2,0(sp)
    23cc:	00000513          	li	a0,0
    23d0:	01010113          	addi	sp,sp,16
    23d4:	00008067          	ret
    23d8:	02a41d23          	sh	a0,58(s0)
    23dc:	fd9ff06f          	j	23b4 <iterate+0x60>

000023e0 <cmp_idx>:
    23e0:	02061e63          	bnez	a2,241c <cmp_idx+0x3c>
    23e4:	00051783          	lh	a5,0(a0)
    23e8:	01079713          	slli	a4,a5,0x10
    23ec:	01075713          	srli	a4,a4,0x10
    23f0:	00875713          	srli	a4,a4,0x8
    23f4:	f007f793          	andi	a5,a5,-256
    23f8:	00e7e7b3          	or	a5,a5,a4
    23fc:	00f51023          	sh	a5,0(a0)
    2400:	00059783          	lh	a5,0(a1)
    2404:	01079713          	slli	a4,a5,0x10
    2408:	01075713          	srli	a4,a4,0x10
    240c:	f007f793          	andi	a5,a5,-256
    2410:	00875713          	srli	a4,a4,0x8
    2414:	00e7e7b3          	or	a5,a5,a4
    2418:	00f59023          	sh	a5,0(a1)
    241c:	00251503          	lh	a0,2(a0)
    2420:	00259783          	lh	a5,2(a1)
    2424:	40f50533          	sub	a0,a0,a5
    2428:	00008067          	ret

0000242c <calc_func>:
    242c:	fe010113          	addi	sp,sp,-32
    2430:	00812c23          	sw	s0,24(sp)
    2434:	00051403          	lh	s0,0(a0)
    2438:	01212823          	sw	s2,16(sp)
    243c:	00112e23          	sw	ra,28(sp)
    2440:	40745793          	srai	a5,s0,0x7
    2444:	00912a23          	sw	s1,20(sp)
    2448:	01312623          	sw	s3,12(sp)
    244c:	0017f793          	andi	a5,a5,1
    2450:	07f47913          	andi	s2,s0,127
    2454:	08079263          	bnez	a5,24d8 <calc_func+0xac>
    2458:	00058493          	mv	s1,a1
    245c:	40345593          	srai	a1,s0,0x3
    2460:	00f5f593          	andi	a1,a1,15
    2464:	00459793          	slli	a5,a1,0x4
    2468:	00747713          	andi	a4,s0,7
    246c:	00b7e5b3          	or	a1,a5,a1
    2470:	00050993          	mv	s3,a0
    2474:	0384d783          	lhu	a5,56(s1)
    2478:	08070063          	beqz	a4,24f8 <calc_func+0xcc>
    247c:	00100693          	li	a3,1
    2480:	02d71663          	bne	a4,a3,24ac <calc_func+0x80>
    2484:	00078613          	mv	a2,a5
    2488:	02848513          	addi	a0,s1,40
    248c:	761000ef          	jal	ra,33ec <core_bench_matrix>
    2490:	03c4d783          	lhu	a5,60(s1)
    2494:	01051913          	slli	s2,a0,0x10
    2498:	41095913          	srai	s2,s2,0x10
    249c:	00079463          	bnez	a5,24a4 <calc_func+0x78>
    24a0:	02a49e23          	sh	a0,60(s1)
    24a4:	0384d783          	lhu	a5,56(s1)
    24a8:	0080006f          	j	24b0 <calc_func+0x84>
    24ac:	00040913          	mv	s2,s0
    24b0:	01091513          	slli	a0,s2,0x10
    24b4:	00078593          	mv	a1,a5
    24b8:	01055513          	srli	a0,a0,0x10
    24bc:	f0047413          	andi	s0,s0,-256
    24c0:	6fc010ef          	jal	ra,3bbc <crcu16>
    24c4:	07f97913          	andi	s2,s2,127
    24c8:	08046413          	ori	s0,s0,128
    24cc:	02a49c23          	sh	a0,56(s1)
    24d0:	00896433          	or	s0,s2,s0
    24d4:	00899023          	sh	s0,0(s3)
    24d8:	01c12083          	lw	ra,28(sp)
    24dc:	01812403          	lw	s0,24(sp)
    24e0:	00090513          	mv	a0,s2
    24e4:	01412483          	lw	s1,20(sp)
    24e8:	01012903          	lw	s2,16(sp)
    24ec:	00c12983          	lw	s3,12(sp)
    24f0:	02010113          	addi	sp,sp,32
    24f4:	00008067          	ret
    24f8:	02200693          	li	a3,34
    24fc:	00058713          	mv	a4,a1
    2500:	00d5d463          	ble	a3,a1,2508 <calc_func+0xdc>
    2504:	02200713          	li	a4,34
    2508:	00249683          	lh	a3,2(s1)
    250c:	00049603          	lh	a2,0(s1)
    2510:	0144a583          	lw	a1,20(s1)
    2514:	0184a503          	lw	a0,24(s1)
    2518:	0ff77713          	andi	a4,a4,255
    251c:	388010ef          	jal	ra,38a4 <core_bench_state>
    2520:	03e4d783          	lhu	a5,62(s1)
    2524:	01051913          	slli	s2,a0,0x10
    2528:	41095913          	srai	s2,s2,0x10
    252c:	f6079ce3          	bnez	a5,24a4 <calc_func+0x78>
    2530:	02a49f23          	sh	a0,62(s1)
    2534:	0384d783          	lhu	a5,56(s1)
    2538:	f79ff06f          	j	24b0 <calc_func+0x84>

0000253c <cmp_complex>:
    253c:	ff010113          	addi	sp,sp,-16
    2540:	01212023          	sw	s2,0(sp)
    2544:	00058913          	mv	s2,a1
    2548:	00060593          	mv	a1,a2
    254c:	00112623          	sw	ra,12(sp)
    2550:	00812423          	sw	s0,8(sp)
    2554:	00912223          	sw	s1,4(sp)
    2558:	00060413          	mv	s0,a2
    255c:	ed1ff0ef          	jal	ra,242c <calc_func>
    2560:	00050493          	mv	s1,a0
    2564:	00040593          	mv	a1,s0
    2568:	00090513          	mv	a0,s2
    256c:	ec1ff0ef          	jal	ra,242c <calc_func>
    2570:	00c12083          	lw	ra,12(sp)
    2574:	00812403          	lw	s0,8(sp)
    2578:	40a48533          	sub	a0,s1,a0
    257c:	00012903          	lw	s2,0(sp)
    2580:	00412483          	lw	s1,4(sp)
    2584:	01010113          	addi	sp,sp,16
    2588:	00008067          	ret

0000258c <copy_info>:
    258c:	00059703          	lh	a4,0(a1)
    2590:	00259783          	lh	a5,2(a1)
    2594:	00e51023          	sh	a4,0(a0)
    2598:	00f51123          	sh	a5,2(a0)
    259c:	00008067          	ret

000025a0 <core_list_insert_new>:
    25a0:	00062803          	lw	a6,0(a2)
    25a4:	00880893          	addi	a7,a6,8
    25a8:	04e8f663          	bleu	a4,a7,25f4 <core_list_insert_new+0x54>
    25ac:	0006a703          	lw	a4,0(a3)
    25b0:	00470313          	addi	t1,a4,4
    25b4:	04f37063          	bleu	a5,t1,25f4 <core_list_insert_new+0x54>
    25b8:	01162023          	sw	a7,0(a2)
    25bc:	00052783          	lw	a5,0(a0)
    25c0:	00059883          	lh	a7,0(a1)
    25c4:	00259603          	lh	a2,2(a1)
    25c8:	00f82023          	sw	a5,0(a6)
    25cc:	01052023          	sw	a6,0(a0)
    25d0:	00e82223          	sw	a4,4(a6)
    25d4:	0006a783          	lw	a5,0(a3)
    25d8:	00080513          	mv	a0,a6
    25dc:	00478793          	addi	a5,a5,4
    25e0:	00f6a023          	sw	a5,0(a3)
    25e4:	00482783          	lw	a5,4(a6)
    25e8:	01179023          	sh	a7,0(a5)
    25ec:	00c79123          	sh	a2,2(a5)
    25f0:	00008067          	ret
    25f4:	00000813          	li	a6,0
    25f8:	00080513          	mv	a0,a6
    25fc:	00008067          	ret

00002600 <core_list_remove>:
    2600:	00052783          	lw	a5,0(a0)
    2604:	00452603          	lw	a2,4(a0)
    2608:	00050713          	mv	a4,a0
    260c:	0047a583          	lw	a1,4(a5)
    2610:	0007a683          	lw	a3,0(a5)
    2614:	00078513          	mv	a0,a5
    2618:	00b72223          	sw	a1,4(a4)
    261c:	00c7a223          	sw	a2,4(a5)
    2620:	00d72023          	sw	a3,0(a4)
    2624:	0007a023          	sw	zero,0(a5)
    2628:	00008067          	ret

0000262c <core_list_undo_remove>:
    262c:	0045a603          	lw	a2,4(a1)
    2630:	00452683          	lw	a3,4(a0)
    2634:	0005a703          	lw	a4,0(a1)
    2638:	00c52223          	sw	a2,4(a0)
    263c:	00d5a223          	sw	a3,4(a1)
    2640:	00e52023          	sw	a4,0(a0)
    2644:	00a5a023          	sw	a0,0(a1)
    2648:	00008067          	ret

0000264c <core_list_find>:
    264c:	00259703          	lh	a4,2(a1)
    2650:	02074863          	bltz	a4,2680 <core_list_find+0x34>
    2654:	02050463          	beqz	a0,267c <core_list_find+0x30>
    2658:	00452783          	lw	a5,4(a0)
    265c:	00279783          	lh	a5,2(a5)
    2660:	00e79a63          	bne	a5,a4,2674 <core_list_find+0x28>
    2664:	0500006f          	j	26b4 <core_list_find+0x68>
    2668:	00452783          	lw	a5,4(a0)
    266c:	00279783          	lh	a5,2(a5)
    2670:	00e78663          	beq	a5,a4,267c <core_list_find+0x30>
    2674:	00052503          	lw	a0,0(a0)
    2678:	fe0518e3          	bnez	a0,2668 <core_list_find+0x1c>
    267c:	00008067          	ret
    2680:	fe050ee3          	beqz	a0,267c <core_list_find+0x30>
    2684:	00452783          	lw	a5,4(a0)
    2688:	00059703          	lh	a4,0(a1)
    268c:	0007c783          	lbu	a5,0(a5)
    2690:	00e79a63          	bne	a5,a4,26a4 <core_list_find+0x58>
    2694:	0240006f          	j	26b8 <core_list_find+0x6c>
    2698:	00452783          	lw	a5,4(a0)
    269c:	0007c783          	lbu	a5,0(a5)
    26a0:	00e78863          	beq	a5,a4,26b0 <core_list_find+0x64>
    26a4:	00052503          	lw	a0,0(a0)
    26a8:	fe0518e3          	bnez	a0,2698 <core_list_find+0x4c>
    26ac:	fd1ff06f          	j	267c <core_list_find+0x30>
    26b0:	00008067          	ret
    26b4:	00008067          	ret
    26b8:	00008067          	ret

000026bc <core_list_reverse>:
    26bc:	02050063          	beqz	a0,26dc <core_list_reverse+0x20>
    26c0:	00000713          	li	a4,0
    26c4:	0080006f          	j	26cc <core_list_reverse+0x10>
    26c8:	00078513          	mv	a0,a5
    26cc:	00052783          	lw	a5,0(a0)
    26d0:	00e52023          	sw	a4,0(a0)
    26d4:	00050713          	mv	a4,a0
    26d8:	fe0798e3          	bnez	a5,26c8 <core_list_reverse+0xc>
    26dc:	00008067          	ret

000026e0 <core_list_mergesort>:
    26e0:	fd010113          	addi	sp,sp,-48
    26e4:	01412c23          	sw	s4,24(sp)
    26e8:	01512a23          	sw	s5,20(sp)
    26ec:	01712623          	sw	s7,12(sp)
    26f0:	01812423          	sw	s8,8(sp)
    26f4:	01a12023          	sw	s10,0(sp)
    26f8:	02112623          	sw	ra,44(sp)
    26fc:	02812423          	sw	s0,40(sp)
    2700:	02912223          	sw	s1,36(sp)
    2704:	03212023          	sw	s2,32(sp)
    2708:	01312e23          	sw	s3,28(sp)
    270c:	01612823          	sw	s6,16(sp)
    2710:	01912223          	sw	s9,4(sp)
    2714:	00050a13          	mv	s4,a0
    2718:	00058c13          	mv	s8,a1
    271c:	00060b93          	mv	s7,a2
    2720:	00100a93          	li	s5,1
    2724:	00100d13          	li	s10,1
    2728:	0a0a0e63          	beqz	s4,27e4 <core_list_mergesort+0x104>
    272c:	00000c93          	li	s9,0
    2730:	00000913          	li	s2,0
    2734:	00000b13          	li	s6,0
    2738:	001c8c93          	addi	s9,s9,1
    273c:	000a0413          	mv	s0,s4
    2740:	00000493          	li	s1,0
    2744:	00042403          	lw	s0,0(s0)
    2748:	00148493          	addi	s1,s1,1
    274c:	00040463          	beqz	s0,2754 <core_list_mergesort+0x74>
    2750:	fe9a9ae3          	bne	s5,s1,2744 <core_list_mergesort+0x64>
    2754:	000a8993          	mv	s3,s5
    2758:	02048e63          	beqz	s1,2794 <core_list_mergesort+0xb4>
    275c:	04098e63          	beqz	s3,27b8 <core_list_mergesort+0xd8>
    2760:	04040c63          	beqz	s0,27b8 <core_list_mergesort+0xd8>
    2764:	00442583          	lw	a1,4(s0)
    2768:	004a2503          	lw	a0,4(s4)
    276c:	000b8613          	mv	a2,s7
    2770:	000c00e7          	jalr	s8
    2774:	04a05263          	blez	a0,27b8 <core_list_mergesort+0xd8>
    2778:	00040793          	mv	a5,s0
    277c:	00042403          	lw	s0,0(s0)
    2780:	fff98993          	addi	s3,s3,-1
    2784:	02090463          	beqz	s2,27ac <core_list_mergesort+0xcc>
    2788:	00f92023          	sw	a5,0(s2)
    278c:	00078913          	mv	s2,a5
    2790:	fc0496e3          	bnez	s1,275c <core_list_mergesort+0x7c>
    2794:	02098a63          	beqz	s3,27c8 <core_list_mergesort+0xe8>
    2798:	02040c63          	beqz	s0,27d0 <core_list_mergesort+0xf0>
    279c:	00040793          	mv	a5,s0
    27a0:	fff98993          	addi	s3,s3,-1
    27a4:	00042403          	lw	s0,0(s0)
    27a8:	fe0910e3          	bnez	s2,2788 <core_list_mergesort+0xa8>
    27ac:	00078b13          	mv	s6,a5
    27b0:	00078913          	mv	s2,a5
    27b4:	fddff06f          	j	2790 <core_list_mergesort+0xb0>
    27b8:	000a0793          	mv	a5,s4
    27bc:	fff48493          	addi	s1,s1,-1
    27c0:	000a2a03          	lw	s4,0(s4)
    27c4:	fc1ff06f          	j	2784 <core_list_mergesort+0xa4>
    27c8:	00040a13          	mv	s4,s0
    27cc:	f60416e3          	bnez	s0,2738 <core_list_mergesort+0x58>
    27d0:	00092023          	sw	zero,0(s2)
    27d4:	01ac8c63          	beq	s9,s10,27ec <core_list_mergesort+0x10c>
    27d8:	001a9a93          	slli	s5,s5,0x1
    27dc:	000b0a13          	mv	s4,s6
    27e0:	f49ff06f          	j	2728 <core_list_mergesort+0x48>
    27e4:	00002023          	sw	zero,0(zero) # 0 <main-0x2000>
    27e8:	00100073          	ebreak
    27ec:	02c12083          	lw	ra,44(sp)
    27f0:	02812403          	lw	s0,40(sp)
    27f4:	000b0513          	mv	a0,s6
    27f8:	02412483          	lw	s1,36(sp)
    27fc:	02012903          	lw	s2,32(sp)
    2800:	01c12983          	lw	s3,28(sp)
    2804:	01812a03          	lw	s4,24(sp)
    2808:	01412a83          	lw	s5,20(sp)
    280c:	01012b03          	lw	s6,16(sp)
    2810:	00c12b83          	lw	s7,12(sp)
    2814:	00812c03          	lw	s8,8(sp)
    2818:	00412c83          	lw	s9,4(sp)
    281c:	00012d03          	lw	s10,0(sp)
    2820:	03010113          	addi	sp,sp,48
    2824:	00008067          	ret

00002828 <core_bench_list>:
    2828:	fc010113          	addi	sp,sp,-64
    282c:	01812c23          	sw	s8,24(sp)
    2830:	00451c03          	lh	s8,4(a0)
    2834:	02812c23          	sw	s0,56(sp)
    2838:	03512223          	sw	s5,36(sp)
    283c:	03612023          	sw	s6,32(sp)
    2840:	02112e23          	sw	ra,60(sp)
    2844:	02912a23          	sw	s1,52(sp)
    2848:	03212823          	sw	s2,48(sp)
    284c:	03312623          	sw	s3,44(sp)
    2850:	03412423          	sw	s4,40(sp)
    2854:	01712e23          	sw	s7,28(sp)
    2858:	01912a23          	sw	s9,20(sp)
    285c:	00b11723          	sh	a1,14(sp)
    2860:	00050b13          	mv	s6,a0
    2864:	00058a93          	mv	s5,a1
    2868:	02452403          	lw	s0,36(a0)
    286c:	21805a63          	blez	s8,2a80 <core_bench_list+0x258>
    2870:	00058c93          	mv	s9,a1
    2874:	00000913          	li	s2,0
    2878:	00000b93          	li	s7,0
    287c:	00000993          	li	s3,0
    2880:	00000493          	li	s1,0
    2884:	00c10a13          	addi	s4,sp,12
    2888:	0ff97793          	andi	a5,s2,255
    288c:	000a0593          	mv	a1,s4
    2890:	00040513          	mv	a0,s0
    2894:	00f11623          	sh	a5,12(sp)
    2898:	db5ff0ef          	jal	ra,264c <core_list_find>
    289c:	02040063          	beqz	s0,28bc <core_bench_list+0x94>
    28a0:	00000713          	li	a4,0
    28a4:	0080006f          	j	28ac <core_bench_list+0x84>
    28a8:	00078413          	mv	s0,a5
    28ac:	00042783          	lw	a5,0(s0)
    28b0:	00e42023          	sw	a4,0(s0)
    28b4:	00040713          	mv	a4,s0
    28b8:	fe0798e3          	bnez	a5,28a8 <core_bench_list+0x80>
    28bc:	06050a63          	beqz	a0,2930 <core_bench_list+0x108>
    28c0:	00452783          	lw	a5,4(a0)
    28c4:	00198993          	addi	s3,s3,1
    28c8:	01099993          	slli	s3,s3,0x10
    28cc:	00079783          	lh	a5,0(a5)
    28d0:	0109d993          	srli	s3,s3,0x10
    28d4:	0017f713          	andi	a4,a5,1
    28d8:	00070c63          	beqz	a4,28f0 <core_bench_list+0xc8>
    28dc:	4097d793          	srai	a5,a5,0x9
    28e0:	0017f793          	andi	a5,a5,1
    28e4:	00f484b3          	add	s1,s1,a5
    28e8:	01049493          	slli	s1,s1,0x10
    28ec:	0104d493          	srli	s1,s1,0x10
    28f0:	00052783          	lw	a5,0(a0)
    28f4:	00078c63          	beqz	a5,290c <core_bench_list+0xe4>
    28f8:	0007a703          	lw	a4,0(a5)
    28fc:	00e52023          	sw	a4,0(a0)
    2900:	00042703          	lw	a4,0(s0)
    2904:	00e7a023          	sw	a4,0(a5)
    2908:	00f42023          	sw	a5,0(s0)
    290c:	000cc663          	bltz	s9,2918 <core_bench_list+0xf0>
    2910:	001c8c93          	addi	s9,s9,1
    2914:	01911723          	sh	s9,14(sp)
    2918:	00190913          	addi	s2,s2,1
    291c:	01091913          	slli	s2,s2,0x10
    2920:	41095913          	srai	s2,s2,0x10
    2924:	032c0c63          	beq	s8,s2,295c <core_bench_list+0x134>
    2928:	00e11c83          	lh	s9,14(sp)
    292c:	f5dff06f          	j	2888 <core_bench_list+0x60>
    2930:	00042783          	lw	a5,0(s0)
    2934:	001b8b93          	addi	s7,s7,1
    2938:	010b9b93          	slli	s7,s7,0x10
    293c:	0047a783          	lw	a5,4(a5)
    2940:	010bdb93          	srli	s7,s7,0x10
    2944:	00178783          	lb	a5,1(a5)
    2948:	0017f793          	andi	a5,a5,1
    294c:	00f484b3          	add	s1,s1,a5
    2950:	01049493          	slli	s1,s1,0x10
    2954:	0104d493          	srli	s1,s1,0x10
    2958:	fb5ff06f          	j	290c <core_bench_list+0xe4>
    295c:	00299993          	slli	s3,s3,0x2
    2960:	41798bb3          	sub	s7,s3,s7
    2964:	017484b3          	add	s1,s1,s7
    2968:	01049493          	slli	s1,s1,0x10
    296c:	0104d493          	srli	s1,s1,0x10
    2970:	01505e63          	blez	s5,298c <core_bench_list+0x164>
    2974:	000025b7          	lui	a1,0x2
    2978:	00040513          	mv	a0,s0
    297c:	000b0613          	mv	a2,s6
    2980:	53c58593          	addi	a1,a1,1340 # 253c <cmp_complex>
    2984:	d5dff0ef          	jal	ra,26e0 <core_list_mergesort>
    2988:	00050413          	mv	s0,a0
    298c:	00042783          	lw	a5,0(s0)
    2990:	000a0593          	mv	a1,s4
    2994:	00040513          	mv	a0,s0
    2998:	0007a983          	lw	s3,0(a5)
    299c:	0047aa03          	lw	s4,4(a5)
    29a0:	0049a683          	lw	a3,4(s3)
    29a4:	0009a703          	lw	a4,0(s3)
    29a8:	00d7a223          	sw	a3,4(a5)
    29ac:	0149a223          	sw	s4,4(s3)
    29b0:	00e7a023          	sw	a4,0(a5)
    29b4:	0009a023          	sw	zero,0(s3)
    29b8:	c95ff0ef          	jal	ra,264c <core_list_find>
    29bc:	00050913          	mv	s2,a0
    29c0:	0a050a63          	beqz	a0,2a74 <core_bench_list+0x24c>
    29c4:	00442783          	lw	a5,4(s0)
    29c8:	00048593          	mv	a1,s1
    29cc:	00079503          	lh	a0,0(a5)
    29d0:	2a0010ef          	jal	ra,3c70 <crc16>
    29d4:	00092903          	lw	s2,0(s2)
    29d8:	00050493          	mv	s1,a0
    29dc:	fe0914e3          	bnez	s2,29c4 <core_bench_list+0x19c>
    29e0:	00042903          	lw	s2,0(s0)
    29e4:	0049aa03          	lw	s4,4(s3)
    29e8:	00492703          	lw	a4,4(s2)
    29ec:	00092783          	lw	a5,0(s2)
    29f0:	000025b7          	lui	a1,0x2
    29f4:	00e9a223          	sw	a4,4(s3)
    29f8:	01492223          	sw	s4,4(s2)
    29fc:	00f9a023          	sw	a5,0(s3)
    2a00:	01392023          	sw	s3,0(s2)
    2a04:	00040513          	mv	a0,s0
    2a08:	00000613          	li	a2,0
    2a0c:	3e058593          	addi	a1,a1,992 # 23e0 <cmp_idx>
    2a10:	cd1ff0ef          	jal	ra,26e0 <core_list_mergesort>
    2a14:	00052403          	lw	s0,0(a0)
    2a18:	00050913          	mv	s2,a0
    2a1c:	02040063          	beqz	s0,2a3c <core_bench_list+0x214>
    2a20:	00492783          	lw	a5,4(s2)
    2a24:	00048593          	mv	a1,s1
    2a28:	00079503          	lh	a0,0(a5)
    2a2c:	244010ef          	jal	ra,3c70 <crc16>
    2a30:	00042403          	lw	s0,0(s0)
    2a34:	00050493          	mv	s1,a0
    2a38:	fe0414e3          	bnez	s0,2a20 <core_bench_list+0x1f8>
    2a3c:	03c12083          	lw	ra,60(sp)
    2a40:	03812403          	lw	s0,56(sp)
    2a44:	00048513          	mv	a0,s1
    2a48:	03012903          	lw	s2,48(sp)
    2a4c:	03412483          	lw	s1,52(sp)
    2a50:	02c12983          	lw	s3,44(sp)
    2a54:	02812a03          	lw	s4,40(sp)
    2a58:	02412a83          	lw	s5,36(sp)
    2a5c:	02012b03          	lw	s6,32(sp)
    2a60:	01c12b83          	lw	s7,28(sp)
    2a64:	01812c03          	lw	s8,24(sp)
    2a68:	01412c83          	lw	s9,20(sp)
    2a6c:	04010113          	addi	sp,sp,64
    2a70:	00008067          	ret
    2a74:	00042903          	lw	s2,0(s0)
    2a78:	f60908e3          	beqz	s2,29e8 <core_bench_list+0x1c0>
    2a7c:	f49ff06f          	j	29c4 <core_bench_list+0x19c>
    2a80:	00000493          	li	s1,0
    2a84:	00c10a13          	addi	s4,sp,12
    2a88:	ee9ff06f          	j	2970 <core_bench_list+0x148>

00002a8c <core_list_init>:
    2a8c:	01400713          	li	a4,20
    2a90:	02e55733          	divu	a4,a0,a4
    2a94:	ff010113          	addi	sp,sp,-16
    2a98:	00112623          	sw	ra,12(sp)
    2a9c:	00058513          	mv	a0,a1
    2aa0:	0005a023          	sw	zero,0(a1)
    2aa4:	ffff87b7          	lui	a5,0xffff8
    2aa8:	08078893          	addi	a7,a5,128 # ffff8080 <__global_pointer$+0xffff3874>
    2aac:	01058693          	addi	a3,a1,16
    2ab0:	00858f93          	addi	t6,a1,8
    2ab4:	00000593          	li	a1,0
    2ab8:	ffe70713          	addi	a4,a4,-2
    2abc:	00371813          	slli	a6,a4,0x3
    2ac0:	01050833          	add	a6,a0,a6
    2ac4:	01052223          	sw	a6,4(a0)
    2ac8:	00271f13          	slli	t5,a4,0x2
    2acc:	00081123          	sh	zero,2(a6)
    2ad0:	01181023          	sh	a7,0(a6)
    2ad4:	01e80f33          	add	t5,a6,t5
    2ad8:	00480313          	addi	t1,a6,4
    2adc:	0106f663          	bleu	a6,a3,2ae8 <core_list_init+0x5c>
    2ae0:	00880893          	addi	a7,a6,8
    2ae4:	11e8e063          	bltu	a7,t5,2be4 <core_list_init+0x158>
    2ae8:	06070a63          	beqz	a4,2b5c <core_list_init+0xd0>
    2aec:	01061393          	slli	t2,a2,0x10
    2af0:	ffff82b7          	lui	t0,0xffff8
    2af4:	0103d393          	srli	t2,t2,0x10
    2af8:	00000693          	li	a3,0
    2afc:	fff2c293          	not	t0,t0
    2b00:	008f8e13          	addi	t3,t6,8
    2b04:	00430e93          	addi	t4,t1,4
    2b08:	050e7663          	bleu	a6,t3,2b54 <core_list_init+0xc8>
    2b0c:	01069893          	slli	a7,a3,0x10
    2b10:	0108d893          	srli	a7,a7,0x10
    2b14:	0078c7b3          	xor	a5,a7,t2
    2b18:	00379793          	slli	a5,a5,0x3
    2b1c:	0078f893          	andi	a7,a7,7
    2b20:	0787f793          	andi	a5,a5,120
    2b24:	0117e7b3          	or	a5,a5,a7
    2b28:	00879893          	slli	a7,a5,0x8
    2b2c:	00f8e7b3          	or	a5,a7,a5
    2b30:	03eef263          	bleu	t5,t4,2b54 <core_list_init+0xc8>
    2b34:	00bfa023          	sw	a1,0(t6)
    2b38:	01f52023          	sw	t6,0(a0)
    2b3c:	006fa223          	sw	t1,4(t6)
    2b40:	00f31023          	sh	a5,0(t1)
    2b44:	00531123          	sh	t0,2(t1)
    2b48:	000f8593          	mv	a1,t6
    2b4c:	000e8313          	mv	t1,t4
    2b50:	000e0f93          	mv	t6,t3
    2b54:	00168693          	addi	a3,a3,1
    2b58:	fad714e3          	bne	a4,a3,2b00 <core_list_init+0x74>
    2b5c:	00500893          	li	a7,5
    2b60:	00004e37          	lui	t3,0x4
    2b64:	031758b3          	divu	a7,a4,a7
    2b68:	00100693          	li	a3,1
    2b6c:	20000713          	li	a4,512
    2b70:	fffe0e13          	addi	t3,t3,-1 # 3fff <errpat+0x2fb>
    2b74:	01c0006f          	j	2b90 <core_list_init+0x104>
    2b78:	00d59123          	sh	a3,2(a1)
    2b7c:	10070713          	addi	a4,a4,256
    2b80:	01071713          	slli	a4,a4,0x10
    2b84:	00168693          	addi	a3,a3,1
    2b88:	01075713          	srli	a4,a4,0x10
    2b8c:	00080593          	mv	a1,a6
    2b90:	0005a803          	lw	a6,0(a1)
    2b94:	70077793          	andi	a5,a4,1792
    2b98:	00c6c333          	xor	t1,a3,a2
    2b9c:	0067e7b3          	or	a5,a5,t1
    2ba0:	01c7f7b3          	and	a5,a5,t3
    2ba4:	00080a63          	beqz	a6,2bb8 <core_list_init+0x12c>
    2ba8:	0045a583          	lw	a1,4(a1)
    2bac:	fd16e6e3          	bltu	a3,a7,2b78 <core_list_init+0xec>
    2bb0:	00f59123          	sh	a5,2(a1)
    2bb4:	fc9ff06f          	j	2b7c <core_list_init+0xf0>
    2bb8:	000025b7          	lui	a1,0x2
    2bbc:	00000613          	li	a2,0
    2bc0:	3e058593          	addi	a1,a1,992 # 23e0 <cmp_idx>
    2bc4:	b1dff0ef          	jal	ra,26e0 <core_list_mergesort>
    2bc8:	00050863          	beqz	a0,2bd8 <core_list_init+0x14c>
    2bcc:	00050793          	mv	a5,a0
    2bd0:	0007a783          	lw	a5,0(a5)
    2bd4:	fe079ee3          	bnez	a5,2bd0 <core_list_init+0x144>
    2bd8:	00c12083          	lw	ra,12(sp)
    2bdc:	01010113          	addi	sp,sp,16
    2be0:	00008067          	ret
    2be4:	01f52023          	sw	t6,0(a0)
    2be8:	00652623          	sw	t1,12(a0)
    2bec:	00052423          	sw	zero,8(a0)
    2bf0:	fff00313          	li	t1,-1
    2bf4:	fff7c793          	not	a5,a5
    2bf8:	000f8593          	mv	a1,t6
    2bfc:	00681223          	sh	t1,4(a6)
    2c00:	00f81323          	sh	a5,6(a6)
    2c04:	00088313          	mv	t1,a7
    2c08:	00068f93          	mv	t6,a3
    2c0c:	eddff06f          	j	2ae8 <core_list_init+0x5c>

00002c10 <printmat>:
    2c10:	00008067          	ret

00002c14 <printmatC>:
    2c14:	00008067          	ret

00002c18 <core_init_matrix>:
    2c18:	ff010113          	addi	sp,sp,-16
    2c1c:	00812623          	sw	s0,12(sp)
    2c20:	00912423          	sw	s1,8(sp)
    2c24:	01212223          	sw	s2,4(sp)
    2c28:	00050813          	mv	a6,a0
    2c2c:	00061463          	bnez	a2,2c34 <core_init_matrix+0x1c>
    2c30:	00100613          	li	a2,1
    2c34:	fff58f93          	addi	t6,a1,-1
    2c38:	ffcfff93          	andi	t6,t6,-4
    2c3c:	004f8413          	addi	s0,t6,4
    2c40:	00000513          	li	a0,0
    2c44:	00081663          	bnez	a6,2c50 <core_init_matrix+0x38>
    2c48:	0e40006f          	j	2d2c <core_init_matrix+0x114>
    2c4c:	00070513          	mv	a0,a4
    2c50:	00150713          	addi	a4,a0,1
    2c54:	02e707b3          	mul	a5,a4,a4
    2c58:	00379793          	slli	a5,a5,0x3
    2c5c:	ff07e8e3          	bltu	a5,a6,2c4c <core_init_matrix+0x34>
    2c60:	02a502b3          	mul	t0,a0,a0
    2c64:	00050493          	mv	s1,a0
    2c68:	00129293          	slli	t0,t0,0x1
    2c6c:	00540fb3          	add	t6,s0,t0
    2c70:	08050463          	beqz	a0,2cf8 <core_init_matrix+0xe0>
    2c74:	00010e37          	lui	t3,0x10
    2c78:	00000f13          	li	t5,0
    2c7c:	00100313          	li	t1,1
    2c80:	41f40eb3          	sub	t4,s0,t6
    2c84:	00151393          	slli	t2,a0,0x1
    2c88:	fffe0e13          	addi	t3,t3,-1 # ffff <__global_pointer$+0xb7f3>
    2c8c:	03e38833          	mul	a6,t2,t5
    2c90:	00030713          	mv	a4,t1
    2c94:	010f8833          	add	a6,t6,a6
    2c98:	02e60633          	mul	a2,a2,a4
    2c9c:	01071793          	slli	a5,a4,0x10
    2ca0:	0107d793          	srli	a5,a5,0x10
    2ca4:	010e8933          	add	s2,t4,a6
    2ca8:	00280813          	addi	a6,a6,2
    2cac:	00170713          	addi	a4,a4,1
    2cb0:	406708b3          	sub	a7,a4,t1
    2cb4:	41f65593          	srai	a1,a2,0x1f
    2cb8:	0105d593          	srli	a1,a1,0x10
    2cbc:	00b60633          	add	a2,a2,a1
    2cc0:	01c67633          	and	a2,a2,t3
    2cc4:	40b60633          	sub	a2,a2,a1
    2cc8:	00c785b3          	add	a1,a5,a2
    2ccc:	01059593          	slli	a1,a1,0x10
    2cd0:	0105d593          	srli	a1,a1,0x10
    2cd4:	00b787b3          	add	a5,a5,a1
    2cd8:	feb81f23          	sh	a1,-2(a6)
    2cdc:	0ff7f793          	andi	a5,a5,255
    2ce0:	00f91023          	sh	a5,0(s2)
    2ce4:	faa8eae3          	bltu	a7,a0,2c98 <core_init_matrix+0x80>
    2ce8:	001f0f13          	addi	t5,t5,1
    2cec:	00af7663          	bleu	a0,t5,2cf8 <core_init_matrix+0xe0>
    2cf0:	00070313          	mv	t1,a4
    2cf4:	f99ff06f          	j	2c8c <core_init_matrix+0x74>
    2cf8:	005f87b3          	add	a5,t6,t0
    2cfc:	fff78793          	addi	a5,a5,-1
    2d00:	0086a223          	sw	s0,4(a3)
    2d04:	ffc7f793          	andi	a5,a5,-4
    2d08:	00c12403          	lw	s0,12(sp)
    2d0c:	00478793          	addi	a5,a5,4
    2d10:	0096a023          	sw	s1,0(a3)
    2d14:	01f6a423          	sw	t6,8(a3)
    2d18:	00f6a623          	sw	a5,12(a3)
    2d1c:	00812483          	lw	s1,8(sp)
    2d20:	00412903          	lw	s2,4(sp)
    2d24:	01010113          	addi	sp,sp,16
    2d28:	00008067          	ret
    2d2c:	006f8f93          	addi	t6,t6,6
    2d30:	fff00493          	li	s1,-1
    2d34:	fff00513          	li	a0,-1
    2d38:	00200293          	li	t0,2
    2d3c:	f39ff06f          	j	2c74 <core_init_matrix+0x5c>

00002d40 <matrix_sum>:
    2d40:	08050a63          	beqz	a0,2dd4 <matrix_sum+0x94>
    2d44:	40a00f33          	neg	t5,a0
    2d48:	00251793          	slli	a5,a0,0x2
    2d4c:	00f585b3          	add	a1,a1,a5
    2d50:	002f1f93          	slli	t6,t5,0x2
    2d54:	00000e13          	li	t3,0
    2d58:	00000793          	li	a5,0
    2d5c:	00000693          	li	a3,0
    2d60:	00000893          	li	a7,0
    2d64:	003f1f13          	slli	t5,t5,0x3
    2d68:	00bf8eb3          	add	t4,t6,a1
    2d6c:	000e8713          	mv	a4,t4
    2d70:	01c0006f          	j	2d8c <matrix_sum+0x4c>
    2d74:	01031793          	slli	a5,t1,0x10
    2d78:	00470713          	addi	a4,a4,4
    2d7c:	4107d793          	srai	a5,a5,0x10
    2d80:	00000893          	li	a7,0
    2d84:	00080693          	mv	a3,a6
    2d88:	02e58c63          	beq	a1,a4,2dc0 <matrix_sum+0x80>
    2d8c:	00072803          	lw	a6,0(a4)
    2d90:	01079793          	slli	a5,a5,0x10
    2d94:	0107d793          	srli	a5,a5,0x10
    2d98:	0106a6b3          	slt	a3,a3,a6
    2d9c:	010888b3          	add	a7,a7,a6
    2da0:	00a78313          	addi	t1,a5,10
    2da4:	00d787b3          	add	a5,a5,a3
    2da8:	fd1646e3          	blt	a2,a7,2d74 <matrix_sum+0x34>
    2dac:	01079793          	slli	a5,a5,0x10
    2db0:	00470713          	addi	a4,a4,4
    2db4:	4107d793          	srai	a5,a5,0x10
    2db8:	00080693          	mv	a3,a6
    2dbc:	fce598e3          	bne	a1,a4,2d8c <matrix_sum+0x4c>
    2dc0:	001e0e13          	addi	t3,t3,1
    2dc4:	41ee85b3          	sub	a1,t4,t5
    2dc8:	fbc510e3          	bne	a0,t3,2d68 <matrix_sum+0x28>
    2dcc:	00078513          	mv	a0,a5
    2dd0:	00008067          	ret
    2dd4:	00000793          	li	a5,0
    2dd8:	00078513          	mv	a0,a5
    2ddc:	00008067          	ret

00002de0 <matrix_mul_const>:
    2de0:	02050e63          	beqz	a0,2e1c <matrix_mul_const+0x3c>
    2de4:	00151e13          	slli	t3,a0,0x1
    2de8:	00251313          	slli	t1,a0,0x2
    2dec:	00000893          	li	a7,0
    2df0:	00ce0833          	add	a6,t3,a2
    2df4:	00058713          	mv	a4,a1
    2df8:	00061783          	lh	a5,0(a2)
    2dfc:	00470713          	addi	a4,a4,4
    2e00:	00260613          	addi	a2,a2,2
    2e04:	02d787b3          	mul	a5,a5,a3
    2e08:	fef72e23          	sw	a5,-4(a4)
    2e0c:	ff0616e3          	bne	a2,a6,2df8 <matrix_mul_const+0x18>
    2e10:	00188893          	addi	a7,a7,1
    2e14:	006585b3          	add	a1,a1,t1
    2e18:	fd151ce3          	bne	a0,a7,2df0 <matrix_mul_const+0x10>
    2e1c:	00008067          	ret

00002e20 <matrix_add_const>:
    2e20:	02050a63          	beqz	a0,2e54 <matrix_add_const+0x34>
    2e24:	01061613          	slli	a2,a2,0x10
    2e28:	01065613          	srli	a2,a2,0x10
    2e2c:	00151813          	slli	a6,a0,0x1
    2e30:	00000693          	li	a3,0
    2e34:	00b80733          	add	a4,a6,a1
    2e38:	0005d783          	lhu	a5,0(a1)
    2e3c:	00258593          	addi	a1,a1,2
    2e40:	00f607b3          	add	a5,a2,a5
    2e44:	fef59f23          	sh	a5,-2(a1)
    2e48:	feb718e3          	bne	a4,a1,2e38 <matrix_add_const+0x18>
    2e4c:	00168693          	addi	a3,a3,1
    2e50:	fed512e3          	bne	a0,a3,2e34 <matrix_add_const+0x14>
    2e54:	00008067          	ret

00002e58 <matrix_mul_vect>:
    2e58:	04050663          	beqz	a0,2ea4 <matrix_mul_vect+0x4c>
    2e5c:	00151e93          	slli	t4,a0,0x1
    2e60:	00251513          	slli	a0,a0,0x2
    2e64:	00a58e33          	add	t3,a1,a0
    2e68:	01d68333          	add	t1,a3,t4
    2e6c:	00068793          	mv	a5,a3
    2e70:	00060513          	mv	a0,a2
    2e74:	00000813          	li	a6,0
    2e78:	00051703          	lh	a4,0(a0)
    2e7c:	00079883          	lh	a7,0(a5)
    2e80:	00278793          	addi	a5,a5,2
    2e84:	00250513          	addi	a0,a0,2
    2e88:	03170733          	mul	a4,a4,a7
    2e8c:	00e80833          	add	a6,a6,a4
    2e90:	fef314e3          	bne	t1,a5,2e78 <matrix_mul_vect+0x20>
    2e94:	0105a023          	sw	a6,0(a1)
    2e98:	00458593          	addi	a1,a1,4
    2e9c:	01d60633          	add	a2,a2,t4
    2ea0:	fcbe16e3          	bne	t3,a1,2e6c <matrix_mul_vect+0x14>
    2ea4:	00008067          	ret

00002ea8 <matrix_mul_matrix>:
    2ea8:	08050063          	beqz	a0,2f28 <matrix_mul_matrix+0x80>
    2eac:	00151e13          	slli	t3,a0,0x1
    2eb0:	ff010113          	addi	sp,sp,-16
    2eb4:	00812623          	sw	s0,12(sp)
    2eb8:	01c60eb3          	add	t4,a2,t3
    2ebc:	00251413          	slli	s0,a0,0x2
    2ec0:	01c682b3          	add	t0,a3,t3
    2ec4:	00000393          	li	t2,0
    2ec8:	00068f13          	mv	t5,a3
    2ecc:	00058f93          	mv	t6,a1
    2ed0:	000f0813          	mv	a6,t5
    2ed4:	00060793          	mv	a5,a2
    2ed8:	00000893          	li	a7,0
    2edc:	00079703          	lh	a4,0(a5)
    2ee0:	00081303          	lh	t1,0(a6)
    2ee4:	00278793          	addi	a5,a5,2
    2ee8:	01c80833          	add	a6,a6,t3
    2eec:	02670733          	mul	a4,a4,t1
    2ef0:	00e888b3          	add	a7,a7,a4
    2ef4:	fefe94e3          	bne	t4,a5,2edc <matrix_mul_matrix+0x34>
    2ef8:	011fa023          	sw	a7,0(t6)
    2efc:	002f0f13          	addi	t5,t5,2
    2f00:	004f8f93          	addi	t6,t6,4
    2f04:	fde296e3          	bne	t0,t5,2ed0 <matrix_mul_matrix+0x28>
    2f08:	00138393          	addi	t2,t2,1
    2f0c:	01c60633          	add	a2,a2,t3
    2f10:	01ce8eb3          	add	t4,t4,t3
    2f14:	008585b3          	add	a1,a1,s0
    2f18:	fa7518e3          	bne	a0,t2,2ec8 <matrix_mul_matrix+0x20>
    2f1c:	00c12403          	lw	s0,12(sp)
    2f20:	01010113          	addi	sp,sp,16
    2f24:	00008067          	ret
    2f28:	00008067          	ret

00002f2c <matrix_mul_matrix_bitextract>:
    2f2c:	08050a63          	beqz	a0,2fc0 <matrix_mul_matrix_bitextract+0x94>
    2f30:	00151e13          	slli	t3,a0,0x1
    2f34:	ff010113          	addi	sp,sp,-16
    2f38:	00812623          	sw	s0,12(sp)
    2f3c:	01c60eb3          	add	t4,a2,t3
    2f40:	00251413          	slli	s0,a0,0x2
    2f44:	01c682b3          	add	t0,a3,t3
    2f48:	00000393          	li	t2,0
    2f4c:	00068f13          	mv	t5,a3
    2f50:	00058f93          	mv	t6,a1
    2f54:	000f0893          	mv	a7,t5
    2f58:	00060813          	mv	a6,a2
    2f5c:	00000313          	li	t1,0
    2f60:	00089703          	lh	a4,0(a7)
    2f64:	00081783          	lh	a5,0(a6)
    2f68:	00280813          	addi	a6,a6,2
    2f6c:	01c888b3          	add	a7,a7,t3
    2f70:	02e787b3          	mul	a5,a5,a4
    2f74:	4027d713          	srai	a4,a5,0x2
    2f78:	4057d793          	srai	a5,a5,0x5
    2f7c:	00f77713          	andi	a4,a4,15
    2f80:	07f7f793          	andi	a5,a5,127
    2f84:	02f707b3          	mul	a5,a4,a5
    2f88:	00f30333          	add	t1,t1,a5
    2f8c:	fd0e9ae3          	bne	t4,a6,2f60 <matrix_mul_matrix_bitextract+0x34>
    2f90:	006fa023          	sw	t1,0(t6)
    2f94:	002f0f13          	addi	t5,t5,2
    2f98:	004f8f93          	addi	t6,t6,4
    2f9c:	fbe29ce3          	bne	t0,t5,2f54 <matrix_mul_matrix_bitextract+0x28>
    2fa0:	00138393          	addi	t2,t2,1
    2fa4:	01c60633          	add	a2,a2,t3
    2fa8:	01ce8eb3          	add	t4,t4,t3
    2fac:	008585b3          	add	a1,a1,s0
    2fb0:	f8751ee3          	bne	a0,t2,2f4c <matrix_mul_matrix_bitextract+0x20>
    2fb4:	00c12403          	lw	s0,12(sp)
    2fb8:	01010113          	addi	sp,sp,16
    2fbc:	00008067          	ret
    2fc0:	00008067          	ret

00002fc4 <matrix_test>:
    2fc4:	fb010113          	addi	sp,sp,-80
    2fc8:	04812423          	sw	s0,72(sp)
    2fcc:	04912223          	sw	s1,68(sp)
    2fd0:	05212023          	sw	s2,64(sp)
    2fd4:	03412c23          	sw	s4,56(sp)
    2fd8:	04112623          	sw	ra,76(sp)
    2fdc:	fffffa37          	lui	s4,0xfffff
    2fe0:	03312e23          	sw	s3,60(sp)
    2fe4:	03512a23          	sw	s5,52(sp)
    2fe8:	03612823          	sw	s6,48(sp)
    2fec:	03712623          	sw	s7,44(sp)
    2ff0:	03812423          	sw	s8,40(sp)
    2ff4:	03912223          	sw	s9,36(sp)
    2ff8:	03a12023          	sw	s10,32(sp)
    2ffc:	01b12e23          	sw	s11,28(sp)
    3000:	00058413          	mv	s0,a1
    3004:	00060493          	mv	s1,a2
    3008:	00068913          	mv	s2,a3
    300c:	01476a33          	or	s4,a4,s4
    3010:	36050263          	beqz	a0,3374 <matrix_test+0x3b0>
    3014:	01071a93          	slli	s5,a4,0x10
    3018:	00050813          	mv	a6,a0
    301c:	010ada93          	srli	s5,s5,0x10
    3020:	00151c13          	slli	s8,a0,0x1
    3024:	00060b93          	mv	s7,a2
    3028:	00060793          	mv	a5,a2
    302c:	00000993          	li	s3,0
    3030:	00fc0633          	add	a2,s8,a5
    3034:	0007d683          	lhu	a3,0(a5)
    3038:	00278793          	addi	a5,a5,2
    303c:	00da86b3          	add	a3,s5,a3
    3040:	fed79f23          	sh	a3,-2(a5)
    3044:	fef618e3          	bne	a2,a5,3034 <matrix_test+0x70>
    3048:	00198993          	addi	s3,s3,1
    304c:	00060793          	mv	a5,a2
    3050:	ff3810e3          	bne	a6,s3,3030 <matrix_test+0x6c>
    3054:	00299b13          	slli	s6,s3,0x2
    3058:	00040c93          	mv	s9,s0
    305c:	00040813          	mv	a6,s0
    3060:	00048793          	mv	a5,s1
    3064:	00000513          	li	a0,0
    3068:	018785b3          	add	a1,a5,s8
    306c:	00080613          	mv	a2,a6
    3070:	00079683          	lh	a3,0(a5)
    3074:	00460613          	addi	a2,a2,4
    3078:	00278793          	addi	a5,a5,2
    307c:	02e686b3          	mul	a3,a3,a4
    3080:	fed62e23          	sw	a3,-4(a2)
    3084:	feb796e3          	bne	a5,a1,3070 <matrix_test+0xac>
    3088:	00150513          	addi	a0,a0,1
    308c:	01680833          	add	a6,a6,s6
    3090:	fd351ce3          	bne	a0,s3,3068 <matrix_test+0xa4>
    3094:	41300db3          	neg	s11,s3
    3098:	01640d33          	add	s10,s0,s6
    309c:	002d9713          	slli	a4,s11,0x2
    30a0:	000d0893          	mv	a7,s10
    30a4:	00000513          	li	a0,0
    30a8:	00000793          	li	a5,0
    30ac:	00000593          	li	a1,0
    30b0:	00000313          	li	t1,0
    30b4:	003d9d93          	slli	s11,s11,0x3
    30b8:	01170e33          	add	t3,a4,a7
    30bc:	000e0613          	mv	a2,t3
    30c0:	01c0006f          	j	30dc <matrix_test+0x118>
    30c4:	01081513          	slli	a0,a6,0x10
    30c8:	00460613          	addi	a2,a2,4
    30cc:	41055513          	srai	a0,a0,0x10
    30d0:	00000593          	li	a1,0
    30d4:	00068793          	mv	a5,a3
    30d8:	02c88c63          	beq	a7,a2,3110 <matrix_test+0x14c>
    30dc:	00062683          	lw	a3,0(a2)
    30e0:	01051513          	slli	a0,a0,0x10
    30e4:	01055513          	srli	a0,a0,0x10
    30e8:	00d7a7b3          	slt	a5,a5,a3
    30ec:	00d585b3          	add	a1,a1,a3
    30f0:	00a50813          	addi	a6,a0,10
    30f4:	00f50533          	add	a0,a0,a5
    30f8:	fcba46e3          	blt	s4,a1,30c4 <matrix_test+0x100>
    30fc:	01051513          	slli	a0,a0,0x10
    3100:	00460613          	addi	a2,a2,4
    3104:	41055513          	srai	a0,a0,0x10
    3108:	00068793          	mv	a5,a3
    310c:	fcc898e3          	bne	a7,a2,30dc <matrix_test+0x118>
    3110:	00130313          	addi	t1,t1,1
    3114:	41be08b3          	sub	a7,t3,s11
    3118:	fb3310e3          	bne	t1,s3,30b8 <matrix_test+0xf4>
    311c:	00000593          	li	a1,0
    3120:	00e12623          	sw	a4,12(sp)
    3124:	34d000ef          	jal	ra,3c70 <crc16>
    3128:	00a12423          	sw	a0,8(sp)
    312c:	00040593          	mv	a1,s0
    3130:	00098513          	mv	a0,s3
    3134:	00090693          	mv	a3,s2
    3138:	00048613          	mv	a2,s1
    313c:	d1dff0ef          	jal	ra,2e58 <matrix_mul_vect>
    3140:	00812883          	lw	a7,8(sp)
    3144:	00c12703          	lw	a4,12(sp)
    3148:	00000513          	li	a0,0
    314c:	00000793          	li	a5,0
    3150:	00000593          	li	a1,0
    3154:	00000313          	li	t1,0
    3158:	01a70e33          	add	t3,a4,s10
    315c:	000e0613          	mv	a2,t3
    3160:	01c0006f          	j	317c <matrix_test+0x1b8>
    3164:	01081513          	slli	a0,a6,0x10
    3168:	00460613          	addi	a2,a2,4
    316c:	41055513          	srai	a0,a0,0x10
    3170:	00000593          	li	a1,0
    3174:	00068793          	mv	a5,a3
    3178:	02cd0c63          	beq	s10,a2,31b0 <matrix_test+0x1ec>
    317c:	00062683          	lw	a3,0(a2)
    3180:	01051513          	slli	a0,a0,0x10
    3184:	01055513          	srli	a0,a0,0x10
    3188:	00d7a7b3          	slt	a5,a5,a3
    318c:	00d585b3          	add	a1,a1,a3
    3190:	00a50813          	addi	a6,a0,10
    3194:	00f50533          	add	a0,a0,a5
    3198:	fcba46e3          	blt	s4,a1,3164 <matrix_test+0x1a0>
    319c:	01051513          	slli	a0,a0,0x10
    31a0:	00460613          	addi	a2,a2,4
    31a4:	41055513          	srai	a0,a0,0x10
    31a8:	00068793          	mv	a5,a3
    31ac:	fccd18e3          	bne	s10,a2,317c <matrix_test+0x1b8>
    31b0:	00130313          	addi	t1,t1,1
    31b4:	41be0d33          	sub	s10,t3,s11
    31b8:	fb3310e3          	bne	t1,s3,3158 <matrix_test+0x194>
    31bc:	00088593          	mv	a1,a7
    31c0:	2b1000ef          	jal	ra,3c70 <crc16>
    31c4:	00090693          	mv	a3,s2
    31c8:	00050d13          	mv	s10,a0
    31cc:	00048613          	mv	a2,s1
    31d0:	00098513          	mv	a0,s3
    31d4:	00040593          	mv	a1,s0
    31d8:	cd1ff0ef          	jal	ra,2ea8 <matrix_mul_matrix>
    31dc:	00040313          	mv	t1,s0
    31e0:	00000513          	li	a0,0
    31e4:	00000793          	li	a5,0
    31e8:	00000693          	li	a3,0
    31ec:	00000893          	li	a7,0
    31f0:	00030593          	mv	a1,t1
    31f4:	00000613          	li	a2,0
    31f8:	0200006f          	j	3218 <matrix_test+0x254>
    31fc:	01081513          	slli	a0,a6,0x10
    3200:	00160613          	addi	a2,a2,1
    3204:	41055513          	srai	a0,a0,0x10
    3208:	00000693          	li	a3,0
    320c:	00458593          	addi	a1,a1,4
    3210:	00070793          	mv	a5,a4
    3214:	03367e63          	bleu	s3,a2,3250 <matrix_test+0x28c>
    3218:	0005a703          	lw	a4,0(a1)
    321c:	01051513          	slli	a0,a0,0x10
    3220:	01055513          	srli	a0,a0,0x10
    3224:	00e7a7b3          	slt	a5,a5,a4
    3228:	00e686b3          	add	a3,a3,a4
    322c:	00a50813          	addi	a6,a0,10
    3230:	00f50533          	add	a0,a0,a5
    3234:	fcda44e3          	blt	s4,a3,31fc <matrix_test+0x238>
    3238:	01051513          	slli	a0,a0,0x10
    323c:	00160613          	addi	a2,a2,1
    3240:	41055513          	srai	a0,a0,0x10
    3244:	00458593          	addi	a1,a1,4
    3248:	00070793          	mv	a5,a4
    324c:	fd3666e3          	bltu	a2,s3,3218 <matrix_test+0x254>
    3250:	00188893          	addi	a7,a7,1
    3254:	01630333          	add	t1,t1,s6
    3258:	f938ece3          	bltu	a7,s3,31f0 <matrix_test+0x22c>
    325c:	000d0593          	mv	a1,s10
    3260:	211000ef          	jal	ra,3c70 <crc16>
    3264:	00090693          	mv	a3,s2
    3268:	00050d13          	mv	s10,a0
    326c:	00048613          	mv	a2,s1
    3270:	00098513          	mv	a0,s3
    3274:	00040593          	mv	a1,s0
    3278:	cb5ff0ef          	jal	ra,2f2c <matrix_mul_matrix_bitextract>
    327c:	00000513          	li	a0,0
    3280:	00000793          	li	a5,0
    3284:	00000693          	li	a3,0
    3288:	00000893          	li	a7,0
    328c:	000c8593          	mv	a1,s9
    3290:	00000613          	li	a2,0
    3294:	0200006f          	j	32b4 <matrix_test+0x2f0>
    3298:	01081513          	slli	a0,a6,0x10
    329c:	00160613          	addi	a2,a2,1
    32a0:	41055513          	srai	a0,a0,0x10
    32a4:	00000693          	li	a3,0
    32a8:	00458593          	addi	a1,a1,4
    32ac:	00070793          	mv	a5,a4
    32b0:	03367e63          	bleu	s3,a2,32ec <matrix_test+0x328>
    32b4:	0005a703          	lw	a4,0(a1)
    32b8:	01051513          	slli	a0,a0,0x10
    32bc:	01055513          	srli	a0,a0,0x10
    32c0:	00e7a7b3          	slt	a5,a5,a4
    32c4:	00e686b3          	add	a3,a3,a4
    32c8:	00a50813          	addi	a6,a0,10
    32cc:	00f50533          	add	a0,a0,a5
    32d0:	fcda44e3          	blt	s4,a3,3298 <matrix_test+0x2d4>
    32d4:	01051513          	slli	a0,a0,0x10
    32d8:	00160613          	addi	a2,a2,1
    32dc:	41055513          	srai	a0,a0,0x10
    32e0:	00458593          	addi	a1,a1,4
    32e4:	00070793          	mv	a5,a4
    32e8:	fd3666e3          	bltu	a2,s3,32b4 <matrix_test+0x2f0>
    32ec:	00188893          	addi	a7,a7,1
    32f0:	016c8cb3          	add	s9,s9,s6
    32f4:	f938ece3          	bltu	a7,s3,328c <matrix_test+0x2c8>
    32f8:	000d0593          	mv	a1,s10
    32fc:	175000ef          	jal	ra,3c70 <crc16>
    3300:	00000613          	li	a2,0
    3304:	000b8793          	mv	a5,s7
    3308:	00000693          	li	a3,0
    330c:	0007d703          	lhu	a4,0(a5)
    3310:	00278793          	addi	a5,a5,2
    3314:	00168693          	addi	a3,a3,1
    3318:	41570733          	sub	a4,a4,s5
    331c:	fee79f23          	sh	a4,-2(a5)
    3320:	ff36e6e3          	bltu	a3,s3,330c <matrix_test+0x348>
    3324:	00160613          	addi	a2,a2,1
    3328:	018b8bb3          	add	s7,s7,s8
    332c:	fd366ce3          	bltu	a2,s3,3304 <matrix_test+0x340>
    3330:	04c12083          	lw	ra,76(sp)
    3334:	04812403          	lw	s0,72(sp)
    3338:	01051513          	slli	a0,a0,0x10
    333c:	04412483          	lw	s1,68(sp)
    3340:	04012903          	lw	s2,64(sp)
    3344:	03c12983          	lw	s3,60(sp)
    3348:	03812a03          	lw	s4,56(sp)
    334c:	03412a83          	lw	s5,52(sp)
    3350:	03012b03          	lw	s6,48(sp)
    3354:	02c12b83          	lw	s7,44(sp)
    3358:	02812c03          	lw	s8,40(sp)
    335c:	02412c83          	lw	s9,36(sp)
    3360:	02012d03          	lw	s10,32(sp)
    3364:	01c12d83          	lw	s11,28(sp)
    3368:	41055513          	srai	a0,a0,0x10
    336c:	05010113          	addi	sp,sp,80
    3370:	00008067          	ret
    3374:	00000593          	li	a1,0
    3378:	0f9000ef          	jal	ra,3c70 <crc16>
    337c:	00090693          	mv	a3,s2
    3380:	00048613          	mv	a2,s1
    3384:	00050993          	mv	s3,a0
    3388:	00040593          	mv	a1,s0
    338c:	00000513          	li	a0,0
    3390:	ac9ff0ef          	jal	ra,2e58 <matrix_mul_vect>
    3394:	00098593          	mv	a1,s3
    3398:	00000513          	li	a0,0
    339c:	0d5000ef          	jal	ra,3c70 <crc16>
    33a0:	00090693          	mv	a3,s2
    33a4:	00048613          	mv	a2,s1
    33a8:	00050993          	mv	s3,a0
    33ac:	00040593          	mv	a1,s0
    33b0:	00000513          	li	a0,0
    33b4:	af5ff0ef          	jal	ra,2ea8 <matrix_mul_matrix>
    33b8:	00098593          	mv	a1,s3
    33bc:	00000513          	li	a0,0
    33c0:	0b1000ef          	jal	ra,3c70 <crc16>
    33c4:	00050993          	mv	s3,a0
    33c8:	00040593          	mv	a1,s0
    33cc:	00090693          	mv	a3,s2
    33d0:	00048613          	mv	a2,s1
    33d4:	00000513          	li	a0,0
    33d8:	b55ff0ef          	jal	ra,2f2c <matrix_mul_matrix_bitextract>
    33dc:	00098593          	mv	a1,s3
    33e0:	00000513          	li	a0,0
    33e4:	08d000ef          	jal	ra,3c70 <crc16>
    33e8:	f49ff06f          	j	3330 <matrix_test+0x36c>

000033ec <core_bench_matrix>:
    33ec:	ff010113          	addi	sp,sp,-16
    33f0:	00812423          	sw	s0,8(sp)
    33f4:	00058713          	mv	a4,a1
    33f8:	00060413          	mv	s0,a2
    33fc:	00c52583          	lw	a1,12(a0)
    3400:	00852683          	lw	a3,8(a0)
    3404:	00452603          	lw	a2,4(a0)
    3408:	00052503          	lw	a0,0(a0)
    340c:	00112623          	sw	ra,12(sp)
    3410:	bb5ff0ef          	jal	ra,2fc4 <matrix_test>
    3414:	00040593          	mv	a1,s0
    3418:	00812403          	lw	s0,8(sp)
    341c:	00c12083          	lw	ra,12(sp)
    3420:	01010113          	addi	sp,sp,16
    3424:	04d0006f          	j	3c70 <crc16>

00003428 <portable_init>:
    3428:	00100793          	li	a5,1
    342c:	00f50023          	sb	a5,0(a0)
    3430:	00008067          	ret

00003434 <portable_fini>:
    3434:	00050023          	sb	zero,0(a0)
    3438:	00008067          	ret

0000343c <core_init_state>:
    343c:	00000f13          	li	t5,0
    3440:	00000e93          	li	t4,0
    3444:	00158593          	addi	a1,a1,1
    3448:	01ee8fb3          	add	t6,t4,t5
    344c:	01059593          	slli	a1,a1,0x10
    3450:	00004837          	lui	a6,0x4
    3454:	000048b7          	lui	a7,0x4
    3458:	fff50693          	addi	a3,a0,-1
    345c:	001f8293          	addi	t0,t6,1
    3460:	0105d593          	srli	a1,a1,0x10
    3464:	00000793          	li	a5,0
    3468:	02c00e13          	li	t3,44
    346c:	00400313          	li	t1,4
    3470:	cd480813          	addi	a6,a6,-812 # 3cd4 <intpat>
    3474:	cc088893          	addi	a7,a7,-832 # 3cc0 <state_known_crc+0x24>
    3478:	04d2fe63          	bleu	a3,t0,34d4 <core_init_state+0x98>
    347c:	080f1063          	bnez	t5,34fc <core_init_state+0xc0>
    3480:	0075f793          	andi	a5,a1,7
    3484:	ffd78793          	addi	a5,a5,-3
    3488:	01079793          	slli	a5,a5,0x10
    348c:	0035d713          	srli	a4,a1,0x3
    3490:	0107d793          	srli	a5,a5,0x10
    3494:	00377713          	andi	a4,a4,3
    3498:	0af36463          	bltu	t1,a5,3540 <core_init_state+0x104>
    349c:	00279793          	slli	a5,a5,0x2
    34a0:	011787b3          	add	a5,a5,a7
    34a4:	0007a783          	lw	a5,0(a5)
    34a8:	00271713          	slli	a4,a4,0x2
    34ac:	00e80733          	add	a4,a6,a4
    34b0:	00078067          	jr	a5
    34b4:	01072783          	lw	a5,16(a4)
    34b8:	00800f13          	li	t5,8
    34bc:	00158593          	addi	a1,a1,1
    34c0:	01ee8fb3          	add	t6,t4,t5
    34c4:	01059593          	slli	a1,a1,0x10
    34c8:	001f8293          	addi	t0,t6,1
    34cc:	0105d593          	srli	a1,a1,0x10
    34d0:	fad2e6e3          	bltu	t0,a3,347c <core_init_state+0x40>
    34d4:	00aefc63          	bleu	a0,t4,34ec <core_init_state+0xb0>
    34d8:	01d607b3          	add	a5,a2,t4
    34dc:	00a60633          	add	a2,a2,a0
    34e0:	00078023          	sb	zero,0(a5)
    34e4:	00178793          	addi	a5,a5,1
    34e8:	fef61ce3          	bne	a2,a5,34e0 <core_init_state+0xa4>
    34ec:	00008067          	ret
    34f0:	02072783          	lw	a5,32(a4)
    34f4:	00800f13          	li	t5,8
    34f8:	fc5ff06f          	j	34bc <core_init_state+0x80>
    34fc:	01d60733          	add	a4,a2,t4
    3500:	01e78f33          	add	t5,a5,t5
    3504:	0007ce83          	lbu	t4,0(a5)
    3508:	00170713          	addi	a4,a4,1
    350c:	00178793          	addi	a5,a5,1
    3510:	ffd70fa3          	sb	t4,-1(a4)
    3514:	feff18e3          	bne	t5,a5,3504 <core_init_state+0xc8>
    3518:	0075f793          	andi	a5,a1,7
    351c:	ffd78793          	addi	a5,a5,-3
    3520:	01f60fb3          	add	t6,a2,t6
    3524:	01079793          	slli	a5,a5,0x10
    3528:	0035d713          	srli	a4,a1,0x3
    352c:	01cf8023          	sb	t3,0(t6)
    3530:	0107d793          	srli	a5,a5,0x10
    3534:	00028e93          	mv	t4,t0
    3538:	00377713          	andi	a4,a4,3
    353c:	f6f370e3          	bleu	a5,t1,349c <core_init_state+0x60>
    3540:	00271713          	slli	a4,a4,0x2
    3544:	00e80733          	add	a4,a6,a4
    3548:	00072783          	lw	a5,0(a4)
    354c:	00400f13          	li	t5,4
    3550:	f6dff06f          	j	34bc <core_init_state+0x80>
    3554:	03072783          	lw	a5,48(a4)
    3558:	00800f13          	li	t5,8
    355c:	f61ff06f          	j	34bc <core_init_state+0x80>

00003560 <core_state_transition>:
    3560:	00052783          	lw	a5,0(a0)
    3564:	0007c703          	lbu	a4,0(a5)
    3568:	06070463          	beqz	a4,35d0 <core_state_transition+0x70>
    356c:	02c00693          	li	a3,44
    3570:	00178613          	addi	a2,a5,1
    3574:	2ad70463          	beq	a4,a3,381c <core_state_transition+0x2bc>
    3578:	0005a803          	lw	a6,0(a1)
    357c:	fd070893          	addi	a7,a4,-48
    3580:	0ff8f893          	andi	a7,a7,255
    3584:	00900313          	li	t1,9
    3588:	00180813          	addi	a6,a6,1
    358c:	05136863          	bltu	t1,a7,35dc <core_state_transition+0x7c>
    3590:	0105a023          	sw	a6,0(a1)
    3594:	0017c703          	lbu	a4,1(a5)
    3598:	2c070463          	beqz	a4,3860 <core_state_transition+0x300>
    359c:	00278793          	addi	a5,a5,2
    35a0:	0cd70e63          	beq	a4,a3,367c <core_state_transition+0x11c>
    35a4:	02e00813          	li	a6,46
    35a8:	00900893          	li	a7,9
    35ac:	02c00313          	li	t1,44
    35b0:	fd070693          	addi	a3,a4,-48
    35b4:	0ff6f693          	andi	a3,a3,255
    35b8:	0d070663          	beq	a4,a6,3684 <core_state_transition+0x124>
    35bc:	20d8f463          	bleu	a3,a7,37c4 <core_state_transition+0x264>
    35c0:	0105a683          	lw	a3,16(a1)
    35c4:	00100713          	li	a4,1
    35c8:	00168693          	addi	a3,a3,1
    35cc:	00d5a823          	sw	a3,16(a1)
    35d0:	00f52023          	sw	a5,0(a0)
    35d4:	00070513          	mv	a0,a4
    35d8:	00008067          	ret
    35dc:	02b00893          	li	a7,43
    35e0:	03170c63          	beq	a4,a7,3618 <core_state_transition+0xb8>
    35e4:	02d00893          	li	a7,45
    35e8:	03170863          	beq	a4,a7,3618 <core_state_transition+0xb8>
    35ec:	02e00893          	li	a7,46
    35f0:	23170c63          	beq	a4,a7,3828 <core_state_transition+0x2c8>
    35f4:	0045a703          	lw	a4,4(a1)
    35f8:	0105a023          	sw	a6,0(a1)
    35fc:	00060793          	mv	a5,a2
    3600:	00170713          	addi	a4,a4,1
    3604:	00e5a223          	sw	a4,4(a1)
    3608:	00100713          	li	a4,1
    360c:	00f52023          	sw	a5,0(a0)
    3610:	00070513          	mv	a0,a4
    3614:	00008067          	ret
    3618:	0105a023          	sw	a6,0(a1)
    361c:	0017c803          	lbu	a6,1(a5)
    3620:	22080463          	beqz	a6,3848 <core_state_transition+0x2e8>
    3624:	00278613          	addi	a2,a5,2
    3628:	22d80063          	beq	a6,a3,3848 <core_state_transition+0x2e8>
    362c:	0085a683          	lw	a3,8(a1)
    3630:	fd080713          	addi	a4,a6,-48
    3634:	0ff77713          	andi	a4,a4,255
    3638:	00900893          	li	a7,9
    363c:	00168693          	addi	a3,a3,1
    3640:	02e8f263          	bleu	a4,a7,3664 <core_state_transition+0x104>
    3644:	02e00713          	li	a4,46
    3648:	1ae80a63          	beq	a6,a4,37fc <core_state_transition+0x29c>
    364c:	00d5a423          	sw	a3,8(a1)
    3650:	00060793          	mv	a5,a2
    3654:	00100713          	li	a4,1
    3658:	00f52023          	sw	a5,0(a0)
    365c:	00070513          	mv	a0,a4
    3660:	00008067          	ret
    3664:	00d5a423          	sw	a3,8(a1)
    3668:	0027c703          	lbu	a4,2(a5)
    366c:	1e070a63          	beqz	a4,3860 <core_state_transition+0x300>
    3670:	02c00693          	li	a3,44
    3674:	00160793          	addi	a5,a2,1
    3678:	f2d716e3          	bne	a4,a3,35a4 <core_state_transition+0x44>
    367c:	00400713          	li	a4,4
    3680:	f51ff06f          	j	35d0 <core_state_transition+0x70>
    3684:	0105a703          	lw	a4,16(a1)
    3688:	00170713          	addi	a4,a4,1
    368c:	00e5a823          	sw	a4,16(a1)
    3690:	00164703          	lbu	a4,1(a2)
    3694:	1c070e63          	beqz	a4,3870 <core_state_transition+0x310>
    3698:	02c00693          	li	a3,44
    369c:	00178813          	addi	a6,a5,1
    36a0:	18d70e63          	beq	a4,a3,383c <core_state_transition+0x2dc>
    36a4:	fd070693          	addi	a3,a4,-48
    36a8:	04500613          	li	a2,69
    36ac:	0df77713          	andi	a4,a4,223
    36b0:	00900893          	li	a7,9
    36b4:	02c00313          	li	t1,44
    36b8:	0ff6f693          	andi	a3,a3,255
    36bc:	02c70863          	beq	a4,a2,36ec <core_state_transition+0x18c>
    36c0:	12d8e263          	bltu	a7,a3,37e4 <core_state_transition+0x284>
    36c4:	0017c703          	lbu	a4,1(a5)
    36c8:	00180693          	addi	a3,a6,1
    36cc:	00080793          	mv	a5,a6
    36d0:	16070663          	beqz	a4,383c <core_state_transition+0x2dc>
    36d4:	1c670263          	beq	a4,t1,3898 <core_state_transition+0x338>
    36d8:	00068813          	mv	a6,a3
    36dc:	fd070693          	addi	a3,a4,-48
    36e0:	0df77713          	andi	a4,a4,223
    36e4:	0ff6f693          	andi	a3,a3,255
    36e8:	fcc71ce3          	bne	a4,a2,36c0 <core_state_transition+0x160>
    36ec:	0145a703          	lw	a4,20(a1)
    36f0:	00170713          	addi	a4,a4,1
    36f4:	00e5aa23          	sw	a4,20(a1)
    36f8:	0017c703          	lbu	a4,1(a5)
    36fc:	14070c63          	beqz	a4,3854 <core_state_transition+0x2f4>
    3700:	02c00613          	li	a2,44
    3704:	00180793          	addi	a5,a6,1
    3708:	14c70863          	beq	a4,a2,3858 <core_state_transition+0x2f8>
    370c:	00c5a683          	lw	a3,12(a1)
    3710:	fd570713          	addi	a4,a4,-43
    3714:	0fd77713          	andi	a4,a4,253
    3718:	00168693          	addi	a3,a3,1
    371c:	00d5a623          	sw	a3,12(a1)
    3720:	00070a63          	beqz	a4,3734 <core_state_transition+0x1d4>
    3724:	00100713          	li	a4,1
    3728:	00f52023          	sw	a5,0(a0)
    372c:	00070513          	mv	a0,a4
    3730:	00008067          	ret
    3734:	00184703          	lbu	a4,1(a6)
    3738:	14070063          	beqz	a4,3878 <core_state_transition+0x318>
    373c:	00280693          	addi	a3,a6,2
    3740:	14c70063          	beq	a4,a2,3880 <core_state_transition+0x320>
    3744:	0185a783          	lw	a5,24(a1)
    3748:	fd070713          	addi	a4,a4,-48
    374c:	0ff77713          	andi	a4,a4,255
    3750:	00178793          	addi	a5,a5,1
    3754:	00900893          	li	a7,9
    3758:	00f5ac23          	sw	a5,24(a1)
    375c:	00e8f863          	bleu	a4,a7,376c <core_state_transition+0x20c>
    3760:	00068793          	mv	a5,a3
    3764:	00100713          	li	a4,1
    3768:	fc1ff06f          	j	3728 <core_state_transition+0x1c8>
    376c:	00284703          	lbu	a4,2(a6)
    3770:	10070e63          	beqz	a4,388c <core_state_transition+0x32c>
    3774:	00380793          	addi	a5,a6,3
    3778:	04c70263          	beq	a4,a2,37bc <core_state_transition+0x25c>
    377c:	00900613          	li	a2,9
    3780:	02c00893          	li	a7,44
    3784:	fd070713          	addi	a4,a4,-48
    3788:	0ff77713          	andi	a4,a4,255
    378c:	00e67c63          	bleu	a4,a2,37a4 <core_state_transition+0x244>
    3790:	0045a683          	lw	a3,4(a1)
    3794:	00100713          	li	a4,1
    3798:	00168693          	addi	a3,a3,1
    379c:	00d5a223          	sw	a3,4(a1)
    37a0:	e31ff06f          	j	35d0 <core_state_transition+0x70>
    37a4:	0016c703          	lbu	a4,1(a3)
    37a8:	00178813          	addi	a6,a5,1
    37ac:	00078693          	mv	a3,a5
    37b0:	00070663          	beqz	a4,37bc <core_state_transition+0x25c>
    37b4:	00080793          	mv	a5,a6
    37b8:	fd1716e3          	bne	a4,a7,3784 <core_state_transition+0x224>
    37bc:	00700713          	li	a4,7
    37c0:	e11ff06f          	j	35d0 <core_state_transition+0x70>
    37c4:	00164703          	lbu	a4,1(a2)
    37c8:	00178693          	addi	a3,a5,1
    37cc:	00078613          	mv	a2,a5
    37d0:	ea0706e3          	beqz	a4,367c <core_state_transition+0x11c>
    37d4:	00068793          	mv	a5,a3
    37d8:	dc671ce3          	bne	a4,t1,35b0 <core_state_transition+0x50>
    37dc:	00400713          	li	a4,4
    37e0:	df1ff06f          	j	35d0 <core_state_transition+0x70>
    37e4:	0145a683          	lw	a3,20(a1)
    37e8:	00080793          	mv	a5,a6
    37ec:	00100713          	li	a4,1
    37f0:	00168693          	addi	a3,a3,1
    37f4:	00d5aa23          	sw	a3,20(a1)
    37f8:	dd9ff06f          	j	35d0 <core_state_transition+0x70>
    37fc:	00d5a423          	sw	a3,8(a1)
    3800:	0027c703          	lbu	a4,2(a5)
    3804:	06070463          	beqz	a4,386c <core_state_transition+0x30c>
    3808:	02c00793          	li	a5,44
    380c:	00160813          	addi	a6,a2,1
    3810:	02f70663          	beq	a4,a5,383c <core_state_transition+0x2dc>
    3814:	00060793          	mv	a5,a2
    3818:	e8dff06f          	j	36a4 <core_state_transition+0x144>
    381c:	00060793          	mv	a5,a2
    3820:	00000713          	li	a4,0
    3824:	dadff06f          	j	35d0 <core_state_transition+0x70>
    3828:	0105a023          	sw	a6,0(a1)
    382c:	0017c703          	lbu	a4,1(a5)
    3830:	02070e63          	beqz	a4,386c <core_state_transition+0x30c>
    3834:	00278813          	addi	a6,a5,2
    3838:	fcd71ee3          	bne	a4,a3,3814 <core_state_transition+0x2b4>
    383c:	00080793          	mv	a5,a6
    3840:	00500713          	li	a4,5
    3844:	d8dff06f          	j	35d0 <core_state_transition+0x70>
    3848:	00060793          	mv	a5,a2
    384c:	00200713          	li	a4,2
    3850:	d81ff06f          	j	35d0 <core_state_transition+0x70>
    3854:	00080793          	mv	a5,a6
    3858:	00300713          	li	a4,3
    385c:	d75ff06f          	j	35d0 <core_state_transition+0x70>
    3860:	00060793          	mv	a5,a2
    3864:	00400713          	li	a4,4
    3868:	d69ff06f          	j	35d0 <core_state_transition+0x70>
    386c:	00060793          	mv	a5,a2
    3870:	00500713          	li	a4,5
    3874:	d5dff06f          	j	35d0 <core_state_transition+0x70>
    3878:	00600713          	li	a4,6
    387c:	d55ff06f          	j	35d0 <core_state_transition+0x70>
    3880:	00068793          	mv	a5,a3
    3884:	00600713          	li	a4,6
    3888:	d49ff06f          	j	35d0 <core_state_transition+0x70>
    388c:	00068793          	mv	a5,a3
    3890:	00700713          	li	a4,7
    3894:	d3dff06f          	j	35d0 <core_state_transition+0x70>
    3898:	00068793          	mv	a5,a3
    389c:	00500713          	li	a4,5
    38a0:	d31ff06f          	j	35d0 <core_state_transition+0x70>

000038a4 <core_bench_state>:
    38a4:	f8010113          	addi	sp,sp,-128
    38a8:	06912a23          	sw	s1,116(sp)
    38ac:	07212823          	sw	s2,112(sp)
    38b0:	01010493          	addi	s1,sp,16
    38b4:	03010913          	addi	s2,sp,48
    38b8:	06812c23          	sw	s0,120(sp)
    38bc:	07312623          	sw	s3,108(sp)
    38c0:	07412423          	sw	s4,104(sp)
    38c4:	07512223          	sw	s5,100(sp)
    38c8:	07612023          	sw	s6,96(sp)
    38cc:	05812c23          	sw	s8,88(sp)
    38d0:	00068a93          	mv	s5,a3
    38d4:	00070a13          	mv	s4,a4
    38d8:	00078993          	mv	s3,a5
    38dc:	06112e23          	sw	ra,124(sp)
    38e0:	05712e23          	sw	s7,92(sp)
    38e4:	00058413          	mv	s0,a1
    38e8:	00050c13          	mv	s8,a0
    38ec:	00060b13          	mv	s6,a2
    38f0:	00b12623          	sw	a1,12(sp)
    38f4:	05010693          	addi	a3,sp,80
    38f8:	00048713          	mv	a4,s1
    38fc:	00090793          	mv	a5,s2
    3900:	0007a023          	sw	zero,0(a5)
    3904:	00072023          	sw	zero,0(a4)
    3908:	00478793          	addi	a5,a5,4
    390c:	00470713          	addi	a4,a4,4
    3910:	fed798e3          	bne	a5,a3,3900 <core_bench_state+0x5c>
    3914:	00044703          	lbu	a4,0(s0)
    3918:	12070e63          	beqz	a4,3a54 <core_bench_state+0x1b0>
    391c:	00c10b93          	addi	s7,sp,12
    3920:	03010593          	addi	a1,sp,48
    3924:	000b8513          	mv	a0,s7
    3928:	c39ff0ef          	jal	ra,3560 <core_state_transition>
    392c:	05010793          	addi	a5,sp,80
    3930:	00251513          	slli	a0,a0,0x2
    3934:	00a78533          	add	a0,a5,a0
    3938:	00c12703          	lw	a4,12(sp)
    393c:	fc052783          	lw	a5,-64(a0)
    3940:	00074703          	lbu	a4,0(a4)
    3944:	00178793          	addi	a5,a5,1
    3948:	fcf52023          	sw	a5,-64(a0)
    394c:	fc071ae3          	bnez	a4,3920 <core_bench_state+0x7c>
    3950:	00812623          	sw	s0,12(sp)
    3954:	01840c33          	add	s8,s0,s8
    3958:	00044703          	lbu	a4,0(s0)
    395c:	11847463          	bleu	s8,s0,3a64 <core_bench_state+0x1c0>
    3960:	00040793          	mv	a5,s0
    3964:	02c00613          	li	a2,44
    3968:	0080006f          	j	3970 <core_bench_state+0xcc>
    396c:	0007c703          	lbu	a4,0(a5)
    3970:	016746b3          	xor	a3,a4,s6
    3974:	00c70463          	beq	a4,a2,397c <core_bench_state+0xd8>
    3978:	00d78023          	sb	a3,0(a5)
    397c:	00c12783          	lw	a5,12(sp)
    3980:	014787b3          	add	a5,a5,s4
    3984:	00f12623          	sw	a5,12(sp)
    3988:	ff87e2e3          	bltu	a5,s8,396c <core_bench_state+0xc8>
    398c:	00044783          	lbu	a5,0(s0)
    3990:	00812623          	sw	s0,12(sp)
    3994:	04078063          	beqz	a5,39d4 <core_bench_state+0x130>
    3998:	00c10b93          	addi	s7,sp,12
    399c:	03010593          	addi	a1,sp,48
    39a0:	000b8513          	mv	a0,s7
    39a4:	bbdff0ef          	jal	ra,3560 <core_state_transition>
    39a8:	05010793          	addi	a5,sp,80
    39ac:	00251513          	slli	a0,a0,0x2
    39b0:	00a78533          	add	a0,a5,a0
    39b4:	00c12703          	lw	a4,12(sp)
    39b8:	fc052783          	lw	a5,-64(a0)
    39bc:	00074703          	lbu	a4,0(a4)
    39c0:	00178793          	addi	a5,a5,1
    39c4:	fcf52023          	sw	a5,-64(a0)
    39c8:	fc071ae3          	bnez	a4,399c <core_bench_state+0xf8>
    39cc:	00812623          	sw	s0,12(sp)
    39d0:	03847463          	bleu	s8,s0,39f8 <core_bench_state+0x154>
    39d4:	02c00693          	li	a3,44
    39d8:	00044783          	lbu	a5,0(s0)
    39dc:	0157c733          	xor	a4,a5,s5
    39e0:	00d78463          	beq	a5,a3,39e8 <core_bench_state+0x144>
    39e4:	00e40023          	sb	a4,0(s0)
    39e8:	00c12403          	lw	s0,12(sp)
    39ec:	01440433          	add	s0,s0,s4
    39f0:	00812623          	sw	s0,12(sp)
    39f4:	ff8462e3          	bltu	s0,s8,39d8 <core_bench_state+0x134>
    39f8:	02048413          	addi	s0,s1,32
    39fc:	0004a503          	lw	a0,0(s1)
    3a00:	00098593          	mv	a1,s3
    3a04:	00448493          	addi	s1,s1,4
    3a08:	234000ef          	jal	ra,3c3c <crcu32>
    3a0c:	00050593          	mv	a1,a0
    3a10:	00092503          	lw	a0,0(s2)
    3a14:	00490913          	addi	s2,s2,4
    3a18:	224000ef          	jal	ra,3c3c <crcu32>
    3a1c:	00050993          	mv	s3,a0
    3a20:	fc941ee3          	bne	s0,s1,39fc <core_bench_state+0x158>
    3a24:	07c12083          	lw	ra,124(sp)
    3a28:	07812403          	lw	s0,120(sp)
    3a2c:	07412483          	lw	s1,116(sp)
    3a30:	07012903          	lw	s2,112(sp)
    3a34:	06c12983          	lw	s3,108(sp)
    3a38:	06812a03          	lw	s4,104(sp)
    3a3c:	06412a83          	lw	s5,100(sp)
    3a40:	06012b03          	lw	s6,96(sp)
    3a44:	05c12b83          	lw	s7,92(sp)
    3a48:	05812c03          	lw	s8,88(sp)
    3a4c:	08010113          	addi	sp,sp,128
    3a50:	00008067          	ret
    3a54:	00812623          	sw	s0,12(sp)
    3a58:	01840c33          	add	s8,s0,s8
    3a5c:	f18462e3          	bltu	s0,s8,3960 <core_bench_state+0xbc>
    3a60:	f99ff06f          	j	39f8 <core_bench_state+0x154>
    3a64:	f2071ce3          	bnez	a4,399c <core_bench_state+0xf8>
    3a68:	f91ff06f          	j	39f8 <core_bench_state+0x154>

00003a6c <parseval>:
    3a6c:	00054583          	lbu	a1,0(a0)
    3a70:	02d00793          	li	a5,45
    3a74:	00100e13          	li	t3,1
    3a78:	00f59863          	bne	a1,a5,3a88 <parseval+0x1c>
    3a7c:	00154583          	lbu	a1,1(a0)
    3a80:	fff00e13          	li	t3,-1
    3a84:	00150513          	addi	a0,a0,1
    3a88:	03000793          	li	a5,48
    3a8c:	08f58063          	beq	a1,a5,3b0c <parseval+0xa0>
    3a90:	fd058813          	addi	a6,a1,-48
    3a94:	0ff87713          	andi	a4,a6,255
    3a98:	00900793          	li	a5,9
    3a9c:	00058693          	mv	a3,a1
    3aa0:	00000613          	li	a2,0
    3aa4:	04e7e063          	bltu	a5,a4,3ae4 <parseval+0x78>
    3aa8:	00154683          	lbu	a3,1(a0)
    3aac:	00000613          	li	a2,0
    3ab0:	00900893          	li	a7,9
    3ab4:	00c0006f          	j	3ac0 <parseval+0x54>
    3ab8:	00154683          	lbu	a3,1(a0)
    3abc:	fd058813          	addi	a6,a1,-48
    3ac0:	00261713          	slli	a4,a2,0x2
    3ac4:	00c70733          	add	a4,a4,a2
    3ac8:	fd068793          	addi	a5,a3,-48
    3acc:	00171713          	slli	a4,a4,0x1
    3ad0:	0ff7f793          	andi	a5,a5,255
    3ad4:	00068593          	mv	a1,a3
    3ad8:	00e80633          	add	a2,a6,a4
    3adc:	00150513          	addi	a0,a0,1
    3ae0:	fcf8fce3          	bleu	a5,a7,3ab8 <parseval+0x4c>
    3ae4:	04b00793          	li	a5,75
    3ae8:	00f68c63          	beq	a3,a5,3b00 <parseval+0x94>
    3aec:	04d00793          	li	a5,77
    3af0:	00f69463          	bne	a3,a5,3af8 <parseval+0x8c>
    3af4:	01461613          	slli	a2,a2,0x14
    3af8:	03c60533          	mul	a0,a2,t3
    3afc:	00008067          	ret
    3b00:	00a61613          	slli	a2,a2,0xa
    3b04:	03c60533          	mul	a0,a2,t3
    3b08:	00008067          	ret
    3b0c:	00154683          	lbu	a3,1(a0)
    3b10:	07800793          	li	a5,120
    3b14:	00000813          	li	a6,0
    3b18:	f8f69ae3          	bne	a3,a5,3aac <parseval+0x40>
    3b1c:	00250793          	addi	a5,a0,2
    3b20:	00000613          	li	a2,0
    3b24:	00900893          	li	a7,9
    3b28:	00500513          	li	a0,5
    3b2c:	0007c683          	lbu	a3,0(a5)
    3b30:	00461313          	slli	t1,a2,0x4
    3b34:	00178793          	addi	a5,a5,1
    3b38:	fd068713          	addi	a4,a3,-48
    3b3c:	f9f68593          	addi	a1,a3,-97
    3b40:	0ff77813          	andi	a6,a4,255
    3b44:	0ff5f593          	andi	a1,a1,255
    3b48:	0108f463          	bleu	a6,a7,3b50 <parseval+0xe4>
    3b4c:	f8b56ce3          	bltu	a0,a1,3ae4 <parseval+0x78>
    3b50:	00e8d463          	ble	a4,a7,3b58 <parseval+0xec>
    3b54:	fa968713          	addi	a4,a3,-87
    3b58:	00670633          	add	a2,a4,t1
    3b5c:	fd1ff06f          	j	3b2c <parseval+0xc0>

00003b60 <get_seed_args>:
    3b60:	00b54663          	blt	a0,a1,3b6c <get_seed_args+0xc>
    3b64:	00000513          	li	a0,0
    3b68:	00008067          	ret
    3b6c:	00251513          	slli	a0,a0,0x2
    3b70:	00a60533          	add	a0,a2,a0
    3b74:	00052503          	lw	a0,0(a0)
    3b78:	ef5ff06f          	j	3a6c <parseval>

00003b7c <crcu8>:
    3b7c:	ffffa637          	lui	a2,0xffffa
    3b80:	00800793          	li	a5,8
    3b84:	00160613          	addi	a2,a2,1 # ffffa001 <__global_pointer$+0xffff57f5>
    3b88:	00a5c733          	xor	a4,a1,a0
    3b8c:	fff78793          	addi	a5,a5,-1
    3b90:	0015d593          	srli	a1,a1,0x1
    3b94:	00177713          	andi	a4,a4,1
    3b98:	0ff7f793          	andi	a5,a5,255
    3b9c:	00c5c6b3          	xor	a3,a1,a2
    3ba0:	00155513          	srli	a0,a0,0x1
    3ba4:	00070663          	beqz	a4,3bb0 <crcu8+0x34>
    3ba8:	01069593          	slli	a1,a3,0x10
    3bac:	0105d593          	srli	a1,a1,0x10
    3bb0:	fc079ce3          	bnez	a5,3b88 <crcu8+0xc>
    3bb4:	00058513          	mv	a0,a1
    3bb8:	00008067          	ret

00003bbc <crcu16>:
    3bbc:	ffffa837          	lui	a6,0xffffa
    3bc0:	0ff57693          	andi	a3,a0,255
    3bc4:	00800793          	li	a5,8
    3bc8:	00180813          	addi	a6,a6,1 # ffffa001 <__global_pointer$+0xffff57f5>
    3bcc:	00d5c733          	xor	a4,a1,a3
    3bd0:	fff78793          	addi	a5,a5,-1
    3bd4:	0015d593          	srli	a1,a1,0x1
    3bd8:	00177713          	andi	a4,a4,1
    3bdc:	0ff7f793          	andi	a5,a5,255
    3be0:	0105c633          	xor	a2,a1,a6
    3be4:	0016d693          	srli	a3,a3,0x1
    3be8:	00070663          	beqz	a4,3bf4 <crcu16+0x38>
    3bec:	01061593          	slli	a1,a2,0x10
    3bf0:	0105d593          	srli	a1,a1,0x10
    3bf4:	fc079ce3          	bnez	a5,3bcc <crcu16+0x10>
    3bf8:	ffffa637          	lui	a2,0xffffa
    3bfc:	00855513          	srli	a0,a0,0x8
    3c00:	00800793          	li	a5,8
    3c04:	00160613          	addi	a2,a2,1 # ffffa001 <__global_pointer$+0xffff57f5>
    3c08:	00a5c733          	xor	a4,a1,a0
    3c0c:	fff78793          	addi	a5,a5,-1
    3c10:	0015d593          	srli	a1,a1,0x1
    3c14:	00177713          	andi	a4,a4,1
    3c18:	0ff7f793          	andi	a5,a5,255
    3c1c:	00c5c6b3          	xor	a3,a1,a2
    3c20:	00155513          	srli	a0,a0,0x1
    3c24:	00070663          	beqz	a4,3c30 <crcu16+0x74>
    3c28:	01069593          	slli	a1,a3,0x10
    3c2c:	0105d593          	srli	a1,a1,0x10
    3c30:	fc079ce3          	bnez	a5,3c08 <crcu16+0x4c>
    3c34:	00058513          	mv	a0,a1
    3c38:	00008067          	ret

00003c3c <crcu32>:
    3c3c:	ff010113          	addi	sp,sp,-16
    3c40:	00812423          	sw	s0,8(sp)
    3c44:	00050413          	mv	s0,a0
    3c48:	01051513          	slli	a0,a0,0x10
    3c4c:	01055513          	srli	a0,a0,0x10
    3c50:	00112623          	sw	ra,12(sp)
    3c54:	f69ff0ef          	jal	ra,3bbc <crcu16>
    3c58:	00050593          	mv	a1,a0
    3c5c:	01045513          	srli	a0,s0,0x10
    3c60:	00812403          	lw	s0,8(sp)
    3c64:	00c12083          	lw	ra,12(sp)
    3c68:	01010113          	addi	sp,sp,16
    3c6c:	f51ff06f          	j	3bbc <crcu16>

00003c70 <crc16>:
    3c70:	01051513          	slli	a0,a0,0x10
    3c74:	01055513          	srli	a0,a0,0x10
    3c78:	f45ff06f          	j	3bbc <crcu16>

00003c7c <check_data_types>:
    3c7c:	00000513          	li	a0,0
    3c80:	00008067          	ret

Disassembly of section .rodata:

00003c84 <list_known_crc>:
    3c84:	d4b0                	sw	a2,104(s1)
    3c86:	3340                	fld	fs0,160(a4)
    3c88:	6a79                	lui	s4,0x1e
    3c8a:	e714                	fsw	fa3,8(a4)
    3c8c:	e3c1                	bnez	a5,3d0c <errpat+0x8>
	...

00003c90 <matrix_known_crc>:
    3c90:	be52                	fsd	fs4,312(sp)
    3c92:	1199                	addi	gp,gp,-26
    3c94:	5608                	lw	a0,40(a2)
    3c96:	07471fd7          	0x7471fd7
	...

00003c9c <state_known_crc>:
    3c9c:	39bf5e47          	fmsub.s	ft8,ft10,fs11,ft7,unknown
    3ca0:	e5a4                	fsw	fs1,72(a1)
    3ca2:	8e3a                	mv	t3,a4
    3ca4:	8d84                	0x8d84
    3ca6:	0000                	unimp
    3ca8:	74617453          	0x74617453
    3cac:	6369                	lui	t1,0x1a
    3cae:	0000                	unimp
    3cb0:	6548                	flw	fa0,12(a0)
    3cb2:	7061                	c.lui	zero,0xffff8
    3cb4:	0000                	unimp
    3cb6:	0000                	unimp
    3cb8:	63617453          	0x63617453
    3cbc:	0000006b          	0x6b
    3cc0:	34b4                	fld	fa3,104(s1)
    3cc2:	0000                	unimp
    3cc4:	34b4                	fld	fa3,104(s1)
    3cc6:	0000                	unimp
    3cc8:	34f0                	fld	fa2,232(s1)
    3cca:	0000                	unimp
    3ccc:	34f0                	fld	fa2,232(s1)
    3cce:	0000                	unimp
    3cd0:	3554                	fld	fa3,168(a0)
	...

00003cd4 <intpat>:
    3cd4:	3da4                	fld	fs1,120(a1)
    3cd6:	0000                	unimp
    3cd8:	3dac                	fld	fa1,120(a1)
    3cda:	0000                	unimp
    3cdc:	3db4                	fld	fa3,120(a1)
    3cde:	0000                	unimp
    3ce0:	3dbc                	fld	fa5,120(a1)
	...

00003ce4 <floatpat>:
    3ce4:	3d74                	fld	fa3,248(a0)
    3ce6:	0000                	unimp
    3ce8:	3d80                	fld	fs0,56(a1)
    3cea:	0000                	unimp
    3cec:	3d8c                	fld	fa1,56(a1)
    3cee:	0000                	unimp
    3cf0:	3d98                	fld	fa4,56(a1)
	...

00003cf4 <scipat>:
    3cf4:	3d44                	fld	fs1,184(a0)
    3cf6:	0000                	unimp
    3cf8:	3d50                	fld	fa2,184(a0)
    3cfa:	0000                	unimp
    3cfc:	3d5c                	fld	fa5,184(a0)
    3cfe:	0000                	unimp
    3d00:	3d68                	fld	fa0,248(a0)
	...

00003d04 <errpat>:
    3d04:	3d14                	fld	fa3,56(a0)
    3d06:	0000                	unimp
    3d08:	3d20                	fld	fs0,120(a0)
    3d0a:	0000                	unimp
    3d0c:	3d2c                	fld	fa1,120(a0)
    3d0e:	0000                	unimp
    3d10:	3d38                	fld	fa4,120(a0)
    3d12:	0000                	unimp
    3d14:	3054                	fld	fa3,160(s0)
    3d16:	332e                	fld	ft6,232(sp)
    3d18:	2d65                	jal	43d0 <_edata+0x3c0>
    3d1a:	4631                	li	a2,12
    3d1c:	0000                	unimp
    3d1e:	0000                	unimp
    3d20:	542d                	li	s0,-21
    3d22:	542e                	lw	s0,232(sp)
    3d24:	71542b2b          	0x71542b2b
    3d28:	0000                	unimp
    3d2a:	0000                	unimp
    3d2c:	5431                	li	s0,-20
    3d2e:	65342e33          	0x65342e33
    3d32:	7a34                	flw	fa3,112(a2)
    3d34:	0000                	unimp
    3d36:	0000                	unimp
    3d38:	302e3433          	0x302e3433
    3d3c:	2d65                	jal	43f4 <_edata+0x3e4>
    3d3e:	5e54                	lw	a3,60(a2)
    3d40:	0000                	unimp
    3d42:	0000                	unimp
    3d44:	2e35                	jal	4080 <_edata+0x70>
    3d46:	3035                	jal	3572 <core_state_transition+0x12>
    3d48:	6530                	flw	fa2,72(a0)
    3d4a:	0000332b          	0x332b
    3d4e:	0000                	unimp
    3d50:	2e2d                	jal	408a <_edata+0x7a>
    3d52:	3231                	jal	365e <core_state_transition+0xfe>
    3d54:	322d6533          	0x322d6533
    3d58:	0000                	unimp
    3d5a:	0000                	unimp
    3d5c:	382d                	jal	3596 <core_state_transition+0x36>
    3d5e:	382b6537          	lui	a0,0x382b6
    3d62:	00003233          	snez	tp,zero
    3d66:	0000                	unimp
    3d68:	362e302b          	0x362e302b
    3d6c:	2d65                	jal	4424 <_edata+0x414>
    3d6e:	3231                	jal	367a <core_state_transition+0x11a>
    3d70:	0000                	unimp
    3d72:	0000                	unimp
    3d74:	352e3533          	0x352e3533
    3d78:	3434                	fld	fa3,104(s0)
    3d7a:	3030                	fld	fa2,96(s0)
    3d7c:	0000                	unimp
    3d7e:	0000                	unimp
    3d80:	312e                	fld	ft2,232(sp)
    3d82:	3332                	fld	ft6,296(sp)
    3d84:	3534                	fld	fa3,104(a0)
    3d86:	3030                	fld	fa2,96(s0)
    3d88:	0000                	unimp
    3d8a:	0000                	unimp
    3d8c:	312d                	jal	39b6 <core_bench_state+0x112>
    3d8e:	3031                	jal	359a <core_state_transition+0x3a>
    3d90:	372e                	fld	fa4,232(sp)
    3d92:	3030                	fld	fa2,96(s0)
    3d94:	0000                	unimp
    3d96:	0000                	unimp
    3d98:	362e302b          	0x362e302b
    3d9c:	3434                	fld	fa3,104(s0)
    3d9e:	3030                	fld	fa2,96(s0)
    3da0:	0000                	unimp
    3da2:	0000                	unimp
    3da4:	3035                	jal	35d0 <core_state_transition+0x70>
    3da6:	3231                	jal	36b2 <core_state_transition+0x152>
    3da8:	0000                	unimp
    3daa:	0000                	unimp
    3dac:	3231                	jal	36b8 <core_state_transition+0x158>
    3dae:	00003433          	snez	s0,zero
    3db2:	0000                	unimp
    3db4:	382d                	jal	35ee <core_state_transition+0x8e>
    3db6:	00003437          	lui	s0,0x3
    3dba:	0000                	unimp
    3dbc:	3232312b          	0x3232312b
    3dc0:	0000                	unimp
	...

Disassembly of section .data:

00004000 <mem_name>:
    4000:	3ca8                	fld	fa0,120(s1)
    4002:	0000                	unimp
    4004:	3cb0                	fld	fa2,120(s1)
    4006:	0000                	unimp
    4008:	3cb8                	fld	fa4,120(s1)
	...

Disassembly of section .sdata:

0000400c <default_num_contexts>:
    400c:	0001                	nop
	...

Disassembly of section .bss:

00004010 <static_memblk>:
	...

Disassembly of section .comment:

00000000 <.comment>:
   0:	3a434347          	fmsub.d	ft6,ft6,ft4,ft7,rmm
   4:	2820                	fld	fs0,80(s0)
   6:	29554e47          	fmsub.s	ft8,fa0,fs5,ft5,rmm
   a:	3720                	fld	fs0,104(a4)
   c:	322e                	fld	ft4,232(sp)
   e:	302e                	fld	ft0,232(sp)
	...
