Inversion

Submission Date: 2024/9/23 17:56:37
Status: Accepted
Author: clotz_sugar
Lines: 248

VSM

imm ui"1" $ls0x102
imm ui"3" $ls0x106
imm ui"7" $ls0x10e
imm ui"8" $ls0x110
imm ui"16" $ls0x120
imm ui"64" $ls0x140
imm ui"0x80808080" $ls0x112
imm ui"0xff" $ls0x114
imm ui"0x10101010" $ls0x116
imm ui"0x00010203" $ls8
imm ui"0x04050607" $ls10
imm ui"0x08090a0b" $ls12
imm ui"0x0c0d0e0f" $ls14
nop/2
ilsl $l2bid $ls0x106 $nowrite
ior $l1bid $aluf $lr256 #index
nop/2
ilsl $lr256 $ls0x102 $t
nop
ipassa $lmt0 $lr0v
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lr0v $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lr0v $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lr0v $lr0v
ipassa $lr256 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lr256 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lr256 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lr256 $nowrite
ior $aluf $ls0x112 $lr8v
########
#0-15
ilsl $lm0v8 $ls0x110 $nowrite
ior $aluf $lm2v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm4v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm6v8 $nowrite
ior $aluf $ls0x112 $ls0v
nop/2
isub $ls0v $lr0v $nowrite
iand $aluf $ls0x0112 $lr16v
isub $lr8v $ls8v $nowrite
iand $aluf $ls0x0112 $nowrite
ior $aluf $lr16v $nowrite
uilsr $aluf $ls0x10e $nowrite
iadd $aluf $lr24v $lr24v
#16-31
ipassa $ls8v $nowrite
iadd $aluf $ls0x116 $ls8v
ilsl $lm32v8 $ls0x110 $nowrite
ior $aluf $lm34v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm36v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm38v8 $nowrite
ior $aluf $ls0x112 $ls0v
nop/2
isub $ls0v $lr0v $nowrite
iand $aluf $ls0x0112 $lr16v
isub $lr8v $ls8v $nowrite
iand $aluf $ls0x0112 $nowrite
ior $aluf $lr16v $nowrite
uilsr $aluf $ls0x10e $nowrite
iadd $aluf $lr24v $lr24v
#32-47
ipassa $ls8v $nowrite
iadd $aluf $ls0x116 $ls8v
ilsl $lm64v8 $ls0x110 $nowrite
ior $aluf $lm66v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm68v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm70v8 $nowrite
ior $aluf $ls0x112 $ls0v
nop/2
isub $ls0v $lr0v $nowrite
iand $aluf $ls0x0112 $lr16v
isub $lr8v $ls8v $nowrite
iand $aluf $ls0x0112 $nowrite
ior $aluf $lr16v $nowrite
uilsr $aluf $ls0x10e $nowrite
iadd $aluf $lr24v $lr24v
#48-63
ipassa $ls8v $nowrite
iadd $aluf $ls0x116 $ls8v
ilsl $lm96v8 $ls0x110 $nowrite
ior $aluf $lm98v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm100v8 $nowrite
ilsl $aluf $ls0x110 $nowrite
ior $aluf $lm102v8 $nowrite
ior $aluf $ls0x112 $ls0v
nop/2
isub $ls0v $lr0v $nowrite
iand $aluf $ls0x0112 $lr16v
isub $lr8v $ls8v $nowrite
iand $aluf $ls0x0112 $nowrite
ior $aluf $lr16v $nowrite
uilsr $aluf $ls0x10e $nowrite
iadd $aluf $lr24v $lr24v
######## sum
nop
uilsr $lr24v $ls0x110 $nowrite
iadd $aluf $lr24v $lr24v
nop
uilsr $lr24v $ls0x120 $nowrite
iadd $aluf $lr24v $nowrite
iand $aluf $ls0x114 $lr24v $ls24v
nop
iadd $lr[24,26,28,30] $ls[26,24,30,28] $nowrite
ipassa $aluf $lr24v $ls24v
nop/2
iadd $lr[24,28,26,30] $ls[28,24,30,26] $nowrite
isub $ls0x140 $aluf $lr24v $ls24v
######## sum(L1B, L2B)
nop
l1bmd $lr24v $lb0
nop/2
l2bm@0 $lb0 $lc0x000
l2bm@1 $lb0 $lc0x040
l2bm@2 $lb0 $lc0x080
l2bm@3 $lb0 $lc0x0c0
l2bm@4 $lb0 $lc0x100
l2bm@5 $lb0 $lc0x140
l2bm@6 $lb0 $lc0x180
l2bm@7 $lb0 $lc0x1c0
nop
mvp/n512 $lc0@0.0 $d0x000@0
mvp/n512 $lc0@0.1 $d0x200@0
mvp/n512 $lc0@1.0 $d0x400@0
mvp/n512 $lc0@1.1 $d0x600@0
mvp/n512 $lc0@2.0 $d0x800@0
mvp/n512 $lc0@2.1 $d0xa00@0
mvp/n512 $lc0@3.0 $d0xc00@0
mvp/n512 $lc0@3.1 $d0xe00@0
mvp/n4096 $d0@0 $lc0@0.0
nop/2
l2bmb $lc0x000 $lb0x000
l2bmb $lc0x040 $lb0x040
l2bmb $lc0x080 $lb0x080
l2bmb $lc0x0c0 $lb0x0c0
l2bmb $lc0x100 $lb0x100
l2bmb $lc0x140 $lb0x140
l2bmb $lc0x180 $lb0x180
l2bmb $lc0x1c0 $lb0x1c0
l2bmb $lc0x200 $lb0x200
l2bmb $lc0x240 $lb0x240
l2bmb $lc0x280 $lb0x280
l2bmb $lc0x2c0 $lb0x2c0
l2bmb $lc0x300 $lb0x300
l2bmb $lc0x340 $lb0x340
l2bmb $lc0x380 $lb0x380
l2bmb $lc0x3c0 $lb0x3c0
l2bmb $lc0x400 $lb0x400
l2bmb $lc0x440 $lb0x440
l2bmb $lc0x480 $lb0x480
l2bmb $lc0x4c0 $lb0x4c0
l2bmb $lc0x500 $lb0x500
l2bmb $lc0x540 $lb0x540
l2bmb $lc0x580 $lb0x580
l2bmb $lc0x5c0 $lb0x5c0
l2bmb $lc0x600 $lb0x600
l2bmb $lc0x640 $lb0x640
l2bmb $lc0x680 $lb0x680
l2bmb $lc0x6c0 $lb0x6c0
l2bmb $lc0x700 $lb0x700
l2bmb $lc0x740 $lb0x740
l2bmb $lc0x780 $lb0x780
l2bmb $lc0x7c0 $lb0x7c0
l2bmb $lc0x800 $lb0x800
l2bmb $lc0x840 $lb0x840
l2bmb $lc0x880 $lb0x880
l2bmb $lc0x8c0 $lb0x8c0
l2bmb $lc0x900 $lb0x900
l2bmb $lc0x940 $lb0x940
l2bmb $lc0x980 $lb0x980
l2bmb $lc0x9c0 $lb0x9c0
l2bmb $lc0xa00 $lb0xa00
l2bmb $lc0xa40 $lb0xa40
l2bmb $lc0xa80 $lb0xa80
l2bmb $lc0xac0 $lb0xac0
l2bmb $lc0xb00 $lb0xb00
l2bmb $lc0xb40 $lb0xb40
l2bmb $lc0xb80 $lb0xb80
l2bmb $lc0xbc0 $lb0xbc0
l2bmb $lc0xc00 $lb0xc00
l2bmb $lc0xc40 $lb0xc40
l2bmb $lc0xc80 $lb0xc80
l2bmb $lc0xcc0 $lb0xcc0
l2bmb $lc0xd00 $lb0xd00
l2bmb $lc0xd40 $lb0xd40
l2bmb $lc0xd80 $lb0xd80
l2bmb $lc0xdc0 $lb0xdc0
l2bmb $lc0xe00 $lb0xe00
l2bmb $lc0xe40 $lb0xe40
l2bmb $lc0xe80 $lb0xe80
l2bmb $lc0xec0 $lb0xec0
l2bmb $lc0xf00 $lb0xf00
l2bmb $lc0xf40 $lb0xf40
l2bmb $lc0xf80 $lb0xf80
l2bmb $lc0xfc0 $lb0xfc0
l1bmd $lb0x000 $ln0v
l1bmd $lb0x100 $ln8v
l1bmd $lb0x200 $ln16v
l1bmd $lb0x300 $ln24v
l1bmd $lb0x400 $ln32v
l1bmd $lb0x500 $ln40v
l1bmd $lb0x600 $ln48v
l1bmd $lb0x700 $ln56v
l1bmd $lb0x800 $ln64v
l1bmd $lb0x900 $ln72v
l1bmd $lb0xa00 $ln80v
l1bmd $lb0xb00 $ln88v
l1bmd $lb0xc00 $ln96v
l1bmd $lb0xd00 $ln104v
l1bmd $lb0xe00 $ln112v
l1bmd $lb0xf00 $ln120v
# sum
nop/2
ipassa $ln0v $nowrite
iadd $aluf $ln8v $nowrite
iadd $aluf $ln16v $nowrite
iadd $aluf $ln24v $nowrite
iadd $aluf $ln32v $nowrite
iadd $aluf $ln40v $nowrite
iadd $aluf $ln48v $nowrite
iadd $aluf $ln56v $nowrite
iadd $aluf $ln64v $nowrite
iadd $aluf $ln72v $nowrite
iadd $aluf $ln80v $nowrite
iadd $aluf $ln88v $nowrite
iadd $aluf $ln96v $nowrite
iadd $aluf $ln104v $nowrite
iadd $aluf $ln112v $nowrite
iadd $aluf $ln120v $lr64v $ls64v
nop
iadd $lr[64,66,68,70] $ls[66,64,70,68] $nowrite
ipassa $aluf $lr64v $ls64v
nop/2
iadd $lr[64,68,66,70] $ls[68,64,70,66] $ln0v
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Standard Output

ACCEPTED!! score=248 j=239 m=9 bytes=5724
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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