void QuarkBlake1_80_64(
unsigned nonce,
GLOBAL const UINT64 * RESTRICT input_swapped64,
UINT64 *hash64)
{
UINT64 M0, M1, M2, M3, M4, M5, M6, M7;
UINT64 M8, M9;
UINT64 V0, V1, V2, V3, V4, V5, V6, V7;
UINT64 V8, V9, VA, VB, VC, VD, VE, VF;
M1 = input_swapped64[0];
M2 = input_swapped64[1];
M3 = input_swapped64[2];
M4 = input_swapped64[3];
M5 = input_swapped64[4];
M6 = input_swapped64[5];
M7 = input_swapped64[6];
M8 = input_swapped64[7];
M9 = (((UINT64)(*(GLOBAL const UINT32*)&input_swapped64[8]))<<32)|((UINT64)nonce);
M0 = 0x7000000000000000ULL|(((GLOBAL const UINT32*)&input_swapped64[8])[1]);
V0 = 0xbb1838e7a1a34bd9ULL + (M0 ^ 0x13198A2E03707344ULL);
VC = ROTR64(0x452821E638D011F7ULL ^ V0, 32);
V8 = 0x243F6A8885A308D3ULL + VC;
V4 = ROTR64(0x510E527FADE682D1ULL ^ V8, 25);
V0 += V4 + (M1 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 = 0x566d1711b009135aULL + (M2 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(0xBE5466CF34E90EECULL ^ V1, 32);
V9 = 0x13198A2E03707344ULL + VD;
V5 = ROTR64(0x9B05688C2B3E6C1FULL ^ V9, 25);
V1 += V5 + (M3 ^ 0xA4093822299F31D0ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 = 0x5bf2cd1ef9d6b596ULL + (M4 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(0xC0AC29B7C97C50DDULL ^ V2, 32);
VA = 0xA4093822299F31D0ULL + VE;
V6 = ROTR64(0x1F83D9ABFB41BD6BULL ^ VA, 25);
V2 += V6 + (M5 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 = 0x0130c253729b586aULL + (M6 ^ 0x3F84D5B5B5470917ULL);
VF = ROTR64(0x3F84D5B5B5470917ULL ^ V3, 32);
VB = 0x082EFA98EC4E6C89ULL + VF;
V7 = ROTR64(0x5BE0CD19137E2179ULL ^ VB, 25);
V3 += V7 + (M7 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M8 ^ 0xD1310BA698DFB5ACULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M9 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (0x8000000000000000ULL ^ 0xB8E1AFED6A267E96ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x24A19947B3916CF7ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0xBA7C9045F12C7F98ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x636920D871574E69ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (0x0000000000000280ULL ^ 0x0801F2E2858EFC16ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (0x8000000000000000ULL ^ 0x0801F2E2858EFC16ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M4 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M8 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M9 ^ 0x636920D871574E69ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (0x0000000000000280ULL ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0xC0AC29B7C97C50DCULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M6 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M1 ^ 0xBA7C9045F12C7F99ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M0 ^ 0xA4093822299F31D0ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M2 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x3F84D5B5B5470917ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M7 ^ 0xB8E1AFED6A267E96ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M5 ^ 0x082EFA98EC4E6C89ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M3 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x9216D5D98979FB1BULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M8 ^ 0xB8E1AFED6A267E96ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0x243F6A8885A308D3ULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M0 ^ 0xBA7C9045F12C7F99ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M5 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M2 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (0x0000000000000280ULL ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x636920D871574E68ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (0x8000000000000000ULL ^ 0x0801F2E2858EFC16ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x2FFD72DBD01ADFB7ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M3 ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M6 ^ 0x082EFA98EC4E6C89ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M7 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M1 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M9 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M4 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M7 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M9 ^ 0x3F84D5B5B5470917ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M3 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M1 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0xBA7C9045F12C7F98ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x24A19947B3916CF7ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x0801F2E2858EFC16ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0xB8E1AFED6A267E96ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M2 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M6 ^ 0xA4093822299F31D0ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M5 ^ 0x2FFD72DBD01ADFB7ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (0x8000000000000000ULL ^ 0xBE5466CF34E90C6CULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M4 ^ 0x243F6A8885A308D3ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M0 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (0x0000000000000280ULL ^ 0x9216D5D98979FB1BULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M8 ^ 0x636920D871574E69ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M9 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M0 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M5 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M7 ^ 0xBE5466CF34E90C6CULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M2 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M4 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (0x8000000000000000ULL ^ 0x636920D871574E69ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (0x0000000000000280ULL ^ 0x2FFD72DBD01ADFB7ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M1 ^ 0x0801F2E2858EFC16ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0xBA7C9045F12C7F99ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xB8E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M6 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M8 ^ 0xC0AC29B7C97C50DDULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M3 ^ 0x24A19947B3916CF7ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x082EFA98EC4E6C88ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M2 ^ 0xBA7C9045F12C7F99ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0xA4093822299F31D0ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M6 ^ 0x2FFD72DBD01ADFB7ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (0x8000000000000000ULL ^ 0xC0AC29B7C97C50DDULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M0 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x243F6A8885A308D3ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M8 ^ 0x082EFA98EC4E6C89ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M3 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M4 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x452821E638D01376ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M7 ^ 0xBE5466CF34E90C6CULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M5 ^ 0x3F84D5B5B5470917ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (0x0000000000000280ULL ^ 0x0801F2E2858EFC16ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x636920D871574E69ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M1 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M9 ^ 0x13198A2E03707344ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0xBE5466CF34E90C6CULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M5 ^ 0xBA7C9045F12C7F99ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M1 ^ 0x636920D871574E69ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (0x0000000000000280ULL ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x24A19947B3916CF7ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x0801F2E2858EFC17ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M4 ^ 0x2FFD72DBD01ADFB7ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (0x8000000000000000ULL ^ 0x452821E638D01377ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M0 ^ 0x3F84D5B5B5470917ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M7 ^ 0x243F6A8885A308D3ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M6 ^ 0x082EFA98EC4E6C89ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M3 ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M9 ^ 0xA4093822299F31D0ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M2 ^ 0xD1310BA698DFB5ACULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M8 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x9216D5D98979FB1BULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0xB8E1AFED6A267E97ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0x24A19947B3916CF7ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M7 ^ 0x0801F2E2858EFC16ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + 0x3F84D5B5B5470917ULL;
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x13198A2E03707344ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M1 ^ 0xBA7C9045F12C7F99ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M3 ^ 0xD1310BA698DFB5ACULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M9 ^ 0x082EFA98EC4E6C89ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M5 ^ 0x243F6A8885A308D3ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M0 ^ 0xBE5466CF34E90C6CULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (0x0000000000000280ULL ^ 0x452821E638D01377ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M4 ^ 0x636920D871574E69ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M8 ^ 0xC0AC29B7C97C50DDULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M6 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M2 ^ 0x2FFD72DBD01ADFB7ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (0x8000000000000000ULL ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M6 ^ 0x636920D871574E69ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (0x0000000000000280ULL ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0xD1310BA698DFB5ACULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M9 ^ 0x0801F2E2858EFC16ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0x082EFA98EC4E6C89ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M3 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M0 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M8 ^ 0x243F6A8885A308D3ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0xA4093822299F31D0ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M2 ^ 0xBA7C9045F12C7F99ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0x3F84D5B5B5470916ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M7 ^ 0x24A19947B3916CF7ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M1 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M4 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (0x8000000000000000ULL ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M5 ^ 0x2FFD72DBD01ADFB7ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (0x8000000000000000ULL ^ 0xA4093822299F31D0ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M2 ^ 0x2FFD72DBD01ADFB7ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M8 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M4 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M7 ^ 0xC0AC29B7C97C50DDULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M6 ^ 0x3F84D5B5B5470917ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M1 ^ 0xBE5466CF34E90C6CULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M5 ^ 0x13198A2E03707344ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (0x0000000000000280ULL ^ 0xB8E1AFED6A267E96ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x636920D871574E69ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M9 ^ 0x0801F2E2858EFC16ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xD1310BA698DFB5ACULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M3 ^ 0xBA7C9045F12C7F99ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x082EFA98EC4E6C89ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x243F6A8885A308D2ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M0 ^ 0x24A19947B3916CF7ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M0 ^ 0x13198A2E03707344ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M1 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M2 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M3 ^ 0xA4093822299F31D0ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M4 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M5 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M6 ^ 0x3F84D5B5B5470917ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M7 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M8 ^ 0xD1310BA698DFB5ACULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M9 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (0x8000000000000000ULL ^ 0xB8E1AFED6A267E96ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x24A19947B3916CF7ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0xBA7C9045F12C7F98ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + 0x636920D871574E69ULL;
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (0x0000000000000280ULL ^ 0x0801F2E2858EFC16ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x2FFD72DBD01ADFB7ULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (0x8000000000000000ULL ^ 0x0801F2E2858EFC16ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M4 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M8 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M9 ^ 0x636920D871574E69ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (0x0000000000000280ULL ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0xC0AC29B7C97C50DCULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M6 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M1 ^ 0xBA7C9045F12C7F99ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M0 ^ 0xA4093822299F31D0ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M2 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + 0x3F84D5B5B5470917ULL;
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M7 ^ 0xB8E1AFED6A267E96ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M5 ^ 0x082EFA98EC4E6C89ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M3 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + 0x9216D5D98979FB1BULL;
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M8 ^ 0xB8E1AFED6A267E96ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + 0x243F6A8885A308D3ULL;
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M0 ^ 0xBA7C9045F12C7F99ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M5 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M2 ^ 0xBE5466CF34E90C6CULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (0x0000000000000280ULL ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0x636920D871574E68ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (0x8000000000000000ULL ^ 0x0801F2E2858EFC16ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x2FFD72DBD01ADFB7ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M3 ^ 0xC0AC29B7C97C50DDULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M6 ^ 0x082EFA98EC4E6C89ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M7 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M1 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M9 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M4 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M7 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M9 ^ 0x3F84D5B5B5470917ULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M3 ^ 0x13198A2E03707344ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M1 ^ 0x082EFA98EC4E6C89ULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + 0xBA7C9045F12C7F98ULL;
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x24A19947B3916CF7ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + 0x0801F2E2858EFC16ULL;
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + 0xB8E1AFED6A267E96ULL;
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M2 ^ 0xC0AC29B7C97C50DDULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M6 ^ 0xA4093822299F31D0ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M5 ^ 0x2FFD72DBD01ADFB7ULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (0x8000000000000000ULL ^ 0xBE5466CF34E90C6CULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M4 ^ 0x243F6A8885A308D3ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M0 ^ 0x452821E638D01377ULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (0x0000000000000280ULL ^ 0x9216D5D98979FB1BULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M8 ^ 0x636920D871574E69ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M9 ^ 0x243F6A8885A308D3ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + (M0 ^ 0xD1310BA698DFB5ACULL);
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M5 ^ 0x3F84D5B5B5470917ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (M7 ^ 0xBE5466CF34E90C6CULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M2 ^ 0x452821E638D01377ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + (M4 ^ 0xA4093822299F31D0ULL);
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (0x8000000000000000ULL ^ 0x636920D871574E69ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (0x0000000000000280ULL ^ 0x2FFD72DBD01ADFB7ULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + 0x13198A2E03707344ULL;
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + (M1 ^ 0x0801F2E2858EFC16ULL);
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + 0xBA7C9045F12C7F99ULL;
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + 0xB8E1AFED6A267E96ULL;
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (M6 ^ 0x9216D5D98979FB1BULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + (M8 ^ 0xC0AC29B7C97C50DDULL);
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M3 ^ 0x24A19947B3916CF7ULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + 0x082EFA98EC4E6C88ULL;
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
V0 += V4 + (M2 ^ 0xBA7C9045F12C7F99ULL);
VC = ROTR64(VC ^ V0, 32);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 25);
V0 += V4 + 0xA4093822299F31D0ULL;
VC = ROTR64(VC ^ V0, 16);
V8 += VC;
V4 = ROTR64(V4 ^ V8, 11);
V1 += V5 + (M6 ^ 0x2FFD72DBD01ADFB7ULL);
VD = ROTR64(VD ^ V1, 32);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 25);
V1 += V5 + (0x8000000000000000ULL ^ 0xC0AC29B7C97C50DDULL);
VD = ROTR64(VD ^ V1, 16);
V9 += VD;
V5 = ROTR64(V5 ^ V9, 11);
V2 += V6 + (M0 ^ 0xB8E1AFED6A267E96ULL);
VE = ROTR64(VE ^ V2, 32);
VA += VE;
V6 = ROTR64(V6 ^ VA, 25);
V2 += V6 + 0x243F6A8885A308D3ULL;
VE = ROTR64(VE ^ V2, 16);
VA += VE;
V6 = ROTR64(V6 ^ VA, 11);
V3 += V7 + (M8 ^ 0x082EFA98EC4E6C89ULL);
VF = ROTR64(VF ^ V3, 32);
VB += VF;
V7 = ROTR64(V7 ^ VB, 25);
V3 += V7 + (M3 ^ 0x9216D5D98979FB1BULL);
VF = ROTR64(VF ^ V3, 16);
VB += VF;
V7 = ROTR64(V7 ^ VB, 11);
V0 += V5 + (M4 ^ 0x24A19947B3916CF7ULL);
VF = ROTR64(VF ^ V0, 32);
VA += VF;
V5 = ROTR64(V5 ^ VA, 25);
V0 += V5 + 0x452821E638D01376ULL;
VF = ROTR64(VF ^ V0, 16);
VA += VF;
V5 = ROTR64(V5 ^ VA, 11);
V1 += V6 + (M7 ^ 0xBE5466CF34E90C6CULL);
VC = ROTR64(VC ^ V1, 32);
VB += VC;
V6 = ROTR64(V6 ^ VB, 25);
V1 += V6 + (M5 ^ 0x3F84D5B5B5470917ULL);
VC = ROTR64(VC ^ V1, 16);
VB += VC;
V6 = ROTR64(V6 ^ VB, 11);
V2 += V7 + (0x0000000000000280ULL ^ 0x0801F2E2858EFC16ULL);
VD = ROTR64(VD ^ V2, 32);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 25);
V2 += V7 + 0x636920D871574E69ULL;
VD = ROTR64(VD ^ V2, 16);
V8 += VD;
V7 = ROTR64(V7 ^ V8, 11);
V3 += V4 + (M1 ^ 0xD1310BA698DFB5ACULL);
VE = ROTR64(VE ^ V3, 32);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 25);
V3 += V4 + (M9 ^ 0x13198A2E03707344ULL);
VE = ROTR64(VE ^ V3, 16);
V9 += VE;
V4 = ROTR64(V4 ^ V9, 11);
hash64[0] = BSWAP64(V0 ^ V8 ^ 0x6A09E667F3BCC908ULL);
hash64[1] = BSWAP64(V1 ^ V9 ^ 0xBB67AE8584CAA73BULL);
hash64[2] = BSWAP64(V2 ^ VA ^ 0x3C6EF372FE94F82BULL);
hash64[3] = BSWAP64(V3 ^ VB ^ 0xA54FF53A5F1D36F1ULL);
hash64[4] = BSWAP64(V4 ^ VC ^ 0x510E527FADE682D1ULL);
hash64[5] = BSWAP64(V5 ^ VD ^ 0x9B05688C2B3E6C1FULL);
hash64[6] = BSWAP64(V6 ^ VE ^ 0x1F83D9ABFB41BD6BULL);
hash64[7] = BSWAP64(V7 ^ VF ^ 0x5BE0CD19137E2179ULL);
}