Submission Date: 2024/9/13 8:32:00
Status:
Accepted
Author: ush
Lines: 12
VSM
# | ((X[i] <<< 8) & 0x000000FF000000FF)
# | ((X[i] <<< 24) & 0x0000FF000000FF00)
# | ((X[i] <<< 40) & 0x00FF000000FF0000)
# | ((X[i] <<< 56) & 0xFF000000FF000000)
imm i"3" $lr0v
imm i"1" $nowrite
llsl $mabid $aluf $nowrite # 2
linc $aluf $nowrite # 3
llsl $aluf $lr0v $nowrite # 24
lbsl $lm0v $aluf $lr400v # X[i] <<< 24
llsl $mabid $lr0v $lr500v # 8
imm i"0x000000FF" $nowrite # 0x000000FF000000FF
lbsl $aluf $lr500v $nowrite # 0x0000FF000000FF00
land $lr400v $aluf $nowrite # (X[i] <<< 24) & 0x0000FF000000FF00
l1bmrlbor $aluf $lb0
l1bmm $lbi $ln0v
Standard Output
ACCEPTED!! score=12 j=12 m=0 bytes=277
Standard Error
------------------- vsm --------------------
# ======= In(0): ((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]
# | ((X[i] <<< 8) & 0x000000FF000000FF)
# | ((X[i] <<< 24) & 0x0000FF000000FF00)
# | ((X[i] <<< 40) & 0x00FF000000FF0000)
# | ((X[i] <<< 56) & 0xFF000000FF000000)
imm i"3" $lr0v
imm i"1" $nowrite
llsl $mabid $aluf $nowrite # 2
linc $aluf $nowrite # 3
llsl $aluf $lr0v $nowrite # 24
lbsl $lm0v $aluf $lr400v # X[i] <<< 24
llsl $mabid $lr0v $lr500v # 8
imm i"0x000000FF" $nowrite # 0x000000FF000000FF
lbsl $aluf $lr500v $nowrite # 0x0000FF000000FF00
land $lr400v $aluf $nowrite # (X[i] <<< 24) & 0x0000FF000000FF00
l1bmrlbor $aluf $lb0
l1bmm $lbi $ln0v
# ======= Out(0): ((4_PE:1))@LM1 / ULong =======
d getd $ln0n0c0b0m0p0 1 # expect=[12915737465693462879] / ULong @[0]
d getd $ln0n0c0b0m0p1 1 # expect=[1051015667521905395] / ULong @[1]
d getd $ln0n0c0b0m0p2 1 # expect=[5175930953527485371] / ULong @[2]
d getd $ln0n0c0b0m0p3 1 # expect=[1453760636594831769] / ULong @[3]
------------------- asm --------------------
j 010000000000000000000000010100000000001010000000000000000000000100000000000000000000000011000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000010000000000000000000000000000000000000011000000000000000000100000000000000000000000000000000000000011000000000000000000110000000000000000000000000000000000000011000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000001000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000001000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100010110001010110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100000100001100111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100010110001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110000000000000000000000000000000000000000000
j 010000000000000000000000010111001000001010000000000000000000000100000000000000000000000000000001000000000000000000000000000000000000000011111111100011010000011110000000000000000000000000000000000111000000000000000000000000000000001100000000000000110010010000000000000000000000000000000000000010000000000000110010100000000000000000000000000000000000000100000000000000110010110000000000000000000000000000000000000110000000000000
j 010000000000000000000000010111111010001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100010110001010000000000000000000000000000000000000111000000000000000000000000000000001100000000000000111110110000000010000000000000000000000000000000000000000000111111000000000100000000000000000000000000000000000000000000111111010000000110000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000011111111000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000000000011111111000000000000000000000000000000000000000000000000000011111111000000000000
j 010000000000000000000000000000000000001011111101000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100011010001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000111110110000000000000000000000000000000000000000000000000000111111000000000000000000000000000000000000000000000000000000111111010000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001011100100000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111100001010000000110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000110010010000000000000000000000000000000000000000000000000000110010100000000000000000000000000000000000000000000000000000110010110000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000001111000000000000000011001100110000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000110000000000000000010000000000000000000011111111111000000001000111000000100000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000110
------------------- emu --------------------
DEBUG-LM1(n0c0b0m0p0,0):(-7.27246e-62) (0xb33deacb66dce15f) #d getd $ln0n0c0b0m0p0 1 # expect=[12915737465693462879] / ULong @[0]
DEBUG-LM1(n0c0b0m0p1,0):(2.10752e-238) (0x0e95f52e5c0362f3) #d getd $ln0n0c0b0m0p1 1 # expect=[1051015667521905395] / ULong @[1]
DEBUG-LM1(n0c0b0m0p2,0):(1.09532e+38) (0x47d499c76af463bb) #d getd $ln0n0c0b0m0p2 1 # expect=[5175930953527485371] / ULong @[2]
DEBUG-LM1(n0c0b0m0p3,0):(1.7107e-211) (0x142ccb98bcae4199) #d getd $ln0n0c0b0m0p3 1 # expect=[1453760636594831769] / ULong @[3]
------------------- inputs --------------------
[ 6909045637428952499, 17537583593393853710, 13502904847239337031,
11043299886329703444]
------------------- expect --------------------
[12915737465693462879, 1051015667521905395, 5175930953527485371,
1453760636594831769]
------------------- actual --------------------
[12915737465693462879, 1051015667521905395, 5175930953527485371,
1453760636594831769]
------------------- check result --------------------