Inversion

Submission Date: 2024/9/10 22:09:52
Status: Accepted
Author: anjn
Lines: 67

VSM

imm i"1" $r3v2/1000
imm i"2" $r5v2/1000
imm i"3" $r7v2/1000
imm i"1" $ln40/1000
imm i"0x40100000" $r16/1000 # double 4.0
imm i"0x43300000" $s18/1000 $r18/1000 # for double itof
# j+1
linc $lr0v $lr32v
# float j+1 (1)
lor $aluf $ls18 $nowrite
# k # float j+1 (2)
llsl $l2bid $lr6 $nowrite ; dvadd $aluf -$ls18 $ls128v
lor $l1bid $aluf $ls0v
llsl $aluf $lr2 $t; noforward
# float k (1)
lor $aluf $ls18 $nowrite
# A[k]+1
iinc $lmt $lt ; noforward
# float k (2)
dvadd $aluf -$ls18 $lm128v
nop
dvadd $mauf -$ls128v $omr2
isub $lm0v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm8v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm16v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm24v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm32v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm40v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm48v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm56v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm64v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm72v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm80v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm88v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm96v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm104v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm112v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1 ; dvadd $lm128v -$mauf $omr2
isub $lm120v $lt $omr1/$imr2 ; dvadd $ls128v $lr16 $ls128v
iadd $ln40 $lr48v $lr48v/$imr1
nop
lpassa $lr48v $ls48v
d getf $lr48n0c0b4m0p0 4
nop
iadd $lr48v $ls50v $nowrite
iadd $aluf $ls52v $nowrite
iadd $aluf $ls54v $lr48v
d getf $lr48m0p0 1
# PE -> L1BM concat, 256LW
l1bmd $aluf $lb0
nop/2
#d getf $lb0n0c0b3 64
# L1BM -> L2BM reduce, 64LW/inst
l2bmriiadd $lb0 $lc0
#d getf $lc0n0c0 64
# L2BM -> PDM reduce, 64LW
nop
mvriiadd/n64i01 $lc0 $p0@0
nop/2
# PDM -> L2BM broadcast
mvb/n64 $p0@0 $lc0
#d getf $lc0n0c0 64
# L2BM -> L1BM broadcast, 64LW
l2bmb $lc0 $lb0
nop/2
# L1BM -> L2BM dist
l1bmd $lb0 $ln0v
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Standard Output

ACCEPTED!! score=67 j=65 m=2 bytes=2606
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
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