sysy-data/performance_c/asm/03_sort3.s

2338 lines
33 KiB
ArmAsm
Raw Normal View History

2024-06-14 13:10:27 +08:00
.file "03_sort3.sy"
.option pic
.attribute arch, "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0"
.attribute unaligned_access, 0
.attribute stack_align, 16
.text
.align 1
.globl getMaxNum
.type getMaxNum, @function
getMaxNum:
ble a0,zero,.L5
slli a0,a0,2
add a3,a1,a0
li a0,0
.L4:
lw a5,0(a1)
addi a1,a1,4
mv a4,a5
bge a5,a0,.L3
mv a4,a0
.L3:
sext.w a0,a4
bne a3,a1,.L4
ret
.L5:
li a0,0
ret
.size getMaxNum, .-getMaxNum
.align 1
.globl getNumPos
.type getNumPos, @function
getNumPos:
ble a1,zero,.L9
li a4,0
.L10:
sraiw a5,a0,31
srliw a5,a5,28
addw a0,a5,a0
addiw a4,a4,1
sraiw a0,a0,4
bne a1,a4,.L10
.L9:
sraiw a5,a0,31
srliw a5,a5,28
addw a0,a5,a0
andi a0,a0,15
subw a0,a0,a5
ret
.size getNumPos, .-getNumPos
.align 1
.globl radixSort
.type radixSort, @function
radixSort:
addi sp,sp,-256
sd ra,248(sp)
sd s0,240(sp)
sd s1,232(sp)
sd s2,224(sp)
sd s3,216(sp)
sd s4,208(sp)
sd s5,200(sp)
sd s6,192(sp)
sd zero,0(sp)
sd zero,8(sp)
sd zero,16(sp)
sd zero,24(sp)
sd zero,32(sp)
sd zero,40(sp)
sd zero,48(sp)
sd zero,56(sp)
sd zero,64(sp)
sd zero,72(sp)
sd zero,80(sp)
sd zero,88(sp)
sd zero,96(sp)
sd zero,104(sp)
sd zero,112(sp)
sd zero,120(sp)
sd zero,128(sp)
sd zero,136(sp)
sd zero,144(sp)
sd zero,152(sp)
sd zero,160(sp)
sd zero,168(sp)
sd zero,176(sp)
sd zero,184(sp)
li a4,-1
beq a0,a4,.L12
addiw a4,a2,1
mv s3,a2
bge a4,a3,.L12
subw a3,a3,a2
slli a3,a3,32
srli a3,a3,32
add a3,a3,a2
slli a3,a3,2
slli a2,a2,2
mv s5,a0
mv s2,a1
add a2,a1,a2
add a3,a1,a3
.L20:
lw a1,0(a2)
ble s5,zero,.L15
mv a6,a1
li a0,0
.L16:
sraiw a5,a6,31
srliw a5,a5,28
addw a5,a5,a6
mv a7,a0
addiw a0,a0,1
sraiw a6,a5,4
bne s5,a0,.L16
sraiw a5,a5,31
srliw a5,a5,28
addw a4,a6,a5
andi a4,a4,15
subw a5,a4,a5
slli a5,a5,2
addi a5,a5,192
add a5,a5,sp
lw t1,-64(a5)
li a0,0
.L19:
sraiw a5,a1,31
srliw a5,a5,28
addw a5,a5,a1
mv a6,a0
sraiw a1,a5,4
addiw a0,a0,1
bne a6,a7,.L19
sraiw a5,a5,31
srliw a5,a5,28
addw a4,a1,a5
andi a4,a4,15
subw a5,a4,a5
slli a5,a5,2
.L18:
addi a5,a5,192
add a5,a5,sp
addiw t1,t1,1
sw t1,-64(a5)
addi a2,a2,4
bne a2,a3,.L20
lw t3,128(sp)
lw t4,132(sp)
lw a7,136(sp)
lw t1,140(sp)
addw t3,t3,s3
addw t4,t3,t4
lw a0,144(sp)
addw a7,t4,a7
lw a6,148(sp)
addw t1,a7,t1
lw a2,152(sp)
addw a0,t1,a0
lw a1,156(sp)
addw a6,a0,a6
lw a3,160(sp)
addw a2,a6,a2
lw s4,164(sp)
addw a1,a2,a1
lw a4,168(sp)
addw a3,a1,a3
lw t0,172(sp)
addw s4,a3,s4
lw s0,176(sp)
addw a4,s4,a4
lw t6,180(sp)
addw t0,a4,t0
lw t5,184(sp)
addw s0,t0,s0
lw t2,188(sp)
addw t6,s0,t6
addw t5,t6,t5
li a5,-1
srli a5,a5,32
addw t2,t5,t2
and a7,a5,a7
and a0,a5,a0
and a2,a5,a2
slli t2,t2,32
and t5,a5,t5
slli t4,t4,32
and t3,a5,t3
slli a6,a6,32
slli a1,a1,32
slli s4,s4,32
and a3,a5,a3
slli t0,t0,32
and a4,a5,a4
slli t6,t6,32
and a5,a5,s0
slli t1,t1,32
addi s0,sp,64
or a3,a3,s4
or t1,a7,t1
or a4,a4,t0
or a7,a0,a6
or t5,t5,t2
or a6,a2,a1
or t3,t3,t4
or a5,a5,t6
mv a1,s0
li a2,60
addi a0,sp,4
sd a3,96(sp)
sd a4,104(sp)
mv s4,sp
sw s3,0(sp)
sd t3,64(sp)
sd t1,72(sp)
sd a7,80(sp)
sd a6,88(sp)
sd a5,112(sp)
sd t5,120(sp)
call memcpy@plt
mv a1,s0
mv a3,s4
li a4,0
li a0,16
.L21:
lw a5,0(a3)
lw a2,0(a1)
bge a5,a2,.L33
.L31:
slli a5,a5,2
add a5,s2,a5
lw a6,0(a5)
ble s5,zero,.L23
.L22:
mv t3,a6
li t1,0
.L28:
sraiw a5,t3,31
srliw a5,a5,28
addw a5,a5,t3
mv a7,t1
addiw t1,t1,1
sraiw t3,a5,4
bne s5,t1,.L28
sraiw a5,a5,31
srliw a5,a5,28
addw t4,t3,a5
andi t4,t4,15
subw t4,t4,a5
beq t4,a4,.L30
mv t4,a6
li t3,0
.L24:
sraiw a5,t4,31
srliw a5,a5,28
addw a5,a5,t4
mv t5,t3
sraiw t4,a5,4
addiw t3,t3,1
bne t5,a7,.L24
sraiw a5,a5,31
srliw a5,a5,28
addw t1,t4,a5
andi t1,t1,15
subw a5,t1,a5
slli a5,a5,2
addi a5,a5,192
add a5,a5,sp
lw a5,-192(a5)
mv t5,a6
li t4,0
slli a5,a5,2
add a5,s2,a5
lw t1,0(a5)
.L25:
sraiw a5,t5,31
srliw a5,a5,28
addw a5,a5,t5
mv t6,t4
sraiw t5,a5,4
addiw t4,t4,1
bne t6,a7,.L25
sraiw a5,a5,31
srliw a5,a5,28
addw t3,t5,a5
andi t3,t3,15
subw a5,t3,a5
slli a5,a5,2
addi a5,a5,192
add a5,a5,sp
lw a5,-192(a5)
mv t5,a6
li t4,0
slli a5,a5,2
add a5,s2,a5
sw a6,0(a5)
.L26:
sraiw a5,t5,31
srliw a5,a5,28
addw a5,a5,t5
mv t6,t4
sraiw t5,a5,4
addiw t4,t4,1
bne t6,a7,.L26
sraiw a5,a5,31
srliw a5,a5,28
addw t3,t5,a5
andi t3,t3,15
subw a5,t3,a5
slli a5,a5,2
addi a5,a5,192
add a5,a5,sp
lw t6,-192(a5)
li t4,0
.L27:
sraiw a5,a6,31
srliw a5,a5,28
addw a5,a5,a6
mv t5,t4
sraiw a6,a5,4
addiw t4,t4,1
bne t5,a7,.L27
sraiw a5,a5,31
srliw a5,a5,28
addw t3,a6,a5
andi t3,t3,15
subw a5,t3,a5
slli a5,a5,2
addi a5,a5,192
addiw a6,t6,1
add a5,a5,sp
sw a6,-192(a5)
mv a6,t1
j .L22
.L51:
lw a5,-192(a7)
slli t1,a5,2
add t1,s2,t1
lw t3,0(t1)
addiw a5,a5,1
sw a6,0(t1)
sw a5,-192(a7)
mv a6,t3
.L23:
sraiw a7,a6,31
srliw a7,a7,28
addw a5,a7,a6
andi a5,a5,15
subw a5,a5,a7
slli a7,a5,2
addi s1,a7,192
add a7,s1,sp
bne a5,a4,.L51
.L30:
lw a7,0(a3)
slli a5,a7,2
add a5,s2,a5
addiw a7,a7,1
sw a6,0(a5)
sw a7,0(a3)
sext.w a5,a7
blt a5,a2,.L31
.L33:
addiw a4,a4,1
addi a3,a3,4
addi a1,a1,4
bne a4,a0,.L21
lw a3,64(sp)
addiw s5,s5,-1
mv a2,s3
mv a1,s2
mv a0,s5
sw s3,0(sp)
addi s4,s4,4
call radixSort
addi s0,s0,4
addi s1,sp,132
li s3,1
li s6,16
.L34:
lw a2,-4(s0)
lw a5,0(s1)
mv a1,s2
sw a2,0(s4)
addw a3,a5,a2
sw a3,0(s0)
mv a0,s5
addiw s3,s3,1
addi s4,s4,4
call radixSort
addi s0,s0,4
addi s1,s1,4
bne s3,s6,.L34
.L12:
ld ra,248(sp)
ld s0,240(sp)
ld s1,232(sp)
ld s2,224(sp)
ld s3,216(sp)
ld s4,208(sp)
ld s5,200(sp)
ld s6,192(sp)
addi sp,sp,256
jr ra
.L15:
sraiw a4,a1,31
srliw a4,a4,28
addw a5,a4,a1
andi a5,a5,15
subw a5,a5,a4
slli a5,a5,2
addi a4,a5,192
add a4,a4,sp
lw t1,-64(a4)
j .L18
.size radixSort, .-radixSort
.section .text.startup,"ax",@progbits
.align 1
.globl main
.type main, @function
main:
addi sp,sp,-1968
lla a0,a
sd ra,1960(sp)
sd s0,1952(sp)
sd s1,1944(sp)
sd s2,1936(sp)
sd s3,1928(sp)
sd s4,1920(sp)
sd s5,1912(sp)
sd s6,1904(sp)
sd s7,1896(sp)
sd s8,1888(sp)
sd s9,1880(sp)
sd s10,1872(sp)
sd s11,1864(sp)
call getarray@plt
slli s1,a0,32
slli a5,a0,32
mv s0,a0
srli s1,s1,32
li a0,92
or s1,s1,a5
call _sysy_starttime@plt
li a5,1
sd zero,320(sp)
sd zero,328(sp)
sd zero,336(sp)
sd zero,344(sp)
sd zero,352(sp)
sd zero,360(sp)
sd zero,368(sp)
sd zero,376(sp)
sd zero,384(sp)
sd zero,392(sp)
sd zero,400(sp)
sd zero,408(sp)
sd zero,416(sp)
sd zero,424(sp)
sd zero,432(sp)
sd zero,440(sp)
sd zero,448(sp)
sd zero,456(sp)
sd zero,464(sp)
sd zero,472(sp)
sd zero,480(sp)
sd zero,488(sp)
sd zero,496(sp)
sd zero,504(sp)
ble s0,a5,.L187
addi s2,sp,384
li a2,60
mv a1,s2
addi a0,sp,324
sd s1,384(sp)
sd s1,392(sp)
sd s1,400(sp)
sd s1,408(sp)
sd s1,416(sp)
sd s1,424(sp)
sd s1,432(sp)
sd s1,440(sp)
sw s0,448(sp)
call memcpy@plt
lw a4,320(sp)
lw a5,384(sp)
addi a3,sp,320
mv s10,a3
mv s9,s2
lla s1,a
bge a4,a5,.L56
addiw t1,s0,-1
addiw a1,a4,1
slli a2,a4,2
lla s1,a
mv a7,t1
mv a0,a1
mv a6,a4
add a2,a2,s1
.L57:
slli a4,a4,2
add a4,a4,s1
lw t4,0(a4)
sext.w a4,a1
addiw t3,a4,-1
sw t4,0(a2)
addiw a1,a1,1
addi a2,a2,4
blt t3,t1,.L57
li a4,0
blt t1,a6,.L61
subw a4,a7,a6
.L61:
addw a4,a4,a0
sw a4,320(sp)
.L56:
li a2,0
li a1,16
.L63:
addiw a2,a2,1
addi a3,a3,4
addi s2,s2,4
beq a2,a1,.L62
lw a4,0(a3)
lw a0,0(s2)
ble a0,a4,.L63
lw a5,320(sp)
slli a4,a4,2
add a4,a4,s1
lw a4,0(a4)
slli a5,a5,2
add a5,a5,s1
.L59:
lw a3,0(a5)
sw a4,0(a5)
addi a5,a5,4
mv a4,a3
j .L59
.L62:
li a4,-1
sw zero,320(sp)
addi s11,sp,448
li a2,0
li s3,0
srli s5,a4,32
mv s7,s0
mv s6,s1
.L66:
sd zero,512(sp)
sd zero,520(sp)
sd zero,528(sp)
sd zero,536(sp)
sd zero,544(sp)
sd zero,552(sp)
sd zero,560(sp)
sd zero,568(sp)
sd zero,576(sp)
sd zero,584(sp)
sd zero,592(sp)
sd zero,600(sp)
sd zero,608(sp)
sd zero,616(sp)
sd zero,624(sp)
sd zero,632(sp)
sd zero,640(sp)
sd zero,648(sp)
sd zero,656(sp)
sd zero,664(sp)
sd zero,672(sp)
sd zero,680(sp)
sd zero,688(sp)
sd zero,696(sp)
addiw a4,a2,1
bge a4,a5,.L75
subw a5,a5,a2
slli a5,a5,32
srli a5,a5,32
add a5,a5,a2
slli a3,a2,2
slli a5,a5,2
add a3,a3,s6
add a5,a5,s6
.L67:
lw a1,0(a3)
addi a3,a3,4
sraiw a4,a1,31
srliw a4,a4,4
addw a4,a4,a1
sraiw a4,a4,28
slli a4,a4,2
addi a1,sp,320
addi a4,a4,1536
add a4,a4,a1
lw a1,-1216(a4)
addiw a1,a1,1
sw a1,-1216(a4)
bne a3,a5,.L67
lw t4,640(sp)
lw t3,644(sp)
lw t1,648(sp)
addw t4,t4,a2
lw a7,652(sp)
addw t3,t4,t3
lw a6,656(sp)
addw t1,t3,t1
lw a0,660(sp)
addw a7,t1,a7
lw a1,664(sp)
addw a6,a7,a6
lw a5,668(sp)
addw a0,a6,a0
addw a1,a0,a1
addw a5,a1,a5
slli s4,a5,32
and a4,s5,a5
and t0,s5,t3
and t6,s5,a7
slli t2,a1,32
and t5,s5,a0
slli s2,t4,32
and a3,a2,s5
slli s1,t1,32
slli ra,a6,32
or a4,a4,s4
or a3,a3,s2
or t0,t0,s1
or t6,t6,ra
or t5,t5,t2
sw t3,580(sp)
sw a7,588(sp)
sw a0,596(sp)
sw a1,600(sp)
sw a5,604(sp)
sw a5,608(sp)
sw a5,612(sp)
sw a5,616(sp)
sw a5,620(sp)
sw a5,624(sp)
sw a5,628(sp)
sw a5,632(sp)
sd a4,544(sp)
sd a4,552(sp)
sd a4,560(sp)
sd a4,568(sp)
sw a5,636(sp)
sw t4,576(sp)
addi a5,sp,512
sw t1,584(sp)
sw a6,592(sp)
sd a3,512(sp)
sd t0,520(sp)
sd t6,528(sp)
sd t5,536(sp)
addi a7,sp,576
sd a7,136(sp)
mv a0,a5
sd a5,120(sp)
mv a4,a2
li a1,0
li t3,16
.L68:
lw t1,0(a7)
ble t1,a4,.L73
.L71:
slli a6,a4,2
add a5,a6,s6
lw a3,0(a5)
sraiw a5,a3,31
srliw a5,a5,4
addw a5,a5,a3
sraiw a5,a5,28
beq a5,a1,.L69
.L70:
slli a5,a5,2
addi a4,sp,320
addi a5,a5,1536
add a5,a5,a4
lw a4,-1344(a5)
mv t5,a3
slli t4,a4,2
add t4,t4,s6
lw a3,0(t4)
addiw a6,a4,1
sw a6,-1344(a5)
sraiw a4,a3,31
srliw a4,a4,4
addw a4,a4,a3
sw t5,0(t4)
sraiw a5,a4,28
bne a1,a5,.L70
lw a4,0(a0)
slli a6,a4,2
.L69:
addiw a4,a4,1
add a6,a6,s6
sw a3,0(a6)
sw a4,0(a0)
blt a4,t1,.L71
.L73:
addiw a1,a1,1
addi a7,a7,4
addi a0,a0,4
beq a1,t3,.L72
lw a4,0(a0)
j .L68
.L175:
mv s6,s9
ld s7,280(sp)
ld s3,288(sp)
ld s9,296(sp)
.L75:
addiw s3,s3,1
li a5,16
addi s10,s10,4
addi s9,s9,4
addi s11,s11,4
beq s3,a5,.L65
lw a2,-4(s9)
lw a4,0(s11)
sw a2,0(s10)
addw a5,a4,a2
sw a5,0(s9)
j .L66
.L65:
lla s1,.LANCHOR0
lw a4,0(s1)
mv s0,s7
.L54:
lla a2,a
li a3,0
.L136:
lw a5,0(a2)
addiw a1,a3,2
addi a2,a2,4
remw a5,a5,a1
mulw a5,a5,a3
addiw a3,a3,1
addw a4,a5,a4
bne s0,a3,.L136
sw a4,0(s1)
.L55:
bge a4,zero,.L137
negw a4,a4
sw a4,0(s1)
.L137:
li a0,104
call _sysy_stoptime@plt
lw a0,0(s1)
call putint@plt
li a0,10
call putch@plt
ld ra,1960(sp)
ld s0,1952(sp)
ld s1,1944(sp)
ld s2,1936(sp)
ld s3,1928(sp)
ld s4,1920(sp)
ld s5,1912(sp)
ld s6,1904(sp)
ld s7,1896(sp)
ld s8,1888(sp)
ld s9,1880(sp)
ld s10,1872(sp)
ld s11,1864(sp)
li a0,0
addi sp,sp,1968
jr ra
.L72:
addi a4,sp,640
lw a5,576(sp)
sd a4,128(sp)
addi a4,sp,768
sd s9,296(sp)
sw a2,512(sp)
mv s0,a2
sd zero,0(sp)
sd a4,192(sp)
sd s7,280(sp)
sd s3,288(sp)
mv s9,s6
.L76:
sd zero,704(sp)
sd zero,712(sp)
sd zero,720(sp)
sd zero,728(sp)
sd zero,736(sp)
sd zero,744(sp)
sd zero,752(sp)
sd zero,760(sp)
sd zero,768(sp)
sd zero,776(sp)
sd zero,784(sp)
sd zero,792(sp)
sd zero,800(sp)
sd zero,808(sp)
sd zero,816(sp)
sd zero,824(sp)
sd zero,832(sp)
sd zero,840(sp)
sd zero,848(sp)
sd zero,856(sp)
sd zero,864(sp)
sd zero,872(sp)
sd zero,880(sp)
sd zero,888(sp)
addiw a4,s0,1
bge a4,a5,.L85
subw a4,a5,s0
slli a4,a4,32
srli a4,a4,32
add a4,a4,s0
slli a3,s0,2
slli a4,a4,2
add a3,a3,s9
add a4,a4,s9
.L77:
lw a2,0(a3)
addi a3,a3,4
sraiw a5,a2,31
srliw a5,a5,8
addw a5,a5,a2
sraiw a2,a5,31
srliw a2,a2,28
sraiw a5,a5,24
addw a5,a5,a2
andi a5,a5,15
subw a5,a5,a2
slli a5,a5,2
addi a2,sp,320
addi a5,a5,1536
add a5,a5,a2
lw a2,-1024(a5)
addiw a2,a2,1
sw a2,-1024(a5)
bne a3,a4,.L77
lw t2,832(sp)
lw t0,836(sp)
lw t6,840(sp)
addw t2,t2,s0
lw t5,844(sp)
addw t0,t2,t0
lw t4,848(sp)
addw t6,t0,t6
lw t3,852(sp)
addw t5,t6,t5
lw t1,856(sp)
addw t4,t5,t4
lw a7,860(sp)
addw t3,t4,t3
lw a6,864(sp)
addw t1,t3,t1
lw a0,868(sp)
addw a7,t1,a7
lw a1,872(sp)
addw a6,a7,a6
lw a2,876(sp)
addw a0,a6,a0
lw a3,880(sp)
addw a1,a0,a1
lw a4,884(sp)
addw a2,a1,a2
lw a5,888(sp)
slli s3,t1,32
addw a3,a2,a3
lw s8,892(sp)
slli ra,t2,32
sd s3,16(sp)
and s6,s5,t3
and s3,s5,a7
slli s7,a6,32
and s2,s0,s5
addw a4,a3,a4
or s2,s2,ra
sd s6,24(sp)
slli ra,t4,32
slli s6,a1,32
sd s7,32(sp)
sd s3,40(sp)
and s7,s5,a0
and s3,s5,a2
addw a5,a4,a5
sd ra,8(sp)
sd s6,48(sp)
sd s7,56(sp)
sd s3,64(sp)
sw a7,796(sp)
sw t2,768(sp)
sw t0,772(sp)
sw t6,776(sp)
sw t5,780(sp)
sw t4,784(sp)
sw t3,788(sp)
sw t1,792(sp)
sw a6,800(sp)
slli s3,a5,32
addw s8,a5,s8
sw a5,824(sp)
ld a5,8(sp)
and ra,s5,t5
and s6,s5,a4
or ra,ra,a5
sw a4,820(sp)
ld a5,16(sp)
ld a4,24(sp)
slli s7,a3,32
sw a3,816(sp)
or a3,a4,a5
ld a4,40(sp)
ld a5,32(sp)
sw a1,808(sp)
sw a2,812(sp)
or a1,a4,a5
ld a4,56(sp)
ld a5,48(sp)
sw a0,804(sp)
ld a0,192(sp)
or a2,a4,a5
ld a5,64(sp)
slli s1,t6,32
and s4,s5,t0
or a4,a5,s7
or a5,s6,s3
or s1,s4,s1
sd a5,760(sp)
addi a5,sp,704
sd a1,736(sp)
sd a2,744(sp)
sd a4,752(sp)
sd s2,704(sp)
sd s1,712(sp)
sd a0,104(sp)
sd ra,720(sp)
sd a3,728(sp)
sw s8,828(sp)
sd a5,112(sp)
mv a1,a5
mv a4,s0
li a2,0
li a7,16
.L78:
lw t1,0(a0)
ble t1,a4,.L83
.L81:
slli a6,a4,2
add a5,a6,s9
lw a3,0(a5)
sraiw a5,a3,31
srliw a5,a5,8
addw a5,a5,a3
sraiw t3,a5,31
srliw t3,t3,28
sraiw a5,a5,24
addw a5,a5,t3
andi a5,a5,15
subw a5,a5,t3
beq a5,a2,.L79
.L80:
slli a5,a5,2
addi a4,sp,320
addi a5,a5,1536
add a5,a5,a4
lw a4,-1152(a5)
mv t4,a3
slli a6,a4,2
add a6,a6,s9
lw a3,0(a6)
addiw t3,a4,1
sw t4,0(a6)
sraiw a4,a3,31
srliw a4,a4,8
addw a4,a4,a3
sraiw a6,a4,31
srliw a6,a6,28
sraiw a4,a4,24
addw a4,a4,a6
andi a4,a4,15
sw t3,-1152(a5)
subw a5,a4,a6
bne a5,a2,.L80
lw a4,0(a1)
slli a6,a4,2
.L79:
addiw a4,a4,1
add a6,a6,s9
sw a3,0(a6)
sw a4,0(a1)
bgt t1,a4,.L81
.L83:
addiw a2,a2,1
addi a0,a0,4
addi a1,a1,4
beq a2,a7,.L82
lw a4,0(a1)
j .L78
.L176:
mv s9,s10
ld s10,304(sp)
.L85:
ld a3,120(sp)
ld a5,0(sp)
ld a2,128(sp)
addi a1,a3,4
ld a3,136(sp)
addiw a4,a5,1
addi a2,a2,4
addi a3,a3,4
sd a4,0(sp)
li a5,16
sd a1,120(sp)
sd a3,136(sp)
sd a2,128(sp)
beq a4,a5,.L175
lw s0,-4(a3)
lw a4,0(a2)
sw s0,0(a1)
addw a5,a4,s0
sw a5,0(a3)
j .L76
.L82:
ld a5,192(sp)
addi a4,sp,832
sd a4,64(sp)
lw a5,0(a5)
addi a4,sp,1728
sd s10,304(sp)
sw s0,704(sp)
mv s3,s0
sd zero,16(sp)
sd a4,184(sp)
mv s10,s9
.L86:
sd zero,896(sp)
sd zero,904(sp)
sd zero,912(sp)
sd zero,920(sp)
sd zero,928(sp)
sd zero,936(sp)
sd zero,944(sp)
sd zero,952(sp)
sd zero,960(sp)
sd zero,968(sp)
sd zero,976(sp)
sd zero,984(sp)
sd zero,992(sp)
sd zero,1000(sp)
sd zero,1008(sp)
sd zero,1016(sp)
sd zero,1024(sp)
sd zero,1032(sp)
sd zero,1040(sp)
sd zero,1048(sp)
sd zero,1056(sp)
sd zero,1064(sp)
sd zero,1072(sp)
sd zero,1080(sp)
addiw a4,s3,1
bge a4,a5,.L95
subw a4,a5,s3
slli a4,a4,32
srli a4,a4,32
add a4,a4,s3
slli a3,s3,2
slli a4,a4,2
add a3,a3,s10
add a4,a4,s10
.L87:
lw a2,0(a3)
addi a3,a3,4
sraiw a5,a2,31
srliw a5,a5,12
addw a5,a5,a2
sraiw a2,a5,31
srliw a2,a2,28
sraiw a5,a5,20
addw a5,a5,a2
andi a5,a5,15
subw a5,a5,a2
slli a5,a5,2
addi a2,sp,320
addi a5,a5,1536
add a5,a5,a2
lw a2,-832(a5)
addiw a2,a2,1
sw a2,-832(a5)
bne a3,a4,.L87
lw t2,1024(sp)
lw t0,1028(sp)
lw t6,1032(sp)
addw t2,t2,s3
lw t5,1036(sp)
addw t0,t2,t0
lw t4,1040(sp)
addw t6,t0,t6
lw t3,1044(sp)
addw t5,t6,t5
lw t1,1048(sp)
addw t4,t5,t4
lw a7,1052(sp)
addw t3,t4,t3
lw a6,1056(sp)
addw t1,t3,t1
lw a0,1060(sp)
addw a7,t1,a7
lw a1,1064(sp)
addw a6,a7,a6
lw a2,1068(sp)
addw a0,a6,a0
lw a3,1072(sp)
addw a1,a0,a1
lw a4,1076(sp)
addw a2,a1,a2
lw a5,1080(sp)
slli ra,t2,32
and s2,s3,s5
addw a3,a2,a3
or s0,s2,ra
and ra,s5,t3
addw a4,a3,a4
sd ra,8(sp)
slli ra,a3,32
addw a5,a4,a5
sd ra,40(sp)
and ra,s5,a2
lw s8,1084(sp)
sd ra,48(sp)
slli ra,a5,32
slli s9,a6,32
slli s2,a1,32
sd ra,56(sp)
and ra,s5,a4
sd s0,896(sp)
sd s9,24(sp)
sd s2,32(sp)
sd ra,72(sp)
sw a7,988(sp)
sw t2,960(sp)
sw t0,964(sp)
sw t6,968(sp)
sw t5,972(sp)
sw t4,976(sp)
sw t3,980(sp)
sw t1,984(sp)
sw a6,992(sp)
addw s8,a5,s8
sw a5,1016(sp)
ld a5,8(sp)
slli s4,t1,32
and s9,s5,a7
or ra,a5,s4
ld a5,24(sp)
and s2,s5,a0
sw a3,1008(sp)
or s9,s9,a5
mv a5,s2
ld s2,32(sp)
sw a4,1012(sp)
ld a4,48(sp)
or a3,a5,s2
ld a5,40(sp)
sw a2,1004(sp)
ld a2,72(sp)
or a4,a4,a5
ld a5,56(sp)
slli s1,t6,32
and s7,s5,t0
or a5,a2,a5
slli s0,t4,32
and s6,s5,t5
sw a1,1000(sp)
or s1,s7,s1
or s0,s6,s0
addi a1,sp,960
sd a5,952(sp)
addi a5,sp,896
sd a3,936(sp)
sw a0,996(sp)
sd s1,904(sp)
sd a1,88(sp)
sd s0,912(sp)
sd ra,920(sp)
sd s9,928(sp)
sd a4,944(sp)
sw s8,1020(sp)
sd a5,96(sp)
mv a2,a5
mv a7,s3
li a3,0
li a6,16
.L88:
lw t1,0(a1)
bge a7,t1,.L93
.L91:
slli a4,a7,2
add a5,a4,s10
lw a0,0(a5)
sraiw a5,a0,31
srliw a5,a5,12
addw a5,a5,a0
sraiw t3,a5,31
srliw t3,t3,28
sraiw a5,a5,20
addw a5,a5,t3
andi a5,a5,15
subw a5,a5,t3
beq a5,a3,.L89
.L90:
slli a5,a5,2
addi a5,a5,1536
addi a4,sp,320
add a4,a5,a4
lw a5,-960(a4)
mv t4,a0
slli a7,a5,2
add a7,a7,s10
lw a0,0(a7)
addiw t3,a5,1
sw t4,0(a7)
sraiw a5,a0,31
srliw a5,a5,12
addw a5,a5,a0
sraiw a7,a5,31
srliw a7,a7,28
sraiw a5,a5,20
addw a5,a5,a7
andi a5,a5,15
sw t3,-960(a4)
subw a5,a5,a7
bne a5,a3,.L90
lw a7,0(a2)
slli a4,a7,2
.L89:
addiw a7,a7,1
add a4,a4,s10
sw a0,0(a4)
sw a7,0(a2)
blt a7,t1,.L91
.L93:
addiw a3,a3,1
addi a1,a1,4
addi a2,a2,4
beq a3,a6,.L92
lw a7,0(a2)
j .L88
.L178:
mv s10,s8
.L95:
ld a3,112(sp)
ld a5,16(sp)
ld a2,64(sp)
addi a1,a3,4
ld a3,104(sp)
addiw a4,a5,1
addi a2,a2,4
addi a3,a3,4
sd a4,16(sp)
li a5,16
sd a1,112(sp)
sd a3,104(sp)
sd a2,64(sp)
beq a4,a5,.L176
lw s3,-4(a3)
lw a4,0(a2)
sw s3,0(a1)
addw a5,a4,s3
sw a5,0(a3)
j .L86
.L92:
lw a5,960(sp)
addi a4,sp,1024
sw s3,896(sp)
sd a4,80(sp)
mv s6,s3
sd zero,24(sp)
mv s8,s10
.L96:
sd zero,1088(sp)
sd zero,1096(sp)
sd zero,1104(sp)
sd zero,1112(sp)
sd zero,1120(sp)
sd zero,1128(sp)
sd zero,1136(sp)
sd zero,1144(sp)
sd zero,1152(sp)
sd zero,1160(sp)
sd zero,1168(sp)
sd zero,1176(sp)
sd zero,1184(sp)
sd zero,1192(sp)
sd zero,1200(sp)
sd zero,1208(sp)
sd zero,1216(sp)
sd zero,1224(sp)
sd zero,1232(sp)
sd zero,1240(sp)
sd zero,1248(sp)
sd zero,1256(sp)
sd zero,1264(sp)
sd zero,1272(sp)
addiw a4,s6,1
bge a4,a5,.L105
subw a4,a5,s6
slli a4,a4,32
srli a4,a4,32
add a4,a4,s6
slli a3,s6,2
slli a4,a4,2
add a3,a3,s8
add a4,a4,s8
.L97:
lw a2,0(a3)
addi a3,a3,4
sraiw a5,a2,31
srliw a5,a5,16
addw a5,a5,a2
sraiw a2,a5,31
srliw a2,a2,28
sraiw a5,a5,16
addw a5,a5,a2
andi a5,a5,15
subw a5,a5,a2
slli a5,a5,2
addi a2,sp,320
addi a5,a5,1536
add a5,a5,a2
lw a2,-640(a5)
addiw a2,a2,1
sw a2,-640(a5)
bne a4,a3,.L97
lw t2,1216(sp)
lw t0,1220(sp)
lw t6,1224(sp)
addw t2,t2,s6
lw t5,1228(sp)
addw t0,t2,t0
lw t4,1232(sp)
addw t6,t0,t6
lw t3,1236(sp)
addw t5,t6,t5
lw t1,1240(sp)
addw t4,t5,t4
lw a7,1244(sp)
addw t3,t4,t3
lw a6,1248(sp)
addw t1,t3,t1
lw a0,1252(sp)
addw a7,t1,a7
lw a1,1256(sp)
addw a6,a7,a6
lw a2,1260(sp)
addw a0,a6,a0
lw a3,1264(sp)
addw a1,a0,a1
lw a4,1268(sp)
addw a2,a1,a2
lw a5,1272(sp)
slli ra,t2,32
and s3,s6,s5
addw a3,a2,a3
or s0,s3,ra
and ra,s5,a7
addw a4,a3,a4
sd ra,32(sp)
slli ra,a3,32
addw a5,a4,a5
sd ra,48(sp)
and ra,s5,a2
lw s9,1276(sp)
sd ra,56(sp)
slli ra,a5,32
slli s3,a1,32
sd s0,1088(sp)
sd ra,72(sp)
and s0,s5,t0
and ra,s5,a4
sd s0,8(sp)
sd s3,40(sp)
sd ra,144(sp)
sw a7,1180(sp)
sw t2,1152(sp)
sw t0,1156(sp)
sw t6,1160(sp)
sw t5,1164(sp)
sw t4,1168(sp)
sw t3,1172(sp)
sw t1,1176(sp)
sw a6,1184(sp)
addw s9,a5,s9
sw a5,1208(sp)
ld a5,8(sp)
slli s2,t6,32
slli s10,a6,32
or s2,a5,s2
ld a5,32(sp)
and s3,s5,a0
sw a3,1200(sp)
or ra,a5,s10
mv a5,s3
ld s3,40(sp)
sw a4,1204(sp)
ld a4,56(sp)
or a3,a5,s3
ld a5,48(sp)
sw a2,1196(sp)
ld a2,144(sp)
or a4,a4,a5
ld a5,72(sp)
slli s7,t4,32
and s1,s5,t5
or a5,a2,a5
slli s4,t1,32
and s0,s5,t3
sw a1,1192(sp)
or s1,s1,s7
or s0,s0,s4
addi a1,sp,1152
sd a5,1144(sp)
addi a5,sp,1088
sd a3,1128(sp)
sw a0,1188(sp)
sd s2,1096(sp)
sd a1,48(sp)
sd s1,1104(sp)
sd s0,1112(sp)
sd ra,1120(sp)
sd a4,1136(sp)
sw s9,1212(sp)
sd a5,40(sp)
mv a2,a5
mv a7,s6
li a3,0
li a6,16
.L98:
lw t1,0(a1)
bge a7,t1,.L103
.L101:
slli a4,a7,2
add a5,a4,s8
lw a0,0(a5)
sraiw a5,a0,31
srliw a5,a5,16
addw a5,a5,a0
sraiw t3,a5,31
srliw t3,t3,28
sraiw a5,a5,16
addw a5,a5,t3
andi a5,a5,15
subw a5,a5,t3
beq a5,a3,.L99
.L100:
slli a5,a5,2
addi a5,a5,1536
addi a4,sp,320
add a4,a5,a4
lw a5,-768(a4)
mv t4,a0
slli a7,a5,2
add a7,a7,s8
lw a0,0(a7)
addiw t3,a5,1
sw t4,0(a7)
sraiw a5,a0,31
srliw a5,a5,16
addw a5,a5,a0
sraiw a7,a5,31
srliw a7,a7,28
sraiw a5,a5,16
addw a5,a5,a7
andi a5,a5,15
sw t3,-768(a4)
subw a5,a5,a7
bne a5,a3,.L100
lw a7,0(a2)
slli a4,a7,2
.L99:
addiw a7,a7,1
add a4,a4,s8
sw a0,0(a4)
sw a7,0(a2)
blt a7,t1,.L101
.L103:
addiw a3,a3,1
addi a1,a1,4
addi a2,a2,4
beq a3,a6,.L102
lw a7,0(a2)
j .L98
.L180:
mv s8,s6
.L105:
ld a3,96(sp)
ld a5,24(sp)
ld a2,80(sp)
addi a1,a3,4
ld a3,88(sp)
addiw a4,a5,1
addi a2,a2,4
addi a3,a3,4
sd a4,24(sp)
li a5,16
sd a1,96(sp)
sd a3,88(sp)
sd a2,80(sp)
beq a4,a5,.L178
lw s6,-4(a3)
lw a4,0(a2)
sw s6,0(a1)
addw a5,a4,s6
sw a5,0(a3)
j .L96
.L102:
addi a4,sp,1216
lw a5,1152(sp)
sd a4,56(sp)
addi a4,sp,1344
sw s6,1088(sp)
mv s10,s6
sd zero,32(sp)
sd a4,176(sp)
mv s6,s8
.L106:
sd zero,1280(sp)
sd zero,1288(sp)
sd zero,1296(sp)
sd zero,1304(sp)
sd zero,1312(sp)
sd zero,1320(sp)
sd zero,1328(sp)
sd zero,1336(sp)
sd zero,1344(sp)
sd zero,1352(sp)
sd zero,1360(sp)
sd zero,1368(sp)
sd zero,1376(sp)
sd zero,1384(sp)
sd zero,1392(sp)
sd zero,1400(sp)
sd zero,1408(sp)
sd zero,1416(sp)
sd zero,1424(sp)
sd zero,1432(sp)
sd zero,1440(sp)
sd zero,1448(sp)
sd zero,1456(sp)
sd zero,1464(sp)
addiw a4,s10,1
bge a4,a5,.L115
subw a4,a5,s10
slli a4,a4,32
srli a4,a4,32
add a4,a4,s10
slli a3,s10,2
slli a4,a4,2
add a3,a3,s6
add a4,a4,s6
.L107:
lw a2,0(a3)
addi a3,a3,4
sraiw a5,a2,31
srliw a5,a5,20
addw a5,a5,a2
sraiw a2,a5,31
srliw a2,a2,28
sraiw a5,a5,12
addw a5,a5,a2
andi a5,a5,15
subw a5,a5,a2
slli a5,a5,2
addi a2,sp,320
addi a5,a5,1536
add a5,a5,a2
lw a2,-448(a5)
addiw a2,a2,1
sw a2,-448(a5)
bne a3,a4,.L107
lw t2,1408(sp)
lw t0,1412(sp)
lw t6,1416(sp)
addw t2,t2,s10
lw t5,1420(sp)
addw t0,t2,t0
lw t4,1424(sp)
addw t6,t0,t6
lw t3,1428(sp)
addw t5,t6,t5
lw t1,1432(sp)
addw t4,t5,t4
lw a7,1436(sp)
addw t3,t4,t3
lw a6,1440(sp)
addw t1,t3,t1
lw a0,1444(sp)
addw a7,t1,a7
lw a1,1448(sp)
addw a6,a7,a6
lw a2,1452(sp)
addw a0,a6,a0
lw a3,1456(sp)
addw a1,a0,a1
lw a4,1460(sp)
addw a2,a1,a2
lw a5,1464(sp)
slli ra,t2,32
and s3,s10,s5
addw a3,a2,a3
or s0,s3,ra
and ra,s5,a7
addw a4,a3,a4
sd ra,72(sp)
slli ra,a3,32
addw a5,a4,a5
sd ra,152(sp)
and ra,s5,a2
lw s8,1468(sp)
sd ra,160(sp)
slli ra,a5,32
slli s3,a1,32
sd s0,1280(sp)
sd ra,168(sp)
and s0,s5,t5
and ra,s5,a4
sd s0,8(sp)
sd s3,144(sp)
sd ra,200(sp)
sw a7,1372(sp)
sw t2,1344(sp)
sw t0,1348(sp)
sw t6,1352(sp)
sw t5,1356(sp)
sw t4,1360(sp)
sw t3,1364(sp)
sw t1,1368(sp)
sw a6,1376(sp)
addw s8,a5,s8
sw a5,1400(sp)
ld a5,8(sp)
slli s1,t4,32
slli s9,a6,32
or s1,a5,s1
ld a5,72(sp)
and s3,s5,a0
sw a3,1392(sp)
or ra,a5,s9
mv a5,s3
ld s3,144(sp)
sw a4,1396(sp)
ld a4,160(sp)
or a3,a5,s3
ld a5,152(sp)
sw a2,1388(sp)
ld a2,200(sp)
or a4,a4,a5
ld a5,168(sp)
sw a1,1384(sp)
ld a1,176(sp)
and s7,s5,t0
slli s2,t6,32
slli s4,t1,32
and s0,s5,t3
or s2,s7,s2
or a5,a2,a5
or s0,s0,s4
sw s8,1404(sp)
addi s8,sp,1280
sd a3,1320(sp)
sw a0,1380(sp)
sd s2,1288(sp)
mv s7,a1
sd s1,1296(sp)
sd s0,1304(sp)
sd ra,1312(sp)
sd a4,1328(sp)
sd a5,1336(sp)
mv a2,s8
mv a7,s10
li a3,0
li a6,16
.L108:
lw t1,0(a1)
bge a7,t1,.L113
.L111:
slli a4,a7,2
add a5,a4,s6
lw a0,0(a5)
sraiw a5,a0,31
srliw a5,a5,20
addw a5,a5,a0
sraiw t3,a5,31
srliw t3,t3,28
sraiw a5,a5,12
addw a5,a5,t3
andi a5,a5,15
subw a5,a5,t3
beq a3,a5,.L109
.L110:
slli a5,a5,2
addi a5,a5,1536
addi a4,sp,320
add a4,a5,a4
lw a5,-576(a4)
mv t4,a0
slli a7,a5,2
add a7,a7,s6
lw a0,0(a7)
addiw t3,a5,1
sw t4,0(a7)
sraiw a5,a0,31
srliw a5,a5,20
addw a5,a5,a0
sraiw a7,a5,31
srliw a7,a7,28
sraiw a5,a5,12
addw a5,a5,a7
andi a5,a5,15
sw t3,-576(a4)
subw a5,a5,a7
bne a5,a3,.L110
lw a7,0(a2)
slli a4,a7,2
.L109:
addiw a7,a7,1
add a4,a4,s6
sw a0,0(a4)
sw a7,0(a2)
blt a7,t1,.L111
.L113:
addiw a3,a3,1
addi a1,a1,4
addi a2,a2,4
beq a3,a6,.L112
lw a7,0(a2)
j .L108
.L182:
ld s11,312(sp)
mv s6,s4
.L115:
ld a3,40(sp)
ld a5,32(sp)
ld a2,56(sp)
addi a1,a3,4
ld a3,48(sp)
addiw a4,a5,1
addi a2,a2,4
addi a3,a3,4
sd a4,32(sp)
li a5,16
sd a1,40(sp)
sd a3,48(sp)
sd a2,56(sp)
beq a4,a5,.L180
lw s10,-4(a3)
lw a4,0(a2)
sw s10,0(a1)
addw a5,a4,s10
sw a5,0(a3)
j .L106
.L112:
ld a5,176(sp)
addi a4,sp,1408
sd a4,152(sp)
lw a5,0(a5)
addi a4,sp,1536
sd a4,160(sp)
addi a4,sp,1664
sw s10,1280(sp)
li s9,0
sd a4,168(sp)
sd s11,312(sp)
mv s4,s6
.L116:
sd zero,1472(sp)
sd zero,1480(sp)
sd zero,1488(sp)
sd zero,1496(sp)
sd zero,1504(sp)
sd zero,1512(sp)
sd zero,1520(sp)
sd zero,1528(sp)
sd zero,1536(sp)
sd zero,1544(sp)
sd zero,1552(sp)
sd zero,1560(sp)
sd zero,1568(sp)
sd zero,1576(sp)
sd zero,1584(sp)
sd zero,1592(sp)
sd zero,1600(sp)
sd zero,1608(sp)
sd zero,1616(sp)
sd zero,1624(sp)
sd zero,1632(sp)
sd zero,1640(sp)
sd zero,1648(sp)
sd zero,1656(sp)
addiw a4,s10,1
bge a4,a5,.L125
subw a4,a5,s10
slli a4,a4,32
srli a4,a4,32
add a4,a4,s10
slli a3,s10,2
slli a4,a4,2
add a3,a3,s4
add a4,a4,s4
.L117:
lw a2,0(a3)
addi a3,a3,4
sraiw a5,a2,31
srliw a5,a5,24
addw a5,a5,a2
sraiw a2,a5,31
srliw a2,a2,28
sraiw a5,a5,8
addw a5,a5,a2
andi a5,a5,15
subw a5,a5,a2
slli a5,a5,2
addi a2,sp,320
addi a5,a5,1536
add a5,a5,a2
lw a2,-256(a5)
addiw a2,a2,1
sw a2,-256(a5)
bne a4,a3,.L117
lw t2,1600(sp)
lw t0,1604(sp)
lw t6,1608(sp)
addw t2,t2,s10
lw t5,1612(sp)
addw t0,t2,t0
lw t4,1616(sp)
addw t6,t0,t6
lw t3,1620(sp)
addw t5,t6,t5
lw t1,1624(sp)
addw t4,t5,t4
lw a7,1628(sp)
addw t3,t4,t3
lw a6,1632(sp)
addw t1,t3,t1
lw a0,1636(sp)
addw a7,t1,a7
lw a1,1640(sp)
addw a6,a7,a6
lw a2,1644(sp)
addw a0,a6,a0
lw a3,1648(sp)
addw a1,a0,a1
lw a4,1652(sp)
slli ra,t2,32
and s1,s10,s5
addw a2,a1,a2
or s0,s1,ra
lw a5,1656(sp)
slli ra,a1,32
addw a3,a2,a3
sd ra,200(sp)
and ra,s5,a0
addw a4,a3,a4
sd ra,208(sp)
slli ra,a3,32
addw a5,a4,a5
sd ra,216(sp)
and ra,s5,a2
lw s6,1660(sp)
slli s1,t4,32
sd ra,224(sp)
slli ra,a5,32
sd s1,8(sp)
slli s11,t1,32
slli s1,a6,32
sd ra,232(sp)
and ra,s5,a4
sd s0,1472(sp)
sd s11,72(sp)
sd s1,144(sp)
sd ra,240(sp)
sw t2,1536(sp)
sw t0,1540(sp)
sw t6,1544(sp)
sw t5,1548(sp)
sw t4,1552(sp)
sw t3,1556(sp)
sw t1,1560(sp)
addw s6,a5,s6
sw a5,1592(sp)
ld a5,8(sp)
and s2,s5,t5
and s1,s5,a7
or ra,s2,a5
ld a5,72(sp)
and s11,s5,t3
sw a2,1580(sp)
or s11,s11,a5
mv a5,s1
ld s1,144(sp)
sw a4,1588(sp)
ld a4,208(sp)
or a2,a5,s1
ld a5,200(sp)
sw a3,1584(sp)
sw a1,1576(sp)
or a3,a4,a5
ld a5,216(sp)
ld a4,224(sp)
ld a1,240(sp)
slli s0,t6,32
or a4,a4,a5
ld a5,232(sp)
and s3,s5,t0
or s0,s3,s0
or a5,a1,a5
ld a1,160(sp)
sw s6,1596(sp)
addi s6,sp,1472
sw a7,1564(sp)
sw a6,1568(sp)
sd a2,1504(sp)
sd a3,1512(sp)
sw a0,1572(sp)
sd s0,1480(sp)
sd a1,144(sp)
sd ra,1488(sp)
sd s11,1496(sp)
sd a4,1520(sp)
sd a5,1528(sp)
mv a2,s6
mv a7,s10
li a3,0
li a6,16
.L118:
lw t1,0(a1)
bge a7,t1,.L123
.L121:
slli a4,a7,2
add a5,a4,s4
lw a0,0(a5)
sraiw a5,a0,31
srliw a5,a5,24
addw a5,a5,a0
sraiw t3,a5,31
srliw t3,t3,28
sraiw a5,a5,8
addw a5,a5,t3
andi a5,a5,15
subw a5,a5,t3
beq a3,a5,.L119
.L120:
slli a5,a5,2
addi a5,a5,1536
addi a4,sp,320
add a4,a5,a4
lw a5,-384(a4)
mv t4,a0
slli a7,a5,2
add a7,a7,s4
lw a0,0(a7)
addiw t3,a5,1
sw t4,0(a7)
sraiw a5,a0,31
srliw a5,a5,24
addw a5,a5,a0
sraiw a7,a5,31
srliw a7,a7,28
sraiw a5,a5,8
addw a5,a5,a7
andi a5,a5,15
sw t3,-384(a4)
subw a5,a5,a7
bne a3,a5,.L120
lw a7,0(a2)
slli a4,a7,2
.L119:
addiw a7,a7,1
add a4,a4,s4
sw a0,0(a4)
sw a7,0(a2)
blt a7,t1,.L121
.L123:
addiw a3,a3,1
addi a1,a1,4
addi a2,a2,4
beq a3,a6,.L122
lw a7,0(a2)
j .L118
.L125:
ld a4,152(sp)
addiw s9,s9,1
li a5,16
addi a4,a4,4
sd a4,152(sp)
addi s8,s8,4
addi s7,s7,4
beq s9,a5,.L182
lw s10,-4(s7)
lw a4,0(a4)
sw s10,0(s8)
addw a5,a4,s10
sw a5,0(s7)
j .L116
.L122:
ld a5,160(sp)
addi a4,sp,1600
sw s10,1472(sp)
lw a5,0(a5)
sd a4,72(sp)
sd zero,8(sp)
.L126:
sd zero,1664(sp)
sd zero,1672(sp)
sd zero,1680(sp)
sd zero,1688(sp)
sd zero,1696(sp)
sd zero,1704(sp)
sd zero,1712(sp)
sd zero,1720(sp)
sd zero,1728(sp)
sd zero,1736(sp)
sd zero,1744(sp)
sd zero,1752(sp)
sd zero,1760(sp)
sd zero,1768(sp)
sd zero,1776(sp)
sd zero,1784(sp)
sd zero,1792(sp)
sd zero,1800(sp)
sd zero,1808(sp)
sd zero,1816(sp)
sd zero,1824(sp)
sd zero,1832(sp)
sd zero,1840(sp)
sd zero,1848(sp)
addiw a4,s10,1
bge a4,a5,.L135
subw a4,a5,s10
slli a4,a4,32
srli a4,a4,32
add a4,a4,s10
slli a3,s10,2
slli a4,a4,2
add a3,a3,s4
add a4,a4,s4
.L127:
lw a2,0(a3)
addi a3,a3,4
sraiw a5,a2,31
srliw a5,a5,28
addw a5,a5,a2
sraiw a2,a5,31
srliw a2,a2,28
sraiw a5,a5,4
addw a5,a5,a2
andi a5,a5,15
subw a5,a5,a2
slli a5,a5,2
addi a2,sp,320
addi a5,a5,1536
add a5,a5,a2
lw a2,-64(a5)
addiw a2,a2,1
sw a2,-64(a5)
bne a3,a4,.L127
lw t2,1792(sp)
lw t0,1796(sp)
lw t6,1800(sp)
addw t2,t2,s10
lw t5,1804(sp)
addw t0,t2,t0
lw t4,1808(sp)
addw t6,t0,t6
lw t3,1812(sp)
addw t5,t6,t5
lw t1,1816(sp)
addw t4,t5,t4
lw a7,1820(sp)
addw t3,t4,t3
lw a6,1824(sp)
addw t1,t3,t1
lw a0,1828(sp)
addw a7,t1,a7
lw a1,1832(sp)
addw a6,a7,a6
lw a2,1836(sp)
slli ra,t2,32
and s1,s10,s5
addw a0,a6,a0
or s0,s1,ra
lw a3,1840(sp)
slli ra,a6,32
addw a1,a0,a1
lw a4,1844(sp)
sd ra,216(sp)
and ra,s5,a7
addw a2,a1,a2
lw a5,1848(sp)
sd ra,224(sp)
slli ra,a1,32
addw a3,a2,a3
sd ra,232(sp)
and ra,s5,a0
addw a4,a3,a4
sd ra,240(sp)
slli ra,a3,32
addw a5,a4,a5
sd ra,248(sp)
and ra,s5,a2
lw s11,1852(sp)
slli s1,t4,32
sd ra,256(sp)
slli ra,a5,32
sd s1,200(sp)
sd ra,264(sp)
slli s1,t1,32
and ra,s5,a4
sd s0,1664(sp)
sd s1,208(sp)
sd ra,272(sp)
sw t2,1728(sp)
sw t0,1732(sp)
sw t6,1736(sp)
sw t5,1740(sp)
sw t4,1744(sp)
sw t3,1748(sp)
addw s11,a5,s11
sw a5,1784(sp)
ld a5,200(sp)
and s1,s5,t3
and s2,s5,t5
or ra,s2,a5
mv a5,s1
ld s1,208(sp)
sw a1,1768(sp)
sw a4,1780(sp)
or a1,a5,s1
ld a4,224(sp)
ld a5,216(sp)
sw a0,1764(sp)
sw a3,1776(sp)
or a0,a4,a5
ld a4,240(sp)
ld a5,232(sp)
sw a2,1772(sp)
ld a2,272(sp)
or a3,a4,a5
ld a5,248(sp)
ld a4,256(sp)
slli s0,t6,32
and s3,s5,t0
or a4,a4,a5
ld a5,264(sp)
sd a1,1688(sp)
ld a1,184(sp)
or a5,a2,a5
ld a2,168(sp)
or s0,s3,s0
sw a6,1760(sp)
sd a3,1704(sp)
sw t1,1752(sp)
sw a7,1756(sp)
sd s0,1672(sp)
sd ra,1680(sp)
sd a0,1696(sp)
sd a4,1712(sp)
sd a5,1720(sp)
sw s11,1788(sp)
mv a6,s10
li a3,0
.L128:
lw a7,0(a1)
bge a6,a7,.L133
.L131:
slli a4,a6,2
add a5,a4,s4
lw a0,0(a5)
sraiw a5,a0,31
srliw a5,a5,28
addw a5,a5,a0
sraiw t1,a5,31
srliw t1,t1,28
sraiw a5,a5,4
addw a5,a5,t1
andi a5,a5,15
subw a5,a5,t1
beq a3,a5,.L129
.L130:
slli a5,a5,2
addi a5,a5,1536
addi a4,sp,320
add a4,a5,a4
lw a5,-192(a4)
mv t3,a0
slli a6,a5,2
add a6,a6,s4
lw a0,0(a6)
addiw t1,a5,1
sw t3,0(a6)
sraiw a5,a0,31
srliw a5,a5,28
addw a5,a5,a0
sraiw a6,a5,31
srliw a6,a6,28
sraiw a5,a5,4
addw a5,a5,a6
andi a5,a5,15
sw t1,-192(a4)
subw a5,a5,a6
bne a3,a5,.L130
lw a6,0(a2)
slli a4,a6,2
.L129:
addiw a6,a6,1
add a4,a4,s4
sw a0,0(a4)
sw a6,0(a2)
blt a6,a7,.L131
.L133:
addiw a3,a3,1
li a5,16
addi a1,a1,4
addi a2,a2,4
beq a3,a5,.L132
lw a6,0(a2)
j .L128
.L132:
ld s0,184(sp)
ld a5,168(sp)
mv a2,s10
lw a3,0(s0)
lla a1,a
li a0,0
sw s10,1664(sp)
addi s3,a5,4
addi s0,s0,4
call radixSort
addi s2,sp,1796
li s1,1
.L134:
lw a2,-4(s0)
lw a5,0(s2)
lla a1,a
sw a2,0(s3)
addw a3,a5,a2
sw a3,0(s0)
li a0,0
call radixSort
addiw s1,s1,1
li a5,16
addi s3,s3,4
addi s0,s0,4
addi s2,s2,4
bne s1,a5,.L134
.L135:
ld a5,8(sp)
ld a3,72(sp)
addi s6,s6,4
addiw a4,a5,1
ld a5,144(sp)
addi a2,a3,4
sd a4,8(sp)
addi a5,a5,4
sd a5,144(sp)
sd a2,72(sp)
li a3,16
beq a4,a3,.L125
lw s10,-4(a5)
lw a4,0(a2)
mv a3,a5
sw s10,0(s6)
addw a5,a4,s10
sw a5,0(a3)
j .L126
.L187:
lla s1,.LANCHOR0
lw a4,0(s1)
bne s0,a5,.L55
j .L54
.size main, .-main
.globl ans
.globl a
.globl _sysy_idx
.globl _sysy_us
.globl _sysy_s
.globl _sysy_m
.globl _sysy_h
.globl _sysy_l2
.globl _sysy_l1
.globl _sysy_end
.globl _sysy_start
.bss
.align 3
.set .LANCHOR0,. + 0
.type ans, @object
.size ans, 4
ans:
.zero 4
.zero 4
.type a, @object
.size a, 120000040
a:
.zero 120000040
.type _sysy_idx, @object
.size _sysy_idx, 4
_sysy_idx:
.zero 4
.zero 4
.type _sysy_us, @object
.size _sysy_us, 4096
_sysy_us:
.zero 4096
.type _sysy_s, @object
.size _sysy_s, 4096
_sysy_s:
.zero 4096
.type _sysy_m, @object
.size _sysy_m, 4096
_sysy_m:
.zero 4096
.type _sysy_h, @object
.size _sysy_h, 4096
_sysy_h:
.zero 4096
.type _sysy_l2, @object
.size _sysy_l2, 4096
_sysy_l2:
.zero 4096
.type _sysy_l1, @object
.size _sysy_l1, 4096
_sysy_l1:
.zero 4096
.type _sysy_end, @object
.size _sysy_end, 16
_sysy_end:
.zero 16
.type _sysy_start, @object
.size _sysy_start, 16
_sysy_start:
.zero 16
.ident "GCC: (Debian 12.2.0-13) 12.2.0"
.section .note.GNU-stack,"",@progbits