Submission Date: 2024/12/12 23:23:14
Status:
Accepted
Author: Fuyuru
Lines: 30
VSM
lpackbit $subpeid $t $nowrite; l1bmm@1 $lm0v $lb0
lsub $t $aluf $t
imm i"0x55555555" $lr8
#imm i"1"
iinc $lr0 $lr0/1000; l1bmp $lb0 $lm0v
#imm i"2"
iinc $aluf $lr2/1000; l1bmp $lb4 $lm8v
#imm i"4"
ilsl $lr0 $aluf $lr4/1000; l1bmp $lb8 $lm16v
#imm i"16"
ilsl $lr0 $aluf $lr6/1000; l1bmp $lb12 $lm24v
imm i"0x33333333" $lr10
imm i"0x0f0f0f0f" $lr12
ipassa $lmt6v8 $ls128v
#imm s"8"
imm i"524296" $lr14
imm i"32" $lr16
#x = (x & 0x55555555)<<1 | (x & 0xaaaaaaaa)>>1
uiand $ls128v $lr8 $ls0v
uisub $ls128v $aluf $ls8v
uilsl $ls0v $lr0 $ls0v
uilsr $ls8v $lr0 $ls8v
uior $ls0v $aluf $t
#x = (x & 0x33333333)<<2 | (x & 0xcccccccc)>>2
uiand $aluf $lr10 $ls0v
uisub $t $aluf $ls8v
uilsl $ls0v $lr2 $ls0v
uilsr $ls8v $lr2 $ls8v
uior $ls0v $aluf $t
#x = (x & 0x0f0f0f0f)<<4 | (x & 0xf0f0f0f0)>>4
uiand $aluf $lr12 $ls0v
uisub $t $aluf $ls8v
uilsl $ls0v $lr4 $ls0v
uilsr $ls8v $lr4 $ls8v
uior $ls0v $aluf $t
usbsr $aluf $lr14 $nowrite
uibsr $aluf $lr6 $nowrite
ulbsr $aluf $lr16 $ln[6,4,2,0]
Standard Output
ACCEPTED!! score=30 j=30 m=0 bytes=787
Standard Error
------------------- vsm --------------------
# ======= In(0): ((4:1, 4_PE:1))@LM0 / ULong =======
d set $lm0p0 1 5FE1DC66CBEA3DB3 # values=[6909045637428952499] / ULong @[0]
d set $lm0p1 1 F362035C2EF5950E # values=[17537583593393853710] / ULong @[1]
d set $lm0p2 1 BB63F46AC799D447 # values=[13502904847239337031] / ULong @[2]
d set $lm0p3 1 9941AEBC98CB2C14 # values=[11043299886329703444] / ULong @[3]
d set $lm2p0 1 27F0D66672221879 # values=[2878035897379592313] / ULong @[4]
d set $lm2p1 1 27EF41D21997F4D6 # values=[2877591057541362902] / ULong @[5]
d set $lm2p2 1 0EDE914A759155CA # values=[1071453510346823114] / ULong @[6]
d set $lm2p3 1 DDBDB857556DED74 # values=[15978129738215320948] / ULong @[7]
d set $lm4p0 1 99E2AC632492EB67 # values=[11088614774354930535] / ULong @[8]
d set $lm4p1 1 B5443E97A6A0A082 # values=[13061633640337809538] / ULong @[9]
d set $lm4p2 1 054506950E70FD34 # values=[379716980844854580] / ULong @[10]
d set $lm4p3 1 F84C0301B8D4E957 # values=[17891678725566949719] / ULong @[11]
d set $lm6p0 1 D51AF5EBF044FD9D # values=[15355856273170300317] / ULong @[12]
d set $lm6p1 1 365BDB2500330981 # values=[3916965252892395905] / ULong @[13]
d set $lm6p2 1 2E8C14BFFE0193BB # values=[3354078637317002171] / ULong @[14]
d set $lm6p3 1 2EF399149E1344A0 # values=[3383216058915832992] / ULong @[15]
lpackbit $subpeid $t $nowrite; l1bmm@1 $lm0v $lb0
lsub $t $aluf $t
imm i"0x55555555" $lr8
#imm i"1"
iinc $lr0 $lr0/1000; l1bmp $lb0 $lm0v
#imm i"2"
iinc $aluf $lr2/1000; l1bmp $lb4 $lm8v
#imm i"4"
ilsl $lr0 $aluf $lr4/1000; l1bmp $lb8 $lm16v
#imm i"16"
ilsl $lr0 $aluf $lr6/1000; l1bmp $lb12 $lm24v
imm i"0x33333333" $lr10
imm i"0x0f0f0f0f" $lr12
ipassa $lmt6v8 $ls128v
#imm s"8"
imm i"524296" $lr14
imm i"32" $lr16
#x = (x & 0x55555555)<<1 | (x & 0xaaaaaaaa)>>1
uiand $ls128v $lr8 $ls0v
uisub $ls128v $aluf $ls8v
uilsl $ls0v $lr0 $ls0v
uilsr $ls8v $lr0 $ls8v
uior $ls0v $aluf $t
#x = (x & 0x33333333)<<2 | (x & 0xcccccccc)>>2
uiand $aluf $lr10 $ls0v
uisub $t $aluf $ls8v
uilsl $ls0v $lr2 $ls0v
uilsr $ls8v $lr2 $ls8v
uior $ls0v $aluf $t
#x = (x & 0x0f0f0f0f)<<4 | (x & 0xf0f0f0f0)>>4
uiand $aluf $lr12 $ls0v
uisub $t $aluf $ls8v
uilsl $ls0v $lr4 $ls0v
uilsr $ls8v $lr4 $ls8v
uior $ls0v $aluf $t
usbsr $aluf $lr14 $nowrite
uibsr $aluf $lr6 $nowrite
ulbsr $aluf $lr16 $ln[6,4,2,0]
# ======= Out(0): ((4:1, 4_PE:1))@LM1 / ULong =======
d getd $ln0n0c0b0m0p0 1 # expect=[370078542095568756] / ULong @[0]
d getd $ln0n0c0b0m0p1 1 # expect=[15981446039897387380] / ULong @[1]
d getd $ln0n0c0b0m0p2 1 # expect=[9336186330676976236] / ULong @[2]
d getd $ln0n0c0b0m0p3 1 # expect=[13384454069006850219] / ULong @[3]
d getd $ln2n0c0b0m0p0 1 # expect=[16904027132072571423] / ULong @[4]
d getd $ln2n0c0b0m0p1 1 # expect=[3224311735261373088] / ULong @[5]
d getd $ln2n0c0b0m0p2 1 # expect=[4685156922615931565] / ULong @[6]
d getd $ln2n0c0b0m0p3 1 # expect=[16633844171009247129] / ULong @[7]
d getd $ln4n0c0b0m0p0 1 # expect=[3366360091671248315] / ULong @[8]
d getd $ln4n0c0b0m0p1 1 # expect=[6028782432990886768] / ULong @[9]
d getd $ln4n0c0b0m0p2 1 # expect=[7723648726274865124] / ULong @[10]
d getd $ln4n0c0b0m0p3 1 # expect=[11391930360950099940] / ULong @[11]
d getd $ln6n0c0b0m0p0 1 # expect=[2897172565664826009] / ULong @[12]
d getd $ln6n0c0b0m0p1 1 # expect=[16297288878252869341] / ULong @[13]
d getd $ln6n0c0b0m0p2 1 # expect=[8118212717048776399] / ULong @[14]
d getd $ln6n0c0b0m0p3 1 # expect=[14824820638861723642] / ULong @[15]
------------------- asm --------------------
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000001000000000000000000000000000000000000000011111111100100110001001010000001101000000000000000000010001011000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110000000000000
j 010000000000000000000010100000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100000010000010110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
j 010000000000000000000000010100000100001010000000000000000000000100000000000101010101010101010101000000000000000000000000000000000000000011111111101111110010101010000000000000000000000000000000000111000000000000000000000000000000001100000000000000000001000000000000000000000000000000010101010101000000000000000001000000000000000000000000000000010101010101000000000000000001000000000000000000000000000000010101010101000000000000
j 011100001000000000000000010100000000001010000000000000000000000100000000000110000000000000000001000000000000000000000000000000000000000011111111101000100000000111000000001000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110000000000000
j 011100001000000000000000010100000001001010000000000000000000000100000000000110000000001000000001000000000000000000000000000000000000000011111111101000100001100111000000001000000000010000000000000111000000000000000000000000000000001100000000000000000000010000000000000000000000000000000000001010000000000000000000010000000000000000000000000000000000001100000000000000000000010000000000000000000000000000000000001110000000000000
j 011100001000000000000000010100000010001010000000000000000000000100000000000110000000010000000001000000000000000000000000000000000000000011111111101010110000000110000000001000000000100000000000000111000000000000000000000000000000001100000000000000000000100000000000000000000000000000000000010010000000000000000000100000000000000000000000000000000000010100000000000000000000100000000000000000000000000000000000010110000000000000
j 011100001000000000000000010100000011001010000000000000000000000100000000000110000000011000000001000000000000000000000000000000000000000011111111101010110000000110000000001000000000110000000000000111000000000000000000000000000000001100000000000000000000110000000000000000000000000000000000011010000000000000000000110000000000000000000000000000000000011100000000000000000000110000000000000000000000000000000000011110000000000000
j 010000000000000000000000010100000101001010000000000000000000000100000000000100001100110011110011000000000000000000000000000000000000000011111111100111110110011001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000001010000000000000000000000000000001100110011000000000000000001010000000000000000000000000000001100110011000000000000000001010000000000000000000000000000001100110011000000000000
j 010000000000000000000000010100000110001010000000000000000000000100000000000011111100001111110000000000000000000000000000000000000000000011111111100111110001111000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000001100000000000000000000000000000111100001111000000000000000001100000000000000000000000000000111100001111000000000000000001100000000000000000000000000000111100001111000000000000
j 010000000000000000000000000000000000001010000000001010100000000100000000000000000000000110100001000000000000000000000000000000000000000011111111101010100000011111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000010000010000000000000000001110000000000000000000000000000000010000100000000000000000010110000000000000000000000000000000010000110000000000000000011110000000000000
j 010000000000000000000000010100000111001010000000000000000000000100000000000010000000001000000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000001110000000000000000000000000000000000001000000000000000000001110000000000000000000000000000000000001000000000000000000001110000000000000000000000000000000000001000000000000000
j 010000000000000000000000010100001000001010000000000000000000000100000000000000000000100000000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000010000000000000000000000000000000000000100000000000000000000010000000000000000000000000000000000000100000000000000000000010000000000000000000000000000000000000100000000000000000
j 010000000000000000000000000000000000001010000010001010000000000101010000000000000000000000000000000000000000000000000000000000000000000011111111101001011000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000001000000000010010000010000000000000000000000000000000000000001000000000100010000100000000000000000000000000000000000000001000000000110010000110000000000000000000000000
j 010000000000000000000000000000000000001010000000001010000010000101010000000000000000000000000000000000000000000000000000000000000000000011111111101000011000001110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000001010010000010000000000000000000000000000000000000000000000001100010000100000000000000000000000000000000000000000000000001110010000110000000000000000000000000
j 010000000000000000000000000000000000001010000000001010000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101010111000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000010000000010000000000000000000000000000000000000000000000000100000000100000000000000000000000000000000000000000000000000110000000110000000000000000000000000
j 010000000000000000000000000000000000001010000000001010000010000101000001000000000000000000000000000000000000000000000000000000000000000011111111101011001000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000001010000001010000000000000000000000000000000000000000000000001100000001100000000000000000000000000000000000000000000000001110000001110000000000000000000000000
j 010000000000000000000010100000000000001010000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101001101000001110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110000000000000000000000000
j 010000000000000000000000000000000000001010000010101010000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111101001011001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000001010000000010000000000000000000000000000000000000000000000001010000000100000000000000000000000000000000000000000000000001010000000110000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000001010000010000100000000000000000000000000000000000000000000000000000000000000000000000011111111101000011000010110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000101010000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101010111000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000010000000010000000010000000000000000000000000000000000000000010000000100000000100000000000000000000000000000000000000000010000000110000000110000000000000000000000000
j 010000000000000000000000000000000000001010000000101010000010000101000001000000000000000000000000000000000000000000000000000000000000000011111111101011001000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000010000001010000001010000000000000000000000000000000000000000010000001100000001100000000000000000000000000000000000000000010000001110000001110000000000000000000000000
j 010000000000000000000010100000000000001010000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101001101000001110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110000000000000000000000000
j 010000000000000000000000000000000000001010000011001010000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111101001011001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000001100000000010000000000000000000000000000000000000000000000001100000000100000000000000000000000000000000000000000000000001100000000110000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000001010000010000100000000000000000000000000000000000000000000000000000000000000000000000011111111101000011000010110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000001010000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000
j 010000000000000000000000000000000000001010000001001010000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101010111000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000100000000010000000010000000000000000000000000000000000000000100000000100000000100000000000000000000000000000000000000000100000000110000000110000000000000000000000000
j 010000000000000000000000000000000000001010000001001010000010000101000001000000000000000000000000000000000000000000000000000000000000000011111111101011001000001000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000100000001010000001010000000000000000000000000000000000000000100000001100000001100000000000000000000000000000000000000000100000001110000001110000000000000000000000000
j 010000000000000000000010100000000000001010000000000000000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101001101000001110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110000000000000000000000000
j 010000000000000000000000000000000000001010000011100000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111110011101001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000001110000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000000000000000001110000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000001100000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111101011101001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000110000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000100000000000000000100000000000000000000000000000000101000000000110000010000000000000000000011111111100011101001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000010000000000000000000000000000000000000000000100000000000000010000000000000000000000000000000000000000000010000000000000010000000000000000000000000000000000000000000000
------------------- emu --------------------
DEBUG-LM1(n0c0b0m0p0,0):(6.3157e-284) (0x0522c8792899cf74) #d getd $ln0n0c0b0m0p0 1 # expect=[370078542095568756] / ULong @[0]
DEBUG-LM1(n0c0b0m0p1,0):(-6.21958e+143) (0xddc9807ffd283174) #d getd $ln0n0c0b0m0p1 1 # expect=[15981446039897387380] / ULong @[1]
DEBUG-LM1(n0c0b0m0p2,0):(-3.91898e-301) (0x8190cc00a4dbda6c) #d getd $ln0n0c0b0m0p2 1 # expect=[9336186330676976236] / ULong @[2]
DEBUG-LM1(n0c0b0m0p3,0):(-1.53498e-30) (0xb9bf220fd7af58ab) #d getd $ln0n0c0b0m0p3 1 # expect=[13384454069006850219] / ULong @[3]
DEBUG-LM1(n0c0b0m0p0,2):(-2.90558e+205) (0xea972b1d80c0321f) #d getd $ln2n0c0b0m0p0 1 # expect=[16904027132072571423] / ULong @[4]
DEBUG-LM1(n0c0b0m0p1,2):(3.72214e-93) (0x2cbf0e70a960a2a0) #d getd $ln2n0c0b0m0p1 1 # expect=[3224311735261373088] / ULong @[5]
DEBUG-LM1(n0c0b0m0p2,2):(172205) (0x41050565e97c22ad) #d getd $ln2n0c0b0m0p2 1 # expect=[4685156922615931565] / ULong @[6]
DEBUG-LM1(n0c0b0m0p3,2):(-2.53295e+187) (0xe6d74924c6354799) #d getd $ln2n0c0b0m0p3 1 # expect=[16633844171009247129] / ULong @[7]
DEBUG-LM1(n0c0b0m0p0,4):(1.22067e-83) (0x2eb7b6aaea1dbdbb) #d getd $ln4n0c0b0m0p0 1 # expect=[3366360091671248315] / ULong @[8]
DEBUG-LM1(n0c0b0m0p1,4):(1.10712e+95) (0x53aa89ae52897b70) #d getd $ln4n0c0b0m0p1 1 # expect=[6028782432990886768] / ULong @[9]
DEBUG-LM1(n0c0b0m0p2,4):(2.04912e+208) (0x6b2fe9984b82f7e4) #d getd $ln4n0c0b0m0p2 1 # expect=[7723648726274865124] / ULong @[10]
DEBUG-LM1(n0c0b0m0p3,4):(-1.0535e-163) (0x9e18444e666b0fe4) #d getd $ln4n0c0b0m0p3 1 # expect=[11391930360950099940] / ULong @[11]
DEBUG-LM1(n0c0b0m0p0,6):(5.28516e-115) (0x2834d3193d758299) #d getd $ln6n0c0b0m0p0 1 # expect=[2897172565664826009] / ULong @[12]
DEBUG-LM1(n0c0b0m0p1,6):(-7.94721e+164) (0xe22b99e3562fc6dd) #d getd $ln6n0c0b0m0p1 1 # expect=[16297288878252869341] / ULong @[13]
DEBUG-LM1(n0c0b0m0p2,6):(5.10426e+234) (0x70a9af743ac046cf) #d getd $ln6n0c0b0m0p2 1 # expect=[8118212717048776399] / ULong @[14]
DEBUG-LM1(n0c0b0m0p3,6):(-2.98487e+66) (0xcdbc57d3663b87fa) #d getd $ln6n0c0b0m0p3 1 # expect=[14824820638861723642] / ULong @[15]
------------------- inputs --------------------
[ 6909045637428952499, 17537583593393853710, 13502904847239337031,
11043299886329703444, 2878035897379592313, 2877591057541362902,
1071453510346823114, 15978129738215320948, 11088614774354930535,
13061633640337809538, 379716980844854580, 17891678725566949719,
15355856273170300317, 3916965252892395905, 3354078637317002171,
3383216058915832992]
------------------- expect --------------------
[ 370078542095568756, 15981446039897387380, 9336186330676976236,
13384454069006850219, 16904027132072571423, 3224311735261373088,
4685156922615931565, 16633844171009247129, 3366360091671248315,
6028782432990886768, 7723648726274865124, 11391930360950099940,
2897172565664826009, 16297288878252869341, 8118212717048776399,
14824820638861723642]
------------------- actual --------------------
[ 370078542095568756, 15981446039897387380, 9336186330676976236,
13384454069006850219, 16904027132072571423, 3224311735261373088,
4685156922615931565, 16633844171009247129, 3366360091671248315,
6028782432990886768, 7723648726274865124, 11391930360950099940,
2897172565664826009, 16297288878252869341, 8118212717048776399,
14824820638861723642]
------------------- check result --------------------