Count Up

Submission Date: 2024/9/19 10:57:28
Status: Accepted
Author: suzumushi
Lines: 41

VSM

imm i"3" $s1 # $s1: 3
ilsl $peid $aluf $nowrite # $peid << 3
ior $peid $aluf $t # $t = $peid << 3 | $peid
imm i"0b111000111" $nowrite
iand $t $aluf $t # $t = ($peid << 3)[8:6] | $peid[2:0]
ilsl $l1bid $s1 $nowrite # $l1bid << 3
ior $t $aluf $nowrite # index = ($peid << 3)[9:6] | $l1bid << 3 | $peid[2:0]
iadd $aluf $aluf $nowrite
iinc $aluf $r0v # index = index * 2 + 1
#
ilnot $l2bid $omr1 # $omr1: true if l2b1
iinc $r1 $r1 # $r1++
imm i"512" $lr0v/$imr1 # l2b1:: $lr0v = 512
#
nop
l1bmd $lr0v $lb0
nop/2
l2bmd $lb0 $lc0
#
# l2bm layout before mvr2iiadd
# l2bm0 [0..N-1] solution, [N..2N-1] [2N..3N-1] additional value
# l2bm1 [0..N-1] [N..2N-1] [2N..3N-1] additional value
# dram layout after mvr2iiadd
# dram [0..N-1] previous solution, [N..2N-1] updated solution [2N..3N-1] [3N..4N-1] updated additional value
#
mvp/n256 $lc0@.1 $d0 # N = 256
mvb2/n256 $d0 $lc256
mvb2/n256 $d0 $lc512
mvp/n256 $lc0@.0 $d0 # dram [0..256-1] solution
mvr2iiadd/n768 $lc0 $d256
#
mvb2/n1024 $d0 $lc0 # N = 512
mvb2/n512 $d512 $lc1024
mvp/n512 $d512 $lc0@.1
mvr2iiadd/n1536 $lc0 $d512
#
mvb2/n2048 $d0 $lc0 # N = 1024
mvb2/n1024 $d1024 $lc2048
mvp/n1024 $d1024 $lc0@.1
mvr2iiadd/n3072 $lc0 $d1024
#
mvb2/n4096 $d0 $lc0 # N = 2048
mvb2/n2048 $d2048 $lc4096
mvp/n2048 $d2048 $lc0@.1
mvr2iiadd/n6144 $lc0 $d2048
#
mvb2/n8192 $d0 $lc0 # N = 4096
mvb2/n4096 $d4096 $lc8192
mvp/n4096 $d4096 $lc0@.1
mvr2iiadd/n12288 $lc0 $d4096
#
mvp/n8192 $d0 $lc0@.0 # N = 8192
mvp/n8192 $d8192 $lc0@.1
mvr2iiadd/n8192 $lc0 $d8192
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Standard Output

ACCEPTED!! score=41 j=17 m=24 bytes=866
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Standard Error

------------------- vsm --------------------
imm i"3" $s1 # $s1: 3
ilsl $peid $aluf $nowrite # $peid << 3
ior $peid $aluf $t # $t = $peid << 3 | $peid
imm i"0b111000111" $nowrite
iand $t $aluf $t # $t = ($peid << 3)[8:6] | $peid[2:0]
ilsl $l1bid $s1 $nowrite # $l1bid << 3
ior $t $aluf $nowrite # index = ($peid << 3)[9:6] | $l1bid << 3 | $peid[2:0]
iadd $aluf $aluf $nowrite
iinc $aluf $r0v # index = index * 2 + 1
#
ilnot $l2bid $omr1 # $omr1: true if l2b1
iinc $r1 $r1 # $r1++
imm i"512" $lr0v/$imr1 # l2b1:: $lr0v = 512
#
nop
l1bmd $lr0v $lb0
nop/2
l2bmd $lb0 $lc0
#
# l2bm layout before mvr2iiadd
# l2bm0 [0..N-1] solution, [N..2N-1] [2N..3N-1] additional value
# l2bm1 [0..N-1] [N..2N-1] [2N..3N-1] additional value
# dram layout after mvr2iiadd
# dram [0..N-1] previous solution, [N..2N-1] updated solution [2N..3N-1] [3N..4N-1] updated additional value
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX