Inversion

Submission Date: 2024/9/23 2:55:31
Status: Accepted
Author: nakario
Lines: 99

VSM

# $ls[192:200]: id(=(l2bid << 3) + l1bid) * 2
imm i"3" $nowrite
lbsl $l2bid $aluf $nowrite
ladd $l1bid $aluf $nowrite
lpackbit $aluf $ln0 $ls192v $t
# d getd $ls192m0p0 4
# $ls[216:224]: cycleid * 2
imm i"2" $s219/1000
imm i"4" $s221/1000
imm i"6" $s223/1000
# d get $ls216n0c0b0m0p0 4
# cycleid
imm i"8" $r225/1000
# LM0GRF1
lpassa $llm0v $lls0v
lpassa $llm16v $lls16v
lpassa $llm32v $lls32v
lpassa $llm48v $lls48v
lpassa $llm64v $lls64v
lpassa $llm80v $lls80v
lpassa $llm96v $lls96v
lpassa $llm112v $lls112v
# d get $ls0n0c0b0m0p0 64
# $ls224+1>=0>0
iinc $lmt0 $ls224
# d get $ls224n0c0m0p0 1
# Tindex*2+1 (T+1OK)
linc $ls216v $t $ls232v
# d get $tn0c0b0m0p0 4
# id*2>=index*2+1
lsub $ls192v $aluf $omr1
# d get $omr1n0c0b0 1
# $lr[0:8]inc
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
# d get $omr1n0c0b0 1
#
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
ladd $ls232v $lr224 $t $ls232v
lsub $ls192v $aluf $omr1
isub $lmt0 $ls224 $omr1/$imr1
iinc $lr0v $lr0v/$imr1
# 4
nop
iadd $ln0 $lr0 $nowrite
iadd $aluf $lr2 $nowrite
iadd $aluf $lr4 $nowrite
iadd $aluf $lr6 $ls0
# d get $ls0 1
# PE -> L1BM (PEx641LW/cycleL1BM64LW/cycle)
l1bmd $aluf $lb0
# d get $lb0 64
# L1BM -> L2BM (L1BML2BM16x4cycle=64LW)
nop/2
l2bmrliadd $lb0 $lc0
# d get $lc0 64
# L2BM -> DRAM (L2BMDRAM32x4cycle=128LW)
nop
mvrliadd/n128 $lc0 $d0
# d get $d0 64
# DRAM -> L2BM (DRAML2BM16x4cycle=64LW)
mvb4/n64 $d0 $lc0
# d get $lc0n0c0 64
# L2BM -> L1BM (L2BML1BM16x4cycle=64LW)
nop/2
l2bmb $lc0 $lb0
# d get $lb0n0c0 64
# L1BM -> PE (L1BM64LW/cyclePEx641LW/cycle)
nop/2
l1bmd $lb0 $ln0v
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Standard Output

ACCEPTED!! score=99 j=97 m=2 bytes=2354
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Standard Error

------------------- vsm --------------------
# ======= In(0): ((16_MAB:1, 4_PE:1, 2_W:1), (64:1))@LM0 / UInt =======
d set $lm0m0p0 1 0000003000000055 # values=[48, 85] / UInt @[0,0],[1,0]
d set $lm2m0p0 1 000000100000000D # values=[16, 13] / UInt @[0,1],[1,1]
d set $lm4m0p0 1 0000006100000059 # values=[97, 89] / UInt @[0,2],[1,2]
d set $lm6m0p0 1 000000450000001B # values=[69, 27] / UInt @[0,3],[1,3]
d set $lm8m0p0 1 0000004500000056 # values=[69, 86] / UInt @[0,4],[1,4]
d set $lm10m0p0 1 000000610000004D # values=[97, 77] / UInt @[0,5],[1,5]
d set $lm12m0p0 1 0000004000000057 # values=[64, 87] / UInt @[0,6],[1,6]
d set $lm14m0p0 1 0000004900000001 # values=[73, 1] / UInt @[0,7],[1,7]
d set $lm16m0p0 1 0000005400000019 # values=[84, 25] / UInt @[0,8],[1,8]
d set $lm18m0p0 1 000000040000000D # values=[4, 13] / UInt @[0,9],[1,9]
d set $lm20m0p0 1 000000010000003A # values=[1, 58] / UInt @[0,10],[1,10]
d set $lm22m0p0 1 0000001500000037 # values=[21, 55] / UInt @[0,11],[1,11]
d set $lm24m0p0 1 0000003800000006 # values=[56, 6] / UInt @[0,12],[1,12]
d set $lm26m0p0 1 0000004100000002 # values=[65, 2] / UInt @[0,13],[1,13]
d set $lm28m0p0 1 0000004900000016 # values=[73, 22] / UInt @[0,14],[1,14]
d set $lm30m0p0 1 0000006100000011 # values=[97, 17] / UInt @[0,15],[1,15]
d set $lm32m0p0 1 0000000F00000025 # values=[15, 37] / UInt @[0,16],[1,16]
d set $lm34m0p0 1 0000003200000062 # values=[50, 98] / UInt @[0,17],[1,17]
d set $lm36m0p0 1 000000260000000E # values=[38, 14] / UInt @[0,18],[1,18]
d set $lm38m0p0 1 000000550000003F # values=[85, 63] / UInt @[0,19],[1,19]
d set $lm40m0p0 1 0000004B00000058 # values=[75, 88] / UInt @[0,20],[1,20]
d set $lm42m0p0 1 000000570000001B # values=[87, 27] / UInt @[0,21],[1,21]
d set $lm44m0p0 1 0000002700000049 # values=[39, 73] / UInt @[0,22],[1,22]
d set $lm46m0p0 1 0000002500000026 # values=[37, 38] / UInt @[0,23],[1,23]
 
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX