monotone-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Monotone-devel] botan 1.7.3


From: Markus Schiltknecht
Subject: Re: [Monotone-devel] botan 1.7.3
Date: Tue, 19 Feb 2008 10:05:34 +0100
User-agent: Mozilla-Thunderbird 2.0.0.9 (X11/20080110)

Hi,

Zbigniew Zagórski wrote:
Markus Schiltknecht wrote:
... in general about updating botan to  1.7.3 in monotone
...
61b03ea355c0cfed3fc62b3c7014b106a1e61119 address@hidden
2008-02-17T21:22:45 net.venge.monotone.botan

[This is actually patch for botan itself. So I'm cross posting to
botan-devel]

There is another problem with the new code. This patch visualizes issue:

--- botan/bit_ops.cpp   ebab53284a6ab9a749188fcbe417c8dcc73ac052
+++ botan/bit_ops.cpp   3bb7a0fd68305ca2ff7a071798aa4419f783cf02
@@ -64,10 +64,10 @@ u64bit reverse_bytes(u64bit input)
 *************************************************/
 u64bit reverse_bytes(u64bit input)
    {
-   input = ((input & 0xFF00FF00FF00FF00) >>  8) |
-           ((input & 0x00FF00FF00FF00FF) <<  8);
-   input = ((input & 0xFFFF0000FFFF0000) >> 16) |
-           ((input & 0x0000FFFF0000FFFF) << 16);
+   input = ((input & 0xFF00FF00FF00FF00ull) >>  8) |
+           ((input & 0x00FF00FF00FF00FFull) <<  8);
+   input = ((input & 0xFFFF0000FFFF0000ull) >> 16) |
+           ((input & 0x0000FFFF0000FFFFull) << 16);
    return rotate_left(input, 32);
    }

g++ 3.4.5 complaints about old code that those big integer constants:

a.cpp:9: error: integer constant is too large for 'long' type

BTW g++ (GCC) 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)) also fails
to compile original code.

Yeah, I've now noticed that error as well on my 32bit machine. On 64bit
Linux, the constant obviously isn't too large.

It looks like the difference is a -fpermissive CFLAG, which botan itself
uses, but monotone's botan build doesn't. Thus, for botan these appear
as warnings, while on monotone these appear as errors.

I've looked into the botan code, and there are lots of places, that lead
to such a warning. I've attached a patch which appends such an 'ull'
suffix to all places. With that, botan compiles on my 32bit Linux
machine - even without "-Wno-long-long -fpermissive".

Depending on what botan developers want, we should either apply this
patch to botand and propagate to monotone, or if botan developers
dislike that longish -ull notation, we should compile botan with
"-Wno-long-long -fpermissive" as well.

Regards

Markus

BTW: grant me write access to net.randombit.botan, and I'll push the
patch as a monotone revision. I've attached my pubkey as well.

#
# old_revision [2f4fd18182d5a75c40cd831e7ee3c314be5c57d6]
#
# patch "src/bit_ops.cpp"
#  from [40ea4e4a5319bcee598a139a98f42e154dafdce2]
#    to [a5c5c41836784fa790c1476fa2384eb38470b741]
# 
# patch "src/des_tab.cpp"
#  from [f82f03f91b8b0d0f1552c863af5908db4532127a]
#    to [c107b48dee342c324b5d2c40d119c0af6bf1bc4f]
# 
# patch "src/primes.cpp"
#  from [0c5a124af0349c7dd72c98d698f0482d87a351d9]
#    to [7643b27ab42f2a3e14aafcd1403d54e96859d412]
# 
# patch "src/sha_64.cpp"
#  from [194e3761a8cd49f3450ff47735d81832f394f30d]
#    to [f89e51a1d75d8651bed9ab3be1b797bc9cdcd966]
# 
# patch "src/tig_tab.cpp"
#  from [da2b0bdb89a798e39737918f86e7f418f7aceaab]
#    to [aa4536fbf5f64b44e7d214d4e9792a0d825c7dcc]
# 
# patch "src/tiger.cpp"
#  from [d41acac5d6db061494402e1f7e0d2429cf7dc5e4]
#    to [ceac520607b6378a93f4fd45ac51e2cb48fd26cf]
# 
# patch "src/whrl_tab.cpp"
#  from [c8ef6a149253ef4decdd2b4cca545eb8b9b6c609]
#    to [c747e7234da433c9eb6066f5adc6fcb276bcece8]
# 
# patch "src/whrlpool.cpp"
#  from [4a32aea5d26b0f68b4871144deb63c7c4ca59732]
#    to [945c451a7883a236ddd7c3d70767b36892487ccc]
#
============================================================
--- src/bit_ops.cpp     40ea4e4a5319bcee598a139a98f42e154dafdce2
+++ src/bit_ops.cpp     a5c5c41836784fa790c1476fa2384eb38470b741
@@ -64,10 +64,10 @@ u64bit reverse_bytes(u64bit input)
 *************************************************/
 u64bit reverse_bytes(u64bit input)
    {
-   input = ((input & 0xFF00FF00FF00FF00) >>  8) |
-           ((input & 0x00FF00FF00FF00FF) <<  8);
-   input = ((input & 0xFFFF0000FFFF0000) >> 16) |
-           ((input & 0x0000FFFF0000FFFF) << 16);
+   input = ((input & 0xFF00FF00FF00FF00ull) >>  8) |
+           ((input & 0x00FF00FF00FF00FFull) <<  8);
+   input = ((input & 0xFFFF0000FFFF0000ull) >> 16) |
+           ((input & 0x0000FFFF0000FFFFull) << 16);
    return rotate_left(input, 32);
    }
 
============================================================
--- src/des_tab.cpp     f82f03f91b8b0d0f1552c863af5908db4532127a
+++ src/des_tab.cpp     c107b48dee342c324b5d2c40d119c0af6bf1bc4f
@@ -368,267 +368,267 @@ const u64bit DES::IPTAB1[256] = {
    0x00001040, 0x00040040, 0x10000000, 0x10041000 };
 
 const u64bit DES::IPTAB1[256] = {
-0x0000000000000000, 0x0000000200000000, 0x0000000000000002, 0x0000000200000002,
-0x0000020000000000, 0x0000020200000000, 0x0000020000000002, 0x0000020200000002,
-0x0000000000000200, 0x0000000200000200, 0x0000000000000202, 0x0000000200000202,
-0x0000020000000200, 0x0000020200000200, 0x0000020000000202, 0x0000020200000202,
-0x0002000000000000, 0x0002000200000000, 0x0002000000000002, 0x0002000200000002,
-0x0002020000000000, 0x0002020200000000, 0x0002020000000002, 0x0002020200000002,
-0x0002000000000200, 0x0002000200000200, 0x0002000000000202, 0x0002000200000202,
-0x0002020000000200, 0x0002020200000200, 0x0002020000000202, 0x0002020200000202,
-0x0000000000020000, 0x0000000200020000, 0x0000000000020002, 0x0000000200020002,
-0x0000020000020000, 0x0000020200020000, 0x0000020000020002, 0x0000020200020002,
-0x0000000000020200, 0x0000000200020200, 0x0000000000020202, 0x0000000200020202,
-0x0000020000020200, 0x0000020200020200, 0x0000020000020202, 0x0000020200020202,
-0x0002000000020000, 0x0002000200020000, 0x0002000000020002, 0x0002000200020002,
-0x0002020000020000, 0x0002020200020000, 0x0002020000020002, 0x0002020200020002,
-0x0002000000020200, 0x0002000200020200, 0x0002000000020202, 0x0002000200020202,
-0x0002020000020200, 0x0002020200020200, 0x0002020000020202, 0x0002020200020202,
-0x0200000000000000, 0x0200000200000000, 0x0200000000000002, 0x0200000200000002,
-0x0200020000000000, 0x0200020200000000, 0x0200020000000002, 0x0200020200000002,
-0x0200000000000200, 0x0200000200000200, 0x0200000000000202, 0x0200000200000202,
-0x0200020000000200, 0x0200020200000200, 0x0200020000000202, 0x0200020200000202,
-0x0202000000000000, 0x0202000200000000, 0x0202000000000002, 0x0202000200000002,
-0x0202020000000000, 0x0202020200000000, 0x0202020000000002, 0x0202020200000002,
-0x0202000000000200, 0x0202000200000200, 0x0202000000000202, 0x0202000200000202,
-0x0202020000000200, 0x0202020200000200, 0x0202020000000202, 0x0202020200000202,
-0x0200000000020000, 0x0200000200020000, 0x0200000000020002, 0x0200000200020002,
-0x0200020000020000, 0x0200020200020000, 0x0200020000020002, 0x0200020200020002,
-0x0200000000020200, 0x0200000200020200, 0x0200000000020202, 0x0200000200020202,
-0x0200020000020200, 0x0200020200020200, 0x0200020000020202, 0x0200020200020202,
-0x0202000000020000, 0x0202000200020000, 0x0202000000020002, 0x0202000200020002,
-0x0202020000020000, 0x0202020200020000, 0x0202020000020002, 0x0202020200020002,
-0x0202000000020200, 0x0202000200020200, 0x0202000000020202, 0x0202000200020202,
-0x0202020000020200, 0x0202020200020200, 0x0202020000020202, 0x0202020200020202,
-0x0000000002000000, 0x0000000202000000, 0x0000000002000002, 0x0000000202000002,
-0x0000020002000000, 0x0000020202000000, 0x0000020002000002, 0x0000020202000002,
-0x0000000002000200, 0x0000000202000200, 0x0000000002000202, 0x0000000202000202,
-0x0000020002000200, 0x0000020202000200, 0x0000020002000202, 0x0000020202000202,
-0x0002000002000000, 0x0002000202000000, 0x0002000002000002, 0x0002000202000002,
-0x0002020002000000, 0x0002020202000000, 0x0002020002000002, 0x0002020202000002,
-0x0002000002000200, 0x0002000202000200, 0x0002000002000202, 0x0002000202000202,
-0x0002020002000200, 0x0002020202000200, 0x0002020002000202, 0x0002020202000202,
-0x0000000002020000, 0x0000000202020000, 0x0000000002020002, 0x0000000202020002,
-0x0000020002020000, 0x0000020202020000, 0x0000020002020002, 0x0000020202020002,
-0x0000000002020200, 0x0000000202020200, 0x0000000002020202, 0x0000000202020202,
-0x0000020002020200, 0x0000020202020200, 0x0000020002020202, 0x0000020202020202,
-0x0002000002020000, 0x0002000202020000, 0x0002000002020002, 0x0002000202020002,
-0x0002020002020000, 0x0002020202020000, 0x0002020002020002, 0x0002020202020002,
-0x0002000002020200, 0x0002000202020200, 0x0002000002020202, 0x0002000202020202,
-0x0002020002020200, 0x0002020202020200, 0x0002020002020202, 0x0002020202020202,
-0x0200000002000000, 0x0200000202000000, 0x0200000002000002, 0x0200000202000002,
-0x0200020002000000, 0x0200020202000000, 0x0200020002000002, 0x0200020202000002,
-0x0200000002000200, 0x0200000202000200, 0x0200000002000202, 0x0200000202000202,
-0x0200020002000200, 0x0200020202000200, 0x0200020002000202, 0x0200020202000202,
-0x0202000002000000, 0x0202000202000000, 0x0202000002000002, 0x0202000202000002,
-0x0202020002000000, 0x0202020202000000, 0x0202020002000002, 0x0202020202000002,
-0x0202000002000200, 0x0202000202000200, 0x0202000002000202, 0x0202000202000202,
-0x0202020002000200, 0x0202020202000200, 0x0202020002000202, 0x0202020202000202,
-0x0200000002020000, 0x0200000202020000, 0x0200000002020002, 0x0200000202020002,
-0x0200020002020000, 0x0200020202020000, 0x0200020002020002, 0x0200020202020002,
-0x0200000002020200, 0x0200000202020200, 0x0200000002020202, 0x0200000202020202,
-0x0200020002020200, 0x0200020202020200, 0x0200020002020202, 0x0200020202020202,
-0x0202000002020000, 0x0202000202020000, 0x0202000002020002, 0x0202000202020002,
-0x0202020002020000, 0x0202020202020000, 0x0202020002020002, 0x0202020202020002,
-0x0202000002020200, 0x0202000202020200, 0x0202000002020202, 0x0202000202020202,
-0x0202020002020200, 0x0202020202020200, 0x0202020002020202, 0x0202020202020202 
};
+0x0000000000000000ull, 0x0000000200000000ull, 0x0000000000000002ull, 
0x0000000200000002ull,
+0x0000020000000000ull, 0x0000020200000000ull, 0x0000020000000002ull, 
0x0000020200000002ull,
+0x0000000000000200ull, 0x0000000200000200ull, 0x0000000000000202ull, 
0x0000000200000202ull,
+0x0000020000000200ull, 0x0000020200000200ull, 0x0000020000000202ull, 
0x0000020200000202ull,
+0x0002000000000000ull, 0x0002000200000000ull, 0x0002000000000002ull, 
0x0002000200000002ull,
+0x0002020000000000ull, 0x0002020200000000ull, 0x0002020000000002ull, 
0x0002020200000002ull,
+0x0002000000000200ull, 0x0002000200000200ull, 0x0002000000000202ull, 
0x0002000200000202ull,
+0x0002020000000200ull, 0x0002020200000200ull, 0x0002020000000202ull, 
0x0002020200000202ull,
+0x0000000000020000ull, 0x0000000200020000ull, 0x0000000000020002ull, 
0x0000000200020002ull,
+0x0000020000020000ull, 0x0000020200020000ull, 0x0000020000020002ull, 
0x0000020200020002ull,
+0x0000000000020200ull, 0x0000000200020200ull, 0x0000000000020202ull, 
0x0000000200020202ull,
+0x0000020000020200ull, 0x0000020200020200ull, 0x0000020000020202ull, 
0x0000020200020202ull,
+0x0002000000020000ull, 0x0002000200020000ull, 0x0002000000020002ull, 
0x0002000200020002ull,
+0x0002020000020000ull, 0x0002020200020000ull, 0x0002020000020002ull, 
0x0002020200020002ull,
+0x0002000000020200ull, 0x0002000200020200ull, 0x0002000000020202ull, 
0x0002000200020202ull,
+0x0002020000020200ull, 0x0002020200020200ull, 0x0002020000020202ull, 
0x0002020200020202ull,
+0x0200000000000000ull, 0x0200000200000000ull, 0x0200000000000002ull, 
0x0200000200000002ull,
+0x0200020000000000ull, 0x0200020200000000ull, 0x0200020000000002ull, 
0x0200020200000002ull,
+0x0200000000000200ull, 0x0200000200000200ull, 0x0200000000000202ull, 
0x0200000200000202ull,
+0x0200020000000200ull, 0x0200020200000200ull, 0x0200020000000202ull, 
0x0200020200000202ull,
+0x0202000000000000ull, 0x0202000200000000ull, 0x0202000000000002ull, 
0x0202000200000002ull,
+0x0202020000000000ull, 0x0202020200000000ull, 0x0202020000000002ull, 
0x0202020200000002ull,
+0x0202000000000200ull, 0x0202000200000200ull, 0x0202000000000202ull, 
0x0202000200000202ull,
+0x0202020000000200ull, 0x0202020200000200ull, 0x0202020000000202ull, 
0x0202020200000202ull,
+0x0200000000020000ull, 0x0200000200020000ull, 0x0200000000020002ull, 
0x0200000200020002ull,
+0x0200020000020000ull, 0x0200020200020000ull, 0x0200020000020002ull, 
0x0200020200020002ull,
+0x0200000000020200ull, 0x0200000200020200ull, 0x0200000000020202ull, 
0x0200000200020202ull,
+0x0200020000020200ull, 0x0200020200020200ull, 0x0200020000020202ull, 
0x0200020200020202ull,
+0x0202000000020000ull, 0x0202000200020000ull, 0x0202000000020002ull, 
0x0202000200020002ull,
+0x0202020000020000ull, 0x0202020200020000ull, 0x0202020000020002ull, 
0x0202020200020002ull,
+0x0202000000020200ull, 0x0202000200020200ull, 0x0202000000020202ull, 
0x0202000200020202ull,
+0x0202020000020200ull, 0x0202020200020200ull, 0x0202020000020202ull, 
0x0202020200020202ull,
+0x0000000002000000ull, 0x0000000202000000ull, 0x0000000002000002ull, 
0x0000000202000002ull,
+0x0000020002000000ull, 0x0000020202000000ull, 0x0000020002000002ull, 
0x0000020202000002ull,
+0x0000000002000200ull, 0x0000000202000200ull, 0x0000000002000202ull, 
0x0000000202000202ull,
+0x0000020002000200ull, 0x0000020202000200ull, 0x0000020002000202ull, 
0x0000020202000202ull,
+0x0002000002000000ull, 0x0002000202000000ull, 0x0002000002000002ull, 
0x0002000202000002ull,
+0x0002020002000000ull, 0x0002020202000000ull, 0x0002020002000002ull, 
0x0002020202000002ull,
+0x0002000002000200ull, 0x0002000202000200ull, 0x0002000002000202ull, 
0x0002000202000202ull,
+0x0002020002000200ull, 0x0002020202000200ull, 0x0002020002000202ull, 
0x0002020202000202ull,
+0x0000000002020000ull, 0x0000000202020000ull, 0x0000000002020002ull, 
0x0000000202020002ull,
+0x0000020002020000ull, 0x0000020202020000ull, 0x0000020002020002ull, 
0x0000020202020002ull,
+0x0000000002020200ull, 0x0000000202020200ull, 0x0000000002020202ull, 
0x0000000202020202ull,
+0x0000020002020200ull, 0x0000020202020200ull, 0x0000020002020202ull, 
0x0000020202020202ull,
+0x0002000002020000ull, 0x0002000202020000ull, 0x0002000002020002ull, 
0x0002000202020002ull,
+0x0002020002020000ull, 0x0002020202020000ull, 0x0002020002020002ull, 
0x0002020202020002ull,
+0x0002000002020200ull, 0x0002000202020200ull, 0x0002000002020202ull, 
0x0002000202020202ull,
+0x0002020002020200ull, 0x0002020202020200ull, 0x0002020002020202ull, 
0x0002020202020202ull,
+0x0200000002000000ull, 0x0200000202000000ull, 0x0200000002000002ull, 
0x0200000202000002ull,
+0x0200020002000000ull, 0x0200020202000000ull, 0x0200020002000002ull, 
0x0200020202000002ull,
+0x0200000002000200ull, 0x0200000202000200ull, 0x0200000002000202ull, 
0x0200000202000202ull,
+0x0200020002000200ull, 0x0200020202000200ull, 0x0200020002000202ull, 
0x0200020202000202ull,
+0x0202000002000000ull, 0x0202000202000000ull, 0x0202000002000002ull, 
0x0202000202000002ull,
+0x0202020002000000ull, 0x0202020202000000ull, 0x0202020002000002ull, 
0x0202020202000002ull,
+0x0202000002000200ull, 0x0202000202000200ull, 0x0202000002000202ull, 
0x0202000202000202ull,
+0x0202020002000200ull, 0x0202020202000200ull, 0x0202020002000202ull, 
0x0202020202000202ull,
+0x0200000002020000ull, 0x0200000202020000ull, 0x0200000002020002ull, 
0x0200000202020002ull,
+0x0200020002020000ull, 0x0200020202020000ull, 0x0200020002020002ull, 
0x0200020202020002ull,
+0x0200000002020200ull, 0x0200000202020200ull, 0x0200000002020202ull, 
0x0200000202020202ull,
+0x0200020002020200ull, 0x0200020202020200ull, 0x0200020002020202ull, 
0x0200020202020202ull,
+0x0202000002020000ull, 0x0202000202020000ull, 0x0202000002020002ull, 
0x0202000202020002ull,
+0x0202020002020000ull, 0x0202020202020000ull, 0x0202020002020002ull, 
0x0202020202020002ull,
+0x0202000002020200ull, 0x0202000202020200ull, 0x0202000002020202ull, 
0x0202000202020202ull,
+0x0202020002020200ull, 0x0202020202020200ull, 0x0202020002020202ull, 
0x0202020202020202ull };
 
 const u64bit DES::IPTAB2[256] = {
-0x0000000000000000, 0x0000010000000000, 0x0000000000000100, 0x0000010000000100,
-0x0001000000000000, 0x0001010000000000, 0x0001000000000100, 0x0001010000000100,
-0x0000000000010000, 0x0000010000010000, 0x0000000000010100, 0x0000010000010100,
-0x0001000000010000, 0x0001010000010000, 0x0001000000010100, 0x0001010000010100,
-0x0100000000000000, 0x0100010000000000, 0x0100000000000100, 0x0100010000000100,
-0x0101000000000000, 0x0101010000000000, 0x0101000000000100, 0x0101010000000100,
-0x0100000000010000, 0x0100010000010000, 0x0100000000010100, 0x0100010000010100,
-0x0101000000010000, 0x0101010000010000, 0x0101000000010100, 0x0101010000010100,
-0x0000000001000000, 0x0000010001000000, 0x0000000001000100, 0x0000010001000100,
-0x0001000001000000, 0x0001010001000000, 0x0001000001000100, 0x0001010001000100,
-0x0000000001010000, 0x0000010001010000, 0x0000000001010100, 0x0000010001010100,
-0x0001000001010000, 0x0001010001010000, 0x0001000001010100, 0x0001010001010100,
-0x0100000001000000, 0x0100010001000000, 0x0100000001000100, 0x0100010001000100,
-0x0101000001000000, 0x0101010001000000, 0x0101000001000100, 0x0101010001000100,
-0x0100000001010000, 0x0100010001010000, 0x0100000001010100, 0x0100010001010100,
-0x0101000001010000, 0x0101010001010000, 0x0101000001010100, 0x0101010001010100,
-0x0000000100000000, 0x0000010100000000, 0x0000000100000100, 0x0000010100000100,
-0x0001000100000000, 0x0001010100000000, 0x0001000100000100, 0x0001010100000100,
-0x0000000100010000, 0x0000010100010000, 0x0000000100010100, 0x0000010100010100,
-0x0001000100010000, 0x0001010100010000, 0x0001000100010100, 0x0001010100010100,
-0x0100000100000000, 0x0100010100000000, 0x0100000100000100, 0x0100010100000100,
-0x0101000100000000, 0x0101010100000000, 0x0101000100000100, 0x0101010100000100,
-0x0100000100010000, 0x0100010100010000, 0x0100000100010100, 0x0100010100010100,
-0x0101000100010000, 0x0101010100010000, 0x0101000100010100, 0x0101010100010100,
-0x0000000101000000, 0x0000010101000000, 0x0000000101000100, 0x0000010101000100,
-0x0001000101000000, 0x0001010101000000, 0x0001000101000100, 0x0001010101000100,
-0x0000000101010000, 0x0000010101010000, 0x0000000101010100, 0x0000010101010100,
-0x0001000101010000, 0x0001010101010000, 0x0001000101010100, 0x0001010101010100,
-0x0100000101000000, 0x0100010101000000, 0x0100000101000100, 0x0100010101000100,
-0x0101000101000000, 0x0101010101000000, 0x0101000101000100, 0x0101010101000100,
-0x0100000101010000, 0x0100010101010000, 0x0100000101010100, 0x0100010101010100,
-0x0101000101010000, 0x0101010101010000, 0x0101000101010100, 0x0101010101010100,
-0x0000000000000001, 0x0000010000000001, 0x0000000000000101, 0x0000010000000101,
-0x0001000000000001, 0x0001010000000001, 0x0001000000000101, 0x0001010000000101,
-0x0000000000010001, 0x0000010000010001, 0x0000000000010101, 0x0000010000010101,
-0x0001000000010001, 0x0001010000010001, 0x0001000000010101, 0x0001010000010101,
-0x0100000000000001, 0x0100010000000001, 0x0100000000000101, 0x0100010000000101,
-0x0101000000000001, 0x0101010000000001, 0x0101000000000101, 0x0101010000000101,
-0x0100000000010001, 0x0100010000010001, 0x0100000000010101, 0x0100010000010101,
-0x0101000000010001, 0x0101010000010001, 0x0101000000010101, 0x0101010000010101,
-0x0000000001000001, 0x0000010001000001, 0x0000000001000101, 0x0000010001000101,
-0x0001000001000001, 0x0001010001000001, 0x0001000001000101, 0x0001010001000101,
-0x0000000001010001, 0x0000010001010001, 0x0000000001010101, 0x0000010001010101,
-0x0001000001010001, 0x0001010001010001, 0x0001000001010101, 0x0001010001010101,
-0x0100000001000001, 0x0100010001000001, 0x0100000001000101, 0x0100010001000101,
-0x0101000001000001, 0x0101010001000001, 0x0101000001000101, 0x0101010001000101,
-0x0100000001010001, 0x0100010001010001, 0x0100000001010101, 0x0100010001010101,
-0x0101000001010001, 0x0101010001010001, 0x0101000001010101, 0x0101010001010101,
-0x0000000100000001, 0x0000010100000001, 0x0000000100000101, 0x0000010100000101,
-0x0001000100000001, 0x0001010100000001, 0x0001000100000101, 0x0001010100000101,
-0x0000000100010001, 0x0000010100010001, 0x0000000100010101, 0x0000010100010101,
-0x0001000100010001, 0x0001010100010001, 0x0001000100010101, 0x0001010100010101,
-0x0100000100000001, 0x0100010100000001, 0x0100000100000101, 0x0100010100000101,
-0x0101000100000001, 0x0101010100000001, 0x0101000100000101, 0x0101010100000101,
-0x0100000100010001, 0x0100010100010001, 0x0100000100010101, 0x0100010100010101,
-0x0101000100010001, 0x0101010100010001, 0x0101000100010101, 0x0101010100010101,
-0x0000000101000001, 0x0000010101000001, 0x0000000101000101, 0x0000010101000101,
-0x0001000101000001, 0x0001010101000001, 0x0001000101000101, 0x0001010101000101,
-0x0000000101010001, 0x0000010101010001, 0x0000000101010101, 0x0000010101010101,
-0x0001000101010001, 0x0001010101010001, 0x0001000101010101, 0x0001010101010101,
-0x0100000101000001, 0x0100010101000001, 0x0100000101000101, 0x0100010101000101,
-0x0101000101000001, 0x0101010101000001, 0x0101000101000101, 0x0101010101000101,
-0x0100000101010001, 0x0100010101010001, 0x0100000101010101, 0x0100010101010101,
-0x0101000101010001, 0x0101010101010001, 0x0101000101010101, 0x0101010101010101 
};
+0x0000000000000000ull, 0x0000010000000000ull, 0x0000000000000100ull, 
0x0000010000000100ull,
+0x0001000000000000ull, 0x0001010000000000ull, 0x0001000000000100ull, 
0x0001010000000100ull,
+0x0000000000010000ull, 0x0000010000010000ull, 0x0000000000010100ull, 
0x0000010000010100ull,
+0x0001000000010000ull, 0x0001010000010000ull, 0x0001000000010100ull, 
0x0001010000010100ull,
+0x0100000000000000ull, 0x0100010000000000ull, 0x0100000000000100ull, 
0x0100010000000100ull,
+0x0101000000000000ull, 0x0101010000000000ull, 0x0101000000000100ull, 
0x0101010000000100ull,
+0x0100000000010000ull, 0x0100010000010000ull, 0x0100000000010100ull, 
0x0100010000010100ull,
+0x0101000000010000ull, 0x0101010000010000ull, 0x0101000000010100ull, 
0x0101010000010100ull,
+0x0000000001000000ull, 0x0000010001000000ull, 0x0000000001000100ull, 
0x0000010001000100ull,
+0x0001000001000000ull, 0x0001010001000000ull, 0x0001000001000100ull, 
0x0001010001000100ull,
+0x0000000001010000ull, 0x0000010001010000ull, 0x0000000001010100ull, 
0x0000010001010100ull,
+0x0001000001010000ull, 0x0001010001010000ull, 0x0001000001010100ull, 
0x0001010001010100ull,
+0x0100000001000000ull, 0x0100010001000000ull, 0x0100000001000100ull, 
0x0100010001000100ull,
+0x0101000001000000ull, 0x0101010001000000ull, 0x0101000001000100ull, 
0x0101010001000100ull,
+0x0100000001010000ull, 0x0100010001010000ull, 0x0100000001010100ull, 
0x0100010001010100ull,
+0x0101000001010000ull, 0x0101010001010000ull, 0x0101000001010100ull, 
0x0101010001010100ull,
+0x0000000100000000ull, 0x0000010100000000ull, 0x0000000100000100ull, 
0x0000010100000100ull,
+0x0001000100000000ull, 0x0001010100000000ull, 0x0001000100000100ull, 
0x0001010100000100ull,
+0x0000000100010000ull, 0x0000010100010000ull, 0x0000000100010100ull, 
0x0000010100010100ull,
+0x0001000100010000ull, 0x0001010100010000ull, 0x0001000100010100ull, 
0x0001010100010100ull,
+0x0100000100000000ull, 0x0100010100000000ull, 0x0100000100000100ull, 
0x0100010100000100ull,
+0x0101000100000000ull, 0x0101010100000000ull, 0x0101000100000100ull, 
0x0101010100000100ull,
+0x0100000100010000ull, 0x0100010100010000ull, 0x0100000100010100ull, 
0x0100010100010100ull,
+0x0101000100010000ull, 0x0101010100010000ull, 0x0101000100010100ull, 
0x0101010100010100ull,
+0x0000000101000000ull, 0x0000010101000000ull, 0x0000000101000100ull, 
0x0000010101000100ull,
+0x0001000101000000ull, 0x0001010101000000ull, 0x0001000101000100ull, 
0x0001010101000100ull,
+0x0000000101010000ull, 0x0000010101010000ull, 0x0000000101010100ull, 
0x0000010101010100ull,
+0x0001000101010000ull, 0x0001010101010000ull, 0x0001000101010100ull, 
0x0001010101010100ull,
+0x0100000101000000ull, 0x0100010101000000ull, 0x0100000101000100ull, 
0x0100010101000100ull,
+0x0101000101000000ull, 0x0101010101000000ull, 0x0101000101000100ull, 
0x0101010101000100ull,
+0x0100000101010000ull, 0x0100010101010000ull, 0x0100000101010100ull, 
0x0100010101010100ull,
+0x0101000101010000ull, 0x0101010101010000ull, 0x0101000101010100ull, 
0x0101010101010100ull,
+0x0000000000000001ull, 0x0000010000000001ull, 0x0000000000000101ull, 
0x0000010000000101ull,
+0x0001000000000001ull, 0x0001010000000001ull, 0x0001000000000101ull, 
0x0001010000000101ull,
+0x0000000000010001ull, 0x0000010000010001ull, 0x0000000000010101ull, 
0x0000010000010101ull,
+0x0001000000010001ull, 0x0001010000010001ull, 0x0001000000010101ull, 
0x0001010000010101ull,
+0x0100000000000001ull, 0x0100010000000001ull, 0x0100000000000101ull, 
0x0100010000000101ull,
+0x0101000000000001ull, 0x0101010000000001ull, 0x0101000000000101ull, 
0x0101010000000101ull,
+0x0100000000010001ull, 0x0100010000010001ull, 0x0100000000010101ull, 
0x0100010000010101ull,
+0x0101000000010001ull, 0x0101010000010001ull, 0x0101000000010101ull, 
0x0101010000010101ull,
+0x0000000001000001ull, 0x0000010001000001ull, 0x0000000001000101ull, 
0x0000010001000101ull,
+0x0001000001000001ull, 0x0001010001000001ull, 0x0001000001000101ull, 
0x0001010001000101ull,
+0x0000000001010001ull, 0x0000010001010001ull, 0x0000000001010101ull, 
0x0000010001010101ull,
+0x0001000001010001ull, 0x0001010001010001ull, 0x0001000001010101ull, 
0x0001010001010101ull,
+0x0100000001000001ull, 0x0100010001000001ull, 0x0100000001000101ull, 
0x0100010001000101ull,
+0x0101000001000001ull, 0x0101010001000001ull, 0x0101000001000101ull, 
0x0101010001000101ull,
+0x0100000001010001ull, 0x0100010001010001ull, 0x0100000001010101ull, 
0x0100010001010101ull,
+0x0101000001010001ull, 0x0101010001010001ull, 0x0101000001010101ull, 
0x0101010001010101ull,
+0x0000000100000001ull, 0x0000010100000001ull, 0x0000000100000101ull, 
0x0000010100000101ull,
+0x0001000100000001ull, 0x0001010100000001ull, 0x0001000100000101ull, 
0x0001010100000101ull,
+0x0000000100010001ull, 0x0000010100010001ull, 0x0000000100010101ull, 
0x0000010100010101ull,
+0x0001000100010001ull, 0x0001010100010001ull, 0x0001000100010101ull, 
0x0001010100010101ull,
+0x0100000100000001ull, 0x0100010100000001ull, 0x0100000100000101ull, 
0x0100010100000101ull,
+0x0101000100000001ull, 0x0101010100000001ull, 0x0101000100000101ull, 
0x0101010100000101ull,
+0x0100000100010001ull, 0x0100010100010001ull, 0x0100000100010101ull, 
0x0100010100010101ull,
+0x0101000100010001ull, 0x0101010100010001ull, 0x0101000100010101ull, 
0x0101010100010101ull,
+0x0000000101000001ull, 0x0000010101000001ull, 0x0000000101000101ull, 
0x0000010101000101ull,
+0x0001000101000001ull, 0x0001010101000001ull, 0x0001000101000101ull, 
0x0001010101000101ull,
+0x0000000101010001ull, 0x0000010101010001ull, 0x0000000101010101ull, 
0x0000010101010101ull,
+0x0001000101010001ull, 0x0001010101010001ull, 0x0001000101010101ull, 
0x0001010101010101ull,
+0x0100000101000001ull, 0x0100010101000001ull, 0x0100000101000101ull, 
0x0100010101000101ull,
+0x0101000101000001ull, 0x0101010101000001ull, 0x0101000101000101ull, 
0x0101010101000101ull,
+0x0100000101010001ull, 0x0100010101010001ull, 0x0100000101010101ull, 
0x0100010101010101ull,
+0x0101000101010001ull, 0x0101010101010001ull, 0x0101000101010101ull, 
0x0101010101010101ull };
 
 const u64bit DES::FPTAB1[256] = {
-0x0000000000000000, 0x0000000100000000, 0x0000000004000000, 0x0000000104000000,
-0x0000000000040000, 0x0000000100040000, 0x0000000004040000, 0x0000000104040000,
-0x0000000000000400, 0x0000000100000400, 0x0000000004000400, 0x0000000104000400,
-0x0000000000040400, 0x0000000100040400, 0x0000000004040400, 0x0000000104040400,
-0x0000000000000004, 0x0000000100000004, 0x0000000004000004, 0x0000000104000004,
-0x0000000000040004, 0x0000000100040004, 0x0000000004040004, 0x0000000104040004,
-0x0000000000000404, 0x0000000100000404, 0x0000000004000404, 0x0000000104000404,
-0x0000000000040404, 0x0000000100040404, 0x0000000004040404, 0x0000000104040404,
-0x0400000000000000, 0x0400000100000000, 0x0400000004000000, 0x0400000104000000,
-0x0400000000040000, 0x0400000100040000, 0x0400000004040000, 0x0400000104040000,
-0x0400000000000400, 0x0400000100000400, 0x0400000004000400, 0x0400000104000400,
-0x0400000000040400, 0x0400000100040400, 0x0400000004040400, 0x0400000104040400,
-0x0400000000000004, 0x0400000100000004, 0x0400000004000004, 0x0400000104000004,
-0x0400000000040004, 0x0400000100040004, 0x0400000004040004, 0x0400000104040004,
-0x0400000000000404, 0x0400000100000404, 0x0400000004000404, 0x0400000104000404,
-0x0400000000040404, 0x0400000100040404, 0x0400000004040404, 0x0400000104040404,
-0x0004000000000000, 0x0004000100000000, 0x0004000004000000, 0x0004000104000000,
-0x0004000000040000, 0x0004000100040000, 0x0004000004040000, 0x0004000104040000,
-0x0004000000000400, 0x0004000100000400, 0x0004000004000400, 0x0004000104000400,
-0x0004000000040400, 0x0004000100040400, 0x0004000004040400, 0x0004000104040400,
-0x0004000000000004, 0x0004000100000004, 0x0004000004000004, 0x0004000104000004,
-0x0004000000040004, 0x0004000100040004, 0x0004000004040004, 0x0004000104040004,
-0x0004000000000404, 0x0004000100000404, 0x0004000004000404, 0x0004000104000404,
-0x0004000000040404, 0x0004000100040404, 0x0004000004040404, 0x0004000104040404,
-0x0404000000000000, 0x0404000100000000, 0x0404000004000000, 0x0404000104000000,
-0x0404000000040000, 0x0404000100040000, 0x0404000004040000, 0x0404000104040000,
-0x0404000000000400, 0x0404000100000400, 0x0404000004000400, 0x0404000104000400,
-0x0404000000040400, 0x0404000100040400, 0x0404000004040400, 0x0404000104040400,
-0x0404000000000004, 0x0404000100000004, 0x0404000004000004, 0x0404000104000004,
-0x0404000000040004, 0x0404000100040004, 0x0404000004040004, 0x0404000104040004,
-0x0404000000000404, 0x0404000100000404, 0x0404000004000404, 0x0404000104000404,
-0x0404000000040404, 0x0404000100040404, 0x0404000004040404, 0x0404000104040404,
-0x0000040000000000, 0x0000040100000000, 0x0000040004000000, 0x0000040104000000,
-0x0000040000040000, 0x0000040100040000, 0x0000040004040000, 0x0000040104040000,
-0x0000040000000400, 0x0000040100000400, 0x0000040004000400, 0x0000040104000400,
-0x0000040000040400, 0x0000040100040400, 0x0000040004040400, 0x0000040104040400,
-0x0000040000000004, 0x0000040100000004, 0x0000040004000004, 0x0000040104000004,
-0x0000040000040004, 0x0000040100040004, 0x0000040004040004, 0x0000040104040004,
-0x0000040000000404, 0x0000040100000404, 0x0000040004000404, 0x0000040104000404,
-0x0000040000040404, 0x0000040100040404, 0x0000040004040404, 0x0000040104040404,
-0x0400040000000000, 0x0400040100000000, 0x0400040004000000, 0x0400040104000000,
-0x0400040000040000, 0x0400040100040000, 0x0400040004040000, 0x0400040104040000,
-0x0400040000000400, 0x0400040100000400, 0x0400040004000400, 0x0400040104000400,
-0x0400040000040400, 0x0400040100040400, 0x0400040004040400, 0x0400040104040400,
-0x0400040000000004, 0x0400040100000004, 0x0400040004000004, 0x0400040104000004,
-0x0400040000040004, 0x0400040100040004, 0x0400040004040004, 0x0400040104040004,
-0x0400040000000404, 0x0400040100000404, 0x0400040004000404, 0x0400040104000404,
-0x0400040000040404, 0x0400040100040404, 0x0400040004040404, 0x0400040104040404,
-0x0004040000000000, 0x0004040100000000, 0x0004040004000000, 0x0004040104000000,
-0x0004040000040000, 0x0004040100040000, 0x0004040004040000, 0x0004040104040000,
-0x0004040000000400, 0x0004040100000400, 0x0004040004000400, 0x0004040104000400,
-0x0004040000040400, 0x0004040100040400, 0x0004040004040400, 0x0004040104040400,
-0x0004040000000004, 0x0004040100000004, 0x0004040004000004, 0x0004040104000004,
-0x0004040000040004, 0x0004040100040004, 0x0004040004040004, 0x0004040104040004,
-0x0004040000000404, 0x0004040100000404, 0x0004040004000404, 0x0004040104000404,
-0x0004040000040404, 0x0004040100040404, 0x0004040004040404, 0x0004040104040404,
-0x0404040000000000, 0x0404040100000000, 0x0404040004000000, 0x0404040104000000,
-0x0404040000040000, 0x0404040100040000, 0x0404040004040000, 0x0404040104040000,
-0x0404040000000400, 0x0404040100000400, 0x0404040004000400, 0x0404040104000400,
-0x0404040000040400, 0x0404040100040400, 0x0404040004040400, 0x0404040104040400,
-0x0404040000000004, 0x0404040100000004, 0x0404040004000004, 0x0404040104000004,
-0x0404040000040004, 0x0404040100040004, 0x0404040004040004, 0x0404040104040004,
-0x0404040000000404, 0x0404040100000404, 0x0404040004000404, 0x0404040104000404,
-0x0404040000040404, 0x0404040100040404, 0x0404040004040404, 0x0404040104040404 
};
+0x0000000000000000ull, 0x0000000100000000ull, 0x0000000004000000ull, 
0x0000000104000000ull,
+0x0000000000040000ull, 0x0000000100040000ull, 0x0000000004040000ull, 
0x0000000104040000ull,
+0x0000000000000400ull, 0x0000000100000400ull, 0x0000000004000400ull, 
0x0000000104000400ull,
+0x0000000000040400ull, 0x0000000100040400ull, 0x0000000004040400ull, 
0x0000000104040400ull,
+0x0000000000000004ull, 0x0000000100000004ull, 0x0000000004000004ull, 
0x0000000104000004ull,
+0x0000000000040004ull, 0x0000000100040004ull, 0x0000000004040004ull, 
0x0000000104040004ull,
+0x0000000000000404ull, 0x0000000100000404ull, 0x0000000004000404ull, 
0x0000000104000404ull,
+0x0000000000040404ull, 0x0000000100040404ull, 0x0000000004040404ull, 
0x0000000104040404ull,
+0x0400000000000000ull, 0x0400000100000000ull, 0x0400000004000000ull, 
0x0400000104000000ull,
+0x0400000000040000ull, 0x0400000100040000ull, 0x0400000004040000ull, 
0x0400000104040000ull,
+0x0400000000000400ull, 0x0400000100000400ull, 0x0400000004000400ull, 
0x0400000104000400ull,
+0x0400000000040400ull, 0x0400000100040400ull, 0x0400000004040400ull, 
0x0400000104040400ull,
+0x0400000000000004ull, 0x0400000100000004ull, 0x0400000004000004ull, 
0x0400000104000004ull,
+0x0400000000040004ull, 0x0400000100040004ull, 0x0400000004040004ull, 
0x0400000104040004ull,
+0x0400000000000404ull, 0x0400000100000404ull, 0x0400000004000404ull, 
0x0400000104000404ull,
+0x0400000000040404ull, 0x0400000100040404ull, 0x0400000004040404ull, 
0x0400000104040404ull,
+0x0004000000000000ull, 0x0004000100000000ull, 0x0004000004000000ull, 
0x0004000104000000ull,
+0x0004000000040000ull, 0x0004000100040000ull, 0x0004000004040000ull, 
0x0004000104040000ull,
+0x0004000000000400ull, 0x0004000100000400ull, 0x0004000004000400ull, 
0x0004000104000400ull,
+0x0004000000040400ull, 0x0004000100040400ull, 0x0004000004040400ull, 
0x0004000104040400ull,
+0x0004000000000004ull, 0x0004000100000004ull, 0x0004000004000004ull, 
0x0004000104000004ull,
+0x0004000000040004ull, 0x0004000100040004ull, 0x0004000004040004ull, 
0x0004000104040004ull,
+0x0004000000000404ull, 0x0004000100000404ull, 0x0004000004000404ull, 
0x0004000104000404ull,
+0x0004000000040404ull, 0x0004000100040404ull, 0x0004000004040404ull, 
0x0004000104040404ull,
+0x0404000000000000ull, 0x0404000100000000ull, 0x0404000004000000ull, 
0x0404000104000000ull,
+0x0404000000040000ull, 0x0404000100040000ull, 0x0404000004040000ull, 
0x0404000104040000ull,
+0x0404000000000400ull, 0x0404000100000400ull, 0x0404000004000400ull, 
0x0404000104000400ull,
+0x0404000000040400ull, 0x0404000100040400ull, 0x0404000004040400ull, 
0x0404000104040400ull,
+0x0404000000000004ull, 0x0404000100000004ull, 0x0404000004000004ull, 
0x0404000104000004ull,
+0x0404000000040004ull, 0x0404000100040004ull, 0x0404000004040004ull, 
0x0404000104040004ull,
+0x0404000000000404ull, 0x0404000100000404ull, 0x0404000004000404ull, 
0x0404000104000404ull,
+0x0404000000040404ull, 0x0404000100040404ull, 0x0404000004040404ull, 
0x0404000104040404ull,
+0x0000040000000000ull, 0x0000040100000000ull, 0x0000040004000000ull, 
0x0000040104000000ull,
+0x0000040000040000ull, 0x0000040100040000ull, 0x0000040004040000ull, 
0x0000040104040000ull,
+0x0000040000000400ull, 0x0000040100000400ull, 0x0000040004000400ull, 
0x0000040104000400ull,
+0x0000040000040400ull, 0x0000040100040400ull, 0x0000040004040400ull, 
0x0000040104040400ull,
+0x0000040000000004ull, 0x0000040100000004ull, 0x0000040004000004ull, 
0x0000040104000004ull,
+0x0000040000040004ull, 0x0000040100040004ull, 0x0000040004040004ull, 
0x0000040104040004ull,
+0x0000040000000404ull, 0x0000040100000404ull, 0x0000040004000404ull, 
0x0000040104000404ull,
+0x0000040000040404ull, 0x0000040100040404ull, 0x0000040004040404ull, 
0x0000040104040404ull,
+0x0400040000000000ull, 0x0400040100000000ull, 0x0400040004000000ull, 
0x0400040104000000ull,
+0x0400040000040000ull, 0x0400040100040000ull, 0x0400040004040000ull, 
0x0400040104040000ull,
+0x0400040000000400ull, 0x0400040100000400ull, 0x0400040004000400ull, 
0x0400040104000400ull,
+0x0400040000040400ull, 0x0400040100040400ull, 0x0400040004040400ull, 
0x0400040104040400ull,
+0x0400040000000004ull, 0x0400040100000004ull, 0x0400040004000004ull, 
0x0400040104000004ull,
+0x0400040000040004ull, 0x0400040100040004ull, 0x0400040004040004ull, 
0x0400040104040004ull,
+0x0400040000000404ull, 0x0400040100000404ull, 0x0400040004000404ull, 
0x0400040104000404ull,
+0x0400040000040404ull, 0x0400040100040404ull, 0x0400040004040404ull, 
0x0400040104040404ull,
+0x0004040000000000ull, 0x0004040100000000ull, 0x0004040004000000ull, 
0x0004040104000000ull,
+0x0004040000040000ull, 0x0004040100040000ull, 0x0004040004040000ull, 
0x0004040104040000ull,
+0x0004040000000400ull, 0x0004040100000400ull, 0x0004040004000400ull, 
0x0004040104000400ull,
+0x0004040000040400ull, 0x0004040100040400ull, 0x0004040004040400ull, 
0x0004040104040400ull,
+0x0004040000000004ull, 0x0004040100000004ull, 0x0004040004000004ull, 
0x0004040104000004ull,
+0x0004040000040004ull, 0x0004040100040004ull, 0x0004040004040004ull, 
0x0004040104040004ull,
+0x0004040000000404ull, 0x0004040100000404ull, 0x0004040004000404ull, 
0x0004040104000404ull,
+0x0004040000040404ull, 0x0004040100040404ull, 0x0004040004040404ull, 
0x0004040104040404ull,
+0x0404040000000000ull, 0x0404040100000000ull, 0x0404040004000000ull, 
0x0404040104000000ull,
+0x0404040000040000ull, 0x0404040100040000ull, 0x0404040004040000ull, 
0x0404040104040000ull,
+0x0404040000000400ull, 0x0404040100000400ull, 0x0404040004000400ull, 
0x0404040104000400ull,
+0x0404040000040400ull, 0x0404040100040400ull, 0x0404040004040400ull, 
0x0404040104040400ull,
+0x0404040000000004ull, 0x0404040100000004ull, 0x0404040004000004ull, 
0x0404040104000004ull,
+0x0404040000040004ull, 0x0404040100040004ull, 0x0404040004040004ull, 
0x0404040104040004ull,
+0x0404040000000404ull, 0x0404040100000404ull, 0x0404040004000404ull, 
0x0404040104000404ull,
+0x0404040000040404ull, 0x0404040100040404ull, 0x0404040004040404ull, 
0x0404040104040404ull };
 
 const u64bit DES::FPTAB2[256] = {
-0x0000000000000000, 0x0000004000000000, 0x0000000001000000, 0x0000004001000000,
-0x0000000000010000, 0x0000004000010000, 0x0000000001010000, 0x0000004001010000,
-0x0000000000000100, 0x0000004000000100, 0x0000000001000100, 0x0000004001000100,
-0x0000000000010100, 0x0000004000010100, 0x0000000001010100, 0x0000004001010100,
-0x0000000000000001, 0x0000004000000001, 0x0000000001000001, 0x0000004001000001,
-0x0000000000010001, 0x0000004000010001, 0x0000000001010001, 0x0000004001010001,
-0x0000000000000101, 0x0000004000000101, 0x0000000001000101, 0x0000004001000101,
-0x0000000000010101, 0x0000004000010101, 0x0000000001010101, 0x0000004001010101,
-0x0100000000000000, 0x0100004000000000, 0x0100000001000000, 0x0100004001000000,
-0x0100000000010000, 0x0100004000010000, 0x0100000001010000, 0x0100004001010000,
-0x0100000000000100, 0x0100004000000100, 0x0100000001000100, 0x0100004001000100,
-0x0100000000010100, 0x0100004000010100, 0x0100000001010100, 0x0100004001010100,
-0x0100000000000001, 0x0100004000000001, 0x0100000001000001, 0x0100004001000001,
-0x0100000000010001, 0x0100004000010001, 0x0100000001010001, 0x0100004001010001,
-0x0100000000000101, 0x0100004000000101, 0x0100000001000101, 0x0100004001000101,
-0x0100000000010101, 0x0100004000010101, 0x0100000001010101, 0x0100004001010101,
-0x0001000000000000, 0x0001004000000000, 0x0001000001000000, 0x0001004001000000,
-0x0001000000010000, 0x0001004000010000, 0x0001000001010000, 0x0001004001010000,
-0x0001000000000100, 0x0001004000000100, 0x0001000001000100, 0x0001004001000100,
-0x0001000000010100, 0x0001004000010100, 0x0001000001010100, 0x0001004001010100,
-0x0001000000000001, 0x0001004000000001, 0x0001000001000001, 0x0001004001000001,
-0x0001000000010001, 0x0001004000010001, 0x0001000001010001, 0x0001004001010001,
-0x0001000000000101, 0x0001004000000101, 0x0001000001000101, 0x0001004001000101,
-0x0001000000010101, 0x0001004000010101, 0x0001000001010101, 0x0001004001010101,
-0x0101000000000000, 0x0101004000000000, 0x0101000001000000, 0x0101004001000000,
-0x0101000000010000, 0x0101004000010000, 0x0101000001010000, 0x0101004001010000,
-0x0101000000000100, 0x0101004000000100, 0x0101000001000100, 0x0101004001000100,
-0x0101000000010100, 0x0101004000010100, 0x0101000001010100, 0x0101004001010100,
-0x0101000000000001, 0x0101004000000001, 0x0101000001000001, 0x0101004001000001,
-0x0101000000010001, 0x0101004000010001, 0x0101000001010001, 0x0101004001010001,
-0x0101000000000101, 0x0101004000000101, 0x0101000001000101, 0x0101004001000101,
-0x0101000000010101, 0x0101004000010101, 0x0101000001010101, 0x0101004001010101,
-0x0000010000000000, 0x0000014000000000, 0x0000010001000000, 0x0000014001000000,
-0x0000010000010000, 0x0000014000010000, 0x0000010001010000, 0x0000014001010000,
-0x0000010000000100, 0x0000014000000100, 0x0000010001000100, 0x0000014001000100,
-0x0000010000010100, 0x0000014000010100, 0x0000010001010100, 0x0000014001010100,
-0x0000010000000001, 0x0000014000000001, 0x0000010001000001, 0x0000014001000001,
-0x0000010000010001, 0x0000014000010001, 0x0000010001010001, 0x0000014001010001,
-0x0000010000000101, 0x0000014000000101, 0x0000010001000101, 0x0000014001000101,
-0x0000010000010101, 0x0000014000010101, 0x0000010001010101, 0x0000014001010101,
-0x0100010000000000, 0x0100014000000000, 0x0100010001000000, 0x0100014001000000,
-0x0100010000010000, 0x0100014000010000, 0x0100010001010000, 0x0100014001010000,
-0x0100010000000100, 0x0100014000000100, 0x0100010001000100, 0x0100014001000100,
-0x0100010000010100, 0x0100014000010100, 0x0100010001010100, 0x0100014001010100,
-0x0100010000000001, 0x0100014000000001, 0x0100010001000001, 0x0100014001000001,
-0x0100010000010001, 0x0100014000010001, 0x0100010001010001, 0x0100014001010001,
-0x0100010000000101, 0x0100014000000101, 0x0100010001000101, 0x0100014001000101,
-0x0100010000010101, 0x0100014000010101, 0x0100010001010101, 0x0100014001010101,
-0x0001010000000000, 0x0001014000000000, 0x0001010001000000, 0x0001014001000000,
-0x0001010000010000, 0x0001014000010000, 0x0001010001010000, 0x0001014001010000,
-0x0001010000000100, 0x0001014000000100, 0x0001010001000100, 0x0001014001000100,
-0x0001010000010100, 0x0001014000010100, 0x0001010001010100, 0x0001014001010100,
-0x0001010000000001, 0x0001014000000001, 0x0001010001000001, 0x0001014001000001,
-0x0001010000010001, 0x0001014000010001, 0x0001010001010001, 0x0001014001010001,
-0x0001010000000101, 0x0001014000000101, 0x0001010001000101, 0x0001014001000101,
-0x0001010000010101, 0x0001014000010101, 0x0001010001010101, 0x0001014001010101,
-0x0101010000000000, 0x0101014000000000, 0x0101010001000000, 0x0101014001000000,
-0x0101010000010000, 0x0101014000010000, 0x0101010001010000, 0x0101014001010000,
-0x0101010000000100, 0x0101014000000100, 0x0101010001000100, 0x0101014001000100,
-0x0101010000010100, 0x0101014000010100, 0x0101010001010100, 0x0101014001010100,
-0x0101010000000001, 0x0101014000000001, 0x0101010001000001, 0x0101014001000001,
-0x0101010000010001, 0x0101014000010001, 0x0101010001010001, 0x0101014001010001,
-0x0101010000000101, 0x0101014000000101, 0x0101010001000101, 0x0101014001000101,
-0x0101010000010101, 0x0101014000010101, 0x0101010001010101, 0x0101014001010101 
};
+0x0000000000000000ull, 0x0000004000000000ull, 0x0000000001000000ull, 
0x0000004001000000ull,
+0x0000000000010000ull, 0x0000004000010000ull, 0x0000000001010000ull, 
0x0000004001010000ull,
+0x0000000000000100ull, 0x0000004000000100ull, 0x0000000001000100ull, 
0x0000004001000100ull,
+0x0000000000010100ull, 0x0000004000010100ull, 0x0000000001010100ull, 
0x0000004001010100ull,
+0x0000000000000001ull, 0x0000004000000001ull, 0x0000000001000001ull, 
0x0000004001000001ull,
+0x0000000000010001ull, 0x0000004000010001ull, 0x0000000001010001ull, 
0x0000004001010001ull,
+0x0000000000000101ull, 0x0000004000000101ull, 0x0000000001000101ull, 
0x0000004001000101ull,
+0x0000000000010101ull, 0x0000004000010101ull, 0x0000000001010101ull, 
0x0000004001010101ull,
+0x0100000000000000ull, 0x0100004000000000ull, 0x0100000001000000ull, 
0x0100004001000000ull,
+0x0100000000010000ull, 0x0100004000010000ull, 0x0100000001010000ull, 
0x0100004001010000ull,
+0x0100000000000100ull, 0x0100004000000100ull, 0x0100000001000100ull, 
0x0100004001000100ull,
+0x0100000000010100ull, 0x0100004000010100ull, 0x0100000001010100ull, 
0x0100004001010100ull,
+0x0100000000000001ull, 0x0100004000000001ull, 0x0100000001000001ull, 
0x0100004001000001ull,
+0x0100000000010001ull, 0x0100004000010001ull, 0x0100000001010001ull, 
0x0100004001010001ull,
+0x0100000000000101ull, 0x0100004000000101ull, 0x0100000001000101ull, 
0x0100004001000101ull,
+0x0100000000010101ull, 0x0100004000010101ull, 0x0100000001010101ull, 
0x0100004001010101ull,
+0x0001000000000000ull, 0x0001004000000000ull, 0x0001000001000000ull, 
0x0001004001000000ull,
+0x0001000000010000ull, 0x0001004000010000ull, 0x0001000001010000ull, 
0x0001004001010000ull,
+0x0001000000000100ull, 0x0001004000000100ull, 0x0001000001000100ull, 
0x0001004001000100ull,
+0x0001000000010100ull, 0x0001004000010100ull, 0x0001000001010100ull, 
0x0001004001010100ull,
+0x0001000000000001ull, 0x0001004000000001ull, 0x0001000001000001ull, 
0x0001004001000001ull,
+0x0001000000010001ull, 0x0001004000010001ull, 0x0001000001010001ull, 
0x0001004001010001ull,
+0x0001000000000101ull, 0x0001004000000101ull, 0x0001000001000101ull, 
0x0001004001000101ull,
+0x0001000000010101ull, 0x0001004000010101ull, 0x0001000001010101ull, 
0x0001004001010101ull,
+0x0101000000000000ull, 0x0101004000000000ull, 0x0101000001000000ull, 
0x0101004001000000ull,
+0x0101000000010000ull, 0x0101004000010000ull, 0x0101000001010000ull, 
0x0101004001010000ull,
+0x0101000000000100ull, 0x0101004000000100ull, 0x0101000001000100ull, 
0x0101004001000100ull,
+0x0101000000010100ull, 0x0101004000010100ull, 0x0101000001010100ull, 
0x0101004001010100ull,
+0x0101000000000001ull, 0x0101004000000001ull, 0x0101000001000001ull, 
0x0101004001000001ull,
+0x0101000000010001ull, 0x0101004000010001ull, 0x0101000001010001ull, 
0x0101004001010001ull,
+0x0101000000000101ull, 0x0101004000000101ull, 0x0101000001000101ull, 
0x0101004001000101ull,
+0x0101000000010101ull, 0x0101004000010101ull, 0x0101000001010101ull, 
0x0101004001010101ull,
+0x0000010000000000ull, 0x0000014000000000ull, 0x0000010001000000ull, 
0x0000014001000000ull,
+0x0000010000010000ull, 0x0000014000010000ull, 0x0000010001010000ull, 
0x0000014001010000ull,
+0x0000010000000100ull, 0x0000014000000100ull, 0x0000010001000100ull, 
0x0000014001000100ull,
+0x0000010000010100ull, 0x0000014000010100ull, 0x0000010001010100ull, 
0x0000014001010100ull,
+0x0000010000000001ull, 0x0000014000000001ull, 0x0000010001000001ull, 
0x0000014001000001ull,
+0x0000010000010001ull, 0x0000014000010001ull, 0x0000010001010001ull, 
0x0000014001010001ull,
+0x0000010000000101ull, 0x0000014000000101ull, 0x0000010001000101ull, 
0x0000014001000101ull,
+0x0000010000010101ull, 0x0000014000010101ull, 0x0000010001010101ull, 
0x0000014001010101ull,
+0x0100010000000000ull, 0x0100014000000000ull, 0x0100010001000000ull, 
0x0100014001000000ull,
+0x0100010000010000ull, 0x0100014000010000ull, 0x0100010001010000ull, 
0x0100014001010000ull,
+0x0100010000000100ull, 0x0100014000000100ull, 0x0100010001000100ull, 
0x0100014001000100ull,
+0x0100010000010100ull, 0x0100014000010100ull, 0x0100010001010100ull, 
0x0100014001010100ull,
+0x0100010000000001ull, 0x0100014000000001ull, 0x0100010001000001ull, 
0x0100014001000001ull,
+0x0100010000010001ull, 0x0100014000010001ull, 0x0100010001010001ull, 
0x0100014001010001ull,
+0x0100010000000101ull, 0x0100014000000101ull, 0x0100010001000101ull, 
0x0100014001000101ull,
+0x0100010000010101ull, 0x0100014000010101ull, 0x0100010001010101ull, 
0x0100014001010101ull,
+0x0001010000000000ull, 0x0001014000000000ull, 0x0001010001000000ull, 
0x0001014001000000ull,
+0x0001010000010000ull, 0x0001014000010000ull, 0x0001010001010000ull, 
0x0001014001010000ull,
+0x0001010000000100ull, 0x0001014000000100ull, 0x0001010001000100ull, 
0x0001014001000100ull,
+0x0001010000010100ull, 0x0001014000010100ull, 0x0001010001010100ull, 
0x0001014001010100ull,
+0x0001010000000001ull, 0x0001014000000001ull, 0x0001010001000001ull, 
0x0001014001000001ull,
+0x0001010000010001ull, 0x0001014000010001ull, 0x0001010001010001ull, 
0x0001014001010001ull,
+0x0001010000000101ull, 0x0001014000000101ull, 0x0001010001000101ull, 
0x0001014001000101ull,
+0x0001010000010101ull, 0x0001014000010101ull, 0x0001010001010101ull, 
0x0001014001010101ull,
+0x0101010000000000ull, 0x0101014000000000ull, 0x0101010001000000ull, 
0x0101014001000000ull,
+0x0101010000010000ull, 0x0101014000010000ull, 0x0101010001010000ull, 
0x0101014001010000ull,
+0x0101010000000100ull, 0x0101014000000100ull, 0x0101010001000100ull, 
0x0101014001000100ull,
+0x0101010000010100ull, 0x0101014000010100ull, 0x0101010001010100ull, 
0x0101014001010100ull,
+0x0101010000000001ull, 0x0101014000000001ull, 0x0101010001000001ull, 
0x0101014001000001ull,
+0x0101010000010001ull, 0x0101014000010001ull, 0x0101010001010001ull, 
0x0101014001010001ull,
+0x0101010000000101ull, 0x0101014000000101ull, 0x0101010001000101ull, 
0x0101014001000101ull,
+0x0101010000010101ull, 0x0101014000010101ull, 0x0101010001010101ull, 
0x0101014001010101ull };
 
 }
============================================================
--- src/primes.cpp      0c5a124af0349c7dd72c98d698f0482d87a351d9
+++ src/primes.cpp      7643b27ab42f2a3e14aafcd1403d54e96859d412
@@ -605,69 +605,69 @@ const u64bit PRIME_PRODUCTS[PRIME_PRODUC
 65437, 65447, 65449, 65479, 65497, 65519, 65521, 0 };
 
 const u64bit PRIME_PRODUCTS[PRIME_PRODUCTS_TABLE_SIZE] = {
-0xE221F97C30E94E1D, 0xE5B65ED6608B952D, 0xF4521CE5D3CA44EF, 0xF3EF021E44A7EEC3,
-0xF330D66E4349E591, 0x6F6B8463BEE90825, 0xD41D1350609EC855, 0x28681D7AA3190143,
-0x2FA51D379842A4AF, 0x84AE694AFD8B0547, 0xC7AC609EF16A407B, 0xCA376556426DE0FD,
-0x466324A8372A45D5, 0xAD7D2FB14BF7DC0B, 0x7BCD9BF6C6C26323, 0x74709A2A2637FA55,
-0x1D640B8FE0CA4311, 0xC93804EEC683CB2D, 0xB10594307EA0B7AD, 0xDE0244E8F6D2DC17,
-0x61DE0343443ED4C5, 0xCF8D577CE72384BB, 0x217168EC6F4A928B, 0xF5446BCD87F96E6B,
-0xF7E12D023D06E73D, 0x457CBC7E43B62C3F, 0x5AE2F68DB28800BF, 0x7500EDA80A9C8EA7,
-0x8DBC07E86DC4A37F, 0x9E40BF0300CA232D, 0xC0A9D8342259FCD1, 0xDFE8B5D19367A1C5,
-0xFBC11439E02B209D, 0xDA0AC1EC9E251F43, 0xAB4E5F28D129622F, 0xEBF5FBCBF5587CBD,
-0xE26B31744B05DC9D, 0xE1580FBB4592700B, 0x6539F95C9D74F439, 0xB185EF6E9070A559,
-0x699ECA919029B14B, 0xEBBFC2CC1B0DEE0F, 0x8E19279CEAF709FB, 0xFA3F354C954330EF,
-0xAE9362C721216DEF, 0xF44253878D02F03D, 0xC2D98B01DFE4F3A9, 0xE4A3E0F9407ED71F,
-0xAE2E9D8F67A52865, 0xF7DEE3EE2D340885, 0xCC1D2DEA66C3C841, 0xA827E8CE4BF5EB07,
-0xDF26E6009081BE79, 0x1969811A2B7A6A93, 0x88D31B077DEEB8A3, 0xA15E37A8F401B5C1,
-0xB27BF45E6508617B, 0xE23D5CA287D9A531, 0xD33CEF8D08A70D3F, 0xF26E164CB7B477D5,
-0xF070DAE24D8CEDA9, 0x4F580C6048999F4D, 0xFBC528EEE00D6CFB, 0xE47E34CA3E3EAC63,
-0xE2421086C3D09FE5, 0xC35091E86806D213, 0x1F29F3BD0BE9FAB3, 0xFA21995FB84F5A83,
-0xBBF6D8395F7047C7, 0xBC28039A69726205, 0xF0324199A11B5D45, 0x969FA74E537EBE09,
-0xA474F6C127403A9D, 0xEBB6153629ECDEA7, 0xC96E2D7B65D2277B, 0xD2B89C851CD9291F,
-0xEABE76C706F0C3E5, 0xB997188EA5B710D3, 0xB5B20274A0DABB6F, 0x89D99F7F39AB2B9B,
-0x138C3AC887043CCD, 0xC6D3E2761D16233F, 0x507C4D00D6B6027F, 0xBF363571906180F3,
-0x89FEA18355BD571D, 0xF55905D2F8949905, 0x65F170475F041C6F, 0x94C6E638460936A1,
-0x809F449762D125EF, 0xAC4BC4C3547A71E1, 0xF9315948183BDBC5, 0xC383E883DEA0349B,
-0xBC33CFE86CA38435, 0xC413C74E3F6F847B, 0xE25488813C3CE121, 0xFD33CDA8A0333BEF,
-0xEDCCA470B26DA57F, 0x383533808BD74477, 0x3AC02A15FC89C54D, 0x3E12CC83606624F3,
-0xAB899B62C0938D01, 0x429DC254C5490571, 0xF5554C6D540DB6A9, 0xFE3F5CCCBAFFDC95,
-0xF20E8ABC0340C14F, 0xBD633919AA5AB02F, 0x532A1FA4D0775045, 0x9F3F943B5D1E6679,
-0xA14E33555E99605D, 0xC48A6E1EC3CF4793, 0xD00AC683F6B64DB9, 0xB7316C602F3F2DDB,
-0xABF8EF8B5CABB03D, 0xFFCAA72EE6539255, 0xC1CB903C8D764FB7, 0x80300B3B06A6F3F3,
-0xC7471C73A380A4AF, 0x892E6D86008F82E3, 0x8D040C52D7C6AB79, 0xD35DE032B89A6907,
-0xD1CD5A93959C1185, 0xB87C36644FB9B3B7, 0xA827E6B6DE68593F, 0xAC16DC9E966EA68F,
-0xB3E87100AC54DE6D, 0xB98014BDAE7021B1, 0xBE350E0F484524D1, 0xC6172BCEA3A11C9B,
-0xCC01BFD8F5EE2EC3, 0xD1B284C91EED248B, 0xFDFF2DE1B95F5687, 0xE21A13779E0CCDC7,
-0xE68E732A2ABED62F, 0xEC8F38C8B28E0493, 0xF52BDF080F7ABA6F, 0xFF40ECA3CCA22CE5,
-0x215D0693AD933EB1, 0xBE2B9B2F8ECD578D, 0x843F6BF5D2BBF979, 0xCACD47144DAADA59,
-0xF19D26474F170045, 0x7A6BA19CE2FBBCD9, 0x525620BB14320123, 0xEBABCCACEACE2A81,
-0xDAD688DAC863D2F3, 0x70CF888F6F02D4BB, 0xD3EBE9A16C01996F, 0xED449526CBEBE513,
-0x991DD50C7F17A1B7, 0xD1F37E54FC6589EF, 0xB1B72FDE0EA34AFF, 0xBF1D75BDDED44FD1,
-0xD101DC5EAA25201B, 0xDF60F18616AD8EFB, 0xED74888F36648FBB, 0xFD5051BD895D6539,
-0xCCEBE44FA3E6B1BD, 0xD52A16F9E33265CB, 0xEDD3384401AD1267, 0xF3CC98549791076F,
-0x6EF7899720A0A93B, 0x7DB9EF3F5256F38F, 0x9273910ABDE6E503, 0xA3B446CA98554091,
-0xB13C2BDE8958E05D, 0xBEFA82CB25F97AF1, 0xCDC1FE0211DF150F, 0xE32387464B225385,
-0xF154C4C2CA8EABF9, 0xCF4E11D8E56F6957, 0xF7BBB96118B42F15, 0x535138221347C85D,
-0x4FFC85B96C562A71, 0x6C6FD444704EE9A9, 0x81319E967E1AABB3, 0x948BE6486434303B,
-0xAADD17A4C60E2449, 0xD619D14A9A0B5FBD, 0xE2FB3F507D8C64B5, 0xFCFCE80D5BB997DF,
-0xB08106E9D93A99AD, 0x238E12AE75BF1861, 0xE0F83D2ED5DC8AC3, 0x681FF3CFE90D481B,
-0x805517DDD3E296E7, 0x9BDBC365E2E9E57F, 0xBAE52C39C9082107, 0xF09928EC4A4C1503,
-0xF26340D17F990C75, 0x97299F4F32B7DB6B, 0xC6E38417C7E30011, 0xF582B6E0E6B7830F,
-0xD0D046F74D1ED633, 0xBEE06A041F778E5D, 0xDBE53BF49C3CF227, 0xF9F4E4C91D1537F1,
-0xA838BFF645C41F0F, 0x458809A605C2264B, 0x62C07D00B5C7B939, 0x8F303208051AF4EF,
-0xCE366281B21E7AFD, 0xE750611EA0BE8B55, 0xAACF9921F54349DD, 0xB9499C919BEDEB2D,
-0x8B5E2D6A7C0FED8D, 0xB31C12531D85C86B, 0xE2F81DD567C198ED, 0xFCBF50872C7A85B7,
-0xA7C97479B562C749, 0xDBBB14BBF9B4AC85, 0xC69D26F25DEA581D, 0xFA3CC64F8D79398D,
-0x8703AEE0630C7FEF, 0xB272C207BD08D637, 0xC50A96A2C6C59C23, 0xFB6694D346303AB1,
-0x93F2BA15512C7BE9, 0x7ED5EB28F50A553F, 0xB9BB9C7AA9343BD3, 0xE711EA83362E3FEB,
-0xC417BB9B3F863C89, 0x96A88B47EE3AAB49, 0xDF3ED601F5DCCE23, 0xB211874BB8720877,
-0x6F3E9B69CB1BDCDB, 0x9B295CC8FEBC20D5, 0xE56F23F76A71387F, 0xEA78F5BB0CD1565F,
-0xA4A428E418FD2B17, 0xDEEF3C10065A26E1, 0x2D1E8F5735933B8D, 0xF362A62EB7E3B551,
-0xF62327AE7D4E70A5, 0x28B86F69D6FCA5B5, 0x87C63FAA3E25406B, 0xD659246185DA101D,
-0xC10B2CF6559274B7, 0x727BF31FFF9B208B, 0xEA55235C4B98064D, 0xFBCD0B3F56EABA75,
-0xFB0D12857E554175, 0xECC6FD2C8F45CC2F, 0xFAE200BB2687381B, 0x7C0001DFD91FDB5B,
-0xDEE61AC82000895B, 0x9536C4399D4F3FB7, 0xA8F1E698E4A3297F, 0xFA61F6759A6CEE8F,
-0xCBAE83BF32730B03, 0xDC7C6D1FB9E1633B, 0xF12CAF2A95AA8807, 0xDF9CC7A9C8FFEF4D,
-0xD0744F8438C2E907, 0xB0DA65AB5BB20619, 0x1C0C79A379CFBF8D, 0x93AC2BC1F9EC0E29 
};
+0xE221F97C30E94E1Dull, 0xE5B65ED6608B952Dull, 0xF4521CE5D3CA44EFull, 
0xF3EF021E44A7EEC3ull,
+0xF330D66E4349E591ull, 0x6F6B8463BEE90825ull, 0xD41D1350609EC855ull, 
0x28681D7AA3190143ull,
+0x2FA51D379842A4AFull, 0x84AE694AFD8B0547ull, 0xC7AC609EF16A407Bull, 
0xCA376556426DE0FDull,
+0x466324A8372A45D5ull, 0xAD7D2FB14BF7DC0Bull, 0x7BCD9BF6C6C26323ull, 
0x74709A2A2637FA55ull,
+0x1D640B8FE0CA4311ull, 0xC93804EEC683CB2Dull, 0xB10594307EA0B7ADull, 
0xDE0244E8F6D2DC17ull,
+0x61DE0343443ED4C5ull, 0xCF8D577CE72384BBull, 0x217168EC6F4A928Bull, 
0xF5446BCD87F96E6Bull,
+0xF7E12D023D06E73Dull, 0x457CBC7E43B62C3Full, 0x5AE2F68DB28800BFull, 
0x7500EDA80A9C8EA7ull,
+0x8DBC07E86DC4A37Full, 0x9E40BF0300CA232Dull, 0xC0A9D8342259FCD1ull, 
0xDFE8B5D19367A1C5ull,
+0xFBC11439E02B209Dull, 0xDA0AC1EC9E251F43ull, 0xAB4E5F28D129622Full, 
0xEBF5FBCBF5587CBDull,
+0xE26B31744B05DC9Dull, 0xE1580FBB4592700Bull, 0x6539F95C9D74F439ull, 
0xB185EF6E9070A559ull,
+0x699ECA919029B14Bull, 0xEBBFC2CC1B0DEE0Full, 0x8E19279CEAF709FBull, 
0xFA3F354C954330EFull,
+0xAE9362C721216DEFull, 0xF44253878D02F03Dull, 0xC2D98B01DFE4F3A9ull, 
0xE4A3E0F9407ED71Full,
+0xAE2E9D8F67A52865ull, 0xF7DEE3EE2D340885ull, 0xCC1D2DEA66C3C841ull, 
0xA827E8CE4BF5EB07ull,
+0xDF26E6009081BE79ull, 0x1969811A2B7A6A93ull, 0x88D31B077DEEB8A3ull, 
0xA15E37A8F401B5C1ull,
+0xB27BF45E6508617Bull, 0xE23D5CA287D9A531ull, 0xD33CEF8D08A70D3Full, 
0xF26E164CB7B477D5ull,
+0xF070DAE24D8CEDA9ull, 0x4F580C6048999F4Dull, 0xFBC528EEE00D6CFBull, 
0xE47E34CA3E3EAC63ull,
+0xE2421086C3D09FE5ull, 0xC35091E86806D213ull, 0x1F29F3BD0BE9FAB3ull, 
0xFA21995FB84F5A83ull,
+0xBBF6D8395F7047C7ull, 0xBC28039A69726205ull, 0xF0324199A11B5D45ull, 
0x969FA74E537EBE09ull,
+0xA474F6C127403A9Dull, 0xEBB6153629ECDEA7ull, 0xC96E2D7B65D2277Bull, 
0xD2B89C851CD9291Full,
+0xEABE76C706F0C3E5ull, 0xB997188EA5B710D3ull, 0xB5B20274A0DABB6Full, 
0x89D99F7F39AB2B9Bull,
+0x138C3AC887043CCDull, 0xC6D3E2761D16233Full, 0x507C4D00D6B6027Full, 
0xBF363571906180F3ull,
+0x89FEA18355BD571Dull, 0xF55905D2F8949905ull, 0x65F170475F041C6Full, 
0x94C6E638460936A1ull,
+0x809F449762D125EFull, 0xAC4BC4C3547A71E1ull, 0xF9315948183BDBC5ull, 
0xC383E883DEA0349Bull,
+0xBC33CFE86CA38435ull, 0xC413C74E3F6F847Bull, 0xE25488813C3CE121ull, 
0xFD33CDA8A0333BEFull,
+0xEDCCA470B26DA57Full, 0x383533808BD74477ull, 0x3AC02A15FC89C54Dull, 
0x3E12CC83606624F3ull,
+0xAB899B62C0938D01ull, 0x429DC254C5490571ull, 0xF5554C6D540DB6A9ull, 
0xFE3F5CCCBAFFDC95ull,
+0xF20E8ABC0340C14Full, 0xBD633919AA5AB02Full, 0x532A1FA4D0775045ull, 
0x9F3F943B5D1E6679ull,
+0xA14E33555E99605Dull, 0xC48A6E1EC3CF4793ull, 0xD00AC683F6B64DB9ull, 
0xB7316C602F3F2DDBull,
+0xABF8EF8B5CABB03Dull, 0xFFCAA72EE6539255ull, 0xC1CB903C8D764FB7ull, 
0x80300B3B06A6F3F3ull,
+0xC7471C73A380A4AFull, 0x892E6D86008F82E3ull, 0x8D040C52D7C6AB79ull, 
0xD35DE032B89A6907ull,
+0xD1CD5A93959C1185ull, 0xB87C36644FB9B3B7ull, 0xA827E6B6DE68593Full, 
0xAC16DC9E966EA68Full,
+0xB3E87100AC54DE6Dull, 0xB98014BDAE7021B1ull, 0xBE350E0F484524D1ull, 
0xC6172BCEA3A11C9Bull,
+0xCC01BFD8F5EE2EC3ull, 0xD1B284C91EED248Bull, 0xFDFF2DE1B95F5687ull, 
0xE21A13779E0CCDC7ull,
+0xE68E732A2ABED62Full, 0xEC8F38C8B28E0493ull, 0xF52BDF080F7ABA6Full, 
0xFF40ECA3CCA22CE5ull,
+0x215D0693AD933EB1ull, 0xBE2B9B2F8ECD578Dull, 0x843F6BF5D2BBF979ull, 
0xCACD47144DAADA59ull,
+0xF19D26474F170045ull, 0x7A6BA19CE2FBBCD9ull, 0x525620BB14320123ull, 
0xEBABCCACEACE2A81ull,
+0xDAD688DAC863D2F3ull, 0x70CF888F6F02D4BBull, 0xD3EBE9A16C01996Full, 
0xED449526CBEBE513ull,
+0x991DD50C7F17A1B7ull, 0xD1F37E54FC6589EFull, 0xB1B72FDE0EA34AFFull, 
0xBF1D75BDDED44FD1ull,
+0xD101DC5EAA25201Bull, 0xDF60F18616AD8EFBull, 0xED74888F36648FBBull, 
0xFD5051BD895D6539ull,
+0xCCEBE44FA3E6B1BDull, 0xD52A16F9E33265CBull, 0xEDD3384401AD1267ull, 
0xF3CC98549791076Full,
+0x6EF7899720A0A93Bull, 0x7DB9EF3F5256F38Full, 0x9273910ABDE6E503ull, 
0xA3B446CA98554091ull,
+0xB13C2BDE8958E05Dull, 0xBEFA82CB25F97AF1ull, 0xCDC1FE0211DF150Full, 
0xE32387464B225385ull,
+0xF154C4C2CA8EABF9ull, 0xCF4E11D8E56F6957ull, 0xF7BBB96118B42F15ull, 
0x535138221347C85Dull,
+0x4FFC85B96C562A71ull, 0x6C6FD444704EE9A9ull, 0x81319E967E1AABB3ull, 
0x948BE6486434303Bull,
+0xAADD17A4C60E2449ull, 0xD619D14A9A0B5FBDull, 0xE2FB3F507D8C64B5ull, 
0xFCFCE80D5BB997DFull,
+0xB08106E9D93A99ADull, 0x238E12AE75BF1861ull, 0xE0F83D2ED5DC8AC3ull, 
0x681FF3CFE90D481Bull,
+0x805517DDD3E296E7ull, 0x9BDBC365E2E9E57Full, 0xBAE52C39C9082107ull, 
0xF09928EC4A4C1503ull,
+0xF26340D17F990C75ull, 0x97299F4F32B7DB6Bull, 0xC6E38417C7E30011ull, 
0xF582B6E0E6B7830Full,
+0xD0D046F74D1ED633ull, 0xBEE06A041F778E5Dull, 0xDBE53BF49C3CF227ull, 
0xF9F4E4C91D1537F1ull,
+0xA838BFF645C41F0Full, 0x458809A605C2264Bull, 0x62C07D00B5C7B939ull, 
0x8F303208051AF4EFull,
+0xCE366281B21E7AFDull, 0xE750611EA0BE8B55ull, 0xAACF9921F54349DDull, 
0xB9499C919BEDEB2Dull,
+0x8B5E2D6A7C0FED8Dull, 0xB31C12531D85C86Bull, 0xE2F81DD567C198EDull, 
0xFCBF50872C7A85B7ull,
+0xA7C97479B562C749ull, 0xDBBB14BBF9B4AC85ull, 0xC69D26F25DEA581Dull, 
0xFA3CC64F8D79398Dull,
+0x8703AEE0630C7FEFull, 0xB272C207BD08D637ull, 0xC50A96A2C6C59C23ull, 
0xFB6694D346303AB1ull,
+0x93F2BA15512C7BE9ull, 0x7ED5EB28F50A553Full, 0xB9BB9C7AA9343BD3ull, 
0xE711EA83362E3FEBull,
+0xC417BB9B3F863C89ull, 0x96A88B47EE3AAB49ull, 0xDF3ED601F5DCCE23ull, 
0xB211874BB8720877ull,
+0x6F3E9B69CB1BDCDBull, 0x9B295CC8FEBC20D5ull, 0xE56F23F76A71387Full, 
0xEA78F5BB0CD1565Full,
+0xA4A428E418FD2B17ull, 0xDEEF3C10065A26E1ull, 0x2D1E8F5735933B8Dull, 
0xF362A62EB7E3B551ull,
+0xF62327AE7D4E70A5ull, 0x28B86F69D6FCA5B5ull, 0x87C63FAA3E25406Bull, 
0xD659246185DA101Dull,
+0xC10B2CF6559274B7ull, 0x727BF31FFF9B208Bull, 0xEA55235C4B98064Dull, 
0xFBCD0B3F56EABA75ull,
+0xFB0D12857E554175ull, 0xECC6FD2C8F45CC2Full, 0xFAE200BB2687381Bull, 
0x7C0001DFD91FDB5Bull,
+0xDEE61AC82000895Bull, 0x9536C4399D4F3FB7ull, 0xA8F1E698E4A3297Full, 
0xFA61F6759A6CEE8Full,
+0xCBAE83BF32730B03ull, 0xDC7C6D1FB9E1633Bull, 0xF12CAF2A95AA8807ull, 
0xDF9CC7A9C8FFEF4Dull,
+0xD0744F8438C2E907ull, 0xB0DA65AB5BB20619ull, 0x1C0C79A379CFBF8Dull, 
0x93AC2BC1F9EC0E29ull };
 
 }
============================================================
--- src/sha_64.cpp      194e3761a8cd49f3450ff47735d81832f394f30d
+++ src/sha_64.cpp      f89e51a1d75d8651bed9ab3be1b797bc9cdcd966
@@ -58,86 +58,86 @@ void SHA_64_BASE::hash(const byte input[
           D = digest[3], E = digest[4], F = digest[5],
           G = digest[6], H = digest[7];
 
-   F1(A,B,C,D,E,F,G,H,W[ 0],0x428A2F98D728AE22);
-   F1(H,A,B,C,D,E,F,G,W[ 1],0x7137449123EF65CD);
-   F1(G,H,A,B,C,D,E,F,W[ 2],0xB5C0FBCFEC4D3B2F);
-   F1(F,G,H,A,B,C,D,E,W[ 3],0xE9B5DBA58189DBBC);
-   F1(E,F,G,H,A,B,C,D,W[ 4],0x3956C25BF348B538);
-   F1(D,E,F,G,H,A,B,C,W[ 5],0x59F111F1B605D019);
-   F1(C,D,E,F,G,H,A,B,W[ 6],0x923F82A4AF194F9B);
-   F1(B,C,D,E,F,G,H,A,W[ 7],0xAB1C5ED5DA6D8118);
-   F1(A,B,C,D,E,F,G,H,W[ 8],0xD807AA98A3030242);
-   F1(H,A,B,C,D,E,F,G,W[ 9],0x12835B0145706FBE);
-   F1(G,H,A,B,C,D,E,F,W[10],0x243185BE4EE4B28C);
-   F1(F,G,H,A,B,C,D,E,W[11],0x550C7DC3D5FFB4E2);
-   F1(E,F,G,H,A,B,C,D,W[12],0x72BE5D74F27B896F);
-   F1(D,E,F,G,H,A,B,C,W[13],0x80DEB1FE3B1696B1);
-   F1(C,D,E,F,G,H,A,B,W[14],0x9BDC06A725C71235);
-   F1(B,C,D,E,F,G,H,A,W[15],0xC19BF174CF692694);
-   F1(A,B,C,D,E,F,G,H,W[16],0xE49B69C19EF14AD2);
-   F1(H,A,B,C,D,E,F,G,W[17],0xEFBE4786384F25E3);
-   F1(G,H,A,B,C,D,E,F,W[18],0x0FC19DC68B8CD5B5);
-   F1(F,G,H,A,B,C,D,E,W[19],0x240CA1CC77AC9C65);
-   F1(E,F,G,H,A,B,C,D,W[20],0x2DE92C6F592B0275);
-   F1(D,E,F,G,H,A,B,C,W[21],0x4A7484AA6EA6E483);
-   F1(C,D,E,F,G,H,A,B,W[22],0x5CB0A9DCBD41FBD4);
-   F1(B,C,D,E,F,G,H,A,W[23],0x76F988DA831153B5);
-   F1(A,B,C,D,E,F,G,H,W[24],0x983E5152EE66DFAB);
-   F1(H,A,B,C,D,E,F,G,W[25],0xA831C66D2DB43210);
-   F1(G,H,A,B,C,D,E,F,W[26],0xB00327C898FB213F);
-   F1(F,G,H,A,B,C,D,E,W[27],0xBF597FC7BEEF0EE4);
-   F1(E,F,G,H,A,B,C,D,W[28],0xC6E00BF33DA88FC2);
-   F1(D,E,F,G,H,A,B,C,W[29],0xD5A79147930AA725);
-   F1(C,D,E,F,G,H,A,B,W[30],0x06CA6351E003826F);
-   F1(B,C,D,E,F,G,H,A,W[31],0x142929670A0E6E70);
-   F1(A,B,C,D,E,F,G,H,W[32],0x27B70A8546D22FFC);
-   F1(H,A,B,C,D,E,F,G,W[33],0x2E1B21385C26C926);
-   F1(G,H,A,B,C,D,E,F,W[34],0x4D2C6DFC5AC42AED);
-   F1(F,G,H,A,B,C,D,E,W[35],0x53380D139D95B3DF);
-   F1(E,F,G,H,A,B,C,D,W[36],0x650A73548BAF63DE);
-   F1(D,E,F,G,H,A,B,C,W[37],0x766A0ABB3C77B2A8);
-   F1(C,D,E,F,G,H,A,B,W[38],0x81C2C92E47EDAEE6);
-   F1(B,C,D,E,F,G,H,A,W[39],0x92722C851482353B);
-   F1(A,B,C,D,E,F,G,H,W[40],0xA2BFE8A14CF10364);
-   F1(H,A,B,C,D,E,F,G,W[41],0xA81A664BBC423001);
-   F1(G,H,A,B,C,D,E,F,W[42],0xC24B8B70D0F89791);
-   F1(F,G,H,A,B,C,D,E,W[43],0xC76C51A30654BE30);
-   F1(E,F,G,H,A,B,C,D,W[44],0xD192E819D6EF5218);
-   F1(D,E,F,G,H,A,B,C,W[45],0xD69906245565A910);
-   F1(C,D,E,F,G,H,A,B,W[46],0xF40E35855771202A);
-   F1(B,C,D,E,F,G,H,A,W[47],0x106AA07032BBD1B8);
-   F1(A,B,C,D,E,F,G,H,W[48],0x19A4C116B8D2D0C8);
-   F1(H,A,B,C,D,E,F,G,W[49],0x1E376C085141AB53);
-   F1(G,H,A,B,C,D,E,F,W[50],0x2748774CDF8EEB99);
-   F1(F,G,H,A,B,C,D,E,W[51],0x34B0BCB5E19B48A8);
-   F1(E,F,G,H,A,B,C,D,W[52],0x391C0CB3C5C95A63);
-   F1(D,E,F,G,H,A,B,C,W[53],0x4ED8AA4AE3418ACB);
-   F1(C,D,E,F,G,H,A,B,W[54],0x5B9CCA4F7763E373);
-   F1(B,C,D,E,F,G,H,A,W[55],0x682E6FF3D6B2B8A3);
-   F1(A,B,C,D,E,F,G,H,W[56],0x748F82EE5DEFB2FC);
-   F1(H,A,B,C,D,E,F,G,W[57],0x78A5636F43172F60);
-   F1(G,H,A,B,C,D,E,F,W[58],0x84C87814A1F0AB72);
-   F1(F,G,H,A,B,C,D,E,W[59],0x8CC702081A6439EC);
-   F1(E,F,G,H,A,B,C,D,W[60],0x90BEFFFA23631E28);
-   F1(D,E,F,G,H,A,B,C,W[61],0xA4506CEBDE82BDE9);
-   F1(C,D,E,F,G,H,A,B,W[62],0xBEF9A3F7B2C67915);
-   F1(B,C,D,E,F,G,H,A,W[63],0xC67178F2E372532B);
-   F1(A,B,C,D,E,F,G,H,W[64],0xCA273ECEEA26619C);
-   F1(H,A,B,C,D,E,F,G,W[65],0xD186B8C721C0C207);
-   F1(G,H,A,B,C,D,E,F,W[66],0xEADA7DD6CDE0EB1E);
-   F1(F,G,H,A,B,C,D,E,W[67],0xF57D4F7FEE6ED178);
-   F1(E,F,G,H,A,B,C,D,W[68],0x06F067AA72176FBA);
-   F1(D,E,F,G,H,A,B,C,W[69],0x0A637DC5A2C898A6);
-   F1(C,D,E,F,G,H,A,B,W[70],0x113F9804BEF90DAE);
-   F1(B,C,D,E,F,G,H,A,W[71],0x1B710B35131C471B);
-   F1(A,B,C,D,E,F,G,H,W[72],0x28DB77F523047D84);
-   F1(H,A,B,C,D,E,F,G,W[73],0x32CAAB7B40C72493);
-   F1(G,H,A,B,C,D,E,F,W[74],0x3C9EBE0A15C9BEBC);
-   F1(F,G,H,A,B,C,D,E,W[75],0x431D67C49C100D4C);
-   F1(E,F,G,H,A,B,C,D,W[76],0x4CC5D4BECB3E42B6);
-   F1(D,E,F,G,H,A,B,C,W[77],0x597F299CFC657E2A);
-   F1(C,D,E,F,G,H,A,B,W[78],0x5FCB6FAB3AD6FAEC);
-   F1(B,C,D,E,F,G,H,A,W[79],0x6C44198C4A475817);
+   F1(A,B,C,D,E,F,G,H,W[ 0],0x428A2F98D728AE22ull);
+   F1(H,A,B,C,D,E,F,G,W[ 1],0x7137449123EF65CDull);
+   F1(G,H,A,B,C,D,E,F,W[ 2],0xB5C0FBCFEC4D3B2Full);
+   F1(F,G,H,A,B,C,D,E,W[ 3],0xE9B5DBA58189DBBCull);
+   F1(E,F,G,H,A,B,C,D,W[ 4],0x3956C25BF348B538ull);
+   F1(D,E,F,G,H,A,B,C,W[ 5],0x59F111F1B605D019ull);
+   F1(C,D,E,F,G,H,A,B,W[ 6],0x923F82A4AF194F9Bull);
+   F1(B,C,D,E,F,G,H,A,W[ 7],0xAB1C5ED5DA6D8118ull);
+   F1(A,B,C,D,E,F,G,H,W[ 8],0xD807AA98A3030242ull);
+   F1(H,A,B,C,D,E,F,G,W[ 9],0x12835B0145706FBEull);
+   F1(G,H,A,B,C,D,E,F,W[10],0x243185BE4EE4B28Cull);
+   F1(F,G,H,A,B,C,D,E,W[11],0x550C7DC3D5FFB4E2ull);
+   F1(E,F,G,H,A,B,C,D,W[12],0x72BE5D74F27B896Full);
+   F1(D,E,F,G,H,A,B,C,W[13],0x80DEB1FE3B1696B1ull);
+   F1(C,D,E,F,G,H,A,B,W[14],0x9BDC06A725C71235ull);
+   F1(B,C,D,E,F,G,H,A,W[15],0xC19BF174CF692694ull);
+   F1(A,B,C,D,E,F,G,H,W[16],0xE49B69C19EF14AD2ull);
+   F1(H,A,B,C,D,E,F,G,W[17],0xEFBE4786384F25E3ull);
+   F1(G,H,A,B,C,D,E,F,W[18],0x0FC19DC68B8CD5B5ull);
+   F1(F,G,H,A,B,C,D,E,W[19],0x240CA1CC77AC9C65ull);
+   F1(E,F,G,H,A,B,C,D,W[20],0x2DE92C6F592B0275ull);
+   F1(D,E,F,G,H,A,B,C,W[21],0x4A7484AA6EA6E483ull);
+   F1(C,D,E,F,G,H,A,B,W[22],0x5CB0A9DCBD41FBD4ull);
+   F1(B,C,D,E,F,G,H,A,W[23],0x76F988DA831153B5ull);
+   F1(A,B,C,D,E,F,G,H,W[24],0x983E5152EE66DFABull);
+   F1(H,A,B,C,D,E,F,G,W[25],0xA831C66D2DB43210ull);
+   F1(G,H,A,B,C,D,E,F,W[26],0xB00327C898FB213Full);
+   F1(F,G,H,A,B,C,D,E,W[27],0xBF597FC7BEEF0EE4ull);
+   F1(E,F,G,H,A,B,C,D,W[28],0xC6E00BF33DA88FC2ull);
+   F1(D,E,F,G,H,A,B,C,W[29],0xD5A79147930AA725ull);
+   F1(C,D,E,F,G,H,A,B,W[30],0x06CA6351E003826Full);
+   F1(B,C,D,E,F,G,H,A,W[31],0x142929670A0E6E70ull);
+   F1(A,B,C,D,E,F,G,H,W[32],0x27B70A8546D22FFCull);
+   F1(H,A,B,C,D,E,F,G,W[33],0x2E1B21385C26C926ull);
+   F1(G,H,A,B,C,D,E,F,W[34],0x4D2C6DFC5AC42AEDull);
+   F1(F,G,H,A,B,C,D,E,W[35],0x53380D139D95B3DFull);
+   F1(E,F,G,H,A,B,C,D,W[36],0x650A73548BAF63DEull);
+   F1(D,E,F,G,H,A,B,C,W[37],0x766A0ABB3C77B2A8ull);
+   F1(C,D,E,F,G,H,A,B,W[38],0x81C2C92E47EDAEE6ull);
+   F1(B,C,D,E,F,G,H,A,W[39],0x92722C851482353Bull);
+   F1(A,B,C,D,E,F,G,H,W[40],0xA2BFE8A14CF10364ull);
+   F1(H,A,B,C,D,E,F,G,W[41],0xA81A664BBC423001ull);
+   F1(G,H,A,B,C,D,E,F,W[42],0xC24B8B70D0F89791ull);
+   F1(F,G,H,A,B,C,D,E,W[43],0xC76C51A30654BE30ull);
+   F1(E,F,G,H,A,B,C,D,W[44],0xD192E819D6EF5218ull);
+   F1(D,E,F,G,H,A,B,C,W[45],0xD69906245565A910ull);
+   F1(C,D,E,F,G,H,A,B,W[46],0xF40E35855771202Aull);
+   F1(B,C,D,E,F,G,H,A,W[47],0x106AA07032BBD1B8ull);
+   F1(A,B,C,D,E,F,G,H,W[48],0x19A4C116B8D2D0C8ull);
+   F1(H,A,B,C,D,E,F,G,W[49],0x1E376C085141AB53ull);
+   F1(G,H,A,B,C,D,E,F,W[50],0x2748774CDF8EEB99ull);
+   F1(F,G,H,A,B,C,D,E,W[51],0x34B0BCB5E19B48A8ull);
+   F1(E,F,G,H,A,B,C,D,W[52],0x391C0CB3C5C95A63ull);
+   F1(D,E,F,G,H,A,B,C,W[53],0x4ED8AA4AE3418ACBull);
+   F1(C,D,E,F,G,H,A,B,W[54],0x5B9CCA4F7763E373ull);
+   F1(B,C,D,E,F,G,H,A,W[55],0x682E6FF3D6B2B8A3ull);
+   F1(A,B,C,D,E,F,G,H,W[56],0x748F82EE5DEFB2FCull);
+   F1(H,A,B,C,D,E,F,G,W[57],0x78A5636F43172F60ull);
+   F1(G,H,A,B,C,D,E,F,W[58],0x84C87814A1F0AB72ull);
+   F1(F,G,H,A,B,C,D,E,W[59],0x8CC702081A6439ECull);
+   F1(E,F,G,H,A,B,C,D,W[60],0x90BEFFFA23631E28ull);
+   F1(D,E,F,G,H,A,B,C,W[61],0xA4506CEBDE82BDE9ull);
+   F1(C,D,E,F,G,H,A,B,W[62],0xBEF9A3F7B2C67915ull);
+   F1(B,C,D,E,F,G,H,A,W[63],0xC67178F2E372532Bull);
+   F1(A,B,C,D,E,F,G,H,W[64],0xCA273ECEEA26619Cull);
+   F1(H,A,B,C,D,E,F,G,W[65],0xD186B8C721C0C207ull);
+   F1(G,H,A,B,C,D,E,F,W[66],0xEADA7DD6CDE0EB1Eull);
+   F1(F,G,H,A,B,C,D,E,W[67],0xF57D4F7FEE6ED178ull);
+   F1(E,F,G,H,A,B,C,D,W[68],0x06F067AA72176FBAull);
+   F1(D,E,F,G,H,A,B,C,W[69],0x0A637DC5A2C898A6ull);
+   F1(C,D,E,F,G,H,A,B,W[70],0x113F9804BEF90DAEull);
+   F1(B,C,D,E,F,G,H,A,W[71],0x1B710B35131C471Bull);
+   F1(A,B,C,D,E,F,G,H,W[72],0x28DB77F523047D84ull);
+   F1(H,A,B,C,D,E,F,G,W[73],0x32CAAB7B40C72493ull);
+   F1(G,H,A,B,C,D,E,F,W[74],0x3C9EBE0A15C9BEBCull);
+   F1(F,G,H,A,B,C,D,E,W[75],0x431D67C49C100D4Cull);
+   F1(E,F,G,H,A,B,C,D,W[76],0x4CC5D4BECB3E42B6ull);
+   F1(D,E,F,G,H,A,B,C,W[77],0x597F299CFC657E2Aull);
+   F1(C,D,E,F,G,H,A,B,W[78],0x5FCB6FAB3AD6FAECull);
+   F1(B,C,D,E,F,G,H,A,W[79],0x6C44198C4A475817ull);
 
    digest[0] += A; digest[1] += B; digest[2] += C;
    digest[3] += D; digest[4] += E; digest[5] += F;
@@ -168,14 +168,14 @@ void SHA_384::clear() throw()
 void SHA_384::clear() throw()
    {
    SHA_64_BASE::clear();
-   digest[0] = 0xCBBB9D5DC1059ED8;
-   digest[1] = 0x629A292A367CD507;
-   digest[2] = 0x9159015A3070DD17;
-   digest[3] = 0x152FECD8F70E5939;
-   digest[4] = 0x67332667FFC00B31;
-   digest[5] = 0x8EB44A8768581511;
-   digest[6] = 0xDB0C2E0D64F98FA7;
-   digest[7] = 0x47B5481DBEFA4FA4;
+   digest[0] = 0xCBBB9D5DC1059ED8ull;
+   digest[1] = 0x629A292A367CD507ull;
+   digest[2] = 0x9159015A3070DD17ull;
+   digest[3] = 0x152FECD8F70E5939ull;
+   digest[4] = 0x67332667FFC00B31ull;
+   digest[5] = 0x8EB44A8768581511ull;
+   digest[6] = 0xDB0C2E0D64F98FA7ull;
+   digest[7] = 0x47B5481DBEFA4FA4ull;
    }
 
 /*************************************************
@@ -184,14 +184,14 @@ void SHA_512::clear() throw()
 void SHA_512::clear() throw()
    {
    SHA_64_BASE::clear();
-   digest[0] = 0x6A09E667F3BCC908;
-   digest[1] = 0xBB67AE8584CAA73B;
-   digest[2] = 0x3C6EF372FE94F82B;
-   digest[3] = 0xA54FF53A5F1D36F1;
-   digest[4] = 0x510E527FADE682D1;
-   digest[5] = 0x9B05688C2B3E6C1F;
-   digest[6] = 0x1F83D9ABFB41BD6B;
-   digest[7] = 0x5BE0CD19137E2179;
+   digest[0] = 0x6A09E667F3BCC908ull;
+   digest[1] = 0xBB67AE8584CAA73Bull;
+   digest[2] = 0x3C6EF372FE94F82Bull;
+   digest[3] = 0xA54FF53A5F1D36F1ull;
+   digest[4] = 0x510E527FADE682D1ull;
+   digest[5] = 0x9B05688C2B3E6C1Full;
+   digest[6] = 0x1F83D9ABFB41BD6Bull;
+   digest[7] = 0x5BE0CD19137E2179ull;
    }
 
 }
============================================================
--- src/tig_tab.cpp     da2b0bdb89a798e39737918f86e7f418f7aceaab
+++ src/tig_tab.cpp     aa4536fbf5f64b44e7d214d4e9792a0d825c7dcc
@@ -8,355 +8,355 @@ const u64bit Tiger::SBOX1[256] = {
 namespace Botan {
 
 const u64bit Tiger::SBOX1[256] = {
-   0x02AAB17CF7E90C5E, 0xAC424B03E243A8EC, 0x72CD5BE30DD5FCD3,
-   0x6D019B93F6F97F3A, 0xCD9978FFD21F9193, 0x7573A1C9708029E2,
-   0xB164326B922A83C3, 0x46883EEE04915870, 0xEAACE3057103ECE6,
-   0xC54169B808A3535C, 0x4CE754918DDEC47C, 0x0AA2F4DFDC0DF40C,
-   0x10B76F18A74DBEFA, 0xC6CCB6235AD1AB6A, 0x13726121572FE2FF,
-   0x1A488C6F199D921E, 0x4BC9F9F4DA0007CA, 0x26F5E6F6E85241C7,
-   0x859079DBEA5947B6, 0x4F1885C5C99E8C92, 0xD78E761EA96F864B,
-   0x8E36428C52B5C17D, 0x69CF6827373063C1, 0xB607C93D9BB4C56E,
-   0x7D820E760E76B5EA, 0x645C9CC6F07FDC42, 0xBF38A078243342E0,
-   0x5F6B343C9D2E7D04, 0xF2C28AEB600B0EC6, 0x6C0ED85F7254BCAC,
-   0x71592281A4DB4FE5, 0x1967FA69CE0FED9F, 0xFD5293F8B96545DB,
-   0xC879E9D7F2A7600B, 0x860248920193194E, 0xA4F9533B2D9CC0B3,
-   0x9053836C15957613, 0xDB6DCF8AFC357BF1, 0x18BEEA7A7A370F57,
-   0x037117CA50B99066, 0x6AB30A9774424A35, 0xF4E92F02E325249B,
-   0x7739DB07061CCAE1, 0xD8F3B49CECA42A05, 0xBD56BE3F51382F73,
-   0x45FAED5843B0BB28, 0x1C813D5C11BF1F83, 0x8AF0E4B6D75FA169,
-   0x33EE18A487AD9999, 0x3C26E8EAB1C94410, 0xB510102BC0A822F9,
-   0x141EEF310CE6123B, 0xFC65B90059DDB154, 0xE0158640C5E0E607,
-   0x884E079826C3A3CF, 0x930D0D9523C535FD, 0x35638D754E9A2B00,
-   0x4085FCCF40469DD5, 0xC4B17AD28BE23A4C, 0xCAB2F0FC6A3E6A2E,
-   0x2860971A6B943FCD, 0x3DDE6EE212E30446, 0x6222F32AE01765AE,
-   0x5D550BB5478308FE, 0xA9EFA98DA0EDA22A, 0xC351A71686C40DA7,
-   0x1105586D9C867C84, 0xDCFFEE85FDA22853, 0xCCFBD0262C5EEF76,
-   0xBAF294CB8990D201, 0xE69464F52AFAD975, 0x94B013AFDF133E14,
-   0x06A7D1A32823C958, 0x6F95FE5130F61119, 0xD92AB34E462C06C0,
-   0xED7BDE33887C71D2, 0x79746D6E6518393E, 0x5BA419385D713329,
-   0x7C1BA6B948A97564, 0x31987C197BFDAC67, 0xDE6C23C44B053D02,
-   0x581C49FED002D64D, 0xDD474D6338261571, 0xAA4546C3E473D062,
-   0x928FCE349455F860, 0x48161BBACAAB94D9, 0x63912430770E6F68,
-   0x6EC8A5E602C6641C, 0x87282515337DDD2B, 0x2CDA6B42034B701B,
-   0xB03D37C181CB096D, 0xE108438266C71C6F, 0x2B3180C7EB51B255,
-   0xDF92B82F96C08BBC, 0x5C68C8C0A632F3BA, 0x5504CC861C3D0556,
-   0xABBFA4E55FB26B8F, 0x41848B0AB3BACEB4, 0xB334A273AA445D32,
-   0xBCA696F0A85AD881, 0x24F6EC65B528D56C, 0x0CE1512E90F4524A,
-   0x4E9DD79D5506D35A, 0x258905FAC6CE9779, 0x2019295B3E109B33,
-   0xF8A9478B73A054CC, 0x2924F2F934417EB0, 0x3993357D536D1BC4,
-   0x38A81AC21DB6FF8B, 0x47C4FBF17D6016BF, 0x1E0FAADD7667E3F5,
-   0x7ABCFF62938BEB96, 0xA78DAD948FC179C9, 0x8F1F98B72911E50D,
-   0x61E48EAE27121A91, 0x4D62F7AD31859808, 0xECEBA345EF5CEAEB,
-   0xF5CEB25EBC9684CE, 0xF633E20CB7F76221, 0xA32CDF06AB8293E4,
-   0x985A202CA5EE2CA4, 0xCF0B8447CC8A8FB1, 0x9F765244979859A3,
-   0xA8D516B1A1240017, 0x0BD7BA3EBB5DC726, 0xE54BCA55B86ADB39,
-   0x1D7A3AFD6C478063, 0x519EC608E7669EDD, 0x0E5715A2D149AA23,
-   0x177D4571848FF194, 0xEEB55F3241014C22, 0x0F5E5CA13A6E2EC2,
-   0x8029927B75F5C361, 0xAD139FABC3D6E436, 0x0D5DF1A94CCF402F,
-   0x3E8BD948BEA5DFC8, 0xA5A0D357BD3FF77E, 0xA2D12E251F74F645,
-   0x66FD9E525E81A082, 0x2E0C90CE7F687A49, 0xC2E8BCBEBA973BC5,
-   0x000001BCE509745F, 0x423777BBE6DAB3D6, 0xD1661C7EAEF06EB5,
-   0xA1781F354DAACFD8, 0x2D11284A2B16AFFC, 0xF1FC4F67FA891D1F,
-   0x73ECC25DCB920ADA, 0xAE610C22C2A12651, 0x96E0A810D356B78A,
-   0x5A9A381F2FE7870F, 0xD5AD62EDE94E5530, 0xD225E5E8368D1427,
-   0x65977B70C7AF4631, 0x99F889B2DE39D74F, 0x233F30BF54E1D143,
-   0x9A9675D3D9A63C97, 0x5470554FF334F9A8, 0x166ACB744A4F5688,
-   0x70C74CAAB2E4AEAD, 0xF0D091646F294D12, 0x57B82A89684031D1,
-   0xEFD95A5A61BE0B6B, 0x2FBD12E969F2F29A, 0x9BD37013FEFF9FE8,
-   0x3F9B0404D6085A06, 0x4940C1F3166CFE15, 0x09542C4DCDF3DEFB,
-   0xB4C5218385CD5CE3, 0xC935B7DC4462A641, 0x3417F8A68ED3B63F,
-   0xB80959295B215B40, 0xF99CDAEF3B8C8572, 0x018C0614F8FCB95D,
-   0x1B14ACCD1A3ACDF3, 0x84D471F200BB732D, 0xC1A3110E95E8DA16,
-   0x430A7220BF1A82B8, 0xB77E090D39DF210E, 0x5EF4BD9F3CD05E9D,
-   0x9D4FF6DA7E57A444, 0xDA1D60E183D4A5F8, 0xB287C38417998E47,
-   0xFE3EDC121BB31886, 0xC7FE3CCC980CCBEF, 0xE46FB590189BFD03,
-   0x3732FD469A4C57DC, 0x7EF700A07CF1AD65, 0x59C64468A31D8859,
-   0x762FB0B4D45B61F6, 0x155BAED099047718, 0x68755E4C3D50BAA6,
-   0xE9214E7F22D8B4DF, 0x2ADDBF532EAC95F4, 0x32AE3909B4BD0109,
-   0x834DF537B08E3450, 0xFA209DA84220728D, 0x9E691D9B9EFE23F7,
-   0x0446D288C4AE8D7F, 0x7B4CC524E169785B, 0x21D87F0135CA1385,
-   0xCEBB400F137B8AA5, 0x272E2B66580796BE, 0x3612264125C2B0DE,
-   0x057702BDAD1EFBB2, 0xD4BABB8EACF84BE9, 0x91583139641BC67B,
-   0x8BDC2DE08036E024, 0x603C8156F49F68ED, 0xF7D236F7DBEF5111,
-   0x9727C4598AD21E80, 0xA08A0896670A5FD7, 0xCB4A8F4309EBA9CB,
-   0x81AF564B0F7036A1, 0xC0B99AA778199ABD, 0x959F1EC83FC8E952,
-   0x8C505077794A81B9, 0x3ACAAF8F056338F0, 0x07B43F50627A6778,
-   0x4A44AB49F5ECCC77, 0x3BC3D6E4B679EE98, 0x9CC0D4D1CF14108C,
-   0x4406C00B206BC8A0, 0x82A18854C8D72D89, 0x67E366B35C3C432C,
-   0xB923DD61102B37F2, 0x56AB2779D884271D, 0xBE83E1B0FF1525AF,
-   0xFB7C65D4217E49A9, 0x6BDBE0E76D48E7D4, 0x08DF828745D9179E,
-   0x22EA6A9ADD53BD34, 0xE36E141C5622200A, 0x7F805D1B8CB750EE,
-   0xAFE5C7A59F58E837, 0xE27F996A4FB1C23C, 0xD3867DFB0775F0D0,
-   0xD0E673DE6E88891A, 0x123AEB9EAFB86C25, 0x30F1D5D5C145B895,
-   0xBB434A2DEE7269E7, 0x78CB67ECF931FA38, 0xF33B0372323BBF9C,
-   0x52D66336FB279C74, 0x505F33AC0AFB4EAA, 0xE8A5CD99A2CCE187,
-   0x534974801E2D30BB, 0x8D2D5711D5876D90, 0x1F1A412891BC038E,
-   0xD6E2E71D82E56648, 0x74036C3A497732B7, 0x89B67ED96361F5AB,
-   0xFFED95D8F1EA02A2, 0xE72B3BD61464D43D, 0xA6300F170BDC4820,
-   0xEBC18760ED78A77A };
+   0x02AAB17CF7E90C5Eull, 0xAC424B03E243A8ECull, 0x72CD5BE30DD5FCD3ull,
+   0x6D019B93F6F97F3Aull, 0xCD9978FFD21F9193ull, 0x7573A1C9708029E2ull,
+   0xB164326B922A83C3ull, 0x46883EEE04915870ull, 0xEAACE3057103ECE6ull,
+   0xC54169B808A3535Cull, 0x4CE754918DDEC47Cull, 0x0AA2F4DFDC0DF40Cull,
+   0x10B76F18A74DBEFAull, 0xC6CCB6235AD1AB6Aull, 0x13726121572FE2FFull,
+   0x1A488C6F199D921Eull, 0x4BC9F9F4DA0007CAull, 0x26F5E6F6E85241C7ull,
+   0x859079DBEA5947B6ull, 0x4F1885C5C99E8C92ull, 0xD78E761EA96F864Bull,
+   0x8E36428C52B5C17Dull, 0x69CF6827373063C1ull, 0xB607C93D9BB4C56Eull,
+   0x7D820E760E76B5EAull, 0x645C9CC6F07FDC42ull, 0xBF38A078243342E0ull,
+   0x5F6B343C9D2E7D04ull, 0xF2C28AEB600B0EC6ull, 0x6C0ED85F7254BCACull,
+   0x71592281A4DB4FE5ull, 0x1967FA69CE0FED9Full, 0xFD5293F8B96545DBull,
+   0xC879E9D7F2A7600Bull, 0x860248920193194Eull, 0xA4F9533B2D9CC0B3ull,
+   0x9053836C15957613ull, 0xDB6DCF8AFC357BF1ull, 0x18BEEA7A7A370F57ull,
+   0x037117CA50B99066ull, 0x6AB30A9774424A35ull, 0xF4E92F02E325249Bull,
+   0x7739DB07061CCAE1ull, 0xD8F3B49CECA42A05ull, 0xBD56BE3F51382F73ull,
+   0x45FAED5843B0BB28ull, 0x1C813D5C11BF1F83ull, 0x8AF0E4B6D75FA169ull,
+   0x33EE18A487AD9999ull, 0x3C26E8EAB1C94410ull, 0xB510102BC0A822F9ull,
+   0x141EEF310CE6123Bull, 0xFC65B90059DDB154ull, 0xE0158640C5E0E607ull,
+   0x884E079826C3A3CFull, 0x930D0D9523C535FDull, 0x35638D754E9A2B00ull,
+   0x4085FCCF40469DD5ull, 0xC4B17AD28BE23A4Cull, 0xCAB2F0FC6A3E6A2Eull,
+   0x2860971A6B943FCDull, 0x3DDE6EE212E30446ull, 0x6222F32AE01765AEull,
+   0x5D550BB5478308FEull, 0xA9EFA98DA0EDA22Aull, 0xC351A71686C40DA7ull,
+   0x1105586D9C867C84ull, 0xDCFFEE85FDA22853ull, 0xCCFBD0262C5EEF76ull,
+   0xBAF294CB8990D201ull, 0xE69464F52AFAD975ull, 0x94B013AFDF133E14ull,
+   0x06A7D1A32823C958ull, 0x6F95FE5130F61119ull, 0xD92AB34E462C06C0ull,
+   0xED7BDE33887C71D2ull, 0x79746D6E6518393Eull, 0x5BA419385D713329ull,
+   0x7C1BA6B948A97564ull, 0x31987C197BFDAC67ull, 0xDE6C23C44B053D02ull,
+   0x581C49FED002D64Dull, 0xDD474D6338261571ull, 0xAA4546C3E473D062ull,
+   0x928FCE349455F860ull, 0x48161BBACAAB94D9ull, 0x63912430770E6F68ull,
+   0x6EC8A5E602C6641Cull, 0x87282515337DDD2Bull, 0x2CDA6B42034B701Bull,
+   0xB03D37C181CB096Dull, 0xE108438266C71C6Full, 0x2B3180C7EB51B255ull,
+   0xDF92B82F96C08BBCull, 0x5C68C8C0A632F3BAull, 0x5504CC861C3D0556ull,
+   0xABBFA4E55FB26B8Full, 0x41848B0AB3BACEB4ull, 0xB334A273AA445D32ull,
+   0xBCA696F0A85AD881ull, 0x24F6EC65B528D56Cull, 0x0CE1512E90F4524Aull,
+   0x4E9DD79D5506D35Aull, 0x258905FAC6CE9779ull, 0x2019295B3E109B33ull,
+   0xF8A9478B73A054CCull, 0x2924F2F934417EB0ull, 0x3993357D536D1BC4ull,
+   0x38A81AC21DB6FF8Bull, 0x47C4FBF17D6016BFull, 0x1E0FAADD7667E3F5ull,
+   0x7ABCFF62938BEB96ull, 0xA78DAD948FC179C9ull, 0x8F1F98B72911E50Dull,
+   0x61E48EAE27121A91ull, 0x4D62F7AD31859808ull, 0xECEBA345EF5CEAEBull,
+   0xF5CEB25EBC9684CEull, 0xF633E20CB7F76221ull, 0xA32CDF06AB8293E4ull,
+   0x985A202CA5EE2CA4ull, 0xCF0B8447CC8A8FB1ull, 0x9F765244979859A3ull,
+   0xA8D516B1A1240017ull, 0x0BD7BA3EBB5DC726ull, 0xE54BCA55B86ADB39ull,
+   0x1D7A3AFD6C478063ull, 0x519EC608E7669EDDull, 0x0E5715A2D149AA23ull,
+   0x177D4571848FF194ull, 0xEEB55F3241014C22ull, 0x0F5E5CA13A6E2EC2ull,
+   0x8029927B75F5C361ull, 0xAD139FABC3D6E436ull, 0x0D5DF1A94CCF402Full,
+   0x3E8BD948BEA5DFC8ull, 0xA5A0D357BD3FF77Eull, 0xA2D12E251F74F645ull,
+   0x66FD9E525E81A082ull, 0x2E0C90CE7F687A49ull, 0xC2E8BCBEBA973BC5ull,
+   0x000001BCE509745Full, 0x423777BBE6DAB3D6ull, 0xD1661C7EAEF06EB5ull,
+   0xA1781F354DAACFD8ull, 0x2D11284A2B16AFFCull, 0xF1FC4F67FA891D1Full,
+   0x73ECC25DCB920ADAull, 0xAE610C22C2A12651ull, 0x96E0A810D356B78Aull,
+   0x5A9A381F2FE7870Full, 0xD5AD62EDE94E5530ull, 0xD225E5E8368D1427ull,
+   0x65977B70C7AF4631ull, 0x99F889B2DE39D74Full, 0x233F30BF54E1D143ull,
+   0x9A9675D3D9A63C97ull, 0x5470554FF334F9A8ull, 0x166ACB744A4F5688ull,
+   0x70C74CAAB2E4AEADull, 0xF0D091646F294D12ull, 0x57B82A89684031D1ull,
+   0xEFD95A5A61BE0B6Bull, 0x2FBD12E969F2F29Aull, 0x9BD37013FEFF9FE8ull,
+   0x3F9B0404D6085A06ull, 0x4940C1F3166CFE15ull, 0x09542C4DCDF3DEFBull,
+   0xB4C5218385CD5CE3ull, 0xC935B7DC4462A641ull, 0x3417F8A68ED3B63Full,
+   0xB80959295B215B40ull, 0xF99CDAEF3B8C8572ull, 0x018C0614F8FCB95Dull,
+   0x1B14ACCD1A3ACDF3ull, 0x84D471F200BB732Dull, 0xC1A3110E95E8DA16ull,
+   0x430A7220BF1A82B8ull, 0xB77E090D39DF210Eull, 0x5EF4BD9F3CD05E9Dull,
+   0x9D4FF6DA7E57A444ull, 0xDA1D60E183D4A5F8ull, 0xB287C38417998E47ull,
+   0xFE3EDC121BB31886ull, 0xC7FE3CCC980CCBEFull, 0xE46FB590189BFD03ull,
+   0x3732FD469A4C57DCull, 0x7EF700A07CF1AD65ull, 0x59C64468A31D8859ull,
+   0x762FB0B4D45B61F6ull, 0x155BAED099047718ull, 0x68755E4C3D50BAA6ull,
+   0xE9214E7F22D8B4DFull, 0x2ADDBF532EAC95F4ull, 0x32AE3909B4BD0109ull,
+   0x834DF537B08E3450ull, 0xFA209DA84220728Dull, 0x9E691D9B9EFE23F7ull,
+   0x0446D288C4AE8D7Full, 0x7B4CC524E169785Bull, 0x21D87F0135CA1385ull,
+   0xCEBB400F137B8AA5ull, 0x272E2B66580796BEull, 0x3612264125C2B0DEull,
+   0x057702BDAD1EFBB2ull, 0xD4BABB8EACF84BE9ull, 0x91583139641BC67Bull,
+   0x8BDC2DE08036E024ull, 0x603C8156F49F68EDull, 0xF7D236F7DBEF5111ull,
+   0x9727C4598AD21E80ull, 0xA08A0896670A5FD7ull, 0xCB4A8F4309EBA9CBull,
+   0x81AF564B0F7036A1ull, 0xC0B99AA778199ABDull, 0x959F1EC83FC8E952ull,
+   0x8C505077794A81B9ull, 0x3ACAAF8F056338F0ull, 0x07B43F50627A6778ull,
+   0x4A44AB49F5ECCC77ull, 0x3BC3D6E4B679EE98ull, 0x9CC0D4D1CF14108Cull,
+   0x4406C00B206BC8A0ull, 0x82A18854C8D72D89ull, 0x67E366B35C3C432Cull,
+   0xB923DD61102B37F2ull, 0x56AB2779D884271Dull, 0xBE83E1B0FF1525AFull,
+   0xFB7C65D4217E49A9ull, 0x6BDBE0E76D48E7D4ull, 0x08DF828745D9179Eull,
+   0x22EA6A9ADD53BD34ull, 0xE36E141C5622200Aull, 0x7F805D1B8CB750EEull,
+   0xAFE5C7A59F58E837ull, 0xE27F996A4FB1C23Cull, 0xD3867DFB0775F0D0ull,
+   0xD0E673DE6E88891Aull, 0x123AEB9EAFB86C25ull, 0x30F1D5D5C145B895ull,
+   0xBB434A2DEE7269E7ull, 0x78CB67ECF931FA38ull, 0xF33B0372323BBF9Cull,
+   0x52D66336FB279C74ull, 0x505F33AC0AFB4EAAull, 0xE8A5CD99A2CCE187ull,
+   0x534974801E2D30BBull, 0x8D2D5711D5876D90ull, 0x1F1A412891BC038Eull,
+   0xD6E2E71D82E56648ull, 0x74036C3A497732B7ull, 0x89B67ED96361F5ABull,
+   0xFFED95D8F1EA02A2ull, 0xE72B3BD61464D43Dull, 0xA6300F170BDC4820ull,
+   0xEBC18760ED78A77Aull };
 
 const u64bit Tiger::SBOX2[256] = {
-   0xE6A6BE5A05A12138, 0xB5A122A5B4F87C98, 0x563C6089140B6990,
-   0x4C46CB2E391F5DD5, 0xD932ADDBC9B79434, 0x08EA70E42015AFF5,
-   0xD765A6673E478CF1, 0xC4FB757EAB278D99, 0xDF11C6862D6E0692,
-   0xDDEB84F10D7F3B16, 0x6F2EF604A665EA04, 0x4A8E0F0FF0E0DFB3,
-   0xA5EDEEF83DBCBA51, 0xFC4F0A2A0EA4371E, 0xE83E1DA85CB38429,
-   0xDC8FF882BA1B1CE2, 0xCD45505E8353E80D, 0x18D19A00D4DB0717,
-   0x34A0CFEDA5F38101, 0x0BE77E518887CAF2, 0x1E341438B3C45136,
-   0xE05797F49089CCF9, 0xFFD23F9DF2591D14, 0x543DDA228595C5CD,
-   0x661F81FD99052A33, 0x8736E641DB0F7B76, 0x15227725418E5307,
-   0xE25F7F46162EB2FA, 0x48A8B2126C13D9FE, 0xAFDC541792E76EEA,
-   0x03D912BFC6D1898F, 0x31B1AAFA1B83F51B, 0xF1AC2796E42AB7D9,
-   0x40A3A7D7FCD2EBAC, 0x1056136D0AFBBCC5, 0x7889E1DD9A6D0C85,
-   0xD33525782A7974AA, 0xA7E25D09078AC09B, 0xBD4138B3EAC6EDD0,
-   0x920ABFBE71EB9E70, 0xA2A5D0F54FC2625C, 0xC054E36B0B1290A3,
-   0xF6DD59FF62FE932B, 0x3537354511A8AC7D, 0xCA845E9172FADCD4,
-   0x84F82B60329D20DC, 0x79C62CE1CD672F18, 0x8B09A2ADD124642C,
-   0xD0C1E96A19D9E726, 0x5A786A9B4BA9500C, 0x0E020336634C43F3,
-   0xC17B474AEB66D822, 0x6A731AE3EC9BAAC2, 0x8226667AE0840258,
-   0x67D4567691CAECA5, 0x1D94155C4875ADB5, 0x6D00FD985B813FDF,
-   0x51286EFCB774CD06, 0x5E8834471FA744AF, 0xF72CA0AEE761AE2E,
-   0xBE40E4CDAEE8E09A, 0xE9970BBB5118F665, 0x726E4BEB33DF1964,
-   0x703B000729199762, 0x4631D816F5EF30A7, 0xB880B5B51504A6BE,
-   0x641793C37ED84B6C, 0x7B21ED77F6E97D96, 0x776306312EF96B73,
-   0xAE528948E86FF3F4, 0x53DBD7F286A3F8F8, 0x16CADCE74CFC1063,
-   0x005C19BDFA52C6DD, 0x68868F5D64D46AD3, 0x3A9D512CCF1E186A,
-   0x367E62C2385660AE, 0xE359E7EA77DCB1D7, 0x526C0773749ABE6E,
-   0x735AE5F9D09F734B, 0x493FC7CC8A558BA8, 0xB0B9C1533041AB45,
-   0x321958BA470A59BD, 0x852DB00B5F46C393, 0x91209B2BD336B0E5,
-   0x6E604F7D659EF19F, 0xB99A8AE2782CCB24, 0xCCF52AB6C814C4C7,
-   0x4727D9AFBE11727B, 0x7E950D0C0121B34D, 0x756F435670AD471F,
-   0xF5ADD442615A6849, 0x4E87E09980B9957A, 0x2ACFA1DF50AEE355,
-   0xD898263AFD2FD556, 0xC8F4924DD80C8FD6, 0xCF99CA3D754A173A,
-   0xFE477BACAF91BF3C, 0xED5371F6D690C12D, 0x831A5C285E687094,
-   0xC5D3C90A3708A0A4, 0x0F7F903717D06580, 0x19F9BB13B8FDF27F,
-   0xB1BD6F1B4D502843, 0x1C761BA38FFF4012, 0x0D1530C4E2E21F3B,
-   0x8943CE69A7372C8A, 0xE5184E11FEB5CE66, 0x618BDB80BD736621,
-   0x7D29BAD68B574D0B, 0x81BB613E25E6FE5B, 0x071C9C10BC07913F,
-   0xC7BEEB7909AC2D97, 0xC3E58D353BC5D757, 0xEB017892F38F61E8,
-   0xD4EFFB9C9B1CC21A, 0x99727D26F494F7AB, 0xA3E063A2956B3E03,
-   0x9D4A8B9A4AA09C30, 0x3F6AB7D500090FB4, 0x9CC0F2A057268AC0,
-   0x3DEE9D2DEDBF42D1, 0x330F49C87960A972, 0xC6B2720287421B41,
-   0x0AC59EC07C00369C, 0xEF4EAC49CB353425, 0xF450244EEF0129D8,
-   0x8ACC46E5CAF4DEB6, 0x2FFEAB63989263F7, 0x8F7CB9FE5D7A4578,
-   0x5BD8F7644E634635, 0x427A7315BF2DC900, 0x17D0C4AA2125261C,
-   0x3992486C93518E50, 0xB4CBFEE0A2D7D4C3, 0x7C75D6202C5DDD8D,
-   0xDBC295D8E35B6C61, 0x60B369D302032B19, 0xCE42685FDCE44132,
-   0x06F3DDB9DDF65610, 0x8EA4D21DB5E148F0, 0x20B0FCE62FCD496F,
-   0x2C1B912358B0EE31, 0xB28317B818F5A308, 0xA89C1E189CA6D2CF,
-   0x0C6B18576AAADBC8, 0xB65DEAA91299FAE3, 0xFB2B794B7F1027E7,
-   0x04E4317F443B5BEB, 0x4B852D325939D0A6, 0xD5AE6BEEFB207FFC,
-   0x309682B281C7D374, 0xBAE309A194C3B475, 0x8CC3F97B13B49F05,
-   0x98A9422FF8293967, 0x244B16B01076FF7C, 0xF8BF571C663D67EE,
-   0x1F0D6758EEE30DA1, 0xC9B611D97ADEB9B7, 0xB7AFD5887B6C57A2,
-   0x6290AE846B984FE1, 0x94DF4CDEACC1A5FD, 0x058A5BD1C5483AFF,
-   0x63166CC142BA3C37, 0x8DB8526EB2F76F40, 0xE10880036F0D6D4E,
-   0x9E0523C9971D311D, 0x45EC2824CC7CD691, 0x575B8359E62382C9,
-   0xFA9E400DC4889995, 0xD1823ECB45721568, 0xDAFD983B8206082F,
-   0xAA7D29082386A8CB, 0x269FCD4403B87588, 0x1B91F5F728BDD1E0,
-   0xE4669F39040201F6, 0x7A1D7C218CF04ADE, 0x65623C29D79CE5CE,
-   0x2368449096C00BB1, 0xAB9BF1879DA503BA, 0xBC23ECB1A458058E,
-   0x9A58DF01BB401ECC, 0xA070E868A85F143D, 0x4FF188307DF2239E,
-   0x14D565B41A641183, 0xEE13337452701602, 0x950E3DCF3F285E09,
-   0x59930254B9C80953, 0x3BF299408930DA6D, 0xA955943F53691387,
-   0xA15EDECAA9CB8784, 0x29142127352BE9A0, 0x76F0371FFF4E7AFB,
-   0x0239F450274F2228, 0xBB073AF01D5E868B, 0xBFC80571C10E96C1,
-   0xD267088568222E23, 0x9671A3D48E80B5B0, 0x55B5D38AE193BB81,
-   0x693AE2D0A18B04B8, 0x5C48B4ECADD5335F, 0xFD743B194916A1CA,
-   0x2577018134BE98C4, 0xE77987E83C54A4AD, 0x28E11014DA33E1B9,
-   0x270CC59E226AA213, 0x71495F756D1A5F60, 0x9BE853FB60AFEF77,
-   0xADC786A7F7443DBF, 0x0904456173B29A82, 0x58BC7A66C232BD5E,
-   0xF306558C673AC8B2, 0x41F639C6B6C9772A, 0x216DEFE99FDA35DA,
-   0x11640CC71C7BE615, 0x93C43694565C5527, 0xEA038E6246777839,
-   0xF9ABF3CE5A3E2469, 0x741E768D0FD312D2, 0x0144B883CED652C6,
-   0xC20B5A5BA33F8552, 0x1AE69633C3435A9D, 0x97A28CA4088CFDEC,
-   0x8824A43C1E96F420, 0x37612FA66EEEA746, 0x6B4CB165F9CF0E5A,
-   0x43AA1C06A0ABFB4A, 0x7F4DC26FF162796B, 0x6CBACC8E54ED9B0F,
-   0xA6B7FFEFD2BB253E, 0x2E25BC95B0A29D4F, 0x86D6A58BDEF1388C,
-   0xDED74AC576B6F054, 0x8030BDBC2B45805D, 0x3C81AF70E94D9289,
-   0x3EFF6DDA9E3100DB, 0xB38DC39FDFCC8847, 0x123885528D17B87E,
-   0xF2DA0ED240B1B642, 0x44CEFADCD54BF9A9, 0x1312200E433C7EE6,
-   0x9FFCC84F3A78C748, 0xF0CD1F72248576BB, 0xEC6974053638CFE4,
-   0x2BA7B67C0CEC4E4C, 0xAC2F4DF3E5CE32ED, 0xCB33D14326EA4C11,
-   0xA4E9044CC77E58BC, 0x5F513293D934FCEF, 0x5DC9645506E55444,
-   0x50DE418F317DE40A, 0x388CB31A69DDE259, 0x2DB4A83455820A86,
-   0x9010A91E84711AE9, 0x4DF7F0B7B1498371, 0xD62A2EABC0977179,
-   0x22FAC097AA8D5C0E };
+   0xE6A6BE5A05A12138ull, 0xB5A122A5B4F87C98ull, 0x563C6089140B6990ull,
+   0x4C46CB2E391F5DD5ull, 0xD932ADDBC9B79434ull, 0x08EA70E42015AFF5ull,
+   0xD765A6673E478CF1ull, 0xC4FB757EAB278D99ull, 0xDF11C6862D6E0692ull,
+   0xDDEB84F10D7F3B16ull, 0x6F2EF604A665EA04ull, 0x4A8E0F0FF0E0DFB3ull,
+   0xA5EDEEF83DBCBA51ull, 0xFC4F0A2A0EA4371Eull, 0xE83E1DA85CB38429ull,
+   0xDC8FF882BA1B1CE2ull, 0xCD45505E8353E80Dull, 0x18D19A00D4DB0717ull,
+   0x34A0CFEDA5F38101ull, 0x0BE77E518887CAF2ull, 0x1E341438B3C45136ull,
+   0xE05797F49089CCF9ull, 0xFFD23F9DF2591D14ull, 0x543DDA228595C5CDull,
+   0x661F81FD99052A33ull, 0x8736E641DB0F7B76ull, 0x15227725418E5307ull,
+   0xE25F7F46162EB2FAull, 0x48A8B2126C13D9FEull, 0xAFDC541792E76EEAull,
+   0x03D912BFC6D1898Full, 0x31B1AAFA1B83F51Bull, 0xF1AC2796E42AB7D9ull,
+   0x40A3A7D7FCD2EBACull, 0x1056136D0AFBBCC5ull, 0x7889E1DD9A6D0C85ull,
+   0xD33525782A7974AAull, 0xA7E25D09078AC09Bull, 0xBD4138B3EAC6EDD0ull,
+   0x920ABFBE71EB9E70ull, 0xA2A5D0F54FC2625Cull, 0xC054E36B0B1290A3ull,
+   0xF6DD59FF62FE932Bull, 0x3537354511A8AC7Dull, 0xCA845E9172FADCD4ull,
+   0x84F82B60329D20DCull, 0x79C62CE1CD672F18ull, 0x8B09A2ADD124642Cull,
+   0xD0C1E96A19D9E726ull, 0x5A786A9B4BA9500Cull, 0x0E020336634C43F3ull,
+   0xC17B474AEB66D822ull, 0x6A731AE3EC9BAAC2ull, 0x8226667AE0840258ull,
+   0x67D4567691CAECA5ull, 0x1D94155C4875ADB5ull, 0x6D00FD985B813FDFull,
+   0x51286EFCB774CD06ull, 0x5E8834471FA744AFull, 0xF72CA0AEE761AE2Eull,
+   0xBE40E4CDAEE8E09Aull, 0xE9970BBB5118F665ull, 0x726E4BEB33DF1964ull,
+   0x703B000729199762ull, 0x4631D816F5EF30A7ull, 0xB880B5B51504A6BEull,
+   0x641793C37ED84B6Cull, 0x7B21ED77F6E97D96ull, 0x776306312EF96B73ull,
+   0xAE528948E86FF3F4ull, 0x53DBD7F286A3F8F8ull, 0x16CADCE74CFC1063ull,
+   0x005C19BDFA52C6DDull, 0x68868F5D64D46AD3ull, 0x3A9D512CCF1E186Aull,
+   0x367E62C2385660AEull, 0xE359E7EA77DCB1D7ull, 0x526C0773749ABE6Eull,
+   0x735AE5F9D09F734Bull, 0x493FC7CC8A558BA8ull, 0xB0B9C1533041AB45ull,
+   0x321958BA470A59BDull, 0x852DB00B5F46C393ull, 0x91209B2BD336B0E5ull,
+   0x6E604F7D659EF19Full, 0xB99A8AE2782CCB24ull, 0xCCF52AB6C814C4C7ull,
+   0x4727D9AFBE11727Bull, 0x7E950D0C0121B34Dull, 0x756F435670AD471Full,
+   0xF5ADD442615A6849ull, 0x4E87E09980B9957Aull, 0x2ACFA1DF50AEE355ull,
+   0xD898263AFD2FD556ull, 0xC8F4924DD80C8FD6ull, 0xCF99CA3D754A173Aull,
+   0xFE477BACAF91BF3Cull, 0xED5371F6D690C12Dull, 0x831A5C285E687094ull,
+   0xC5D3C90A3708A0A4ull, 0x0F7F903717D06580ull, 0x19F9BB13B8FDF27Full,
+   0xB1BD6F1B4D502843ull, 0x1C761BA38FFF4012ull, 0x0D1530C4E2E21F3Bull,
+   0x8943CE69A7372C8Aull, 0xE5184E11FEB5CE66ull, 0x618BDB80BD736621ull,
+   0x7D29BAD68B574D0Bull, 0x81BB613E25E6FE5Bull, 0x071C9C10BC07913Full,
+   0xC7BEEB7909AC2D97ull, 0xC3E58D353BC5D757ull, 0xEB017892F38F61E8ull,
+   0xD4EFFB9C9B1CC21Aull, 0x99727D26F494F7ABull, 0xA3E063A2956B3E03ull,
+   0x9D4A8B9A4AA09C30ull, 0x3F6AB7D500090FB4ull, 0x9CC0F2A057268AC0ull,
+   0x3DEE9D2DEDBF42D1ull, 0x330F49C87960A972ull, 0xC6B2720287421B41ull,
+   0x0AC59EC07C00369Cull, 0xEF4EAC49CB353425ull, 0xF450244EEF0129D8ull,
+   0x8ACC46E5CAF4DEB6ull, 0x2FFEAB63989263F7ull, 0x8F7CB9FE5D7A4578ull,
+   0x5BD8F7644E634635ull, 0x427A7315BF2DC900ull, 0x17D0C4AA2125261Cull,
+   0x3992486C93518E50ull, 0xB4CBFEE0A2D7D4C3ull, 0x7C75D6202C5DDD8Dull,
+   0xDBC295D8E35B6C61ull, 0x60B369D302032B19ull, 0xCE42685FDCE44132ull,
+   0x06F3DDB9DDF65610ull, 0x8EA4D21DB5E148F0ull, 0x20B0FCE62FCD496Full,
+   0x2C1B912358B0EE31ull, 0xB28317B818F5A308ull, 0xA89C1E189CA6D2CFull,
+   0x0C6B18576AAADBC8ull, 0xB65DEAA91299FAE3ull, 0xFB2B794B7F1027E7ull,
+   0x04E4317F443B5BEBull, 0x4B852D325939D0A6ull, 0xD5AE6BEEFB207FFCull,
+   0x309682B281C7D374ull, 0xBAE309A194C3B475ull, 0x8CC3F97B13B49F05ull,
+   0x98A9422FF8293967ull, 0x244B16B01076FF7Cull, 0xF8BF571C663D67EEull,
+   0x1F0D6758EEE30DA1ull, 0xC9B611D97ADEB9B7ull, 0xB7AFD5887B6C57A2ull,
+   0x6290AE846B984FE1ull, 0x94DF4CDEACC1A5FDull, 0x058A5BD1C5483AFFull,
+   0x63166CC142BA3C37ull, 0x8DB8526EB2F76F40ull, 0xE10880036F0D6D4Eull,
+   0x9E0523C9971D311Dull, 0x45EC2824CC7CD691ull, 0x575B8359E62382C9ull,
+   0xFA9E400DC4889995ull, 0xD1823ECB45721568ull, 0xDAFD983B8206082Full,
+   0xAA7D29082386A8CBull, 0x269FCD4403B87588ull, 0x1B91F5F728BDD1E0ull,
+   0xE4669F39040201F6ull, 0x7A1D7C218CF04ADEull, 0x65623C29D79CE5CEull,
+   0x2368449096C00BB1ull, 0xAB9BF1879DA503BAull, 0xBC23ECB1A458058Eull,
+   0x9A58DF01BB401ECCull, 0xA070E868A85F143Dull, 0x4FF188307DF2239Eull,
+   0x14D565B41A641183ull, 0xEE13337452701602ull, 0x950E3DCF3F285E09ull,
+   0x59930254B9C80953ull, 0x3BF299408930DA6Dull, 0xA955943F53691387ull,
+   0xA15EDECAA9CB8784ull, 0x29142127352BE9A0ull, 0x76F0371FFF4E7AFBull,
+   0x0239F450274F2228ull, 0xBB073AF01D5E868Bull, 0xBFC80571C10E96C1ull,
+   0xD267088568222E23ull, 0x9671A3D48E80B5B0ull, 0x55B5D38AE193BB81ull,
+   0x693AE2D0A18B04B8ull, 0x5C48B4ECADD5335Full, 0xFD743B194916A1CAull,
+   0x2577018134BE98C4ull, 0xE77987E83C54A4ADull, 0x28E11014DA33E1B9ull,
+   0x270CC59E226AA213ull, 0x71495F756D1A5F60ull, 0x9BE853FB60AFEF77ull,
+   0xADC786A7F7443DBFull, 0x0904456173B29A82ull, 0x58BC7A66C232BD5Eull,
+   0xF306558C673AC8B2ull, 0x41F639C6B6C9772Aull, 0x216DEFE99FDA35DAull,
+   0x11640CC71C7BE615ull, 0x93C43694565C5527ull, 0xEA038E6246777839ull,
+   0xF9ABF3CE5A3E2469ull, 0x741E768D0FD312D2ull, 0x0144B883CED652C6ull,
+   0xC20B5A5BA33F8552ull, 0x1AE69633C3435A9Dull, 0x97A28CA4088CFDECull,
+   0x8824A43C1E96F420ull, 0x37612FA66EEEA746ull, 0x6B4CB165F9CF0E5Aull,
+   0x43AA1C06A0ABFB4Aull, 0x7F4DC26FF162796Bull, 0x6CBACC8E54ED9B0Full,
+   0xA6B7FFEFD2BB253Eull, 0x2E25BC95B0A29D4Full, 0x86D6A58BDEF1388Cull,
+   0xDED74AC576B6F054ull, 0x8030BDBC2B45805Dull, 0x3C81AF70E94D9289ull,
+   0x3EFF6DDA9E3100DBull, 0xB38DC39FDFCC8847ull, 0x123885528D17B87Eull,
+   0xF2DA0ED240B1B642ull, 0x44CEFADCD54BF9A9ull, 0x1312200E433C7EE6ull,
+   0x9FFCC84F3A78C748ull, 0xF0CD1F72248576BBull, 0xEC6974053638CFE4ull,
+   0x2BA7B67C0CEC4E4Cull, 0xAC2F4DF3E5CE32EDull, 0xCB33D14326EA4C11ull,
+   0xA4E9044CC77E58BCull, 0x5F513293D934FCEFull, 0x5DC9645506E55444ull,
+   0x50DE418F317DE40Aull, 0x388CB31A69DDE259ull, 0x2DB4A83455820A86ull,
+   0x9010A91E84711AE9ull, 0x4DF7F0B7B1498371ull, 0xD62A2EABC0977179ull,
+   0x22FAC097AA8D5C0Eull };
 
 const u64bit Tiger::SBOX3[256] = {
-   0xF49FCC2FF1DAF39B, 0x487FD5C66FF29281, 0xE8A30667FCDCA83F,
-   0x2C9B4BE3D2FCCE63, 0xDA3FF74B93FBBBC2, 0x2FA165D2FE70BA66,
-   0xA103E279970E93D4, 0xBECDEC77B0E45E71, 0xCFB41E723985E497,
-   0xB70AAA025EF75017, 0xD42309F03840B8E0, 0x8EFC1AD035898579,
-   0x96C6920BE2B2ABC5, 0x66AF4163375A9172, 0x2174ABDCCA7127FB,
-   0xB33CCEA64A72FF41, 0xF04A4933083066A5, 0x8D970ACDD7289AF5,
-   0x8F96E8E031C8C25E, 0xF3FEC02276875D47, 0xEC7BF310056190DD,
-   0xF5ADB0AEBB0F1491, 0x9B50F8850FD58892, 0x4975488358B74DE8,
-   0xA3354FF691531C61, 0x0702BBE481D2C6EE, 0x89FB24057DEDED98,
-   0xAC3075138596E902, 0x1D2D3580172772ED, 0xEB738FC28E6BC30D,
-   0x5854EF8F63044326, 0x9E5C52325ADD3BBE, 0x90AA53CF325C4623,
-   0xC1D24D51349DD067, 0x2051CFEEA69EA624, 0x13220F0A862E7E4F,
-   0xCE39399404E04864, 0xD9C42CA47086FCB7, 0x685AD2238A03E7CC,
-   0x066484B2AB2FF1DB, 0xFE9D5D70EFBF79EC, 0x5B13B9DD9C481854,
-   0x15F0D475ED1509AD, 0x0BEBCD060EC79851, 0xD58C6791183AB7F8,
-   0xD1187C5052F3EEE4, 0xC95D1192E54E82FF, 0x86EEA14CB9AC6CA2,
-   0x3485BEB153677D5D, 0xDD191D781F8C492A, 0xF60866BAA784EBF9,
-   0x518F643BA2D08C74, 0x8852E956E1087C22, 0xA768CB8DC410AE8D,
-   0x38047726BFEC8E1A, 0xA67738B4CD3B45AA, 0xAD16691CEC0DDE19,
-   0xC6D4319380462E07, 0xC5A5876D0BA61938, 0x16B9FA1FA58FD840,
-   0x188AB1173CA74F18, 0xABDA2F98C99C021F, 0x3E0580AB134AE816,
-   0x5F3B05B773645ABB, 0x2501A2BE5575F2F6, 0x1B2F74004E7E8BA9,
-   0x1CD7580371E8D953, 0x7F6ED89562764E30, 0xB15926FF596F003D,
-   0x9F65293DA8C5D6B9, 0x6ECEF04DD690F84C, 0x4782275FFF33AF88,
-   0xE41433083F820801, 0xFD0DFE409A1AF9B5, 0x4325A3342CDB396B,
-   0x8AE77E62B301B252, 0xC36F9E9F6655615A, 0x85455A2D92D32C09,
-   0xF2C7DEA949477485, 0x63CFB4C133A39EBA, 0x83B040CC6EBC5462,
-   0x3B9454C8FDB326B0, 0x56F56A9E87FFD78C, 0x2DC2940D99F42BC6,
-   0x98F7DF096B096E2D, 0x19A6E01E3AD852BF, 0x42A99CCBDBD4B40B,
-   0xA59998AF45E9C559, 0x366295E807D93186, 0x6B48181BFAA1F773,
-   0x1FEC57E2157A0A1D, 0x4667446AF6201AD5, 0xE615EBCACFB0F075,
-   0xB8F31F4F68290778, 0x22713ED6CE22D11E, 0x3057C1A72EC3C93B,
-   0xCB46ACC37C3F1F2F, 0xDBB893FD02AAF50E, 0x331FD92E600B9FCF,
-   0xA498F96148EA3AD6, 0xA8D8426E8B6A83EA, 0xA089B274B7735CDC,
-   0x87F6B3731E524A11, 0x118808E5CBC96749, 0x9906E4C7B19BD394,
-   0xAFED7F7E9B24A20C, 0x6509EADEEB3644A7, 0x6C1EF1D3E8EF0EDE,
-   0xB9C97D43E9798FB4, 0xA2F2D784740C28A3, 0x7B8496476197566F,
-   0x7A5BE3E6B65F069D, 0xF96330ED78BE6F10, 0xEEE60DE77A076A15,
-   0x2B4BEE4AA08B9BD0, 0x6A56A63EC7B8894E, 0x02121359BA34FEF4,
-   0x4CBF99F8283703FC, 0x398071350CAF30C8, 0xD0A77A89F017687A,
-   0xF1C1A9EB9E423569, 0x8C7976282DEE8199, 0x5D1737A5DD1F7ABD,
-   0x4F53433C09A9FA80, 0xFA8B0C53DF7CA1D9, 0x3FD9DCBC886CCB77,
-   0xC040917CA91B4720, 0x7DD00142F9D1DCDF, 0x8476FC1D4F387B58,
-   0x23F8E7C5F3316503, 0x032A2244E7E37339, 0x5C87A5D750F5A74B,
-   0x082B4CC43698992E, 0xDF917BECB858F63C, 0x3270B8FC5BF86DDA,
-   0x10AE72BB29B5DD76, 0x576AC94E7700362B, 0x1AD112DAC61EFB8F,
-   0x691BC30EC5FAA427, 0xFF246311CC327143, 0x3142368E30E53206,
-   0x71380E31E02CA396, 0x958D5C960AAD76F1, 0xF8D6F430C16DA536,
-   0xC8FFD13F1BE7E1D2, 0x7578AE66004DDBE1, 0x05833F01067BE646,
-   0xBB34B5AD3BFE586D, 0x095F34C9A12B97F0, 0x247AB64525D60CA8,
-   0xDCDBC6F3017477D1, 0x4A2E14D4DECAD24D, 0xBDB5E6D9BE0A1EEB,
-   0x2A7E70F7794301AB, 0xDEF42D8A270540FD, 0x01078EC0A34C22C1,
-   0xE5DE511AF4C16387, 0x7EBB3A52BD9A330A, 0x77697857AA7D6435,
-   0x004E831603AE4C32, 0xE7A21020AD78E312, 0x9D41A70C6AB420F2,
-   0x28E06C18EA1141E6, 0xD2B28CBD984F6B28, 0x26B75F6C446E9D83,
-   0xBA47568C4D418D7F, 0xD80BADBFE6183D8E, 0x0E206D7F5F166044,
-   0xE258A43911CBCA3E, 0x723A1746B21DC0BC, 0xC7CAA854F5D7CDD3,
-   0x7CAC32883D261D9C, 0x7690C26423BA942C, 0x17E55524478042B8,
-   0xE0BE477656A2389F, 0x4D289B5E67AB2DA0, 0x44862B9C8FBBFD31,
-   0xB47CC8049D141365, 0x822C1B362B91C793, 0x4EB14655FB13DFD8,
-   0x1ECBBA0714E2A97B, 0x6143459D5CDE5F14, 0x53A8FBF1D5F0AC89,
-   0x97EA04D81C5E5B00, 0x622181A8D4FDB3F3, 0xE9BCD341572A1208,
-   0x1411258643CCE58A, 0x9144C5FEA4C6E0A4, 0x0D33D06565CF620F,
-   0x54A48D489F219CA1, 0xC43E5EAC6D63C821, 0xA9728B3A72770DAF,
-   0xD7934E7B20DF87EF, 0xE35503B61A3E86E5, 0xCAE321FBC819D504,
-   0x129A50B3AC60BFA6, 0xCD5E68EA7E9FB6C3, 0xB01C90199483B1C7,
-   0x3DE93CD5C295376C, 0xAED52EDF2AB9AD13, 0x2E60F512C0A07884,
-   0xBC3D86A3E36210C9, 0x35269D9B163951CE, 0x0C7D6E2AD0CDB5FA,
-   0x59E86297D87F5733, 0x298EF221898DB0E7, 0x55000029D1A5AA7E,
-   0x8BC08AE1B5061B45, 0xC2C31C2B6C92703A, 0x94CC596BAF25EF42,
-   0x0A1D73DB22540456, 0x04B6A0F9D9C4179A, 0xEFFDAFA2AE3D3C60,
-   0xF7C8075BB49496C4, 0x9CC5C7141D1CD4E3, 0x78BD1638218E5534,
-   0xB2F11568F850246A, 0xEDFABCFA9502BC29, 0x796CE5F2DA23051B,
-   0xAAE128B0DC93537C, 0x3A493DA0EE4B29AE, 0xB5DF6B2C416895D7,
-   0xFCABBD25122D7F37, 0x70810B58105DC4B1, 0xE10FDD37F7882A90,
-   0x524DCAB5518A3F5C, 0x3C9E85878451255B, 0x4029828119BD34E2,
-   0x74A05B6F5D3CECCB, 0xB610021542E13ECA, 0x0FF979D12F59E2AC,
-   0x6037DA27E4F9CC50, 0x5E92975A0DF1847D, 0xD66DE190D3E623FE,
-   0x5032D6B87B568048, 0x9A36B7CE8235216E, 0x80272A7A24F64B4A,
-   0x93EFED8B8C6916F7, 0x37DDBFF44CCE1555, 0x4B95DB5D4B99BD25,
-   0x92D3FDA169812FC0, 0xFB1A4A9A90660BB6, 0x730C196946A4B9B2,
-   0x81E289AA7F49DA68, 0x64669A0F83B1A05F, 0x27B3FF7D9644F48B,
-   0xCC6B615C8DB675B3, 0x674F20B9BCEBBE95, 0x6F31238275655982,
-   0x5AE488713E45CF05, 0xBF619F9954C21157, 0xEABAC46040A8EAE9,
-   0x454C6FE9F2C0C1CD, 0x419CF6496412691C, 0xD3DC3BEF265B0F70,
-   0x6D0E60F5C3578A9E };
+   0xF49FCC2FF1DAF39Bull, 0x487FD5C66FF29281ull, 0xE8A30667FCDCA83Full,
+   0x2C9B4BE3D2FCCE63ull, 0xDA3FF74B93FBBBC2ull, 0x2FA165D2FE70BA66ull,
+   0xA103E279970E93D4ull, 0xBECDEC77B0E45E71ull, 0xCFB41E723985E497ull,
+   0xB70AAA025EF75017ull, 0xD42309F03840B8E0ull, 0x8EFC1AD035898579ull,
+   0x96C6920BE2B2ABC5ull, 0x66AF4163375A9172ull, 0x2174ABDCCA7127FBull,
+   0xB33CCEA64A72FF41ull, 0xF04A4933083066A5ull, 0x8D970ACDD7289AF5ull,
+   0x8F96E8E031C8C25Eull, 0xF3FEC02276875D47ull, 0xEC7BF310056190DDull,
+   0xF5ADB0AEBB0F1491ull, 0x9B50F8850FD58892ull, 0x4975488358B74DE8ull,
+   0xA3354FF691531C61ull, 0x0702BBE481D2C6EEull, 0x89FB24057DEDED98ull,
+   0xAC3075138596E902ull, 0x1D2D3580172772EDull, 0xEB738FC28E6BC30Dull,
+   0x5854EF8F63044326ull, 0x9E5C52325ADD3BBEull, 0x90AA53CF325C4623ull,
+   0xC1D24D51349DD067ull, 0x2051CFEEA69EA624ull, 0x13220F0A862E7E4Full,
+   0xCE39399404E04864ull, 0xD9C42CA47086FCB7ull, 0x685AD2238A03E7CCull,
+   0x066484B2AB2FF1DBull, 0xFE9D5D70EFBF79ECull, 0x5B13B9DD9C481854ull,
+   0x15F0D475ED1509ADull, 0x0BEBCD060EC79851ull, 0xD58C6791183AB7F8ull,
+   0xD1187C5052F3EEE4ull, 0xC95D1192E54E82FFull, 0x86EEA14CB9AC6CA2ull,
+   0x3485BEB153677D5Dull, 0xDD191D781F8C492Aull, 0xF60866BAA784EBF9ull,
+   0x518F643BA2D08C74ull, 0x8852E956E1087C22ull, 0xA768CB8DC410AE8Dull,
+   0x38047726BFEC8E1Aull, 0xA67738B4CD3B45AAull, 0xAD16691CEC0DDE19ull,
+   0xC6D4319380462E07ull, 0xC5A5876D0BA61938ull, 0x16B9FA1FA58FD840ull,
+   0x188AB1173CA74F18ull, 0xABDA2F98C99C021Full, 0x3E0580AB134AE816ull,
+   0x5F3B05B773645ABBull, 0x2501A2BE5575F2F6ull, 0x1B2F74004E7E8BA9ull,
+   0x1CD7580371E8D953ull, 0x7F6ED89562764E30ull, 0xB15926FF596F003Dull,
+   0x9F65293DA8C5D6B9ull, 0x6ECEF04DD690F84Cull, 0x4782275FFF33AF88ull,
+   0xE41433083F820801ull, 0xFD0DFE409A1AF9B5ull, 0x4325A3342CDB396Bull,
+   0x8AE77E62B301B252ull, 0xC36F9E9F6655615Aull, 0x85455A2D92D32C09ull,
+   0xF2C7DEA949477485ull, 0x63CFB4C133A39EBAull, 0x83B040CC6EBC5462ull,
+   0x3B9454C8FDB326B0ull, 0x56F56A9E87FFD78Cull, 0x2DC2940D99F42BC6ull,
+   0x98F7DF096B096E2Dull, 0x19A6E01E3AD852BFull, 0x42A99CCBDBD4B40Bull,
+   0xA59998AF45E9C559ull, 0x366295E807D93186ull, 0x6B48181BFAA1F773ull,
+   0x1FEC57E2157A0A1Dull, 0x4667446AF6201AD5ull, 0xE615EBCACFB0F075ull,
+   0xB8F31F4F68290778ull, 0x22713ED6CE22D11Eull, 0x3057C1A72EC3C93Bull,
+   0xCB46ACC37C3F1F2Full, 0xDBB893FD02AAF50Eull, 0x331FD92E600B9FCFull,
+   0xA498F96148EA3AD6ull, 0xA8D8426E8B6A83EAull, 0xA089B274B7735CDCull,
+   0x87F6B3731E524A11ull, 0x118808E5CBC96749ull, 0x9906E4C7B19BD394ull,
+   0xAFED7F7E9B24A20Cull, 0x6509EADEEB3644A7ull, 0x6C1EF1D3E8EF0EDEull,
+   0xB9C97D43E9798FB4ull, 0xA2F2D784740C28A3ull, 0x7B8496476197566Full,
+   0x7A5BE3E6B65F069Dull, 0xF96330ED78BE6F10ull, 0xEEE60DE77A076A15ull,
+   0x2B4BEE4AA08B9BD0ull, 0x6A56A63EC7B8894Eull, 0x02121359BA34FEF4ull,
+   0x4CBF99F8283703FCull, 0x398071350CAF30C8ull, 0xD0A77A89F017687Aull,
+   0xF1C1A9EB9E423569ull, 0x8C7976282DEE8199ull, 0x5D1737A5DD1F7ABDull,
+   0x4F53433C09A9FA80ull, 0xFA8B0C53DF7CA1D9ull, 0x3FD9DCBC886CCB77ull,
+   0xC040917CA91B4720ull, 0x7DD00142F9D1DCDFull, 0x8476FC1D4F387B58ull,
+   0x23F8E7C5F3316503ull, 0x032A2244E7E37339ull, 0x5C87A5D750F5A74Bull,
+   0x082B4CC43698992Eull, 0xDF917BECB858F63Cull, 0x3270B8FC5BF86DDAull,
+   0x10AE72BB29B5DD76ull, 0x576AC94E7700362Bull, 0x1AD112DAC61EFB8Full,
+   0x691BC30EC5FAA427ull, 0xFF246311CC327143ull, 0x3142368E30E53206ull,
+   0x71380E31E02CA396ull, 0x958D5C960AAD76F1ull, 0xF8D6F430C16DA536ull,
+   0xC8FFD13F1BE7E1D2ull, 0x7578AE66004DDBE1ull, 0x05833F01067BE646ull,
+   0xBB34B5AD3BFE586Dull, 0x095F34C9A12B97F0ull, 0x247AB64525D60CA8ull,
+   0xDCDBC6F3017477D1ull, 0x4A2E14D4DECAD24Dull, 0xBDB5E6D9BE0A1EEBull,
+   0x2A7E70F7794301ABull, 0xDEF42D8A270540FDull, 0x01078EC0A34C22C1ull,
+   0xE5DE511AF4C16387ull, 0x7EBB3A52BD9A330Aull, 0x77697857AA7D6435ull,
+   0x004E831603AE4C32ull, 0xE7A21020AD78E312ull, 0x9D41A70C6AB420F2ull,
+   0x28E06C18EA1141E6ull, 0xD2B28CBD984F6B28ull, 0x26B75F6C446E9D83ull,
+   0xBA47568C4D418D7Full, 0xD80BADBFE6183D8Eull, 0x0E206D7F5F166044ull,
+   0xE258A43911CBCA3Eull, 0x723A1746B21DC0BCull, 0xC7CAA854F5D7CDD3ull,
+   0x7CAC32883D261D9Cull, 0x7690C26423BA942Cull, 0x17E55524478042B8ull,
+   0xE0BE477656A2389Full, 0x4D289B5E67AB2DA0ull, 0x44862B9C8FBBFD31ull,
+   0xB47CC8049D141365ull, 0x822C1B362B91C793ull, 0x4EB14655FB13DFD8ull,
+   0x1ECBBA0714E2A97Bull, 0x6143459D5CDE5F14ull, 0x53A8FBF1D5F0AC89ull,
+   0x97EA04D81C5E5B00ull, 0x622181A8D4FDB3F3ull, 0xE9BCD341572A1208ull,
+   0x1411258643CCE58Aull, 0x9144C5FEA4C6E0A4ull, 0x0D33D06565CF620Full,
+   0x54A48D489F219CA1ull, 0xC43E5EAC6D63C821ull, 0xA9728B3A72770DAFull,
+   0xD7934E7B20DF87EFull, 0xE35503B61A3E86E5ull, 0xCAE321FBC819D504ull,
+   0x129A50B3AC60BFA6ull, 0xCD5E68EA7E9FB6C3ull, 0xB01C90199483B1C7ull,
+   0x3DE93CD5C295376Cull, 0xAED52EDF2AB9AD13ull, 0x2E60F512C0A07884ull,
+   0xBC3D86A3E36210C9ull, 0x35269D9B163951CEull, 0x0C7D6E2AD0CDB5FAull,
+   0x59E86297D87F5733ull, 0x298EF221898DB0E7ull, 0x55000029D1A5AA7Eull,
+   0x8BC08AE1B5061B45ull, 0xC2C31C2B6C92703Aull, 0x94CC596BAF25EF42ull,
+   0x0A1D73DB22540456ull, 0x04B6A0F9D9C4179Aull, 0xEFFDAFA2AE3D3C60ull,
+   0xF7C8075BB49496C4ull, 0x9CC5C7141D1CD4E3ull, 0x78BD1638218E5534ull,
+   0xB2F11568F850246Aull, 0xEDFABCFA9502BC29ull, 0x796CE5F2DA23051Bull,
+   0xAAE128B0DC93537Cull, 0x3A493DA0EE4B29AEull, 0xB5DF6B2C416895D7ull,
+   0xFCABBD25122D7F37ull, 0x70810B58105DC4B1ull, 0xE10FDD37F7882A90ull,
+   0x524DCAB5518A3F5Cull, 0x3C9E85878451255Bull, 0x4029828119BD34E2ull,
+   0x74A05B6F5D3CECCBull, 0xB610021542E13ECAull, 0x0FF979D12F59E2ACull,
+   0x6037DA27E4F9CC50ull, 0x5E92975A0DF1847Dull, 0xD66DE190D3E623FEull,
+   0x5032D6B87B568048ull, 0x9A36B7CE8235216Eull, 0x80272A7A24F64B4Aull,
+   0x93EFED8B8C6916F7ull, 0x37DDBFF44CCE1555ull, 0x4B95DB5D4B99BD25ull,
+   0x92D3FDA169812FC0ull, 0xFB1A4A9A90660BB6ull, 0x730C196946A4B9B2ull,
+   0x81E289AA7F49DA68ull, 0x64669A0F83B1A05Full, 0x27B3FF7D9644F48Bull,
+   0xCC6B615C8DB675B3ull, 0x674F20B9BCEBBE95ull, 0x6F31238275655982ull,
+   0x5AE488713E45CF05ull, 0xBF619F9954C21157ull, 0xEABAC46040A8EAE9ull,
+   0x454C6FE9F2C0C1CDull, 0x419CF6496412691Cull, 0xD3DC3BEF265B0F70ull,
+   0x6D0E60F5C3578A9Eull };
 
 const u64bit Tiger::SBOX4[256] = {
-   0x5B0E608526323C55, 0x1A46C1A9FA1B59F5, 0xA9E245A17C4C8FFA,
-   0x65CA5159DB2955D7, 0x05DB0A76CE35AFC2, 0x81EAC77EA9113D45,
-   0x528EF88AB6AC0A0D, 0xA09EA253597BE3FF, 0x430DDFB3AC48CD56,
-   0xC4B3A67AF45CE46F, 0x4ECECFD8FBE2D05E, 0x3EF56F10B39935F0,
-   0x0B22D6829CD619C6, 0x17FD460A74DF2069, 0x6CF8CC8E8510ED40,
-   0xD6C824BF3A6ECAA7, 0x61243D581A817049, 0x048BACB6BBC163A2,
-   0xD9A38AC27D44CC32, 0x7FDDFF5BAAF410AB, 0xAD6D495AA804824B,
-   0xE1A6A74F2D8C9F94, 0xD4F7851235DEE8E3, 0xFD4B7F886540D893,
-   0x247C20042AA4BFDA, 0x096EA1C517D1327C, 0xD56966B4361A6685,
-   0x277DA5C31221057D, 0x94D59893A43ACFF7, 0x64F0C51CCDC02281,
-   0x3D33BCC4FF6189DB, 0xE005CB184CE66AF1, 0xFF5CCD1D1DB99BEA,
-   0xB0B854A7FE42980F, 0x7BD46A6A718D4B9F, 0xD10FA8CC22A5FD8C,
-   0xD31484952BE4BD31, 0xC7FA975FCB243847, 0x4886ED1E5846C407,
-   0x28CDDB791EB70B04, 0xC2B00BE2F573417F, 0x5C9590452180F877,
-   0x7A6BDDFFF370EB00, 0xCE509E38D6D9D6A4, 0xEBEB0F00647FA702,
-   0x1DCC06CF76606F06, 0xE4D9F28BA286FF0A, 0xD85A305DC918C262,
-   0x475B1D8732225F54, 0x2D4FB51668CCB5FE, 0xA679B9D9D72BBA20,
-   0x53841C0D912D43A5, 0x3B7EAA48BF12A4E8, 0x781E0E47F22F1DDF,
-   0xEFF20CE60AB50973, 0x20D261D19DFFB742, 0x16A12B03062A2E39,
-   0x1960EB2239650495, 0x251C16FED50EB8B8, 0x9AC0C330F826016E,
-   0xED152665953E7671, 0x02D63194A6369570, 0x5074F08394B1C987,
-   0x70BA598C90B25CE1, 0x794A15810B9742F6, 0x0D5925E9FCAF8C6C,
-   0x3067716CD868744E, 0x910AB077E8D7731B, 0x6A61BBDB5AC42F61,
-   0x93513EFBF0851567, 0xF494724B9E83E9D5, 0xE887E1985C09648D,
-   0x34B1D3C675370CFD, 0xDC35E433BC0D255D, 0xD0AAB84234131BE0,
-   0x08042A50B48B7EAF, 0x9997C4EE44A3AB35, 0x829A7B49201799D0,
-   0x263B8307B7C54441, 0x752F95F4FD6A6CA6, 0x927217402C08C6E5,
-   0x2A8AB754A795D9EE, 0xA442F7552F72943D, 0x2C31334E19781208,
-   0x4FA98D7CEAEE6291, 0x55C3862F665DB309, 0xBD0610175D53B1F3,
-   0x46FE6CB840413F27, 0x3FE03792DF0CFA59, 0xCFE700372EB85E8F,
-   0xA7BE29E7ADBCE118, 0xE544EE5CDE8431DD, 0x8A781B1B41F1873E,
-   0xA5C94C78A0D2F0E7, 0x39412E2877B60728, 0xA1265EF3AFC9A62C,
-   0xBCC2770C6A2506C5, 0x3AB66DD5DCE1CE12, 0xE65499D04A675B37,
-   0x7D8F523481BFD216, 0x0F6F64FCEC15F389, 0x74EFBE618B5B13C8,
-   0xACDC82B714273E1D, 0xDD40BFE003199D17, 0x37E99257E7E061F8,
-   0xFA52626904775AAA, 0x8BBBF63A463D56F9, 0xF0013F1543A26E64,
-   0xA8307E9F879EC898, 0xCC4C27A4150177CC, 0x1B432F2CCA1D3348,
-   0xDE1D1F8F9F6FA013, 0x606602A047A7DDD6, 0xD237AB64CC1CB2C7,
-   0x9B938E7225FCD1D3, 0xEC4E03708E0FF476, 0xFEB2FBDA3D03C12D,
-   0xAE0BCED2EE43889A, 0x22CB8923EBFB4F43, 0x69360D013CF7396D,
-   0x855E3602D2D4E022, 0x073805BAD01F784C, 0x33E17A133852F546,
-   0xDF4874058AC7B638, 0xBA92B29C678AA14A, 0x0CE89FC76CFAADCD,
-   0x5F9D4E0908339E34, 0xF1AFE9291F5923B9, 0x6E3480F60F4A265F,
-   0xEEBF3A2AB29B841C, 0xE21938A88F91B4AD, 0x57DFEFF845C6D3C3,
-   0x2F006B0BF62CAAF2, 0x62F479EF6F75EE78, 0x11A55AD41C8916A9,
-   0xF229D29084FED453, 0x42F1C27B16B000E6, 0x2B1F76749823C074,
-   0x4B76ECA3C2745360, 0x8C98F463B91691BD, 0x14BCC93CF1ADE66A,
-   0x8885213E6D458397, 0x8E177DF0274D4711, 0xB49B73B5503F2951,
-   0x10168168C3F96B6B, 0x0E3D963B63CAB0AE, 0x8DFC4B5655A1DB14,
-   0xF789F1356E14DE5C, 0x683E68AF4E51DAC1, 0xC9A84F9D8D4B0FD9,
-   0x3691E03F52A0F9D1, 0x5ED86E46E1878E80, 0x3C711A0E99D07150,
-   0x5A0865B20C4E9310, 0x56FBFC1FE4F0682E, 0xEA8D5DE3105EDF9B,
-   0x71ABFDB12379187A, 0x2EB99DE1BEE77B9C, 0x21ECC0EA33CF4523,
-   0x59A4D7521805C7A1, 0x3896F5EB56AE7C72, 0xAA638F3DB18F75DC,
-   0x9F39358DABE9808E, 0xB7DEFA91C00B72AC, 0x6B5541FD62492D92,
-   0x6DC6DEE8F92E4D5B, 0x353F57ABC4BEEA7E, 0x735769D6DA5690CE,
-   0x0A234AA642391484, 0xF6F9508028F80D9D, 0xB8E319A27AB3F215,
-   0x31AD9C1151341A4D, 0x773C22A57BEF5805, 0x45C7561A07968633,
-   0xF913DA9E249DBE36, 0xDA652D9B78A64C68, 0x4C27A97F3BC334EF,
-   0x76621220E66B17F4, 0x967743899ACD7D0B, 0xF3EE5BCAE0ED6782,
-   0x409F753600C879FC, 0x06D09A39B5926DB6, 0x6F83AEB0317AC588,
-   0x01E6CA4A86381F21, 0x66FF3462D19F3025, 0x72207C24DDFD3BFB,
-   0x4AF6B6D3E2ECE2EB, 0x9C994DBEC7EA08DE, 0x49ACE597B09A8BC4,
-   0xB38C4766CF0797BA, 0x131B9373C57C2A75, 0xB1822CCE61931E58,
-   0x9D7555B909BA1C0C, 0x127FAFDD937D11D2, 0x29DA3BADC66D92E4,
-   0xA2C1D57154C2ECBC, 0x58C5134D82F6FE24, 0x1C3AE3515B62274F,
-   0xE907C82E01CB8126, 0xF8ED091913E37FCB, 0x3249D8F9C80046C9,
-   0x80CF9BEDE388FB63, 0x1881539A116CF19E, 0x5103F3F76BD52457,
-   0x15B7E6F5AE47F7A8, 0xDBD7C6DED47E9CCF, 0x44E55C410228BB1A,
-   0xB647D4255EDB4E99, 0x5D11882BB8AAFC30, 0xF5098BBB29D3212A,
-   0x8FB5EA14E90296B3, 0x677B942157DD025A, 0xFB58E7C0A390ACB5,
-   0x89D3674C83BD4A01, 0x9E2DA4DF4BF3B93B, 0xFCC41E328CAB4829,
-   0x03F38C96BA582C52, 0xCAD1BDBD7FD85DB2, 0xBBB442C16082AE83,
-   0xB95FE86BA5DA9AB0, 0xB22E04673771A93F, 0x845358C9493152D8,
-   0xBE2A488697B4541E, 0x95A2DC2DD38E6966, 0xC02C11AC923C852B,
-   0x2388B1990DF2A87B, 0x7C8008FA1B4F37BE, 0x1F70D0C84D54E503,
-   0x5490ADEC7ECE57D4, 0x002B3C27D9063A3A, 0x7EAEA3848030A2BF,
-   0xC602326DED2003C0, 0x83A7287D69A94086, 0xC57A5FCB30F57A8A,
-   0xB56844E479EBE779, 0xA373B40F05DCBCE9, 0xD71A786E88570EE2,
-   0x879CBACDBDE8F6A0, 0x976AD1BCC164A32F, 0xAB21E25E9666D78B,
-   0x901063AAE5E5C33C, 0x9818B34448698D90, 0xE36487AE3E1E8ABB,
-   0xAFBDF931893BDCB4, 0x6345A0DC5FBBD519, 0x8628FE269B9465CA,
-   0x1E5D01603F9C51EC, 0x4DE44006A15049B7, 0xBF6C70E5F776CBB1,
-   0x411218F2EF552BED, 0xCB0C0708705A36A3, 0xE74D14754F986044,
-   0xCD56D9430EA8280E, 0xC12591D7535F5065, 0xC83223F1720AEF96,
-   0xC3A0396F7363A51F };
+   0x5B0E608526323C55ull, 0x1A46C1A9FA1B59F5ull, 0xA9E245A17C4C8FFAull,
+   0x65CA5159DB2955D7ull, 0x05DB0A76CE35AFC2ull, 0x81EAC77EA9113D45ull,
+   0x528EF88AB6AC0A0Dull, 0xA09EA253597BE3FFull, 0x430DDFB3AC48CD56ull,
+   0xC4B3A67AF45CE46Full, 0x4ECECFD8FBE2D05Eull, 0x3EF56F10B39935F0ull,
+   0x0B22D6829CD619C6ull, 0x17FD460A74DF2069ull, 0x6CF8CC8E8510ED40ull,
+   0xD6C824BF3A6ECAA7ull, 0x61243D581A817049ull, 0x048BACB6BBC163A2ull,
+   0xD9A38AC27D44CC32ull, 0x7FDDFF5BAAF410ABull, 0xAD6D495AA804824Bull,
+   0xE1A6A74F2D8C9F94ull, 0xD4F7851235DEE8E3ull, 0xFD4B7F886540D893ull,
+   0x247C20042AA4BFDAull, 0x096EA1C517D1327Cull, 0xD56966B4361A6685ull,
+   0x277DA5C31221057Dull, 0x94D59893A43ACFF7ull, 0x64F0C51CCDC02281ull,
+   0x3D33BCC4FF6189DBull, 0xE005CB184CE66AF1ull, 0xFF5CCD1D1DB99BEAull,
+   0xB0B854A7FE42980Full, 0x7BD46A6A718D4B9Full, 0xD10FA8CC22A5FD8Cull,
+   0xD31484952BE4BD31ull, 0xC7FA975FCB243847ull, 0x4886ED1E5846C407ull,
+   0x28CDDB791EB70B04ull, 0xC2B00BE2F573417Full, 0x5C9590452180F877ull,
+   0x7A6BDDFFF370EB00ull, 0xCE509E38D6D9D6A4ull, 0xEBEB0F00647FA702ull,
+   0x1DCC06CF76606F06ull, 0xE4D9F28BA286FF0Aull, 0xD85A305DC918C262ull,
+   0x475B1D8732225F54ull, 0x2D4FB51668CCB5FEull, 0xA679B9D9D72BBA20ull,
+   0x53841C0D912D43A5ull, 0x3B7EAA48BF12A4E8ull, 0x781E0E47F22F1DDFull,
+   0xEFF20CE60AB50973ull, 0x20D261D19DFFB742ull, 0x16A12B03062A2E39ull,
+   0x1960EB2239650495ull, 0x251C16FED50EB8B8ull, 0x9AC0C330F826016Eull,
+   0xED152665953E7671ull, 0x02D63194A6369570ull, 0x5074F08394B1C987ull,
+   0x70BA598C90B25CE1ull, 0x794A15810B9742F6ull, 0x0D5925E9FCAF8C6Cull,
+   0x3067716CD868744Eull, 0x910AB077E8D7731Bull, 0x6A61BBDB5AC42F61ull,
+   0x93513EFBF0851567ull, 0xF494724B9E83E9D5ull, 0xE887E1985C09648Dull,
+   0x34B1D3C675370CFDull, 0xDC35E433BC0D255Dull, 0xD0AAB84234131BE0ull,
+   0x08042A50B48B7EAFull, 0x9997C4EE44A3AB35ull, 0x829A7B49201799D0ull,
+   0x263B8307B7C54441ull, 0x752F95F4FD6A6CA6ull, 0x927217402C08C6E5ull,
+   0x2A8AB754A795D9EEull, 0xA442F7552F72943Dull, 0x2C31334E19781208ull,
+   0x4FA98D7CEAEE6291ull, 0x55C3862F665DB309ull, 0xBD0610175D53B1F3ull,
+   0x46FE6CB840413F27ull, 0x3FE03792DF0CFA59ull, 0xCFE700372EB85E8Full,
+   0xA7BE29E7ADBCE118ull, 0xE544EE5CDE8431DDull, 0x8A781B1B41F1873Eull,
+   0xA5C94C78A0D2F0E7ull, 0x39412E2877B60728ull, 0xA1265EF3AFC9A62Cull,
+   0xBCC2770C6A2506C5ull, 0x3AB66DD5DCE1CE12ull, 0xE65499D04A675B37ull,
+   0x7D8F523481BFD216ull, 0x0F6F64FCEC15F389ull, 0x74EFBE618B5B13C8ull,
+   0xACDC82B714273E1Dull, 0xDD40BFE003199D17ull, 0x37E99257E7E061F8ull,
+   0xFA52626904775AAAull, 0x8BBBF63A463D56F9ull, 0xF0013F1543A26E64ull,
+   0xA8307E9F879EC898ull, 0xCC4C27A4150177CCull, 0x1B432F2CCA1D3348ull,
+   0xDE1D1F8F9F6FA013ull, 0x606602A047A7DDD6ull, 0xD237AB64CC1CB2C7ull,
+   0x9B938E7225FCD1D3ull, 0xEC4E03708E0FF476ull, 0xFEB2FBDA3D03C12Dull,
+   0xAE0BCED2EE43889Aull, 0x22CB8923EBFB4F43ull, 0x69360D013CF7396Dull,
+   0x855E3602D2D4E022ull, 0x073805BAD01F784Cull, 0x33E17A133852F546ull,
+   0xDF4874058AC7B638ull, 0xBA92B29C678AA14Aull, 0x0CE89FC76CFAADCDull,
+   0x5F9D4E0908339E34ull, 0xF1AFE9291F5923B9ull, 0x6E3480F60F4A265Full,
+   0xEEBF3A2AB29B841Cull, 0xE21938A88F91B4ADull, 0x57DFEFF845C6D3C3ull,
+   0x2F006B0BF62CAAF2ull, 0x62F479EF6F75EE78ull, 0x11A55AD41C8916A9ull,
+   0xF229D29084FED453ull, 0x42F1C27B16B000E6ull, 0x2B1F76749823C074ull,
+   0x4B76ECA3C2745360ull, 0x8C98F463B91691BDull, 0x14BCC93CF1ADE66Aull,
+   0x8885213E6D458397ull, 0x8E177DF0274D4711ull, 0xB49B73B5503F2951ull,
+   0x10168168C3F96B6Bull, 0x0E3D963B63CAB0AEull, 0x8DFC4B5655A1DB14ull,
+   0xF789F1356E14DE5Cull, 0x683E68AF4E51DAC1ull, 0xC9A84F9D8D4B0FD9ull,
+   0x3691E03F52A0F9D1ull, 0x5ED86E46E1878E80ull, 0x3C711A0E99D07150ull,
+   0x5A0865B20C4E9310ull, 0x56FBFC1FE4F0682Eull, 0xEA8D5DE3105EDF9Bull,
+   0x71ABFDB12379187Aull, 0x2EB99DE1BEE77B9Cull, 0x21ECC0EA33CF4523ull,
+   0x59A4D7521805C7A1ull, 0x3896F5EB56AE7C72ull, 0xAA638F3DB18F75DCull,
+   0x9F39358DABE9808Eull, 0xB7DEFA91C00B72ACull, 0x6B5541FD62492D92ull,
+   0x6DC6DEE8F92E4D5Bull, 0x353F57ABC4BEEA7Eull, 0x735769D6DA5690CEull,
+   0x0A234AA642391484ull, 0xF6F9508028F80D9Dull, 0xB8E319A27AB3F215ull,
+   0x31AD9C1151341A4Dull, 0x773C22A57BEF5805ull, 0x45C7561A07968633ull,
+   0xF913DA9E249DBE36ull, 0xDA652D9B78A64C68ull, 0x4C27A97F3BC334EFull,
+   0x76621220E66B17F4ull, 0x967743899ACD7D0Bull, 0xF3EE5BCAE0ED6782ull,
+   0x409F753600C879FCull, 0x06D09A39B5926DB6ull, 0x6F83AEB0317AC588ull,
+   0x01E6CA4A86381F21ull, 0x66FF3462D19F3025ull, 0x72207C24DDFD3BFBull,
+   0x4AF6B6D3E2ECE2EBull, 0x9C994DBEC7EA08DEull, 0x49ACE597B09A8BC4ull,
+   0xB38C4766CF0797BAull, 0x131B9373C57C2A75ull, 0xB1822CCE61931E58ull,
+   0x9D7555B909BA1C0Cull, 0x127FAFDD937D11D2ull, 0x29DA3BADC66D92E4ull,
+   0xA2C1D57154C2ECBCull, 0x58C5134D82F6FE24ull, 0x1C3AE3515B62274Full,
+   0xE907C82E01CB8126ull, 0xF8ED091913E37FCBull, 0x3249D8F9C80046C9ull,
+   0x80CF9BEDE388FB63ull, 0x1881539A116CF19Eull, 0x5103F3F76BD52457ull,
+   0x15B7E6F5AE47F7A8ull, 0xDBD7C6DED47E9CCFull, 0x44E55C410228BB1Aull,
+   0xB647D4255EDB4E99ull, 0x5D11882BB8AAFC30ull, 0xF5098BBB29D3212Aull,
+   0x8FB5EA14E90296B3ull, 0x677B942157DD025Aull, 0xFB58E7C0A390ACB5ull,
+   0x89D3674C83BD4A01ull, 0x9E2DA4DF4BF3B93Bull, 0xFCC41E328CAB4829ull,
+   0x03F38C96BA582C52ull, 0xCAD1BDBD7FD85DB2ull, 0xBBB442C16082AE83ull,
+   0xB95FE86BA5DA9AB0ull, 0xB22E04673771A93Full, 0x845358C9493152D8ull,
+   0xBE2A488697B4541Eull, 0x95A2DC2DD38E6966ull, 0xC02C11AC923C852Bull,
+   0x2388B1990DF2A87Bull, 0x7C8008FA1B4F37BEull, 0x1F70D0C84D54E503ull,
+   0x5490ADEC7ECE57D4ull, 0x002B3C27D9063A3Aull, 0x7EAEA3848030A2BFull,
+   0xC602326DED2003C0ull, 0x83A7287D69A94086ull, 0xC57A5FCB30F57A8Aull,
+   0xB56844E479EBE779ull, 0xA373B40F05DCBCE9ull, 0xD71A786E88570EE2ull,
+   0x879CBACDBDE8F6A0ull, 0x976AD1BCC164A32Full, 0xAB21E25E9666D78Bull,
+   0x901063AAE5E5C33Cull, 0x9818B34448698D90ull, 0xE36487AE3E1E8ABBull,
+   0xAFBDF931893BDCB4ull, 0x6345A0DC5FBBD519ull, 0x8628FE269B9465CAull,
+   0x1E5D01603F9C51ECull, 0x4DE44006A15049B7ull, 0xBF6C70E5F776CBB1ull,
+   0x411218F2EF552BEDull, 0xCB0C0708705A36A3ull, 0xE74D14754F986044ull,
+   0xCD56D9430EA8280Eull, 0xC12591D7535F5065ull, 0xC83223F1720AEF96ull,
+   0xC3A0396F7363A51Full };
 
 }
============================================================
--- src/tiger.cpp       d41acac5d6db061494402e1f7e0d2429cf7dc5e4
+++ src/tiger.cpp       ceac520607b6378a93f4fd45ac51e2cb48fd26cf
@@ -109,12 +109,12 @@ void Tiger::mix(u64bit X[8])
 *************************************************/
 void Tiger::mix(u64bit X[8])
    {
-   X[0] -= X[7] ^ 0xA5A5A5A5A5A5A5A5; X[1] ^= X[0];
+   X[0] -= X[7] ^ 0xA5A5A5A5A5A5A5A5ull; X[1] ^= X[0];
    X[2] += X[1]; X[3] -= X[2] ^ ((~X[1]) << 19); X[4] ^= X[3];
    X[5] += X[4]; X[6] -= X[5] ^ ((~X[4]) >> 23); X[7] ^= X[6];
    X[0] += X[7]; X[1] -= X[0] ^ ((~X[7]) << 19); X[2] ^= X[1];
    X[3] += X[2]; X[4] -= X[3] ^ ((~X[2]) >> 23); X[5] ^= X[4];
-   X[6] += X[5]; X[7] -= X[6] ^ 0x0123456789ABCDEF;
+   X[6] += X[5]; X[7] -= X[6] ^ 0x0123456789ABCDEFull;
    }
 
 /*************************************************
@@ -124,9 +124,9 @@ void Tiger::clear() throw()
    {
    MDx_HashFunction::clear();
    X.clear();
-   digest[0] = 0x0123456789ABCDEF;
-   digest[1] = 0xFEDCBA9876543210;
-   digest[2] = 0xF096A5B4C3B2E187;
+   digest[0] = 0x0123456789ABCDEFull;
+   digest[1] = 0xFEDCBA9876543210ull;
+   digest[2] = 0xF096A5B4C3B2E187ull;
    }
 
 /*************************************************
============================================================
--- src/whrl_tab.cpp    c8ef6a149253ef4decdd2b4cca545eb8b9b6c609
+++ src/whrl_tab.cpp    c747e7234da433c9eb6066f5adc6fcb276bcece8
@@ -8,531 +8,531 @@ const u64bit Whirlpool::C0[256] = {
 namespace Botan {
 
 const u64bit Whirlpool::C0[256] = {
-0x18186018C07830D8, 0x23238C2305AF4626, 0xC6C63FC67EF991B8, 0xE8E887E8136FCDFB,
-0x878726874CA113CB, 0xB8B8DAB8A9626D11, 0x0101040108050209, 0x4F4F214F426E9E0D,
-0x3636D836ADEE6C9B, 0xA6A6A2A6590451FF, 0xD2D26FD2DEBDB90C, 0xF5F5F3F5FB06F70E,
-0x7979F979EF80F296, 0x6F6FA16F5FCEDE30, 0x91917E91FCEF3F6D, 0x52525552AA07A4F8,
-0x60609D6027FDC047, 0xBCBCCABC89766535, 0x9B9B569BACCD2B37, 0x8E8E028E048C018A,
-0xA3A3B6A371155BD2, 0x0C0C300C603C186C, 0x7B7BF17BFF8AF684, 0x3535D435B5E16A80,
-0x1D1D741DE8693AF5, 0xE0E0A7E05347DDB3, 0xD7D77BD7F6ACB321, 0xC2C22FC25EED999C,
-0x2E2EB82E6D965C43, 0x4B4B314B627A9629, 0xFEFEDFFEA321E15D, 0x575741578216AED5,
-0x15155415A8412ABD, 0x7777C1779FB6EEE8, 0x3737DC37A5EB6E92, 0xE5E5B3E57B56D79E,
-0x9F9F469F8CD92313, 0xF0F0E7F0D317FD23, 0x4A4A354A6A7F9420, 0xDADA4FDA9E95A944,
-0x58587D58FA25B0A2, 0xC9C903C906CA8FCF, 0x2929A429558D527C, 0x0A0A280A5022145A,
-0xB1B1FEB1E14F7F50, 0xA0A0BAA0691A5DC9, 0x6B6BB16B7FDAD614, 0x85852E855CAB17D9,
-0xBDBDCEBD8173673C, 0x5D5D695DD234BA8F, 0x1010401080502090, 0xF4F4F7F4F303F507,
-0xCBCB0BCB16C08BDD, 0x3E3EF83EEDC67CD3, 0x0505140528110A2D, 0x676781671FE6CE78,
-0xE4E4B7E47353D597, 0x27279C2725BB4E02, 0x4141194132588273, 0x8B8B168B2C9D0BA7,
-0xA7A7A6A7510153F6, 0x7D7DE97DCF94FAB2, 0x95956E95DCFB3749, 0xD8D847D88E9FAD56,
-0xFBFBCBFB8B30EB70, 0xEEEE9FEE2371C1CD, 0x7C7CED7CC791F8BB, 0x6666856617E3CC71,
-0xDDDD53DDA68EA77B, 0x17175C17B84B2EAF, 0x4747014702468E45, 0x9E9E429E84DC211A,
-0xCACA0FCA1EC589D4, 0x2D2DB42D75995A58, 0xBFBFC6BF9179632E, 0x07071C07381B0E3F,
-0xADAD8EAD012347AC, 0x5A5A755AEA2FB4B0, 0x838336836CB51BEF, 0x3333CC3385FF66B6,
-0x636391633FF2C65C, 0x02020802100A0412, 0xAAAA92AA39384993, 0x7171D971AFA8E2DE,
-0xC8C807C80ECF8DC6, 0x19196419C87D32D1, 0x494939497270923B, 0xD9D943D9869AAF5F,
-0xF2F2EFF2C31DF931, 0xE3E3ABE34B48DBA8, 0x5B5B715BE22AB6B9, 0x88881A8834920DBC,
-0x9A9A529AA4C8293E, 0x262698262DBE4C0B, 0x3232C8328DFA64BF, 0xB0B0FAB0E94A7D59,
-0xE9E983E91B6ACFF2, 0x0F0F3C0F78331E77, 0xD5D573D5E6A6B733, 0x80803A8074BA1DF4,
-0xBEBEC2BE997C6127, 0xCDCD13CD26DE87EB, 0x3434D034BDE46889, 0x48483D487A759032,
-0xFFFFDBFFAB24E354, 0x7A7AF57AF78FF48D, 0x90907A90F4EA3D64, 0x5F5F615FC23EBE9D,
-0x202080201DA0403D, 0x6868BD6867D5D00F, 0x1A1A681AD07234CA, 0xAEAE82AE192C41B7,
-0xB4B4EAB4C95E757D, 0x54544D549A19A8CE, 0x93937693ECE53B7F, 0x222288220DAA442F,
-0x64648D6407E9C863, 0xF1F1E3F1DB12FF2A, 0x7373D173BFA2E6CC, 0x12124812905A2482,
-0x40401D403A5D807A, 0x0808200840281048, 0xC3C32BC356E89B95, 0xECEC97EC337BC5DF,
-0xDBDB4BDB9690AB4D, 0xA1A1BEA1611F5FC0, 0x8D8D0E8D1C830791, 0x3D3DF43DF5C97AC8,
-0x97976697CCF1335B, 0x0000000000000000, 0xCFCF1BCF36D483F9, 0x2B2BAC2B4587566E,
-0x7676C57697B3ECE1, 0x8282328264B019E6, 0xD6D67FD6FEA9B128, 0x1B1B6C1BD87736C3,
-0xB5B5EEB5C15B7774, 0xAFAF86AF112943BE, 0x6A6AB56A77DFD41D, 0x50505D50BA0DA0EA,
-0x45450945124C8A57, 0xF3F3EBF3CB18FB38, 0x3030C0309DF060AD, 0xEFEF9BEF2B74C3C4,
-0x3F3FFC3FE5C37EDA, 0x55554955921CAAC7, 0xA2A2B2A2791059DB, 0xEAEA8FEA0365C9E9,
-0x656589650FECCA6A, 0xBABAD2BAB9686903, 0x2F2FBC2F65935E4A, 0xC0C027C04EE79D8E,
-0xDEDE5FDEBE81A160, 0x1C1C701CE06C38FC, 0xFDFDD3FDBB2EE746, 0x4D4D294D52649A1F,
-0x92927292E4E03976, 0x7575C9758FBCEAFA, 0x06061806301E0C36, 0x8A8A128A249809AE,
-0xB2B2F2B2F940794B, 0xE6E6BFE66359D185, 0x0E0E380E70361C7E, 0x1F1F7C1FF8633EE7,
-0x6262956237F7C455, 0xD4D477D4EEA3B53A, 0xA8A89AA829324D81, 0x96966296C4F43152,
-0xF9F9C3F99B3AEF62, 0xC5C533C566F697A3, 0x2525942535B14A10, 0x59597959F220B2AB,
-0x84842A8454AE15D0, 0x7272D572B7A7E4C5, 0x3939E439D5DD72EC, 0x4C4C2D4C5A619816,
-0x5E5E655ECA3BBC94, 0x7878FD78E785F09F, 0x3838E038DDD870E5, 0x8C8C0A8C14860598,
-0xD1D163D1C6B2BF17, 0xA5A5AEA5410B57E4, 0xE2E2AFE2434DD9A1, 0x616199612FF8C24E,
-0xB3B3F6B3F1457B42, 0x2121842115A54234, 0x9C9C4A9C94D62508, 0x1E1E781EF0663CEE,
-0x4343114322528661, 0xC7C73BC776FC93B1, 0xFCFCD7FCB32BE54F, 0x0404100420140824,
-0x51515951B208A2E3, 0x99995E99BCC72F25, 0x6D6DA96D4FC4DA22, 0x0D0D340D68391A65,
-0xFAFACFFA8335E979, 0xDFDF5BDFB684A369, 0x7E7EE57ED79BFCA9, 0x242490243DB44819,
-0x3B3BEC3BC5D776FE, 0xABAB96AB313D4B9A, 0xCECE1FCE3ED181F0, 0x1111441188552299,
-0x8F8F068F0C890383, 0x4E4E254E4A6B9C04, 0xB7B7E6B7D1517366, 0xEBEB8BEB0B60CBE0,
-0x3C3CF03CFDCC78C1, 0x81813E817CBF1FFD, 0x94946A94D4FE3540, 0xF7F7FBF7EB0CF31C,
-0xB9B9DEB9A1676F18, 0x13134C13985F268B, 0x2C2CB02C7D9C5851, 0xD3D36BD3D6B8BB05,
-0xE7E7BBE76B5CD38C, 0x6E6EA56E57CBDC39, 0xC4C437C46EF395AA, 0x03030C03180F061B,
-0x565645568A13ACDC, 0x44440D441A49885E, 0x7F7FE17FDF9EFEA0, 0xA9A99EA921374F88,
-0x2A2AA82A4D825467, 0xBBBBD6BBB16D6B0A, 0xC1C123C146E29F87, 0x53535153A202A6F1,
-0xDCDC57DCAE8BA572, 0x0B0B2C0B58271653, 0x9D9D4E9D9CD32701, 0x6C6CAD6C47C1D82B,
-0x3131C43195F562A4, 0x7474CD7487B9E8F3, 0xF6F6FFF6E309F115, 0x464605460A438C4C,
-0xACAC8AAC092645A5, 0x89891E893C970FB5, 0x14145014A04428B4, 0xE1E1A3E15B42DFBA,
-0x16165816B04E2CA6, 0x3A3AE83ACDD274F7, 0x6969B9696FD0D206, 0x09092409482D1241,
-0x7070DD70A7ADE0D7, 0xB6B6E2B6D954716F, 0xD0D067D0CEB7BD1E, 0xEDED93ED3B7EC7D6,
-0xCCCC17CC2EDB85E2, 0x424215422A578468, 0x98985A98B4C22D2C, 0xA4A4AAA4490E55ED,
-0x2828A0285D885075, 0x5C5C6D5CDA31B886, 0xF8F8C7F8933FED6B, 0x8686228644A411C2 
};
+0x18186018C07830D8ull, 0x23238C2305AF4626ull, 0xC6C63FC67EF991B8ull, 
0xE8E887E8136FCDFBull,
+0x878726874CA113CBull, 0xB8B8DAB8A9626D11ull, 0x0101040108050209ull, 
0x4F4F214F426E9E0Dull,
+0x3636D836ADEE6C9Bull, 0xA6A6A2A6590451FFull, 0xD2D26FD2DEBDB90Cull, 
0xF5F5F3F5FB06F70Eull,
+0x7979F979EF80F296ull, 0x6F6FA16F5FCEDE30ull, 0x91917E91FCEF3F6Dull, 
0x52525552AA07A4F8ull,
+0x60609D6027FDC047ull, 0xBCBCCABC89766535ull, 0x9B9B569BACCD2B37ull, 
0x8E8E028E048C018Aull,
+0xA3A3B6A371155BD2ull, 0x0C0C300C603C186Cull, 0x7B7BF17BFF8AF684ull, 
0x3535D435B5E16A80ull,
+0x1D1D741DE8693AF5ull, 0xE0E0A7E05347DDB3ull, 0xD7D77BD7F6ACB321ull, 
0xC2C22FC25EED999Cull,
+0x2E2EB82E6D965C43ull, 0x4B4B314B627A9629ull, 0xFEFEDFFEA321E15Dull, 
0x575741578216AED5ull,
+0x15155415A8412ABDull, 0x7777C1779FB6EEE8ull, 0x3737DC37A5EB6E92ull, 
0xE5E5B3E57B56D79Eull,
+0x9F9F469F8CD92313ull, 0xF0F0E7F0D317FD23ull, 0x4A4A354A6A7F9420ull, 
0xDADA4FDA9E95A944ull,
+0x58587D58FA25B0A2ull, 0xC9C903C906CA8FCFull, 0x2929A429558D527Cull, 
0x0A0A280A5022145Aull,
+0xB1B1FEB1E14F7F50ull, 0xA0A0BAA0691A5DC9ull, 0x6B6BB16B7FDAD614ull, 
0x85852E855CAB17D9ull,
+0xBDBDCEBD8173673Cull, 0x5D5D695DD234BA8Full, 0x1010401080502090ull, 
0xF4F4F7F4F303F507ull,
+0xCBCB0BCB16C08BDDull, 0x3E3EF83EEDC67CD3ull, 0x0505140528110A2Dull, 
0x676781671FE6CE78ull,
+0xE4E4B7E47353D597ull, 0x27279C2725BB4E02ull, 0x4141194132588273ull, 
0x8B8B168B2C9D0BA7ull,
+0xA7A7A6A7510153F6ull, 0x7D7DE97DCF94FAB2ull, 0x95956E95DCFB3749ull, 
0xD8D847D88E9FAD56ull,
+0xFBFBCBFB8B30EB70ull, 0xEEEE9FEE2371C1CDull, 0x7C7CED7CC791F8BBull, 
0x6666856617E3CC71ull,
+0xDDDD53DDA68EA77Bull, 0x17175C17B84B2EAFull, 0x4747014702468E45ull, 
0x9E9E429E84DC211Aull,
+0xCACA0FCA1EC589D4ull, 0x2D2DB42D75995A58ull, 0xBFBFC6BF9179632Eull, 
0x07071C07381B0E3Full,
+0xADAD8EAD012347ACull, 0x5A5A755AEA2FB4B0ull, 0x838336836CB51BEFull, 
0x3333CC3385FF66B6ull,
+0x636391633FF2C65Cull, 0x02020802100A0412ull, 0xAAAA92AA39384993ull, 
0x7171D971AFA8E2DEull,
+0xC8C807C80ECF8DC6ull, 0x19196419C87D32D1ull, 0x494939497270923Bull, 
0xD9D943D9869AAF5Full,
+0xF2F2EFF2C31DF931ull, 0xE3E3ABE34B48DBA8ull, 0x5B5B715BE22AB6B9ull, 
0x88881A8834920DBCull,
+0x9A9A529AA4C8293Eull, 0x262698262DBE4C0Bull, 0x3232C8328DFA64BFull, 
0xB0B0FAB0E94A7D59ull,
+0xE9E983E91B6ACFF2ull, 0x0F0F3C0F78331E77ull, 0xD5D573D5E6A6B733ull, 
0x80803A8074BA1DF4ull,
+0xBEBEC2BE997C6127ull, 0xCDCD13CD26DE87EBull, 0x3434D034BDE46889ull, 
0x48483D487A759032ull,
+0xFFFFDBFFAB24E354ull, 0x7A7AF57AF78FF48Dull, 0x90907A90F4EA3D64ull, 
0x5F5F615FC23EBE9Dull,
+0x202080201DA0403Dull, 0x6868BD6867D5D00Full, 0x1A1A681AD07234CAull, 
0xAEAE82AE192C41B7ull,
+0xB4B4EAB4C95E757Dull, 0x54544D549A19A8CEull, 0x93937693ECE53B7Full, 
0x222288220DAA442Full,
+0x64648D6407E9C863ull, 0xF1F1E3F1DB12FF2Aull, 0x7373D173BFA2E6CCull, 
0x12124812905A2482ull,
+0x40401D403A5D807Aull, 0x0808200840281048ull, 0xC3C32BC356E89B95ull, 
0xECEC97EC337BC5DFull,
+0xDBDB4BDB9690AB4Dull, 0xA1A1BEA1611F5FC0ull, 0x8D8D0E8D1C830791ull, 
0x3D3DF43DF5C97AC8ull,
+0x97976697CCF1335Bull, 0x0000000000000000ull, 0xCFCF1BCF36D483F9ull, 
0x2B2BAC2B4587566Eull,
+0x7676C57697B3ECE1ull, 0x8282328264B019E6ull, 0xD6D67FD6FEA9B128ull, 
0x1B1B6C1BD87736C3ull,
+0xB5B5EEB5C15B7774ull, 0xAFAF86AF112943BEull, 0x6A6AB56A77DFD41Dull, 
0x50505D50BA0DA0EAull,
+0x45450945124C8A57ull, 0xF3F3EBF3CB18FB38ull, 0x3030C0309DF060ADull, 
0xEFEF9BEF2B74C3C4ull,
+0x3F3FFC3FE5C37EDAull, 0x55554955921CAAC7ull, 0xA2A2B2A2791059DBull, 
0xEAEA8FEA0365C9E9ull,
+0x656589650FECCA6Aull, 0xBABAD2BAB9686903ull, 0x2F2FBC2F65935E4Aull, 
0xC0C027C04EE79D8Eull,
+0xDEDE5FDEBE81A160ull, 0x1C1C701CE06C38FCull, 0xFDFDD3FDBB2EE746ull, 
0x4D4D294D52649A1Full,
+0x92927292E4E03976ull, 0x7575C9758FBCEAFAull, 0x06061806301E0C36ull, 
0x8A8A128A249809AEull,
+0xB2B2F2B2F940794Bull, 0xE6E6BFE66359D185ull, 0x0E0E380E70361C7Eull, 
0x1F1F7C1FF8633EE7ull,
+0x6262956237F7C455ull, 0xD4D477D4EEA3B53Aull, 0xA8A89AA829324D81ull, 
0x96966296C4F43152ull,
+0xF9F9C3F99B3AEF62ull, 0xC5C533C566F697A3ull, 0x2525942535B14A10ull, 
0x59597959F220B2ABull,
+0x84842A8454AE15D0ull, 0x7272D572B7A7E4C5ull, 0x3939E439D5DD72ECull, 
0x4C4C2D4C5A619816ull,
+0x5E5E655ECA3BBC94ull, 0x7878FD78E785F09Full, 0x3838E038DDD870E5ull, 
0x8C8C0A8C14860598ull,
+0xD1D163D1C6B2BF17ull, 0xA5A5AEA5410B57E4ull, 0xE2E2AFE2434DD9A1ull, 
0x616199612FF8C24Eull,
+0xB3B3F6B3F1457B42ull, 0x2121842115A54234ull, 0x9C9C4A9C94D62508ull, 
0x1E1E781EF0663CEEull,
+0x4343114322528661ull, 0xC7C73BC776FC93B1ull, 0xFCFCD7FCB32BE54Full, 
0x0404100420140824ull,
+0x51515951B208A2E3ull, 0x99995E99BCC72F25ull, 0x6D6DA96D4FC4DA22ull, 
0x0D0D340D68391A65ull,
+0xFAFACFFA8335E979ull, 0xDFDF5BDFB684A369ull, 0x7E7EE57ED79BFCA9ull, 
0x242490243DB44819ull,
+0x3B3BEC3BC5D776FEull, 0xABAB96AB313D4B9Aull, 0xCECE1FCE3ED181F0ull, 
0x1111441188552299ull,
+0x8F8F068F0C890383ull, 0x4E4E254E4A6B9C04ull, 0xB7B7E6B7D1517366ull, 
0xEBEB8BEB0B60CBE0ull,
+0x3C3CF03CFDCC78C1ull, 0x81813E817CBF1FFDull, 0x94946A94D4FE3540ull, 
0xF7F7FBF7EB0CF31Cull,
+0xB9B9DEB9A1676F18ull, 0x13134C13985F268Bull, 0x2C2CB02C7D9C5851ull, 
0xD3D36BD3D6B8BB05ull,
+0xE7E7BBE76B5CD38Cull, 0x6E6EA56E57CBDC39ull, 0xC4C437C46EF395AAull, 
0x03030C03180F061Bull,
+0x565645568A13ACDCull, 0x44440D441A49885Eull, 0x7F7FE17FDF9EFEA0ull, 
0xA9A99EA921374F88ull,
+0x2A2AA82A4D825467ull, 0xBBBBD6BBB16D6B0Aull, 0xC1C123C146E29F87ull, 
0x53535153A202A6F1ull,
+0xDCDC57DCAE8BA572ull, 0x0B0B2C0B58271653ull, 0x9D9D4E9D9CD32701ull, 
0x6C6CAD6C47C1D82Bull,
+0x3131C43195F562A4ull, 0x7474CD7487B9E8F3ull, 0xF6F6FFF6E309F115ull, 
0x464605460A438C4Cull,
+0xACAC8AAC092645A5ull, 0x89891E893C970FB5ull, 0x14145014A04428B4ull, 
0xE1E1A3E15B42DFBAull,
+0x16165816B04E2CA6ull, 0x3A3AE83ACDD274F7ull, 0x6969B9696FD0D206ull, 
0x09092409482D1241ull,
+0x7070DD70A7ADE0D7ull, 0xB6B6E2B6D954716Full, 0xD0D067D0CEB7BD1Eull, 
0xEDED93ED3B7EC7D6ull,
+0xCCCC17CC2EDB85E2ull, 0x424215422A578468ull, 0x98985A98B4C22D2Cull, 
0xA4A4AAA4490E55EDull,
+0x2828A0285D885075ull, 0x5C5C6D5CDA31B886ull, 0xF8F8C7F8933FED6Bull, 
0x8686228644A411C2ull };
 
 const u64bit Whirlpool::C1[256] = {
-0xD818186018C07830, 0x2623238C2305AF46, 0xB8C6C63FC67EF991, 0xFBE8E887E8136FCD,
-0xCB878726874CA113, 0x11B8B8DAB8A9626D, 0x0901010401080502, 0x0D4F4F214F426E9E,
-0x9B3636D836ADEE6C, 0xFFA6A6A2A6590451, 0x0CD2D26FD2DEBDB9, 0x0EF5F5F3F5FB06F7,
-0x967979F979EF80F2, 0x306F6FA16F5FCEDE, 0x6D91917E91FCEF3F, 0xF852525552AA07A4,
-0x4760609D6027FDC0, 0x35BCBCCABC897665, 0x379B9B569BACCD2B, 0x8A8E8E028E048C01,
-0xD2A3A3B6A371155B, 0x6C0C0C300C603C18, 0x847B7BF17BFF8AF6, 0x803535D435B5E16A,
-0xF51D1D741DE8693A, 0xB3E0E0A7E05347DD, 0x21D7D77BD7F6ACB3, 0x9CC2C22FC25EED99,
-0x432E2EB82E6D965C, 0x294B4B314B627A96, 0x5DFEFEDFFEA321E1, 0xD5575741578216AE,
-0xBD15155415A8412A, 0xE87777C1779FB6EE, 0x923737DC37A5EB6E, 0x9EE5E5B3E57B56D7,
-0x139F9F469F8CD923, 0x23F0F0E7F0D317FD, 0x204A4A354A6A7F94, 0x44DADA4FDA9E95A9,
-0xA258587D58FA25B0, 0xCFC9C903C906CA8F, 0x7C2929A429558D52, 0x5A0A0A280A502214,
-0x50B1B1FEB1E14F7F, 0xC9A0A0BAA0691A5D, 0x146B6BB16B7FDAD6, 0xD985852E855CAB17,
-0x3CBDBDCEBD817367, 0x8F5D5D695DD234BA, 0x9010104010805020, 0x07F4F4F7F4F303F5,
-0xDDCBCB0BCB16C08B, 0xD33E3EF83EEDC67C, 0x2D0505140528110A, 0x78676781671FE6CE,
-0x97E4E4B7E47353D5, 0x0227279C2725BB4E, 0x7341411941325882, 0xA78B8B168B2C9D0B,
-0xF6A7A7A6A7510153, 0xB27D7DE97DCF94FA, 0x4995956E95DCFB37, 0x56D8D847D88E9FAD,
-0x70FBFBCBFB8B30EB, 0xCDEEEE9FEE2371C1, 0xBB7C7CED7CC791F8, 0x716666856617E3CC,
-0x7BDDDD53DDA68EA7, 0xAF17175C17B84B2E, 0x454747014702468E, 0x1A9E9E429E84DC21,
-0xD4CACA0FCA1EC589, 0x582D2DB42D75995A, 0x2EBFBFC6BF917963, 0x3F07071C07381B0E,
-0xACADAD8EAD012347, 0xB05A5A755AEA2FB4, 0xEF838336836CB51B, 0xB63333CC3385FF66,
-0x5C636391633FF2C6, 0x1202020802100A04, 0x93AAAA92AA393849, 0xDE7171D971AFA8E2,
-0xC6C8C807C80ECF8D, 0xD119196419C87D32, 0x3B49493949727092, 0x5FD9D943D9869AAF,
-0x31F2F2EFF2C31DF9, 0xA8E3E3ABE34B48DB, 0xB95B5B715BE22AB6, 0xBC88881A8834920D,
-0x3E9A9A529AA4C829, 0x0B262698262DBE4C, 0xBF3232C8328DFA64, 0x59B0B0FAB0E94A7D,
-0xF2E9E983E91B6ACF, 0x770F0F3C0F78331E, 0x33D5D573D5E6A6B7, 0xF480803A8074BA1D,
-0x27BEBEC2BE997C61, 0xEBCDCD13CD26DE87, 0x893434D034BDE468, 0x3248483D487A7590,
-0x54FFFFDBFFAB24E3, 0x8D7A7AF57AF78FF4, 0x6490907A90F4EA3D, 0x9D5F5F615FC23EBE,
-0x3D202080201DA040, 0x0F6868BD6867D5D0, 0xCA1A1A681AD07234, 0xB7AEAE82AE192C41,
-0x7DB4B4EAB4C95E75, 0xCE54544D549A19A8, 0x7F93937693ECE53B, 0x2F222288220DAA44,
-0x6364648D6407E9C8, 0x2AF1F1E3F1DB12FF, 0xCC7373D173BFA2E6, 0x8212124812905A24,
-0x7A40401D403A5D80, 0x4808082008402810, 0x95C3C32BC356E89B, 0xDFECEC97EC337BC5,
-0x4DDBDB4BDB9690AB, 0xC0A1A1BEA1611F5F, 0x918D8D0E8D1C8307, 0xC83D3DF43DF5C97A,
-0x5B97976697CCF133, 0x0000000000000000, 0xF9CFCF1BCF36D483, 0x6E2B2BAC2B458756,
-0xE17676C57697B3EC, 0xE68282328264B019, 0x28D6D67FD6FEA9B1, 0xC31B1B6C1BD87736,
-0x74B5B5EEB5C15B77, 0xBEAFAF86AF112943, 0x1D6A6AB56A77DFD4, 0xEA50505D50BA0DA0,
-0x5745450945124C8A, 0x38F3F3EBF3CB18FB, 0xAD3030C0309DF060, 0xC4EFEF9BEF2B74C3,
-0xDA3F3FFC3FE5C37E, 0xC755554955921CAA, 0xDBA2A2B2A2791059, 0xE9EAEA8FEA0365C9,
-0x6A656589650FECCA, 0x03BABAD2BAB96869, 0x4A2F2FBC2F65935E, 0x8EC0C027C04EE79D,
-0x60DEDE5FDEBE81A1, 0xFC1C1C701CE06C38, 0x46FDFDD3FDBB2EE7, 0x1F4D4D294D52649A,
-0x7692927292E4E039, 0xFA7575C9758FBCEA, 0x3606061806301E0C, 0xAE8A8A128A249809,
-0x4BB2B2F2B2F94079, 0x85E6E6BFE66359D1, 0x7E0E0E380E70361C, 0xE71F1F7C1FF8633E,
-0x556262956237F7C4, 0x3AD4D477D4EEA3B5, 0x81A8A89AA829324D, 0x5296966296C4F431,
-0x62F9F9C3F99B3AEF, 0xA3C5C533C566F697, 0x102525942535B14A, 0xAB59597959F220B2,
-0xD084842A8454AE15, 0xC57272D572B7A7E4, 0xEC3939E439D5DD72, 0x164C4C2D4C5A6198,
-0x945E5E655ECA3BBC, 0x9F7878FD78E785F0, 0xE53838E038DDD870, 0x988C8C0A8C148605,
-0x17D1D163D1C6B2BF, 0xE4A5A5AEA5410B57, 0xA1E2E2AFE2434DD9, 0x4E616199612FF8C2,
-0x42B3B3F6B3F1457B, 0x342121842115A542, 0x089C9C4A9C94D625, 0xEE1E1E781EF0663C,
-0x6143431143225286, 0xB1C7C73BC776FC93, 0x4FFCFCD7FCB32BE5, 0x2404041004201408,
-0xE351515951B208A2, 0x2599995E99BCC72F, 0x226D6DA96D4FC4DA, 0x650D0D340D68391A,
-0x79FAFACFFA8335E9, 0x69DFDF5BDFB684A3, 0xA97E7EE57ED79BFC, 0x19242490243DB448,
-0xFE3B3BEC3BC5D776, 0x9AABAB96AB313D4B, 0xF0CECE1FCE3ED181, 0x9911114411885522,
-0x838F8F068F0C8903, 0x044E4E254E4A6B9C, 0x66B7B7E6B7D15173, 0xE0EBEB8BEB0B60CB,
-0xC13C3CF03CFDCC78, 0xFD81813E817CBF1F, 0x4094946A94D4FE35, 0x1CF7F7FBF7EB0CF3,
-0x18B9B9DEB9A1676F, 0x8B13134C13985F26, 0x512C2CB02C7D9C58, 0x05D3D36BD3D6B8BB,
-0x8CE7E7BBE76B5CD3, 0x396E6EA56E57CBDC, 0xAAC4C437C46EF395, 0x1B03030C03180F06,
-0xDC565645568A13AC, 0x5E44440D441A4988, 0xA07F7FE17FDF9EFE, 0x88A9A99EA921374F,
-0x672A2AA82A4D8254, 0x0ABBBBD6BBB16D6B, 0x87C1C123C146E29F, 0xF153535153A202A6,
-0x72DCDC57DCAE8BA5, 0x530B0B2C0B582716, 0x019D9D4E9D9CD327, 0x2B6C6CAD6C47C1D8,
-0xA43131C43195F562, 0xF37474CD7487B9E8, 0x15F6F6FFF6E309F1, 0x4C464605460A438C,
-0xA5ACAC8AAC092645, 0xB589891E893C970F, 0xB414145014A04428, 0xBAE1E1A3E15B42DF,
-0xA616165816B04E2C, 0xF73A3AE83ACDD274, 0x066969B9696FD0D2, 0x4109092409482D12,
-0xD77070DD70A7ADE0, 0x6FB6B6E2B6D95471, 0x1ED0D067D0CEB7BD, 0xD6EDED93ED3B7EC7,
-0xE2CCCC17CC2EDB85, 0x68424215422A5784, 0x2C98985A98B4C22D, 0xEDA4A4AAA4490E55,
-0x752828A0285D8850, 0x865C5C6D5CDA31B8, 0x6BF8F8C7F8933FED, 0xC28686228644A411 
};
+0xD818186018C07830ull, 0x2623238C2305AF46ull, 0xB8C6C63FC67EF991ull, 
0xFBE8E887E8136FCDull,
+0xCB878726874CA113ull, 0x11B8B8DAB8A9626Dull, 0x0901010401080502ull, 
0x0D4F4F214F426E9Eull,
+0x9B3636D836ADEE6Cull, 0xFFA6A6A2A6590451ull, 0x0CD2D26FD2DEBDB9ull, 
0x0EF5F5F3F5FB06F7ull,
+0x967979F979EF80F2ull, 0x306F6FA16F5FCEDEull, 0x6D91917E91FCEF3Full, 
0xF852525552AA07A4ull,
+0x4760609D6027FDC0ull, 0x35BCBCCABC897665ull, 0x379B9B569BACCD2Bull, 
0x8A8E8E028E048C01ull,
+0xD2A3A3B6A371155Bull, 0x6C0C0C300C603C18ull, 0x847B7BF17BFF8AF6ull, 
0x803535D435B5E16Aull,
+0xF51D1D741DE8693Aull, 0xB3E0E0A7E05347DDull, 0x21D7D77BD7F6ACB3ull, 
0x9CC2C22FC25EED99ull,
+0x432E2EB82E6D965Cull, 0x294B4B314B627A96ull, 0x5DFEFEDFFEA321E1ull, 
0xD5575741578216AEull,
+0xBD15155415A8412Aull, 0xE87777C1779FB6EEull, 0x923737DC37A5EB6Eull, 
0x9EE5E5B3E57B56D7ull,
+0x139F9F469F8CD923ull, 0x23F0F0E7F0D317FDull, 0x204A4A354A6A7F94ull, 
0x44DADA4FDA9E95A9ull,
+0xA258587D58FA25B0ull, 0xCFC9C903C906CA8Full, 0x7C2929A429558D52ull, 
0x5A0A0A280A502214ull,
+0x50B1B1FEB1E14F7Full, 0xC9A0A0BAA0691A5Dull, 0x146B6BB16B7FDAD6ull, 
0xD985852E855CAB17ull,
+0x3CBDBDCEBD817367ull, 0x8F5D5D695DD234BAull, 0x9010104010805020ull, 
0x07F4F4F7F4F303F5ull,
+0xDDCBCB0BCB16C08Bull, 0xD33E3EF83EEDC67Cull, 0x2D0505140528110Aull, 
0x78676781671FE6CEull,
+0x97E4E4B7E47353D5ull, 0x0227279C2725BB4Eull, 0x7341411941325882ull, 
0xA78B8B168B2C9D0Bull,
+0xF6A7A7A6A7510153ull, 0xB27D7DE97DCF94FAull, 0x4995956E95DCFB37ull, 
0x56D8D847D88E9FADull,
+0x70FBFBCBFB8B30EBull, 0xCDEEEE9FEE2371C1ull, 0xBB7C7CED7CC791F8ull, 
0x716666856617E3CCull,
+0x7BDDDD53DDA68EA7ull, 0xAF17175C17B84B2Eull, 0x454747014702468Eull, 
0x1A9E9E429E84DC21ull,
+0xD4CACA0FCA1EC589ull, 0x582D2DB42D75995Aull, 0x2EBFBFC6BF917963ull, 
0x3F07071C07381B0Eull,
+0xACADAD8EAD012347ull, 0xB05A5A755AEA2FB4ull, 0xEF838336836CB51Bull, 
0xB63333CC3385FF66ull,
+0x5C636391633FF2C6ull, 0x1202020802100A04ull, 0x93AAAA92AA393849ull, 
0xDE7171D971AFA8E2ull,
+0xC6C8C807C80ECF8Dull, 0xD119196419C87D32ull, 0x3B49493949727092ull, 
0x5FD9D943D9869AAFull,
+0x31F2F2EFF2C31DF9ull, 0xA8E3E3ABE34B48DBull, 0xB95B5B715BE22AB6ull, 
0xBC88881A8834920Dull,
+0x3E9A9A529AA4C829ull, 0x0B262698262DBE4Cull, 0xBF3232C8328DFA64ull, 
0x59B0B0FAB0E94A7Dull,
+0xF2E9E983E91B6ACFull, 0x770F0F3C0F78331Eull, 0x33D5D573D5E6A6B7ull, 
0xF480803A8074BA1Dull,
+0x27BEBEC2BE997C61ull, 0xEBCDCD13CD26DE87ull, 0x893434D034BDE468ull, 
0x3248483D487A7590ull,
+0x54FFFFDBFFAB24E3ull, 0x8D7A7AF57AF78FF4ull, 0x6490907A90F4EA3Dull, 
0x9D5F5F615FC23EBEull,
+0x3D202080201DA040ull, 0x0F6868BD6867D5D0ull, 0xCA1A1A681AD07234ull, 
0xB7AEAE82AE192C41ull,
+0x7DB4B4EAB4C95E75ull, 0xCE54544D549A19A8ull, 0x7F93937693ECE53Bull, 
0x2F222288220DAA44ull,
+0x6364648D6407E9C8ull, 0x2AF1F1E3F1DB12FFull, 0xCC7373D173BFA2E6ull, 
0x8212124812905A24ull,
+0x7A40401D403A5D80ull, 0x4808082008402810ull, 0x95C3C32BC356E89Bull, 
0xDFECEC97EC337BC5ull,
+0x4DDBDB4BDB9690ABull, 0xC0A1A1BEA1611F5Full, 0x918D8D0E8D1C8307ull, 
0xC83D3DF43DF5C97Aull,
+0x5B97976697CCF133ull, 0x0000000000000000ull, 0xF9CFCF1BCF36D483ull, 
0x6E2B2BAC2B458756ull,
+0xE17676C57697B3ECull, 0xE68282328264B019ull, 0x28D6D67FD6FEA9B1ull, 
0xC31B1B6C1BD87736ull,
+0x74B5B5EEB5C15B77ull, 0xBEAFAF86AF112943ull, 0x1D6A6AB56A77DFD4ull, 
0xEA50505D50BA0DA0ull,
+0x5745450945124C8Aull, 0x38F3F3EBF3CB18FBull, 0xAD3030C0309DF060ull, 
0xC4EFEF9BEF2B74C3ull,
+0xDA3F3FFC3FE5C37Eull, 0xC755554955921CAAull, 0xDBA2A2B2A2791059ull, 
0xE9EAEA8FEA0365C9ull,
+0x6A656589650FECCAull, 0x03BABAD2BAB96869ull, 0x4A2F2FBC2F65935Eull, 
0x8EC0C027C04EE79Dull,
+0x60DEDE5FDEBE81A1ull, 0xFC1C1C701CE06C38ull, 0x46FDFDD3FDBB2EE7ull, 
0x1F4D4D294D52649Aull,
+0x7692927292E4E039ull, 0xFA7575C9758FBCEAull, 0x3606061806301E0Cull, 
0xAE8A8A128A249809ull,
+0x4BB2B2F2B2F94079ull, 0x85E6E6BFE66359D1ull, 0x7E0E0E380E70361Cull, 
0xE71F1F7C1FF8633Eull,
+0x556262956237F7C4ull, 0x3AD4D477D4EEA3B5ull, 0x81A8A89AA829324Dull, 
0x5296966296C4F431ull,
+0x62F9F9C3F99B3AEFull, 0xA3C5C533C566F697ull, 0x102525942535B14Aull, 
0xAB59597959F220B2ull,
+0xD084842A8454AE15ull, 0xC57272D572B7A7E4ull, 0xEC3939E439D5DD72ull, 
0x164C4C2D4C5A6198ull,
+0x945E5E655ECA3BBCull, 0x9F7878FD78E785F0ull, 0xE53838E038DDD870ull, 
0x988C8C0A8C148605ull,
+0x17D1D163D1C6B2BFull, 0xE4A5A5AEA5410B57ull, 0xA1E2E2AFE2434DD9ull, 
0x4E616199612FF8C2ull,
+0x42B3B3F6B3F1457Bull, 0x342121842115A542ull, 0x089C9C4A9C94D625ull, 
0xEE1E1E781EF0663Cull,
+0x6143431143225286ull, 0xB1C7C73BC776FC93ull, 0x4FFCFCD7FCB32BE5ull, 
0x2404041004201408ull,
+0xE351515951B208A2ull, 0x2599995E99BCC72Full, 0x226D6DA96D4FC4DAull, 
0x650D0D340D68391Aull,
+0x79FAFACFFA8335E9ull, 0x69DFDF5BDFB684A3ull, 0xA97E7EE57ED79BFCull, 
0x19242490243DB448ull,
+0xFE3B3BEC3BC5D776ull, 0x9AABAB96AB313D4Bull, 0xF0CECE1FCE3ED181ull, 
0x9911114411885522ull,
+0x838F8F068F0C8903ull, 0x044E4E254E4A6B9Cull, 0x66B7B7E6B7D15173ull, 
0xE0EBEB8BEB0B60CBull,
+0xC13C3CF03CFDCC78ull, 0xFD81813E817CBF1Full, 0x4094946A94D4FE35ull, 
0x1CF7F7FBF7EB0CF3ull,
+0x18B9B9DEB9A1676Full, 0x8B13134C13985F26ull, 0x512C2CB02C7D9C58ull, 
0x05D3D36BD3D6B8BBull,
+0x8CE7E7BBE76B5CD3ull, 0x396E6EA56E57CBDCull, 0xAAC4C437C46EF395ull, 
0x1B03030C03180F06ull,
+0xDC565645568A13ACull, 0x5E44440D441A4988ull, 0xA07F7FE17FDF9EFEull, 
0x88A9A99EA921374Full,
+0x672A2AA82A4D8254ull, 0x0ABBBBD6BBB16D6Bull, 0x87C1C123C146E29Full, 
0xF153535153A202A6ull,
+0x72DCDC57DCAE8BA5ull, 0x530B0B2C0B582716ull, 0x019D9D4E9D9CD327ull, 
0x2B6C6CAD6C47C1D8ull,
+0xA43131C43195F562ull, 0xF37474CD7487B9E8ull, 0x15F6F6FFF6E309F1ull, 
0x4C464605460A438Cull,
+0xA5ACAC8AAC092645ull, 0xB589891E893C970Full, 0xB414145014A04428ull, 
0xBAE1E1A3E15B42DFull,
+0xA616165816B04E2Cull, 0xF73A3AE83ACDD274ull, 0x066969B9696FD0D2ull, 
0x4109092409482D12ull,
+0xD77070DD70A7ADE0ull, 0x6FB6B6E2B6D95471ull, 0x1ED0D067D0CEB7BDull, 
0xD6EDED93ED3B7EC7ull,
+0xE2CCCC17CC2EDB85ull, 0x68424215422A5784ull, 0x2C98985A98B4C22Dull, 
0xEDA4A4AAA4490E55ull,
+0x752828A0285D8850ull, 0x865C5C6D5CDA31B8ull, 0x6BF8F8C7F8933FEDull, 
0xC28686228644A411ull };
 
 const u64bit Whirlpool::C2[256] = {
-0x30D818186018C078, 0x462623238C2305AF, 0x91B8C6C63FC67EF9, 0xCDFBE8E887E8136F,
-0x13CB878726874CA1, 0x6D11B8B8DAB8A962, 0x0209010104010805, 0x9E0D4F4F214F426E,
-0x6C9B3636D836ADEE, 0x51FFA6A6A2A65904, 0xB90CD2D26FD2DEBD, 0xF70EF5F5F3F5FB06,
-0xF2967979F979EF80, 0xDE306F6FA16F5FCE, 0x3F6D91917E91FCEF, 0xA4F852525552AA07,
-0xC04760609D6027FD, 0x6535BCBCCABC8976, 0x2B379B9B569BACCD, 0x018A8E8E028E048C,
-0x5BD2A3A3B6A37115, 0x186C0C0C300C603C, 0xF6847B7BF17BFF8A, 0x6A803535D435B5E1,
-0x3AF51D1D741DE869, 0xDDB3E0E0A7E05347, 0xB321D7D77BD7F6AC, 0x999CC2C22FC25EED,
-0x5C432E2EB82E6D96, 0x96294B4B314B627A, 0xE15DFEFEDFFEA321, 0xAED5575741578216,
-0x2ABD15155415A841, 0xEEE87777C1779FB6, 0x6E923737DC37A5EB, 0xD79EE5E5B3E57B56,
-0x23139F9F469F8CD9, 0xFD23F0F0E7F0D317, 0x94204A4A354A6A7F, 0xA944DADA4FDA9E95,
-0xB0A258587D58FA25, 0x8FCFC9C903C906CA, 0x527C2929A429558D, 0x145A0A0A280A5022,
-0x7F50B1B1FEB1E14F, 0x5DC9A0A0BAA0691A, 0xD6146B6BB16B7FDA, 0x17D985852E855CAB,
-0x673CBDBDCEBD8173, 0xBA8F5D5D695DD234, 0x2090101040108050, 0xF507F4F4F7F4F303,
-0x8BDDCBCB0BCB16C0, 0x7CD33E3EF83EEDC6, 0x0A2D050514052811, 0xCE78676781671FE6,
-0xD597E4E4B7E47353, 0x4E0227279C2725BB, 0x8273414119413258, 0x0BA78B8B168B2C9D,
-0x53F6A7A7A6A75101, 0xFAB27D7DE97DCF94, 0x374995956E95DCFB, 0xAD56D8D847D88E9F,
-0xEB70FBFBCBFB8B30, 0xC1CDEEEE9FEE2371, 0xF8BB7C7CED7CC791, 0xCC716666856617E3,
-0xA77BDDDD53DDA68E, 0x2EAF17175C17B84B, 0x8E45474701470246, 0x211A9E9E429E84DC,
-0x89D4CACA0FCA1EC5, 0x5A582D2DB42D7599, 0x632EBFBFC6BF9179, 0x0E3F07071C07381B,
-0x47ACADAD8EAD0123, 0xB4B05A5A755AEA2F, 0x1BEF838336836CB5, 0x66B63333CC3385FF,
-0xC65C636391633FF2, 0x041202020802100A, 0x4993AAAA92AA3938, 0xE2DE7171D971AFA8,
-0x8DC6C8C807C80ECF, 0x32D119196419C87D, 0x923B494939497270, 0xAF5FD9D943D9869A,
-0xF931F2F2EFF2C31D, 0xDBA8E3E3ABE34B48, 0xB6B95B5B715BE22A, 0x0DBC88881A883492,
-0x293E9A9A529AA4C8, 0x4C0B262698262DBE, 0x64BF3232C8328DFA, 0x7D59B0B0FAB0E94A,
-0xCFF2E9E983E91B6A, 0x1E770F0F3C0F7833, 0xB733D5D573D5E6A6, 0x1DF480803A8074BA,
-0x6127BEBEC2BE997C, 0x87EBCDCD13CD26DE, 0x68893434D034BDE4, 0x903248483D487A75,
-0xE354FFFFDBFFAB24, 0xF48D7A7AF57AF78F, 0x3D6490907A90F4EA, 0xBE9D5F5F615FC23E,
-0x403D202080201DA0, 0xD00F6868BD6867D5, 0x34CA1A1A681AD072, 0x41B7AEAE82AE192C,
-0x757DB4B4EAB4C95E, 0xA8CE54544D549A19, 0x3B7F93937693ECE5, 0x442F222288220DAA,
-0xC86364648D6407E9, 0xFF2AF1F1E3F1DB12, 0xE6CC7373D173BFA2, 0x248212124812905A,
-0x807A40401D403A5D, 0x1048080820084028, 0x9B95C3C32BC356E8, 0xC5DFECEC97EC337B,
-0xAB4DDBDB4BDB9690, 0x5FC0A1A1BEA1611F, 0x07918D8D0E8D1C83, 0x7AC83D3DF43DF5C9,
-0x335B97976697CCF1, 0x0000000000000000, 0x83F9CFCF1BCF36D4, 0x566E2B2BAC2B4587,
-0xECE17676C57697B3, 0x19E68282328264B0, 0xB128D6D67FD6FEA9, 0x36C31B1B6C1BD877,
-0x7774B5B5EEB5C15B, 0x43BEAFAF86AF1129, 0xD41D6A6AB56A77DF, 0xA0EA50505D50BA0D,
-0x8A5745450945124C, 0xFB38F3F3EBF3CB18, 0x60AD3030C0309DF0, 0xC3C4EFEF9BEF2B74,
-0x7EDA3F3FFC3FE5C3, 0xAAC755554955921C, 0x59DBA2A2B2A27910, 0xC9E9EAEA8FEA0365,
-0xCA6A656589650FEC, 0x6903BABAD2BAB968, 0x5E4A2F2FBC2F6593, 0x9D8EC0C027C04EE7,
-0xA160DEDE5FDEBE81, 0x38FC1C1C701CE06C, 0xE746FDFDD3FDBB2E, 0x9A1F4D4D294D5264,
-0x397692927292E4E0, 0xEAFA7575C9758FBC, 0x0C3606061806301E, 0x09AE8A8A128A2498,
-0x794BB2B2F2B2F940, 0xD185E6E6BFE66359, 0x1C7E0E0E380E7036, 0x3EE71F1F7C1FF863,
-0xC4556262956237F7, 0xB53AD4D477D4EEA3, 0x4D81A8A89AA82932, 0x315296966296C4F4,
-0xEF62F9F9C3F99B3A, 0x97A3C5C533C566F6, 0x4A102525942535B1, 0xB2AB59597959F220,
-0x15D084842A8454AE, 0xE4C57272D572B7A7, 0x72EC3939E439D5DD, 0x98164C4C2D4C5A61,
-0xBC945E5E655ECA3B, 0xF09F7878FD78E785, 0x70E53838E038DDD8, 0x05988C8C0A8C1486,
-0xBF17D1D163D1C6B2, 0x57E4A5A5AEA5410B, 0xD9A1E2E2AFE2434D, 0xC24E616199612FF8,
-0x7B42B3B3F6B3F145, 0x42342121842115A5, 0x25089C9C4A9C94D6, 0x3CEE1E1E781EF066,
-0x8661434311432252, 0x93B1C7C73BC776FC, 0xE54FFCFCD7FCB32B, 0x0824040410042014,
-0xA2E351515951B208, 0x2F2599995E99BCC7, 0xDA226D6DA96D4FC4, 0x1A650D0D340D6839,
-0xE979FAFACFFA8335, 0xA369DFDF5BDFB684, 0xFCA97E7EE57ED79B, 0x4819242490243DB4,
-0x76FE3B3BEC3BC5D7, 0x4B9AABAB96AB313D, 0x81F0CECE1FCE3ED1, 0x2299111144118855,
-0x03838F8F068F0C89, 0x9C044E4E254E4A6B, 0x7366B7B7E6B7D151, 0xCBE0EBEB8BEB0B60,
-0x78C13C3CF03CFDCC, 0x1FFD81813E817CBF, 0x354094946A94D4FE, 0xF31CF7F7FBF7EB0C,
-0x6F18B9B9DEB9A167, 0x268B13134C13985F, 0x58512C2CB02C7D9C, 0xBB05D3D36BD3D6B8,
-0xD38CE7E7BBE76B5C, 0xDC396E6EA56E57CB, 0x95AAC4C437C46EF3, 0x061B03030C03180F,
-0xACDC565645568A13, 0x885E44440D441A49, 0xFEA07F7FE17FDF9E, 0x4F88A9A99EA92137,
-0x54672A2AA82A4D82, 0x6B0ABBBBD6BBB16D, 0x9F87C1C123C146E2, 0xA6F153535153A202,
-0xA572DCDC57DCAE8B, 0x16530B0B2C0B5827, 0x27019D9D4E9D9CD3, 0xD82B6C6CAD6C47C1,
-0x62A43131C43195F5, 0xE8F37474CD7487B9, 0xF115F6F6FFF6E309, 0x8C4C464605460A43,
-0x45A5ACAC8AAC0926, 0x0FB589891E893C97, 0x28B414145014A044, 0xDFBAE1E1A3E15B42,
-0x2CA616165816B04E, 0x74F73A3AE83ACDD2, 0xD2066969B9696FD0, 0x124109092409482D,
-0xE0D77070DD70A7AD, 0x716FB6B6E2B6D954, 0xBD1ED0D067D0CEB7, 0xC7D6EDED93ED3B7E,
-0x85E2CCCC17CC2EDB, 0x8468424215422A57, 0x2D2C98985A98B4C2, 0x55EDA4A4AAA4490E,
-0x50752828A0285D88, 0xB8865C5C6D5CDA31, 0xED6BF8F8C7F8933F, 0x11C28686228644A4 
};
+0x30D818186018C078ull, 0x462623238C2305AFull, 0x91B8C6C63FC67EF9ull, 
0xCDFBE8E887E8136Full,
+0x13CB878726874CA1ull, 0x6D11B8B8DAB8A962ull, 0x0209010104010805ull, 
0x9E0D4F4F214F426Eull,
+0x6C9B3636D836ADEEull, 0x51FFA6A6A2A65904ull, 0xB90CD2D26FD2DEBDull, 
0xF70EF5F5F3F5FB06ull,
+0xF2967979F979EF80ull, 0xDE306F6FA16F5FCEull, 0x3F6D91917E91FCEFull, 
0xA4F852525552AA07ull,
+0xC04760609D6027FDull, 0x6535BCBCCABC8976ull, 0x2B379B9B569BACCDull, 
0x018A8E8E028E048Cull,
+0x5BD2A3A3B6A37115ull, 0x186C0C0C300C603Cull, 0xF6847B7BF17BFF8Aull, 
0x6A803535D435B5E1ull,
+0x3AF51D1D741DE869ull, 0xDDB3E0E0A7E05347ull, 0xB321D7D77BD7F6ACull, 
0x999CC2C22FC25EEDull,
+0x5C432E2EB82E6D96ull, 0x96294B4B314B627Aull, 0xE15DFEFEDFFEA321ull, 
0xAED5575741578216ull,
+0x2ABD15155415A841ull, 0xEEE87777C1779FB6ull, 0x6E923737DC37A5EBull, 
0xD79EE5E5B3E57B56ull,
+0x23139F9F469F8CD9ull, 0xFD23F0F0E7F0D317ull, 0x94204A4A354A6A7Full, 
0xA944DADA4FDA9E95ull,
+0xB0A258587D58FA25ull, 0x8FCFC9C903C906CAull, 0x527C2929A429558Dull, 
0x145A0A0A280A5022ull,
+0x7F50B1B1FEB1E14Full, 0x5DC9A0A0BAA0691Aull, 0xD6146B6BB16B7FDAull, 
0x17D985852E855CABull,
+0x673CBDBDCEBD8173ull, 0xBA8F5D5D695DD234ull, 0x2090101040108050ull, 
0xF507F4F4F7F4F303ull,
+0x8BDDCBCB0BCB16C0ull, 0x7CD33E3EF83EEDC6ull, 0x0A2D050514052811ull, 
0xCE78676781671FE6ull,
+0xD597E4E4B7E47353ull, 0x4E0227279C2725BBull, 0x8273414119413258ull, 
0x0BA78B8B168B2C9Dull,
+0x53F6A7A7A6A75101ull, 0xFAB27D7DE97DCF94ull, 0x374995956E95DCFBull, 
0xAD56D8D847D88E9Full,
+0xEB70FBFBCBFB8B30ull, 0xC1CDEEEE9FEE2371ull, 0xF8BB7C7CED7CC791ull, 
0xCC716666856617E3ull,
+0xA77BDDDD53DDA68Eull, 0x2EAF17175C17B84Bull, 0x8E45474701470246ull, 
0x211A9E9E429E84DCull,
+0x89D4CACA0FCA1EC5ull, 0x5A582D2DB42D7599ull, 0x632EBFBFC6BF9179ull, 
0x0E3F07071C07381Bull,
+0x47ACADAD8EAD0123ull, 0xB4B05A5A755AEA2Full, 0x1BEF838336836CB5ull, 
0x66B63333CC3385FFull,
+0xC65C636391633FF2ull, 0x041202020802100Aull, 0x4993AAAA92AA3938ull, 
0xE2DE7171D971AFA8ull,
+0x8DC6C8C807C80ECFull, 0x32D119196419C87Dull, 0x923B494939497270ull, 
0xAF5FD9D943D9869Aull,
+0xF931F2F2EFF2C31Dull, 0xDBA8E3E3ABE34B48ull, 0xB6B95B5B715BE22Aull, 
0x0DBC88881A883492ull,
+0x293E9A9A529AA4C8ull, 0x4C0B262698262DBEull, 0x64BF3232C8328DFAull, 
0x7D59B0B0FAB0E94Aull,
+0xCFF2E9E983E91B6Aull, 0x1E770F0F3C0F7833ull, 0xB733D5D573D5E6A6ull, 
0x1DF480803A8074BAull,
+0x6127BEBEC2BE997Cull, 0x87EBCDCD13CD26DEull, 0x68893434D034BDE4ull, 
0x903248483D487A75ull,
+0xE354FFFFDBFFAB24ull, 0xF48D7A7AF57AF78Full, 0x3D6490907A90F4EAull, 
0xBE9D5F5F615FC23Eull,
+0x403D202080201DA0ull, 0xD00F6868BD6867D5ull, 0x34CA1A1A681AD072ull, 
0x41B7AEAE82AE192Cull,
+0x757DB4B4EAB4C95Eull, 0xA8CE54544D549A19ull, 0x3B7F93937693ECE5ull, 
0x442F222288220DAAull,
+0xC86364648D6407E9ull, 0xFF2AF1F1E3F1DB12ull, 0xE6CC7373D173BFA2ull, 
0x248212124812905Aull,
+0x807A40401D403A5Dull, 0x1048080820084028ull, 0x9B95C3C32BC356E8ull, 
0xC5DFECEC97EC337Bull,
+0xAB4DDBDB4BDB9690ull, 0x5FC0A1A1BEA1611Full, 0x07918D8D0E8D1C83ull, 
0x7AC83D3DF43DF5C9ull,
+0x335B97976697CCF1ull, 0x0000000000000000ull, 0x83F9CFCF1BCF36D4ull, 
0x566E2B2BAC2B4587ull,
+0xECE17676C57697B3ull, 0x19E68282328264B0ull, 0xB128D6D67FD6FEA9ull, 
0x36C31B1B6C1BD877ull,
+0x7774B5B5EEB5C15Bull, 0x43BEAFAF86AF1129ull, 0xD41D6A6AB56A77DFull, 
0xA0EA50505D50BA0Dull,
+0x8A5745450945124Cull, 0xFB38F3F3EBF3CB18ull, 0x60AD3030C0309DF0ull, 
0xC3C4EFEF9BEF2B74ull,
+0x7EDA3F3FFC3FE5C3ull, 0xAAC755554955921Cull, 0x59DBA2A2B2A27910ull, 
0xC9E9EAEA8FEA0365ull,
+0xCA6A656589650FECull, 0x6903BABAD2BAB968ull, 0x5E4A2F2FBC2F6593ull, 
0x9D8EC0C027C04EE7ull,
+0xA160DEDE5FDEBE81ull, 0x38FC1C1C701CE06Cull, 0xE746FDFDD3FDBB2Eull, 
0x9A1F4D4D294D5264ull,
+0x397692927292E4E0ull, 0xEAFA7575C9758FBCull, 0x0C3606061806301Eull, 
0x09AE8A8A128A2498ull,
+0x794BB2B2F2B2F940ull, 0xD185E6E6BFE66359ull, 0x1C7E0E0E380E7036ull, 
0x3EE71F1F7C1FF863ull,
+0xC4556262956237F7ull, 0xB53AD4D477D4EEA3ull, 0x4D81A8A89AA82932ull, 
0x315296966296C4F4ull,
+0xEF62F9F9C3F99B3Aull, 0x97A3C5C533C566F6ull, 0x4A102525942535B1ull, 
0xB2AB59597959F220ull,
+0x15D084842A8454AEull, 0xE4C57272D572B7A7ull, 0x72EC3939E439D5DDull, 
0x98164C4C2D4C5A61ull,
+0xBC945E5E655ECA3Bull, 0xF09F7878FD78E785ull, 0x70E53838E038DDD8ull, 
0x05988C8C0A8C1486ull,
+0xBF17D1D163D1C6B2ull, 0x57E4A5A5AEA5410Bull, 0xD9A1E2E2AFE2434Dull, 
0xC24E616199612FF8ull,
+0x7B42B3B3F6B3F145ull, 0x42342121842115A5ull, 0x25089C9C4A9C94D6ull, 
0x3CEE1E1E781EF066ull,
+0x8661434311432252ull, 0x93B1C7C73BC776FCull, 0xE54FFCFCD7FCB32Bull, 
0x0824040410042014ull,
+0xA2E351515951B208ull, 0x2F2599995E99BCC7ull, 0xDA226D6DA96D4FC4ull, 
0x1A650D0D340D6839ull,
+0xE979FAFACFFA8335ull, 0xA369DFDF5BDFB684ull, 0xFCA97E7EE57ED79Bull, 
0x4819242490243DB4ull,
+0x76FE3B3BEC3BC5D7ull, 0x4B9AABAB96AB313Dull, 0x81F0CECE1FCE3ED1ull, 
0x2299111144118855ull,
+0x03838F8F068F0C89ull, 0x9C044E4E254E4A6Bull, 0x7366B7B7E6B7D151ull, 
0xCBE0EBEB8BEB0B60ull,
+0x78C13C3CF03CFDCCull, 0x1FFD81813E817CBFull, 0x354094946A94D4FEull, 
0xF31CF7F7FBF7EB0Cull,
+0x6F18B9B9DEB9A167ull, 0x268B13134C13985Full, 0x58512C2CB02C7D9Cull, 
0xBB05D3D36BD3D6B8ull,
+0xD38CE7E7BBE76B5Cull, 0xDC396E6EA56E57CBull, 0x95AAC4C437C46EF3ull, 
0x061B03030C03180Full,
+0xACDC565645568A13ull, 0x885E44440D441A49ull, 0xFEA07F7FE17FDF9Eull, 
0x4F88A9A99EA92137ull,
+0x54672A2AA82A4D82ull, 0x6B0ABBBBD6BBB16Dull, 0x9F87C1C123C146E2ull, 
0xA6F153535153A202ull,
+0xA572DCDC57DCAE8Bull, 0x16530B0B2C0B5827ull, 0x27019D9D4E9D9CD3ull, 
0xD82B6C6CAD6C47C1ull,
+0x62A43131C43195F5ull, 0xE8F37474CD7487B9ull, 0xF115F6F6FFF6E309ull, 
0x8C4C464605460A43ull,
+0x45A5ACAC8AAC0926ull, 0x0FB589891E893C97ull, 0x28B414145014A044ull, 
0xDFBAE1E1A3E15B42ull,
+0x2CA616165816B04Eull, 0x74F73A3AE83ACDD2ull, 0xD2066969B9696FD0ull, 
0x124109092409482Dull,
+0xE0D77070DD70A7ADull, 0x716FB6B6E2B6D954ull, 0xBD1ED0D067D0CEB7ull, 
0xC7D6EDED93ED3B7Eull,
+0x85E2CCCC17CC2EDBull, 0x8468424215422A57ull, 0x2D2C98985A98B4C2ull, 
0x55EDA4A4AAA4490Eull,
+0x50752828A0285D88ull, 0xB8865C5C6D5CDA31ull, 0xED6BF8F8C7F8933Full, 
0x11C28686228644A4ull };
 
 const u64bit Whirlpool::C3[256] = {
-0x7830D818186018C0, 0xAF462623238C2305, 0xF991B8C6C63FC67E, 0x6FCDFBE8E887E813,
-0xA113CB878726874C, 0x626D11B8B8DAB8A9, 0x0502090101040108, 0x6E9E0D4F4F214F42,
-0xEE6C9B3636D836AD, 0x0451FFA6A6A2A659, 0xBDB90CD2D26FD2DE, 0x06F70EF5F5F3F5FB,
-0x80F2967979F979EF, 0xCEDE306F6FA16F5F, 0xEF3F6D91917E91FC, 0x07A4F852525552AA,
-0xFDC04760609D6027, 0x766535BCBCCABC89, 0xCD2B379B9B569BAC, 0x8C018A8E8E028E04,
-0x155BD2A3A3B6A371, 0x3C186C0C0C300C60, 0x8AF6847B7BF17BFF, 0xE16A803535D435B5,
-0x693AF51D1D741DE8, 0x47DDB3E0E0A7E053, 0xACB321D7D77BD7F6, 0xED999CC2C22FC25E,
-0x965C432E2EB82E6D, 0x7A96294B4B314B62, 0x21E15DFEFEDFFEA3, 0x16AED55757415782,
-0x412ABD15155415A8, 0xB6EEE87777C1779F, 0xEB6E923737DC37A5, 0x56D79EE5E5B3E57B,
-0xD923139F9F469F8C, 0x17FD23F0F0E7F0D3, 0x7F94204A4A354A6A, 0x95A944DADA4FDA9E,
-0x25B0A258587D58FA, 0xCA8FCFC9C903C906, 0x8D527C2929A42955, 0x22145A0A0A280A50,
-0x4F7F50B1B1FEB1E1, 0x1A5DC9A0A0BAA069, 0xDAD6146B6BB16B7F, 0xAB17D985852E855C,
-0x73673CBDBDCEBD81, 0x34BA8F5D5D695DD2, 0x5020901010401080, 0x03F507F4F4F7F4F3,
-0xC08BDDCBCB0BCB16, 0xC67CD33E3EF83EED, 0x110A2D0505140528, 0xE6CE78676781671F,
-0x53D597E4E4B7E473, 0xBB4E0227279C2725, 0x5882734141194132, 0x9D0BA78B8B168B2C,
-0x0153F6A7A7A6A751, 0x94FAB27D7DE97DCF, 0xFB374995956E95DC, 0x9FAD56D8D847D88E,
-0x30EB70FBFBCBFB8B, 0x71C1CDEEEE9FEE23, 0x91F8BB7C7CED7CC7, 0xE3CC716666856617,
-0x8EA77BDDDD53DDA6, 0x4B2EAF17175C17B8, 0x468E454747014702, 0xDC211A9E9E429E84,
-0xC589D4CACA0FCA1E, 0x995A582D2DB42D75, 0x79632EBFBFC6BF91, 0x1B0E3F07071C0738,
-0x2347ACADAD8EAD01, 0x2FB4B05A5A755AEA, 0xB51BEF838336836C, 0xFF66B63333CC3385,
-0xF2C65C636391633F, 0x0A04120202080210, 0x384993AAAA92AA39, 0xA8E2DE7171D971AF,
-0xCF8DC6C8C807C80E, 0x7D32D119196419C8, 0x70923B4949394972, 0x9AAF5FD9D943D986,
-0x1DF931F2F2EFF2C3, 0x48DBA8E3E3ABE34B, 0x2AB6B95B5B715BE2, 0x920DBC88881A8834,
-0xC8293E9A9A529AA4, 0xBE4C0B262698262D, 0xFA64BF3232C8328D, 0x4A7D59B0B0FAB0E9,
-0x6ACFF2E9E983E91B, 0x331E770F0F3C0F78, 0xA6B733D5D573D5E6, 0xBA1DF480803A8074,
-0x7C6127BEBEC2BE99, 0xDE87EBCDCD13CD26, 0xE468893434D034BD, 0x75903248483D487A,
-0x24E354FFFFDBFFAB, 0x8FF48D7A7AF57AF7, 0xEA3D6490907A90F4, 0x3EBE9D5F5F615FC2,
-0xA0403D202080201D, 0xD5D00F6868BD6867, 0x7234CA1A1A681AD0, 0x2C41B7AEAE82AE19,
-0x5E757DB4B4EAB4C9, 0x19A8CE54544D549A, 0xE53B7F93937693EC, 0xAA442F222288220D,
-0xE9C86364648D6407, 0x12FF2AF1F1E3F1DB, 0xA2E6CC7373D173BF, 0x5A24821212481290,
-0x5D807A40401D403A, 0x2810480808200840, 0xE89B95C3C32BC356, 0x7BC5DFECEC97EC33,
-0x90AB4DDBDB4BDB96, 0x1F5FC0A1A1BEA161, 0x8307918D8D0E8D1C, 0xC97AC83D3DF43DF5,
-0xF1335B97976697CC, 0x0000000000000000, 0xD483F9CFCF1BCF36, 0x87566E2B2BAC2B45,
-0xB3ECE17676C57697, 0xB019E68282328264, 0xA9B128D6D67FD6FE, 0x7736C31B1B6C1BD8,
-0x5B7774B5B5EEB5C1, 0x2943BEAFAF86AF11, 0xDFD41D6A6AB56A77, 0x0DA0EA50505D50BA,
-0x4C8A574545094512, 0x18FB38F3F3EBF3CB, 0xF060AD3030C0309D, 0x74C3C4EFEF9BEF2B,
-0xC37EDA3F3FFC3FE5, 0x1CAAC75555495592, 0x1059DBA2A2B2A279, 0x65C9E9EAEA8FEA03,
-0xECCA6A656589650F, 0x686903BABAD2BAB9, 0x935E4A2F2FBC2F65, 0xE79D8EC0C027C04E,
-0x81A160DEDE5FDEBE, 0x6C38FC1C1C701CE0, 0x2EE746FDFDD3FDBB, 0x649A1F4D4D294D52,
-0xE0397692927292E4, 0xBCEAFA7575C9758F, 0x1E0C360606180630, 0x9809AE8A8A128A24,
-0x40794BB2B2F2B2F9, 0x59D185E6E6BFE663, 0x361C7E0E0E380E70, 0x633EE71F1F7C1FF8,
-0xF7C4556262956237, 0xA3B53AD4D477D4EE, 0x324D81A8A89AA829, 0xF4315296966296C4,
-0x3AEF62F9F9C3F99B, 0xF697A3C5C533C566, 0xB14A102525942535, 0x20B2AB59597959F2,
-0xAE15D084842A8454, 0xA7E4C57272D572B7, 0xDD72EC3939E439D5, 0x6198164C4C2D4C5A,
-0x3BBC945E5E655ECA, 0x85F09F7878FD78E7, 0xD870E53838E038DD, 0x8605988C8C0A8C14,
-0xB2BF17D1D163D1C6, 0x0B57E4A5A5AEA541, 0x4DD9A1E2E2AFE243, 0xF8C24E616199612F,
-0x457B42B3B3F6B3F1, 0xA542342121842115, 0xD625089C9C4A9C94, 0x663CEE1E1E781EF0,
-0x5286614343114322, 0xFC93B1C7C73BC776, 0x2BE54FFCFCD7FCB3, 0x1408240404100420,
-0x08A2E351515951B2, 0xC72F2599995E99BC, 0xC4DA226D6DA96D4F, 0x391A650D0D340D68,
-0x35E979FAFACFFA83, 0x84A369DFDF5BDFB6, 0x9BFCA97E7EE57ED7, 0xB44819242490243D,
-0xD776FE3B3BEC3BC5, 0x3D4B9AABAB96AB31, 0xD181F0CECE1FCE3E, 0x5522991111441188,
-0x8903838F8F068F0C, 0x6B9C044E4E254E4A, 0x517366B7B7E6B7D1, 0x60CBE0EBEB8BEB0B,
-0xCC78C13C3CF03CFD, 0xBF1FFD81813E817C, 0xFE354094946A94D4, 0x0CF31CF7F7FBF7EB,
-0x676F18B9B9DEB9A1, 0x5F268B13134C1398, 0x9C58512C2CB02C7D, 0xB8BB05D3D36BD3D6,
-0x5CD38CE7E7BBE76B, 0xCBDC396E6EA56E57, 0xF395AAC4C437C46E, 0x0F061B03030C0318,
-0x13ACDC565645568A, 0x49885E44440D441A, 0x9EFEA07F7FE17FDF, 0x374F88A9A99EA921,
-0x8254672A2AA82A4D, 0x6D6B0ABBBBD6BBB1, 0xE29F87C1C123C146, 0x02A6F153535153A2,
-0x8BA572DCDC57DCAE, 0x2716530B0B2C0B58, 0xD327019D9D4E9D9C, 0xC1D82B6C6CAD6C47,
-0xF562A43131C43195, 0xB9E8F37474CD7487, 0x09F115F6F6FFF6E3, 0x438C4C464605460A,
-0x2645A5ACAC8AAC09, 0x970FB589891E893C, 0x4428B414145014A0, 0x42DFBAE1E1A3E15B,
-0x4E2CA616165816B0, 0xD274F73A3AE83ACD, 0xD0D2066969B9696F, 0x2D12410909240948,
-0xADE0D77070DD70A7, 0x54716FB6B6E2B6D9, 0xB7BD1ED0D067D0CE, 0x7EC7D6EDED93ED3B,
-0xDB85E2CCCC17CC2E, 0x578468424215422A, 0xC22D2C98985A98B4, 0x0E55EDA4A4AAA449,
-0x8850752828A0285D, 0x31B8865C5C6D5CDA, 0x3FED6BF8F8C7F893, 0xA411C28686228644 
};
+0x7830D818186018C0ull, 0xAF462623238C2305ull, 0xF991B8C6C63FC67Eull, 
0x6FCDFBE8E887E813ull,
+0xA113CB878726874Cull, 0x626D11B8B8DAB8A9ull, 0x0502090101040108ull, 
0x6E9E0D4F4F214F42ull,
+0xEE6C9B3636D836ADull, 0x0451FFA6A6A2A659ull, 0xBDB90CD2D26FD2DEull, 
0x06F70EF5F5F3F5FBull,
+0x80F2967979F979EFull, 0xCEDE306F6FA16F5Full, 0xEF3F6D91917E91FCull, 
0x07A4F852525552AAull,
+0xFDC04760609D6027ull, 0x766535BCBCCABC89ull, 0xCD2B379B9B569BACull, 
0x8C018A8E8E028E04ull,
+0x155BD2A3A3B6A371ull, 0x3C186C0C0C300C60ull, 0x8AF6847B7BF17BFFull, 
0xE16A803535D435B5ull,
+0x693AF51D1D741DE8ull, 0x47DDB3E0E0A7E053ull, 0xACB321D7D77BD7F6ull, 
0xED999CC2C22FC25Eull,
+0x965C432E2EB82E6Dull, 0x7A96294B4B314B62ull, 0x21E15DFEFEDFFEA3ull, 
0x16AED55757415782ull,
+0x412ABD15155415A8ull, 0xB6EEE87777C1779Full, 0xEB6E923737DC37A5ull, 
0x56D79EE5E5B3E57Bull,
+0xD923139F9F469F8Cull, 0x17FD23F0F0E7F0D3ull, 0x7F94204A4A354A6Aull, 
0x95A944DADA4FDA9Eull,
+0x25B0A258587D58FAull, 0xCA8FCFC9C903C906ull, 0x8D527C2929A42955ull, 
0x22145A0A0A280A50ull,
+0x4F7F50B1B1FEB1E1ull, 0x1A5DC9A0A0BAA069ull, 0xDAD6146B6BB16B7Full, 
0xAB17D985852E855Cull,
+0x73673CBDBDCEBD81ull, 0x34BA8F5D5D695DD2ull, 0x5020901010401080ull, 
0x03F507F4F4F7F4F3ull,
+0xC08BDDCBCB0BCB16ull, 0xC67CD33E3EF83EEDull, 0x110A2D0505140528ull, 
0xE6CE78676781671Full,
+0x53D597E4E4B7E473ull, 0xBB4E0227279C2725ull, 0x5882734141194132ull, 
0x9D0BA78B8B168B2Cull,
+0x0153F6A7A7A6A751ull, 0x94FAB27D7DE97DCFull, 0xFB374995956E95DCull, 
0x9FAD56D8D847D88Eull,
+0x30EB70FBFBCBFB8Bull, 0x71C1CDEEEE9FEE23ull, 0x91F8BB7C7CED7CC7ull, 
0xE3CC716666856617ull,
+0x8EA77BDDDD53DDA6ull, 0x4B2EAF17175C17B8ull, 0x468E454747014702ull, 
0xDC211A9E9E429E84ull,
+0xC589D4CACA0FCA1Eull, 0x995A582D2DB42D75ull, 0x79632EBFBFC6BF91ull, 
0x1B0E3F07071C0738ull,
+0x2347ACADAD8EAD01ull, 0x2FB4B05A5A755AEAull, 0xB51BEF838336836Cull, 
0xFF66B63333CC3385ull,
+0xF2C65C636391633Full, 0x0A04120202080210ull, 0x384993AAAA92AA39ull, 
0xA8E2DE7171D971AFull,
+0xCF8DC6C8C807C80Eull, 0x7D32D119196419C8ull, 0x70923B4949394972ull, 
0x9AAF5FD9D943D986ull,
+0x1DF931F2F2EFF2C3ull, 0x48DBA8E3E3ABE34Bull, 0x2AB6B95B5B715BE2ull, 
0x920DBC88881A8834ull,
+0xC8293E9A9A529AA4ull, 0xBE4C0B262698262Dull, 0xFA64BF3232C8328Dull, 
0x4A7D59B0B0FAB0E9ull,
+0x6ACFF2E9E983E91Bull, 0x331E770F0F3C0F78ull, 0xA6B733D5D573D5E6ull, 
0xBA1DF480803A8074ull,
+0x7C6127BEBEC2BE99ull, 0xDE87EBCDCD13CD26ull, 0xE468893434D034BDull, 
0x75903248483D487Aull,
+0x24E354FFFFDBFFABull, 0x8FF48D7A7AF57AF7ull, 0xEA3D6490907A90F4ull, 
0x3EBE9D5F5F615FC2ull,
+0xA0403D202080201Dull, 0xD5D00F6868BD6867ull, 0x7234CA1A1A681AD0ull, 
0x2C41B7AEAE82AE19ull,
+0x5E757DB4B4EAB4C9ull, 0x19A8CE54544D549Aull, 0xE53B7F93937693ECull, 
0xAA442F222288220Dull,
+0xE9C86364648D6407ull, 0x12FF2AF1F1E3F1DBull, 0xA2E6CC7373D173BFull, 
0x5A24821212481290ull,
+0x5D807A40401D403Aull, 0x2810480808200840ull, 0xE89B95C3C32BC356ull, 
0x7BC5DFECEC97EC33ull,
+0x90AB4DDBDB4BDB96ull, 0x1F5FC0A1A1BEA161ull, 0x8307918D8D0E8D1Cull, 
0xC97AC83D3DF43DF5ull,
+0xF1335B97976697CCull, 0x0000000000000000ull, 0xD483F9CFCF1BCF36ull, 
0x87566E2B2BAC2B45ull,
+0xB3ECE17676C57697ull, 0xB019E68282328264ull, 0xA9B128D6D67FD6FEull, 
0x7736C31B1B6C1BD8ull,
+0x5B7774B5B5EEB5C1ull, 0x2943BEAFAF86AF11ull, 0xDFD41D6A6AB56A77ull, 
0x0DA0EA50505D50BAull,
+0x4C8A574545094512ull, 0x18FB38F3F3EBF3CBull, 0xF060AD3030C0309Dull, 
0x74C3C4EFEF9BEF2Bull,
+0xC37EDA3F3FFC3FE5ull, 0x1CAAC75555495592ull, 0x1059DBA2A2B2A279ull, 
0x65C9E9EAEA8FEA03ull,
+0xECCA6A656589650Full, 0x686903BABAD2BAB9ull, 0x935E4A2F2FBC2F65ull, 
0xE79D8EC0C027C04Eull,
+0x81A160DEDE5FDEBEull, 0x6C38FC1C1C701CE0ull, 0x2EE746FDFDD3FDBBull, 
0x649A1F4D4D294D52ull,
+0xE0397692927292E4ull, 0xBCEAFA7575C9758Full, 0x1E0C360606180630ull, 
0x9809AE8A8A128A24ull,
+0x40794BB2B2F2B2F9ull, 0x59D185E6E6BFE663ull, 0x361C7E0E0E380E70ull, 
0x633EE71F1F7C1FF8ull,
+0xF7C4556262956237ull, 0xA3B53AD4D477D4EEull, 0x324D81A8A89AA829ull, 
0xF4315296966296C4ull,
+0x3AEF62F9F9C3F99Bull, 0xF697A3C5C533C566ull, 0xB14A102525942535ull, 
0x20B2AB59597959F2ull,
+0xAE15D084842A8454ull, 0xA7E4C57272D572B7ull, 0xDD72EC3939E439D5ull, 
0x6198164C4C2D4C5Aull,
+0x3BBC945E5E655ECAull, 0x85F09F7878FD78E7ull, 0xD870E53838E038DDull, 
0x8605988C8C0A8C14ull,
+0xB2BF17D1D163D1C6ull, 0x0B57E4A5A5AEA541ull, 0x4DD9A1E2E2AFE243ull, 
0xF8C24E616199612Full,
+0x457B42B3B3F6B3F1ull, 0xA542342121842115ull, 0xD625089C9C4A9C94ull, 
0x663CEE1E1E781EF0ull,
+0x5286614343114322ull, 0xFC93B1C7C73BC776ull, 0x2BE54FFCFCD7FCB3ull, 
0x1408240404100420ull,
+0x08A2E351515951B2ull, 0xC72F2599995E99BCull, 0xC4DA226D6DA96D4Full, 
0x391A650D0D340D68ull,
+0x35E979FAFACFFA83ull, 0x84A369DFDF5BDFB6ull, 0x9BFCA97E7EE57ED7ull, 
0xB44819242490243Dull,
+0xD776FE3B3BEC3BC5ull, 0x3D4B9AABAB96AB31ull, 0xD181F0CECE1FCE3Eull, 
0x5522991111441188ull,
+0x8903838F8F068F0Cull, 0x6B9C044E4E254E4Aull, 0x517366B7B7E6B7D1ull, 
0x60CBE0EBEB8BEB0Bull,
+0xCC78C13C3CF03CFDull, 0xBF1FFD81813E817Cull, 0xFE354094946A94D4ull, 
0x0CF31CF7F7FBF7EBull,
+0x676F18B9B9DEB9A1ull, 0x5F268B13134C1398ull, 0x9C58512C2CB02C7Dull, 
0xB8BB05D3D36BD3D6ull,
+0x5CD38CE7E7BBE76Bull, 0xCBDC396E6EA56E57ull, 0xF395AAC4C437C46Eull, 
0x0F061B03030C0318ull,
+0x13ACDC565645568Aull, 0x49885E44440D441Aull, 0x9EFEA07F7FE17FDFull, 
0x374F88A9A99EA921ull,
+0x8254672A2AA82A4Dull, 0x6D6B0ABBBBD6BBB1ull, 0xE29F87C1C123C146ull, 
0x02A6F153535153A2ull,
+0x8BA572DCDC57DCAEull, 0x2716530B0B2C0B58ull, 0xD327019D9D4E9D9Cull, 
0xC1D82B6C6CAD6C47ull,
+0xF562A43131C43195ull, 0xB9E8F37474CD7487ull, 0x09F115F6F6FFF6E3ull, 
0x438C4C464605460Aull,
+0x2645A5ACAC8AAC09ull, 0x970FB589891E893Cull, 0x4428B414145014A0ull, 
0x42DFBAE1E1A3E15Bull,
+0x4E2CA616165816B0ull, 0xD274F73A3AE83ACDull, 0xD0D2066969B9696Full, 
0x2D12410909240948ull,
+0xADE0D77070DD70A7ull, 0x54716FB6B6E2B6D9ull, 0xB7BD1ED0D067D0CEull, 
0x7EC7D6EDED93ED3Bull,
+0xDB85E2CCCC17CC2Eull, 0x578468424215422Aull, 0xC22D2C98985A98B4ull, 
0x0E55EDA4A4AAA449ull,
+0x8850752828A0285Dull, 0x31B8865C5C6D5CDAull, 0x3FED6BF8F8C7F893ull, 
0xA411C28686228644ull };
 
 const u64bit Whirlpool::C4[256] = {
-0xC07830D818186018, 0x05AF462623238C23, 0x7EF991B8C6C63FC6, 0x136FCDFBE8E887E8,
-0x4CA113CB87872687, 0xA9626D11B8B8DAB8, 0x0805020901010401, 0x426E9E0D4F4F214F,
-0xADEE6C9B3636D836, 0x590451FFA6A6A2A6, 0xDEBDB90CD2D26FD2, 0xFB06F70EF5F5F3F5,
-0xEF80F2967979F979, 0x5FCEDE306F6FA16F, 0xFCEF3F6D91917E91, 0xAA07A4F852525552,
-0x27FDC04760609D60, 0x89766535BCBCCABC, 0xACCD2B379B9B569B, 0x048C018A8E8E028E,
-0x71155BD2A3A3B6A3, 0x603C186C0C0C300C, 0xFF8AF6847B7BF17B, 0xB5E16A803535D435,
-0xE8693AF51D1D741D, 0x5347DDB3E0E0A7E0, 0xF6ACB321D7D77BD7, 0x5EED999CC2C22FC2,
-0x6D965C432E2EB82E, 0x627A96294B4B314B, 0xA321E15DFEFEDFFE, 0x8216AED557574157,
-0xA8412ABD15155415, 0x9FB6EEE87777C177, 0xA5EB6E923737DC37, 0x7B56D79EE5E5B3E5,
-0x8CD923139F9F469F, 0xD317FD23F0F0E7F0, 0x6A7F94204A4A354A, 0x9E95A944DADA4FDA,
-0xFA25B0A258587D58, 0x06CA8FCFC9C903C9, 0x558D527C2929A429, 0x5022145A0A0A280A,
-0xE14F7F50B1B1FEB1, 0x691A5DC9A0A0BAA0, 0x7FDAD6146B6BB16B, 0x5CAB17D985852E85,
-0x8173673CBDBDCEBD, 0xD234BA8F5D5D695D, 0x8050209010104010, 0xF303F507F4F4F7F4,
-0x16C08BDDCBCB0BCB, 0xEDC67CD33E3EF83E, 0x28110A2D05051405, 0x1FE6CE7867678167,
-0x7353D597E4E4B7E4, 0x25BB4E0227279C27, 0x3258827341411941, 0x2C9D0BA78B8B168B,
-0x510153F6A7A7A6A7, 0xCF94FAB27D7DE97D, 0xDCFB374995956E95, 0x8E9FAD56D8D847D8,
-0x8B30EB70FBFBCBFB, 0x2371C1CDEEEE9FEE, 0xC791F8BB7C7CED7C, 0x17E3CC7166668566,
-0xA68EA77BDDDD53DD, 0xB84B2EAF17175C17, 0x02468E4547470147, 0x84DC211A9E9E429E,
-0x1EC589D4CACA0FCA, 0x75995A582D2DB42D, 0x9179632EBFBFC6BF, 0x381B0E3F07071C07,
-0x012347ACADAD8EAD, 0xEA2FB4B05A5A755A, 0x6CB51BEF83833683, 0x85FF66B63333CC33,
-0x3FF2C65C63639163, 0x100A041202020802, 0x39384993AAAA92AA, 0xAFA8E2DE7171D971,
-0x0ECF8DC6C8C807C8, 0xC87D32D119196419, 0x7270923B49493949, 0x869AAF5FD9D943D9,
-0xC31DF931F2F2EFF2, 0x4B48DBA8E3E3ABE3, 0xE22AB6B95B5B715B, 0x34920DBC88881A88,
-0xA4C8293E9A9A529A, 0x2DBE4C0B26269826, 0x8DFA64BF3232C832, 0xE94A7D59B0B0FAB0,
-0x1B6ACFF2E9E983E9, 0x78331E770F0F3C0F, 0xE6A6B733D5D573D5, 0x74BA1DF480803A80,
-0x997C6127BEBEC2BE, 0x26DE87EBCDCD13CD, 0xBDE468893434D034, 0x7A75903248483D48,
-0xAB24E354FFFFDBFF, 0xF78FF48D7A7AF57A, 0xF4EA3D6490907A90, 0xC23EBE9D5F5F615F,
-0x1DA0403D20208020, 0x67D5D00F6868BD68, 0xD07234CA1A1A681A, 0x192C41B7AEAE82AE,
-0xC95E757DB4B4EAB4, 0x9A19A8CE54544D54, 0xECE53B7F93937693, 0x0DAA442F22228822,
-0x07E9C86364648D64, 0xDB12FF2AF1F1E3F1, 0xBFA2E6CC7373D173, 0x905A248212124812,
-0x3A5D807A40401D40, 0x4028104808082008, 0x56E89B95C3C32BC3, 0x337BC5DFECEC97EC,
-0x9690AB4DDBDB4BDB, 0x611F5FC0A1A1BEA1, 0x1C8307918D8D0E8D, 0xF5C97AC83D3DF43D,
-0xCCF1335B97976697, 0x0000000000000000, 0x36D483F9CFCF1BCF, 0x4587566E2B2BAC2B,
-0x97B3ECE17676C576, 0x64B019E682823282, 0xFEA9B128D6D67FD6, 0xD87736C31B1B6C1B,
-0xC15B7774B5B5EEB5, 0x112943BEAFAF86AF, 0x77DFD41D6A6AB56A, 0xBA0DA0EA50505D50,
-0x124C8A5745450945, 0xCB18FB38F3F3EBF3, 0x9DF060AD3030C030, 0x2B74C3C4EFEF9BEF,
-0xE5C37EDA3F3FFC3F, 0x921CAAC755554955, 0x791059DBA2A2B2A2, 0x0365C9E9EAEA8FEA,
-0x0FECCA6A65658965, 0xB9686903BABAD2BA, 0x65935E4A2F2FBC2F, 0x4EE79D8EC0C027C0,
-0xBE81A160DEDE5FDE, 0xE06C38FC1C1C701C, 0xBB2EE746FDFDD3FD, 0x52649A1F4D4D294D,
-0xE4E0397692927292, 0x8FBCEAFA7575C975, 0x301E0C3606061806, 0x249809AE8A8A128A,
-0xF940794BB2B2F2B2, 0x6359D185E6E6BFE6, 0x70361C7E0E0E380E, 0xF8633EE71F1F7C1F,
-0x37F7C45562629562, 0xEEA3B53AD4D477D4, 0x29324D81A8A89AA8, 0xC4F4315296966296,
-0x9B3AEF62F9F9C3F9, 0x66F697A3C5C533C5, 0x35B14A1025259425, 0xF220B2AB59597959,
-0x54AE15D084842A84, 0xB7A7E4C57272D572, 0xD5DD72EC3939E439, 0x5A6198164C4C2D4C,
-0xCA3BBC945E5E655E, 0xE785F09F7878FD78, 0xDDD870E53838E038, 0x148605988C8C0A8C,
-0xC6B2BF17D1D163D1, 0x410B57E4A5A5AEA5, 0x434DD9A1E2E2AFE2, 0x2FF8C24E61619961,
-0xF1457B42B3B3F6B3, 0x15A5423421218421, 0x94D625089C9C4A9C, 0xF0663CEE1E1E781E,
-0x2252866143431143, 0x76FC93B1C7C73BC7, 0xB32BE54FFCFCD7FC, 0x2014082404041004,
-0xB208A2E351515951, 0xBCC72F2599995E99, 0x4FC4DA226D6DA96D, 0x68391A650D0D340D,
-0x8335E979FAFACFFA, 0xB684A369DFDF5BDF, 0xD79BFCA97E7EE57E, 0x3DB4481924249024,
-0xC5D776FE3B3BEC3B, 0x313D4B9AABAB96AB, 0x3ED181F0CECE1FCE, 0x8855229911114411,
-0x0C8903838F8F068F, 0x4A6B9C044E4E254E, 0xD1517366B7B7E6B7, 0x0B60CBE0EBEB8BEB,
-0xFDCC78C13C3CF03C, 0x7CBF1FFD81813E81, 0xD4FE354094946A94, 0xEB0CF31CF7F7FBF7,
-0xA1676F18B9B9DEB9, 0x985F268B13134C13, 0x7D9C58512C2CB02C, 0xD6B8BB05D3D36BD3,
-0x6B5CD38CE7E7BBE7, 0x57CBDC396E6EA56E, 0x6EF395AAC4C437C4, 0x180F061B03030C03,
-0x8A13ACDC56564556, 0x1A49885E44440D44, 0xDF9EFEA07F7FE17F, 0x21374F88A9A99EA9,
-0x4D8254672A2AA82A, 0xB16D6B0ABBBBD6BB, 0x46E29F87C1C123C1, 0xA202A6F153535153,
-0xAE8BA572DCDC57DC, 0x582716530B0B2C0B, 0x9CD327019D9D4E9D, 0x47C1D82B6C6CAD6C,
-0x95F562A43131C431, 0x87B9E8F37474CD74, 0xE309F115F6F6FFF6, 0x0A438C4C46460546,
-0x092645A5ACAC8AAC, 0x3C970FB589891E89, 0xA04428B414145014, 0x5B42DFBAE1E1A3E1,
-0xB04E2CA616165816, 0xCDD274F73A3AE83A, 0x6FD0D2066969B969, 0x482D124109092409,
-0xA7ADE0D77070DD70, 0xD954716FB6B6E2B6, 0xCEB7BD1ED0D067D0, 0x3B7EC7D6EDED93ED,
-0x2EDB85E2CCCC17CC, 0x2A57846842421542, 0xB4C22D2C98985A98, 0x490E55EDA4A4AAA4,
-0x5D8850752828A028, 0xDA31B8865C5C6D5C, 0x933FED6BF8F8C7F8, 0x44A411C286862286 
};
+0xC07830D818186018ull, 0x05AF462623238C23ull, 0x7EF991B8C6C63FC6ull, 
0x136FCDFBE8E887E8ull,
+0x4CA113CB87872687ull, 0xA9626D11B8B8DAB8ull, 0x0805020901010401ull, 
0x426E9E0D4F4F214Full,
+0xADEE6C9B3636D836ull, 0x590451FFA6A6A2A6ull, 0xDEBDB90CD2D26FD2ull, 
0xFB06F70EF5F5F3F5ull,
+0xEF80F2967979F979ull, 0x5FCEDE306F6FA16Full, 0xFCEF3F6D91917E91ull, 
0xAA07A4F852525552ull,
+0x27FDC04760609D60ull, 0x89766535BCBCCABCull, 0xACCD2B379B9B569Bull, 
0x048C018A8E8E028Eull,
+0x71155BD2A3A3B6A3ull, 0x603C186C0C0C300Cull, 0xFF8AF6847B7BF17Bull, 
0xB5E16A803535D435ull,
+0xE8693AF51D1D741Dull, 0x5347DDB3E0E0A7E0ull, 0xF6ACB321D7D77BD7ull, 
0x5EED999CC2C22FC2ull,
+0x6D965C432E2EB82Eull, 0x627A96294B4B314Bull, 0xA321E15DFEFEDFFEull, 
0x8216AED557574157ull,
+0xA8412ABD15155415ull, 0x9FB6EEE87777C177ull, 0xA5EB6E923737DC37ull, 
0x7B56D79EE5E5B3E5ull,
+0x8CD923139F9F469Full, 0xD317FD23F0F0E7F0ull, 0x6A7F94204A4A354Aull, 
0x9E95A944DADA4FDAull,
+0xFA25B0A258587D58ull, 0x06CA8FCFC9C903C9ull, 0x558D527C2929A429ull, 
0x5022145A0A0A280Aull,
+0xE14F7F50B1B1FEB1ull, 0x691A5DC9A0A0BAA0ull, 0x7FDAD6146B6BB16Bull, 
0x5CAB17D985852E85ull,
+0x8173673CBDBDCEBDull, 0xD234BA8F5D5D695Dull, 0x8050209010104010ull, 
0xF303F507F4F4F7F4ull,
+0x16C08BDDCBCB0BCBull, 0xEDC67CD33E3EF83Eull, 0x28110A2D05051405ull, 
0x1FE6CE7867678167ull,
+0x7353D597E4E4B7E4ull, 0x25BB4E0227279C27ull, 0x3258827341411941ull, 
0x2C9D0BA78B8B168Bull,
+0x510153F6A7A7A6A7ull, 0xCF94FAB27D7DE97Dull, 0xDCFB374995956E95ull, 
0x8E9FAD56D8D847D8ull,
+0x8B30EB70FBFBCBFBull, 0x2371C1CDEEEE9FEEull, 0xC791F8BB7C7CED7Cull, 
0x17E3CC7166668566ull,
+0xA68EA77BDDDD53DDull, 0xB84B2EAF17175C17ull, 0x02468E4547470147ull, 
0x84DC211A9E9E429Eull,
+0x1EC589D4CACA0FCAull, 0x75995A582D2DB42Dull, 0x9179632EBFBFC6BFull, 
0x381B0E3F07071C07ull,
+0x012347ACADAD8EADull, 0xEA2FB4B05A5A755Aull, 0x6CB51BEF83833683ull, 
0x85FF66B63333CC33ull,
+0x3FF2C65C63639163ull, 0x100A041202020802ull, 0x39384993AAAA92AAull, 
0xAFA8E2DE7171D971ull,
+0x0ECF8DC6C8C807C8ull, 0xC87D32D119196419ull, 0x7270923B49493949ull, 
0x869AAF5FD9D943D9ull,
+0xC31DF931F2F2EFF2ull, 0x4B48DBA8E3E3ABE3ull, 0xE22AB6B95B5B715Bull, 
0x34920DBC88881A88ull,
+0xA4C8293E9A9A529Aull, 0x2DBE4C0B26269826ull, 0x8DFA64BF3232C832ull, 
0xE94A7D59B0B0FAB0ull,
+0x1B6ACFF2E9E983E9ull, 0x78331E770F0F3C0Full, 0xE6A6B733D5D573D5ull, 
0x74BA1DF480803A80ull,
+0x997C6127BEBEC2BEull, 0x26DE87EBCDCD13CDull, 0xBDE468893434D034ull, 
0x7A75903248483D48ull,
+0xAB24E354FFFFDBFFull, 0xF78FF48D7A7AF57Aull, 0xF4EA3D6490907A90ull, 
0xC23EBE9D5F5F615Full,
+0x1DA0403D20208020ull, 0x67D5D00F6868BD68ull, 0xD07234CA1A1A681Aull, 
0x192C41B7AEAE82AEull,
+0xC95E757DB4B4EAB4ull, 0x9A19A8CE54544D54ull, 0xECE53B7F93937693ull, 
0x0DAA442F22228822ull,
+0x07E9C86364648D64ull, 0xDB12FF2AF1F1E3F1ull, 0xBFA2E6CC7373D173ull, 
0x905A248212124812ull,
+0x3A5D807A40401D40ull, 0x4028104808082008ull, 0x56E89B95C3C32BC3ull, 
0x337BC5DFECEC97ECull,
+0x9690AB4DDBDB4BDBull, 0x611F5FC0A1A1BEA1ull, 0x1C8307918D8D0E8Dull, 
0xF5C97AC83D3DF43Dull,
+0xCCF1335B97976697ull, 0x0000000000000000ull, 0x36D483F9CFCF1BCFull, 
0x4587566E2B2BAC2Bull,
+0x97B3ECE17676C576ull, 0x64B019E682823282ull, 0xFEA9B128D6D67FD6ull, 
0xD87736C31B1B6C1Bull,
+0xC15B7774B5B5EEB5ull, 0x112943BEAFAF86AFull, 0x77DFD41D6A6AB56Aull, 
0xBA0DA0EA50505D50ull,
+0x124C8A5745450945ull, 0xCB18FB38F3F3EBF3ull, 0x9DF060AD3030C030ull, 
0x2B74C3C4EFEF9BEFull,
+0xE5C37EDA3F3FFC3Full, 0x921CAAC755554955ull, 0x791059DBA2A2B2A2ull, 
0x0365C9E9EAEA8FEAull,
+0x0FECCA6A65658965ull, 0xB9686903BABAD2BAull, 0x65935E4A2F2FBC2Full, 
0x4EE79D8EC0C027C0ull,
+0xBE81A160DEDE5FDEull, 0xE06C38FC1C1C701Cull, 0xBB2EE746FDFDD3FDull, 
0x52649A1F4D4D294Dull,
+0xE4E0397692927292ull, 0x8FBCEAFA7575C975ull, 0x301E0C3606061806ull, 
0x249809AE8A8A128Aull,
+0xF940794BB2B2F2B2ull, 0x6359D185E6E6BFE6ull, 0x70361C7E0E0E380Eull, 
0xF8633EE71F1F7C1Full,
+0x37F7C45562629562ull, 0xEEA3B53AD4D477D4ull, 0x29324D81A8A89AA8ull, 
0xC4F4315296966296ull,
+0x9B3AEF62F9F9C3F9ull, 0x66F697A3C5C533C5ull, 0x35B14A1025259425ull, 
0xF220B2AB59597959ull,
+0x54AE15D084842A84ull, 0xB7A7E4C57272D572ull, 0xD5DD72EC3939E439ull, 
0x5A6198164C4C2D4Cull,
+0xCA3BBC945E5E655Eull, 0xE785F09F7878FD78ull, 0xDDD870E53838E038ull, 
0x148605988C8C0A8Cull,
+0xC6B2BF17D1D163D1ull, 0x410B57E4A5A5AEA5ull, 0x434DD9A1E2E2AFE2ull, 
0x2FF8C24E61619961ull,
+0xF1457B42B3B3F6B3ull, 0x15A5423421218421ull, 0x94D625089C9C4A9Cull, 
0xF0663CEE1E1E781Eull,
+0x2252866143431143ull, 0x76FC93B1C7C73BC7ull, 0xB32BE54FFCFCD7FCull, 
0x2014082404041004ull,
+0xB208A2E351515951ull, 0xBCC72F2599995E99ull, 0x4FC4DA226D6DA96Dull, 
0x68391A650D0D340Dull,
+0x8335E979FAFACFFAull, 0xB684A369DFDF5BDFull, 0xD79BFCA97E7EE57Eull, 
0x3DB4481924249024ull,
+0xC5D776FE3B3BEC3Bull, 0x313D4B9AABAB96ABull, 0x3ED181F0CECE1FCEull, 
0x8855229911114411ull,
+0x0C8903838F8F068Full, 0x4A6B9C044E4E254Eull, 0xD1517366B7B7E6B7ull, 
0x0B60CBE0EBEB8BEBull,
+0xFDCC78C13C3CF03Cull, 0x7CBF1FFD81813E81ull, 0xD4FE354094946A94ull, 
0xEB0CF31CF7F7FBF7ull,
+0xA1676F18B9B9DEB9ull, 0x985F268B13134C13ull, 0x7D9C58512C2CB02Cull, 
0xD6B8BB05D3D36BD3ull,
+0x6B5CD38CE7E7BBE7ull, 0x57CBDC396E6EA56Eull, 0x6EF395AAC4C437C4ull, 
0x180F061B03030C03ull,
+0x8A13ACDC56564556ull, 0x1A49885E44440D44ull, 0xDF9EFEA07F7FE17Full, 
0x21374F88A9A99EA9ull,
+0x4D8254672A2AA82Aull, 0xB16D6B0ABBBBD6BBull, 0x46E29F87C1C123C1ull, 
0xA202A6F153535153ull,
+0xAE8BA572DCDC57DCull, 0x582716530B0B2C0Bull, 0x9CD327019D9D4E9Dull, 
0x47C1D82B6C6CAD6Cull,
+0x95F562A43131C431ull, 0x87B9E8F37474CD74ull, 0xE309F115F6F6FFF6ull, 
0x0A438C4C46460546ull,
+0x092645A5ACAC8AACull, 0x3C970FB589891E89ull, 0xA04428B414145014ull, 
0x5B42DFBAE1E1A3E1ull,
+0xB04E2CA616165816ull, 0xCDD274F73A3AE83Aull, 0x6FD0D2066969B969ull, 
0x482D124109092409ull,
+0xA7ADE0D77070DD70ull, 0xD954716FB6B6E2B6ull, 0xCEB7BD1ED0D067D0ull, 
0x3B7EC7D6EDED93EDull,
+0x2EDB85E2CCCC17CCull, 0x2A57846842421542ull, 0xB4C22D2C98985A98ull, 
0x490E55EDA4A4AAA4ull,
+0x5D8850752828A028ull, 0xDA31B8865C5C6D5Cull, 0x933FED6BF8F8C7F8ull, 
0x44A411C286862286ull };
 
 const u64bit Whirlpool::C5[256] = {
-0x18C07830D8181860, 0x2305AF462623238C, 0xC67EF991B8C6C63F, 0xE8136FCDFBE8E887,
-0x874CA113CB878726, 0xB8A9626D11B8B8DA, 0x0108050209010104, 0x4F426E9E0D4F4F21,
-0x36ADEE6C9B3636D8, 0xA6590451FFA6A6A2, 0xD2DEBDB90CD2D26F, 0xF5FB06F70EF5F5F3,
-0x79EF80F2967979F9, 0x6F5FCEDE306F6FA1, 0x91FCEF3F6D91917E, 0x52AA07A4F8525255,
-0x6027FDC04760609D, 0xBC89766535BCBCCA, 0x9BACCD2B379B9B56, 0x8E048C018A8E8E02,
-0xA371155BD2A3A3B6, 0x0C603C186C0C0C30, 0x7BFF8AF6847B7BF1, 0x35B5E16A803535D4,
-0x1DE8693AF51D1D74, 0xE05347DDB3E0E0A7, 0xD7F6ACB321D7D77B, 0xC25EED999CC2C22F,
-0x2E6D965C432E2EB8, 0x4B627A96294B4B31, 0xFEA321E15DFEFEDF, 0x578216AED5575741,
-0x15A8412ABD151554, 0x779FB6EEE87777C1, 0x37A5EB6E923737DC, 0xE57B56D79EE5E5B3,
-0x9F8CD923139F9F46, 0xF0D317FD23F0F0E7, 0x4A6A7F94204A4A35, 0xDA9E95A944DADA4F,
-0x58FA25B0A258587D, 0xC906CA8FCFC9C903, 0x29558D527C2929A4, 0x0A5022145A0A0A28,
-0xB1E14F7F50B1B1FE, 0xA0691A5DC9A0A0BA, 0x6B7FDAD6146B6BB1, 0x855CAB17D985852E,
-0xBD8173673CBDBDCE, 0x5DD234BA8F5D5D69, 0x1080502090101040, 0xF4F303F507F4F4F7,
-0xCB16C08BDDCBCB0B, 0x3EEDC67CD33E3EF8, 0x0528110A2D050514, 0x671FE6CE78676781,
-0xE47353D597E4E4B7, 0x2725BB4E0227279C, 0x4132588273414119, 0x8B2C9D0BA78B8B16,
-0xA7510153F6A7A7A6, 0x7DCF94FAB27D7DE9, 0x95DCFB374995956E, 0xD88E9FAD56D8D847,
-0xFB8B30EB70FBFBCB, 0xEE2371C1CDEEEE9F, 0x7CC791F8BB7C7CED, 0x6617E3CC71666685,
-0xDDA68EA77BDDDD53, 0x17B84B2EAF17175C, 0x4702468E45474701, 0x9E84DC211A9E9E42,
-0xCA1EC589D4CACA0F, 0x2D75995A582D2DB4, 0xBF9179632EBFBFC6, 0x07381B0E3F07071C,
-0xAD012347ACADAD8E, 0x5AEA2FB4B05A5A75, 0x836CB51BEF838336, 0x3385FF66B63333CC,
-0x633FF2C65C636391, 0x02100A0412020208, 0xAA39384993AAAA92, 0x71AFA8E2DE7171D9,
-0xC80ECF8DC6C8C807, 0x19C87D32D1191964, 0x497270923B494939, 0xD9869AAF5FD9D943,
-0xF2C31DF931F2F2EF, 0xE34B48DBA8E3E3AB, 0x5BE22AB6B95B5B71, 0x8834920DBC88881A,
-0x9AA4C8293E9A9A52, 0x262DBE4C0B262698, 0x328DFA64BF3232C8, 0xB0E94A7D59B0B0FA,
-0xE91B6ACFF2E9E983, 0x0F78331E770F0F3C, 0xD5E6A6B733D5D573, 0x8074BA1DF480803A,
-0xBE997C6127BEBEC2, 0xCD26DE87EBCDCD13, 0x34BDE468893434D0, 0x487A75903248483D,
-0xFFAB24E354FFFFDB, 0x7AF78FF48D7A7AF5, 0x90F4EA3D6490907A, 0x5FC23EBE9D5F5F61,
-0x201DA0403D202080, 0x6867D5D00F6868BD, 0x1AD07234CA1A1A68, 0xAE192C41B7AEAE82,
-0xB4C95E757DB4B4EA, 0x549A19A8CE54544D, 0x93ECE53B7F939376, 0x220DAA442F222288,
-0x6407E9C86364648D, 0xF1DB12FF2AF1F1E3, 0x73BFA2E6CC7373D1, 0x12905A2482121248,
-0x403A5D807A40401D, 0x0840281048080820, 0xC356E89B95C3C32B, 0xEC337BC5DFECEC97,
-0xDB9690AB4DDBDB4B, 0xA1611F5FC0A1A1BE, 0x8D1C8307918D8D0E, 0x3DF5C97AC83D3DF4,
-0x97CCF1335B979766, 0x0000000000000000, 0xCF36D483F9CFCF1B, 0x2B4587566E2B2BAC,
-0x7697B3ECE17676C5, 0x8264B019E6828232, 0xD6FEA9B128D6D67F, 0x1BD87736C31B1B6C,
-0xB5C15B7774B5B5EE, 0xAF112943BEAFAF86, 0x6A77DFD41D6A6AB5, 0x50BA0DA0EA50505D,
-0x45124C8A57454509, 0xF3CB18FB38F3F3EB, 0x309DF060AD3030C0, 0xEF2B74C3C4EFEF9B,
-0x3FE5C37EDA3F3FFC, 0x55921CAAC7555549, 0xA2791059DBA2A2B2, 0xEA0365C9E9EAEA8F,
-0x650FECCA6A656589, 0xBAB9686903BABAD2, 0x2F65935E4A2F2FBC, 0xC04EE79D8EC0C027,
-0xDEBE81A160DEDE5F, 0x1CE06C38FC1C1C70, 0xFDBB2EE746FDFDD3, 0x4D52649A1F4D4D29,
-0x92E4E03976929272, 0x758FBCEAFA7575C9, 0x06301E0C36060618, 0x8A249809AE8A8A12,
-0xB2F940794BB2B2F2, 0xE66359D185E6E6BF, 0x0E70361C7E0E0E38, 0x1FF8633EE71F1F7C,
-0x6237F7C455626295, 0xD4EEA3B53AD4D477, 0xA829324D81A8A89A, 0x96C4F43152969662,
-0xF99B3AEF62F9F9C3, 0xC566F697A3C5C533, 0x2535B14A10252594, 0x59F220B2AB595979,
-0x8454AE15D084842A, 0x72B7A7E4C57272D5, 0x39D5DD72EC3939E4, 0x4C5A6198164C4C2D,
-0x5ECA3BBC945E5E65, 0x78E785F09F7878FD, 0x38DDD870E53838E0, 0x8C148605988C8C0A,
-0xD1C6B2BF17D1D163, 0xA5410B57E4A5A5AE, 0xE2434DD9A1E2E2AF, 0x612FF8C24E616199,
-0xB3F1457B42B3B3F6, 0x2115A54234212184, 0x9C94D625089C9C4A, 0x1EF0663CEE1E1E78,
-0x4322528661434311, 0xC776FC93B1C7C73B, 0xFCB32BE54FFCFCD7, 0x0420140824040410,
-0x51B208A2E3515159, 0x99BCC72F2599995E, 0x6D4FC4DA226D6DA9, 0x0D68391A650D0D34,
-0xFA8335E979FAFACF, 0xDFB684A369DFDF5B, 0x7ED79BFCA97E7EE5, 0x243DB44819242490,
-0x3BC5D776FE3B3BEC, 0xAB313D4B9AABAB96, 0xCE3ED181F0CECE1F, 0x1188552299111144,
-0x8F0C8903838F8F06, 0x4E4A6B9C044E4E25, 0xB7D1517366B7B7E6, 0xEB0B60CBE0EBEB8B,
-0x3CFDCC78C13C3CF0, 0x817CBF1FFD81813E, 0x94D4FE354094946A, 0xF7EB0CF31CF7F7FB,
-0xB9A1676F18B9B9DE, 0x13985F268B13134C, 0x2C7D9C58512C2CB0, 0xD3D6B8BB05D3D36B,
-0xE76B5CD38CE7E7BB, 0x6E57CBDC396E6EA5, 0xC46EF395AAC4C437, 0x03180F061B03030C,
-0x568A13ACDC565645, 0x441A49885E44440D, 0x7FDF9EFEA07F7FE1, 0xA921374F88A9A99E,
-0x2A4D8254672A2AA8, 0xBBB16D6B0ABBBBD6, 0xC146E29F87C1C123, 0x53A202A6F1535351,
-0xDCAE8BA572DCDC57, 0x0B582716530B0B2C, 0x9D9CD327019D9D4E, 0x6C47C1D82B6C6CAD,
-0x3195F562A43131C4, 0x7487B9E8F37474CD, 0xF6E309F115F6F6FF, 0x460A438C4C464605,
-0xAC092645A5ACAC8A, 0x893C970FB589891E, 0x14A04428B4141450, 0xE15B42DFBAE1E1A3,
-0x16B04E2CA6161658, 0x3ACDD274F73A3AE8, 0x696FD0D2066969B9, 0x09482D1241090924,
-0x70A7ADE0D77070DD, 0xB6D954716FB6B6E2, 0xD0CEB7BD1ED0D067, 0xED3B7EC7D6EDED93,
-0xCC2EDB85E2CCCC17, 0x422A578468424215, 0x98B4C22D2C98985A, 0xA4490E55EDA4A4AA,
-0x285D8850752828A0, 0x5CDA31B8865C5C6D, 0xF8933FED6BF8F8C7, 0x8644A411C2868622 
};
+0x18C07830D8181860ull, 0x2305AF462623238Cull, 0xC67EF991B8C6C63Full, 
0xE8136FCDFBE8E887ull,
+0x874CA113CB878726ull, 0xB8A9626D11B8B8DAull, 0x0108050209010104ull, 
0x4F426E9E0D4F4F21ull,
+0x36ADEE6C9B3636D8ull, 0xA6590451FFA6A6A2ull, 0xD2DEBDB90CD2D26Full, 
0xF5FB06F70EF5F5F3ull,
+0x79EF80F2967979F9ull, 0x6F5FCEDE306F6FA1ull, 0x91FCEF3F6D91917Eull, 
0x52AA07A4F8525255ull,
+0x6027FDC04760609Dull, 0xBC89766535BCBCCAull, 0x9BACCD2B379B9B56ull, 
0x8E048C018A8E8E02ull,
+0xA371155BD2A3A3B6ull, 0x0C603C186C0C0C30ull, 0x7BFF8AF6847B7BF1ull, 
0x35B5E16A803535D4ull,
+0x1DE8693AF51D1D74ull, 0xE05347DDB3E0E0A7ull, 0xD7F6ACB321D7D77Bull, 
0xC25EED999CC2C22Full,
+0x2E6D965C432E2EB8ull, 0x4B627A96294B4B31ull, 0xFEA321E15DFEFEDFull, 
0x578216AED5575741ull,
+0x15A8412ABD151554ull, 0x779FB6EEE87777C1ull, 0x37A5EB6E923737DCull, 
0xE57B56D79EE5E5B3ull,
+0x9F8CD923139F9F46ull, 0xF0D317FD23F0F0E7ull, 0x4A6A7F94204A4A35ull, 
0xDA9E95A944DADA4Full,
+0x58FA25B0A258587Dull, 0xC906CA8FCFC9C903ull, 0x29558D527C2929A4ull, 
0x0A5022145A0A0A28ull,
+0xB1E14F7F50B1B1FEull, 0xA0691A5DC9A0A0BAull, 0x6B7FDAD6146B6BB1ull, 
0x855CAB17D985852Eull,
+0xBD8173673CBDBDCEull, 0x5DD234BA8F5D5D69ull, 0x1080502090101040ull, 
0xF4F303F507F4F4F7ull,
+0xCB16C08BDDCBCB0Bull, 0x3EEDC67CD33E3EF8ull, 0x0528110A2D050514ull, 
0x671FE6CE78676781ull,
+0xE47353D597E4E4B7ull, 0x2725BB4E0227279Cull, 0x4132588273414119ull, 
0x8B2C9D0BA78B8B16ull,
+0xA7510153F6A7A7A6ull, 0x7DCF94FAB27D7DE9ull, 0x95DCFB374995956Eull, 
0xD88E9FAD56D8D847ull,
+0xFB8B30EB70FBFBCBull, 0xEE2371C1CDEEEE9Full, 0x7CC791F8BB7C7CEDull, 
0x6617E3CC71666685ull,
+0xDDA68EA77BDDDD53ull, 0x17B84B2EAF17175Cull, 0x4702468E45474701ull, 
0x9E84DC211A9E9E42ull,
+0xCA1EC589D4CACA0Full, 0x2D75995A582D2DB4ull, 0xBF9179632EBFBFC6ull, 
0x07381B0E3F07071Cull,
+0xAD012347ACADAD8Eull, 0x5AEA2FB4B05A5A75ull, 0x836CB51BEF838336ull, 
0x3385FF66B63333CCull,
+0x633FF2C65C636391ull, 0x02100A0412020208ull, 0xAA39384993AAAA92ull, 
0x71AFA8E2DE7171D9ull,
+0xC80ECF8DC6C8C807ull, 0x19C87D32D1191964ull, 0x497270923B494939ull, 
0xD9869AAF5FD9D943ull,
+0xF2C31DF931F2F2EFull, 0xE34B48DBA8E3E3ABull, 0x5BE22AB6B95B5B71ull, 
0x8834920DBC88881Aull,
+0x9AA4C8293E9A9A52ull, 0x262DBE4C0B262698ull, 0x328DFA64BF3232C8ull, 
0xB0E94A7D59B0B0FAull,
+0xE91B6ACFF2E9E983ull, 0x0F78331E770F0F3Cull, 0xD5E6A6B733D5D573ull, 
0x8074BA1DF480803Aull,
+0xBE997C6127BEBEC2ull, 0xCD26DE87EBCDCD13ull, 0x34BDE468893434D0ull, 
0x487A75903248483Dull,
+0xFFAB24E354FFFFDBull, 0x7AF78FF48D7A7AF5ull, 0x90F4EA3D6490907Aull, 
0x5FC23EBE9D5F5F61ull,
+0x201DA0403D202080ull, 0x6867D5D00F6868BDull, 0x1AD07234CA1A1A68ull, 
0xAE192C41B7AEAE82ull,
+0xB4C95E757DB4B4EAull, 0x549A19A8CE54544Dull, 0x93ECE53B7F939376ull, 
0x220DAA442F222288ull,
+0x6407E9C86364648Dull, 0xF1DB12FF2AF1F1E3ull, 0x73BFA2E6CC7373D1ull, 
0x12905A2482121248ull,
+0x403A5D807A40401Dull, 0x0840281048080820ull, 0xC356E89B95C3C32Bull, 
0xEC337BC5DFECEC97ull,
+0xDB9690AB4DDBDB4Bull, 0xA1611F5FC0A1A1BEull, 0x8D1C8307918D8D0Eull, 
0x3DF5C97AC83D3DF4ull,
+0x97CCF1335B979766ull, 0x0000000000000000ull, 0xCF36D483F9CFCF1Bull, 
0x2B4587566E2B2BACull,
+0x7697B3ECE17676C5ull, 0x8264B019E6828232ull, 0xD6FEA9B128D6D67Full, 
0x1BD87736C31B1B6Cull,
+0xB5C15B7774B5B5EEull, 0xAF112943BEAFAF86ull, 0x6A77DFD41D6A6AB5ull, 
0x50BA0DA0EA50505Dull,
+0x45124C8A57454509ull, 0xF3CB18FB38F3F3EBull, 0x309DF060AD3030C0ull, 
0xEF2B74C3C4EFEF9Bull,
+0x3FE5C37EDA3F3FFCull, 0x55921CAAC7555549ull, 0xA2791059DBA2A2B2ull, 
0xEA0365C9E9EAEA8Full,
+0x650FECCA6A656589ull, 0xBAB9686903BABAD2ull, 0x2F65935E4A2F2FBCull, 
0xC04EE79D8EC0C027ull,
+0xDEBE81A160DEDE5Full, 0x1CE06C38FC1C1C70ull, 0xFDBB2EE746FDFDD3ull, 
0x4D52649A1F4D4D29ull,
+0x92E4E03976929272ull, 0x758FBCEAFA7575C9ull, 0x06301E0C36060618ull, 
0x8A249809AE8A8A12ull,
+0xB2F940794BB2B2F2ull, 0xE66359D185E6E6BFull, 0x0E70361C7E0E0E38ull, 
0x1FF8633EE71F1F7Cull,
+0x6237F7C455626295ull, 0xD4EEA3B53AD4D477ull, 0xA829324D81A8A89Aull, 
0x96C4F43152969662ull,
+0xF99B3AEF62F9F9C3ull, 0xC566F697A3C5C533ull, 0x2535B14A10252594ull, 
0x59F220B2AB595979ull,
+0x8454AE15D084842Aull, 0x72B7A7E4C57272D5ull, 0x39D5DD72EC3939E4ull, 
0x4C5A6198164C4C2Dull,
+0x5ECA3BBC945E5E65ull, 0x78E785F09F7878FDull, 0x38DDD870E53838E0ull, 
0x8C148605988C8C0Aull,
+0xD1C6B2BF17D1D163ull, 0xA5410B57E4A5A5AEull, 0xE2434DD9A1E2E2AFull, 
0x612FF8C24E616199ull,
+0xB3F1457B42B3B3F6ull, 0x2115A54234212184ull, 0x9C94D625089C9C4Aull, 
0x1EF0663CEE1E1E78ull,
+0x4322528661434311ull, 0xC776FC93B1C7C73Bull, 0xFCB32BE54FFCFCD7ull, 
0x0420140824040410ull,
+0x51B208A2E3515159ull, 0x99BCC72F2599995Eull, 0x6D4FC4DA226D6DA9ull, 
0x0D68391A650D0D34ull,
+0xFA8335E979FAFACFull, 0xDFB684A369DFDF5Bull, 0x7ED79BFCA97E7EE5ull, 
0x243DB44819242490ull,
+0x3BC5D776FE3B3BECull, 0xAB313D4B9AABAB96ull, 0xCE3ED181F0CECE1Full, 
0x1188552299111144ull,
+0x8F0C8903838F8F06ull, 0x4E4A6B9C044E4E25ull, 0xB7D1517366B7B7E6ull, 
0xEB0B60CBE0EBEB8Bull,
+0x3CFDCC78C13C3CF0ull, 0x817CBF1FFD81813Eull, 0x94D4FE354094946Aull, 
0xF7EB0CF31CF7F7FBull,
+0xB9A1676F18B9B9DEull, 0x13985F268B13134Cull, 0x2C7D9C58512C2CB0ull, 
0xD3D6B8BB05D3D36Bull,
+0xE76B5CD38CE7E7BBull, 0x6E57CBDC396E6EA5ull, 0xC46EF395AAC4C437ull, 
0x03180F061B03030Cull,
+0x568A13ACDC565645ull, 0x441A49885E44440Dull, 0x7FDF9EFEA07F7FE1ull, 
0xA921374F88A9A99Eull,
+0x2A4D8254672A2AA8ull, 0xBBB16D6B0ABBBBD6ull, 0xC146E29F87C1C123ull, 
0x53A202A6F1535351ull,
+0xDCAE8BA572DCDC57ull, 0x0B582716530B0B2Cull, 0x9D9CD327019D9D4Eull, 
0x6C47C1D82B6C6CADull,
+0x3195F562A43131C4ull, 0x7487B9E8F37474CDull, 0xF6E309F115F6F6FFull, 
0x460A438C4C464605ull,
+0xAC092645A5ACAC8Aull, 0x893C970FB589891Eull, 0x14A04428B4141450ull, 
0xE15B42DFBAE1E1A3ull,
+0x16B04E2CA6161658ull, 0x3ACDD274F73A3AE8ull, 0x696FD0D2066969B9ull, 
0x09482D1241090924ull,
+0x70A7ADE0D77070DDull, 0xB6D954716FB6B6E2ull, 0xD0CEB7BD1ED0D067ull, 
0xED3B7EC7D6EDED93ull,
+0xCC2EDB85E2CCCC17ull, 0x422A578468424215ull, 0x98B4C22D2C98985Aull, 
0xA4490E55EDA4A4AAull,
+0x285D8850752828A0ull, 0x5CDA31B8865C5C6Dull, 0xF8933FED6BF8F8C7ull, 
0x8644A411C2868622ull };
 
 const u64bit Whirlpool::C6[256] = {
-0x6018C07830D81818, 0x8C2305AF46262323, 0x3FC67EF991B8C6C6, 0x87E8136FCDFBE8E8,
-0x26874CA113CB8787, 0xDAB8A9626D11B8B8, 0x0401080502090101, 0x214F426E9E0D4F4F,
-0xD836ADEE6C9B3636, 0xA2A6590451FFA6A6, 0x6FD2DEBDB90CD2D2, 0xF3F5FB06F70EF5F5,
-0xF979EF80F2967979, 0xA16F5FCEDE306F6F, 0x7E91FCEF3F6D9191, 0x5552AA07A4F85252,
-0x9D6027FDC0476060, 0xCABC89766535BCBC, 0x569BACCD2B379B9B, 0x028E048C018A8E8E,
-0xB6A371155BD2A3A3, 0x300C603C186C0C0C, 0xF17BFF8AF6847B7B, 0xD435B5E16A803535,
-0x741DE8693AF51D1D, 0xA7E05347DDB3E0E0, 0x7BD7F6ACB321D7D7, 0x2FC25EED999CC2C2,
-0xB82E6D965C432E2E, 0x314B627A96294B4B, 0xDFFEA321E15DFEFE, 0x41578216AED55757,
-0x5415A8412ABD1515, 0xC1779FB6EEE87777, 0xDC37A5EB6E923737, 0xB3E57B56D79EE5E5,
-0x469F8CD923139F9F, 0xE7F0D317FD23F0F0, 0x354A6A7F94204A4A, 0x4FDA9E95A944DADA,
-0x7D58FA25B0A25858, 0x03C906CA8FCFC9C9, 0xA429558D527C2929, 0x280A5022145A0A0A,
-0xFEB1E14F7F50B1B1, 0xBAA0691A5DC9A0A0, 0xB16B7FDAD6146B6B, 0x2E855CAB17D98585,
-0xCEBD8173673CBDBD, 0x695DD234BA8F5D5D, 0x4010805020901010, 0xF7F4F303F507F4F4,
-0x0BCB16C08BDDCBCB, 0xF83EEDC67CD33E3E, 0x140528110A2D0505, 0x81671FE6CE786767,
-0xB7E47353D597E4E4, 0x9C2725BB4E022727, 0x1941325882734141, 0x168B2C9D0BA78B8B,
-0xA6A7510153F6A7A7, 0xE97DCF94FAB27D7D, 0x6E95DCFB37499595, 0x47D88E9FAD56D8D8,
-0xCBFB8B30EB70FBFB, 0x9FEE2371C1CDEEEE, 0xED7CC791F8BB7C7C, 0x856617E3CC716666,
-0x53DDA68EA77BDDDD, 0x5C17B84B2EAF1717, 0x014702468E454747, 0x429E84DC211A9E9E,
-0x0FCA1EC589D4CACA, 0xB42D75995A582D2D, 0xC6BF9179632EBFBF, 0x1C07381B0E3F0707,
-0x8EAD012347ACADAD, 0x755AEA2FB4B05A5A, 0x36836CB51BEF8383, 0xCC3385FF66B63333,
-0x91633FF2C65C6363, 0x0802100A04120202, 0x92AA39384993AAAA, 0xD971AFA8E2DE7171,
-0x07C80ECF8DC6C8C8, 0x6419C87D32D11919, 0x39497270923B4949, 0x43D9869AAF5FD9D9,
-0xEFF2C31DF931F2F2, 0xABE34B48DBA8E3E3, 0x715BE22AB6B95B5B, 0x1A8834920DBC8888,
-0x529AA4C8293E9A9A, 0x98262DBE4C0B2626, 0xC8328DFA64BF3232, 0xFAB0E94A7D59B0B0,
-0x83E91B6ACFF2E9E9, 0x3C0F78331E770F0F, 0x73D5E6A6B733D5D5, 0x3A8074BA1DF48080,
-0xC2BE997C6127BEBE, 0x13CD26DE87EBCDCD, 0xD034BDE468893434, 0x3D487A7590324848,
-0xDBFFAB24E354FFFF, 0xF57AF78FF48D7A7A, 0x7A90F4EA3D649090, 0x615FC23EBE9D5F5F,
-0x80201DA0403D2020, 0xBD6867D5D00F6868, 0x681AD07234CA1A1A, 0x82AE192C41B7AEAE,
-0xEAB4C95E757DB4B4, 0x4D549A19A8CE5454, 0x7693ECE53B7F9393, 0x88220DAA442F2222,
-0x8D6407E9C8636464, 0xE3F1DB12FF2AF1F1, 0xD173BFA2E6CC7373, 0x4812905A24821212,
-0x1D403A5D807A4040, 0x2008402810480808, 0x2BC356E89B95C3C3, 0x97EC337BC5DFECEC,
-0x4BDB9690AB4DDBDB, 0xBEA1611F5FC0A1A1, 0x0E8D1C8307918D8D, 0xF43DF5C97AC83D3D,
-0x6697CCF1335B9797, 0x0000000000000000, 0x1BCF36D483F9CFCF, 0xAC2B4587566E2B2B,
-0xC57697B3ECE17676, 0x328264B019E68282, 0x7FD6FEA9B128D6D6, 0x6C1BD87736C31B1B,
-0xEEB5C15B7774B5B5, 0x86AF112943BEAFAF, 0xB56A77DFD41D6A6A, 0x5D50BA0DA0EA5050,
-0x0945124C8A574545, 0xEBF3CB18FB38F3F3, 0xC0309DF060AD3030, 0x9BEF2B74C3C4EFEF,
-0xFC3FE5C37EDA3F3F, 0x4955921CAAC75555, 0xB2A2791059DBA2A2, 0x8FEA0365C9E9EAEA,
-0x89650FECCA6A6565, 0xD2BAB9686903BABA, 0xBC2F65935E4A2F2F, 0x27C04EE79D8EC0C0,
-0x5FDEBE81A160DEDE, 0x701CE06C38FC1C1C, 0xD3FDBB2EE746FDFD, 0x294D52649A1F4D4D,
-0x7292E4E039769292, 0xC9758FBCEAFA7575, 0x1806301E0C360606, 0x128A249809AE8A8A,
-0xF2B2F940794BB2B2, 0xBFE66359D185E6E6, 0x380E70361C7E0E0E, 0x7C1FF8633EE71F1F,
-0x956237F7C4556262, 0x77D4EEA3B53AD4D4, 0x9AA829324D81A8A8, 0x6296C4F431529696,
-0xC3F99B3AEF62F9F9, 0x33C566F697A3C5C5, 0x942535B14A102525, 0x7959F220B2AB5959,
-0x2A8454AE15D08484, 0xD572B7A7E4C57272, 0xE439D5DD72EC3939, 0x2D4C5A6198164C4C,
-0x655ECA3BBC945E5E, 0xFD78E785F09F7878, 0xE038DDD870E53838, 0x0A8C148605988C8C,
-0x63D1C6B2BF17D1D1, 0xAEA5410B57E4A5A5, 0xAFE2434DD9A1E2E2, 0x99612FF8C24E6161,
-0xF6B3F1457B42B3B3, 0x842115A542342121, 0x4A9C94D625089C9C, 0x781EF0663CEE1E1E,
-0x1143225286614343, 0x3BC776FC93B1C7C7, 0xD7FCB32BE54FFCFC, 0x1004201408240404,
-0x5951B208A2E35151, 0x5E99BCC72F259999, 0xA96D4FC4DA226D6D, 0x340D68391A650D0D,
-0xCFFA8335E979FAFA, 0x5BDFB684A369DFDF, 0xE57ED79BFCA97E7E, 0x90243DB448192424,
-0xEC3BC5D776FE3B3B, 0x96AB313D4B9AABAB, 0x1FCE3ED181F0CECE, 0x4411885522991111,
-0x068F0C8903838F8F, 0x254E4A6B9C044E4E, 0xE6B7D1517366B7B7, 0x8BEB0B60CBE0EBEB,
-0xF03CFDCC78C13C3C, 0x3E817CBF1FFD8181, 0x6A94D4FE35409494, 0xFBF7EB0CF31CF7F7,
-0xDEB9A1676F18B9B9, 0x4C13985F268B1313, 0xB02C7D9C58512C2C, 0x6BD3D6B8BB05D3D3,
-0xBBE76B5CD38CE7E7, 0xA56E57CBDC396E6E, 0x37C46EF395AAC4C4, 0x0C03180F061B0303,
-0x45568A13ACDC5656, 0x0D441A49885E4444, 0xE17FDF9EFEA07F7F, 0x9EA921374F88A9A9,
-0xA82A4D8254672A2A, 0xD6BBB16D6B0ABBBB, 0x23C146E29F87C1C1, 0x5153A202A6F15353,
-0x57DCAE8BA572DCDC, 0x2C0B582716530B0B, 0x4E9D9CD327019D9D, 0xAD6C47C1D82B6C6C,
-0xC43195F562A43131, 0xCD7487B9E8F37474, 0xFFF6E309F115F6F6, 0x05460A438C4C4646,
-0x8AAC092645A5ACAC, 0x1E893C970FB58989, 0x5014A04428B41414, 0xA3E15B42DFBAE1E1,
-0x5816B04E2CA61616, 0xE83ACDD274F73A3A, 0xB9696FD0D2066969, 0x2409482D12410909,
-0xDD70A7ADE0D77070, 0xE2B6D954716FB6B6, 0x67D0CEB7BD1ED0D0, 0x93ED3B7EC7D6EDED,
-0x17CC2EDB85E2CCCC, 0x15422A5784684242, 0x5A98B4C22D2C9898, 0xAAA4490E55EDA4A4,
-0xA0285D8850752828, 0x6D5CDA31B8865C5C, 0xC7F8933FED6BF8F8, 0x228644A411C28686 
};
+0x6018C07830D81818ull, 0x8C2305AF46262323ull, 0x3FC67EF991B8C6C6ull, 
0x87E8136FCDFBE8E8ull,
+0x26874CA113CB8787ull, 0xDAB8A9626D11B8B8ull, 0x0401080502090101ull, 
0x214F426E9E0D4F4Full,
+0xD836ADEE6C9B3636ull, 0xA2A6590451FFA6A6ull, 0x6FD2DEBDB90CD2D2ull, 
0xF3F5FB06F70EF5F5ull,
+0xF979EF80F2967979ull, 0xA16F5FCEDE306F6Full, 0x7E91FCEF3F6D9191ull, 
0x5552AA07A4F85252ull,
+0x9D6027FDC0476060ull, 0xCABC89766535BCBCull, 0x569BACCD2B379B9Bull, 
0x028E048C018A8E8Eull,
+0xB6A371155BD2A3A3ull, 0x300C603C186C0C0Cull, 0xF17BFF8AF6847B7Bull, 
0xD435B5E16A803535ull,
+0x741DE8693AF51D1Dull, 0xA7E05347DDB3E0E0ull, 0x7BD7F6ACB321D7D7ull, 
0x2FC25EED999CC2C2ull,
+0xB82E6D965C432E2Eull, 0x314B627A96294B4Bull, 0xDFFEA321E15DFEFEull, 
0x41578216AED55757ull,
+0x5415A8412ABD1515ull, 0xC1779FB6EEE87777ull, 0xDC37A5EB6E923737ull, 
0xB3E57B56D79EE5E5ull,
+0x469F8CD923139F9Full, 0xE7F0D317FD23F0F0ull, 0x354A6A7F94204A4Aull, 
0x4FDA9E95A944DADAull,
+0x7D58FA25B0A25858ull, 0x03C906CA8FCFC9C9ull, 0xA429558D527C2929ull, 
0x280A5022145A0A0Aull,
+0xFEB1E14F7F50B1B1ull, 0xBAA0691A5DC9A0A0ull, 0xB16B7FDAD6146B6Bull, 
0x2E855CAB17D98585ull,
+0xCEBD8173673CBDBDull, 0x695DD234BA8F5D5Dull, 0x4010805020901010ull, 
0xF7F4F303F507F4F4ull,
+0x0BCB16C08BDDCBCBull, 0xF83EEDC67CD33E3Eull, 0x140528110A2D0505ull, 
0x81671FE6CE786767ull,
+0xB7E47353D597E4E4ull, 0x9C2725BB4E022727ull, 0x1941325882734141ull, 
0x168B2C9D0BA78B8Bull,
+0xA6A7510153F6A7A7ull, 0xE97DCF94FAB27D7Dull, 0x6E95DCFB37499595ull, 
0x47D88E9FAD56D8D8ull,
+0xCBFB8B30EB70FBFBull, 0x9FEE2371C1CDEEEEull, 0xED7CC791F8BB7C7Cull, 
0x856617E3CC716666ull,
+0x53DDA68EA77BDDDDull, 0x5C17B84B2EAF1717ull, 0x014702468E454747ull, 
0x429E84DC211A9E9Eull,
+0x0FCA1EC589D4CACAull, 0xB42D75995A582D2Dull, 0xC6BF9179632EBFBFull, 
0x1C07381B0E3F0707ull,
+0x8EAD012347ACADADull, 0x755AEA2FB4B05A5Aull, 0x36836CB51BEF8383ull, 
0xCC3385FF66B63333ull,
+0x91633FF2C65C6363ull, 0x0802100A04120202ull, 0x92AA39384993AAAAull, 
0xD971AFA8E2DE7171ull,
+0x07C80ECF8DC6C8C8ull, 0x6419C87D32D11919ull, 0x39497270923B4949ull, 
0x43D9869AAF5FD9D9ull,
+0xEFF2C31DF931F2F2ull, 0xABE34B48DBA8E3E3ull, 0x715BE22AB6B95B5Bull, 
0x1A8834920DBC8888ull,
+0x529AA4C8293E9A9Aull, 0x98262DBE4C0B2626ull, 0xC8328DFA64BF3232ull, 
0xFAB0E94A7D59B0B0ull,
+0x83E91B6ACFF2E9E9ull, 0x3C0F78331E770F0Full, 0x73D5E6A6B733D5D5ull, 
0x3A8074BA1DF48080ull,
+0xC2BE997C6127BEBEull, 0x13CD26DE87EBCDCDull, 0xD034BDE468893434ull, 
0x3D487A7590324848ull,
+0xDBFFAB24E354FFFFull, 0xF57AF78FF48D7A7Aull, 0x7A90F4EA3D649090ull, 
0x615FC23EBE9D5F5Full,
+0x80201DA0403D2020ull, 0xBD6867D5D00F6868ull, 0x681AD07234CA1A1Aull, 
0x82AE192C41B7AEAEull,
+0xEAB4C95E757DB4B4ull, 0x4D549A19A8CE5454ull, 0x7693ECE53B7F9393ull, 
0x88220DAA442F2222ull,
+0x8D6407E9C8636464ull, 0xE3F1DB12FF2AF1F1ull, 0xD173BFA2E6CC7373ull, 
0x4812905A24821212ull,
+0x1D403A5D807A4040ull, 0x2008402810480808ull, 0x2BC356E89B95C3C3ull, 
0x97EC337BC5DFECECull,
+0x4BDB9690AB4DDBDBull, 0xBEA1611F5FC0A1A1ull, 0x0E8D1C8307918D8Dull, 
0xF43DF5C97AC83D3Dull,
+0x6697CCF1335B9797ull, 0x0000000000000000ull, 0x1BCF36D483F9CFCFull, 
0xAC2B4587566E2B2Bull,
+0xC57697B3ECE17676ull, 0x328264B019E68282ull, 0x7FD6FEA9B128D6D6ull, 
0x6C1BD87736C31B1Bull,
+0xEEB5C15B7774B5B5ull, 0x86AF112943BEAFAFull, 0xB56A77DFD41D6A6Aull, 
0x5D50BA0DA0EA5050ull,
+0x0945124C8A574545ull, 0xEBF3CB18FB38F3F3ull, 0xC0309DF060AD3030ull, 
0x9BEF2B74C3C4EFEFull,
+0xFC3FE5C37EDA3F3Full, 0x4955921CAAC75555ull, 0xB2A2791059DBA2A2ull, 
0x8FEA0365C9E9EAEAull,
+0x89650FECCA6A6565ull, 0xD2BAB9686903BABAull, 0xBC2F65935E4A2F2Full, 
0x27C04EE79D8EC0C0ull,
+0x5FDEBE81A160DEDEull, 0x701CE06C38FC1C1Cull, 0xD3FDBB2EE746FDFDull, 
0x294D52649A1F4D4Dull,
+0x7292E4E039769292ull, 0xC9758FBCEAFA7575ull, 0x1806301E0C360606ull, 
0x128A249809AE8A8Aull,
+0xF2B2F940794BB2B2ull, 0xBFE66359D185E6E6ull, 0x380E70361C7E0E0Eull, 
0x7C1FF8633EE71F1Full,
+0x956237F7C4556262ull, 0x77D4EEA3B53AD4D4ull, 0x9AA829324D81A8A8ull, 
0x6296C4F431529696ull,
+0xC3F99B3AEF62F9F9ull, 0x33C566F697A3C5C5ull, 0x942535B14A102525ull, 
0x7959F220B2AB5959ull,
+0x2A8454AE15D08484ull, 0xD572B7A7E4C57272ull, 0xE439D5DD72EC3939ull, 
0x2D4C5A6198164C4Cull,
+0x655ECA3BBC945E5Eull, 0xFD78E785F09F7878ull, 0xE038DDD870E53838ull, 
0x0A8C148605988C8Cull,
+0x63D1C6B2BF17D1D1ull, 0xAEA5410B57E4A5A5ull, 0xAFE2434DD9A1E2E2ull, 
0x99612FF8C24E6161ull,
+0xF6B3F1457B42B3B3ull, 0x842115A542342121ull, 0x4A9C94D625089C9Cull, 
0x781EF0663CEE1E1Eull,
+0x1143225286614343ull, 0x3BC776FC93B1C7C7ull, 0xD7FCB32BE54FFCFCull, 
0x1004201408240404ull,
+0x5951B208A2E35151ull, 0x5E99BCC72F259999ull, 0xA96D4FC4DA226D6Dull, 
0x340D68391A650D0Dull,
+0xCFFA8335E979FAFAull, 0x5BDFB684A369DFDFull, 0xE57ED79BFCA97E7Eull, 
0x90243DB448192424ull,
+0xEC3BC5D776FE3B3Bull, 0x96AB313D4B9AABABull, 0x1FCE3ED181F0CECEull, 
0x4411885522991111ull,
+0x068F0C8903838F8Full, 0x254E4A6B9C044E4Eull, 0xE6B7D1517366B7B7ull, 
0x8BEB0B60CBE0EBEBull,
+0xF03CFDCC78C13C3Cull, 0x3E817CBF1FFD8181ull, 0x6A94D4FE35409494ull, 
0xFBF7EB0CF31CF7F7ull,
+0xDEB9A1676F18B9B9ull, 0x4C13985F268B1313ull, 0xB02C7D9C58512C2Cull, 
0x6BD3D6B8BB05D3D3ull,
+0xBBE76B5CD38CE7E7ull, 0xA56E57CBDC396E6Eull, 0x37C46EF395AAC4C4ull, 
0x0C03180F061B0303ull,
+0x45568A13ACDC5656ull, 0x0D441A49885E4444ull, 0xE17FDF9EFEA07F7Full, 
0x9EA921374F88A9A9ull,
+0xA82A4D8254672A2Aull, 0xD6BBB16D6B0ABBBBull, 0x23C146E29F87C1C1ull, 
0x5153A202A6F15353ull,
+0x57DCAE8BA572DCDCull, 0x2C0B582716530B0Bull, 0x4E9D9CD327019D9Dull, 
0xAD6C47C1D82B6C6Cull,
+0xC43195F562A43131ull, 0xCD7487B9E8F37474ull, 0xFFF6E309F115F6F6ull, 
0x05460A438C4C4646ull,
+0x8AAC092645A5ACACull, 0x1E893C970FB58989ull, 0x5014A04428B41414ull, 
0xA3E15B42DFBAE1E1ull,
+0x5816B04E2CA61616ull, 0xE83ACDD274F73A3Aull, 0xB9696FD0D2066969ull, 
0x2409482D12410909ull,
+0xDD70A7ADE0D77070ull, 0xE2B6D954716FB6B6ull, 0x67D0CEB7BD1ED0D0ull, 
0x93ED3B7EC7D6EDEDull,
+0x17CC2EDB85E2CCCCull, 0x15422A5784684242ull, 0x5A98B4C22D2C9898ull, 
0xAAA4490E55EDA4A4ull,
+0xA0285D8850752828ull, 0x6D5CDA31B8865C5Cull, 0xC7F8933FED6BF8F8ull, 
0x228644A411C28686ull };
 
 const u64bit Whirlpool::C7[256] = {
-0x186018C07830D818, 0x238C2305AF462623, 0xC63FC67EF991B8C6, 0xE887E8136FCDFBE8,
-0x8726874CA113CB87, 0xB8DAB8A9626D11B8, 0x0104010805020901, 0x4F214F426E9E0D4F,
-0x36D836ADEE6C9B36, 0xA6A2A6590451FFA6, 0xD26FD2DEBDB90CD2, 0xF5F3F5FB06F70EF5,
-0x79F979EF80F29679, 0x6FA16F5FCEDE306F, 0x917E91FCEF3F6D91, 0x525552AA07A4F852,
-0x609D6027FDC04760, 0xBCCABC89766535BC, 0x9B569BACCD2B379B, 0x8E028E048C018A8E,
-0xA3B6A371155BD2A3, 0x0C300C603C186C0C, 0x7BF17BFF8AF6847B, 0x35D435B5E16A8035,
-0x1D741DE8693AF51D, 0xE0A7E05347DDB3E0, 0xD77BD7F6ACB321D7, 0xC22FC25EED999CC2,
-0x2EB82E6D965C432E, 0x4B314B627A96294B, 0xFEDFFEA321E15DFE, 0x5741578216AED557,
-0x155415A8412ABD15, 0x77C1779FB6EEE877, 0x37DC37A5EB6E9237, 0xE5B3E57B56D79EE5,
-0x9F469F8CD923139F, 0xF0E7F0D317FD23F0, 0x4A354A6A7F94204A, 0xDA4FDA9E95A944DA,
-0x587D58FA25B0A258, 0xC903C906CA8FCFC9, 0x29A429558D527C29, 0x0A280A5022145A0A,
-0xB1FEB1E14F7F50B1, 0xA0BAA0691A5DC9A0, 0x6BB16B7FDAD6146B, 0x852E855CAB17D985,
-0xBDCEBD8173673CBD, 0x5D695DD234BA8F5D, 0x1040108050209010, 0xF4F7F4F303F507F4,
-0xCB0BCB16C08BDDCB, 0x3EF83EEDC67CD33E, 0x05140528110A2D05, 0x6781671FE6CE7867,
-0xE4B7E47353D597E4, 0x279C2725BB4E0227, 0x4119413258827341, 0x8B168B2C9D0BA78B,
-0xA7A6A7510153F6A7, 0x7DE97DCF94FAB27D, 0x956E95DCFB374995, 0xD847D88E9FAD56D8,
-0xFBCBFB8B30EB70FB, 0xEE9FEE2371C1CDEE, 0x7CED7CC791F8BB7C, 0x66856617E3CC7166,
-0xDD53DDA68EA77BDD, 0x175C17B84B2EAF17, 0x47014702468E4547, 0x9E429E84DC211A9E,
-0xCA0FCA1EC589D4CA, 0x2DB42D75995A582D, 0xBFC6BF9179632EBF, 0x071C07381B0E3F07,
-0xAD8EAD012347ACAD, 0x5A755AEA2FB4B05A, 0x8336836CB51BEF83, 0x33CC3385FF66B633,
-0x6391633FF2C65C63, 0x020802100A041202, 0xAA92AA39384993AA, 0x71D971AFA8E2DE71,
-0xC807C80ECF8DC6C8, 0x196419C87D32D119, 0x4939497270923B49, 0xD943D9869AAF5FD9,
-0xF2EFF2C31DF931F2, 0xE3ABE34B48DBA8E3, 0x5B715BE22AB6B95B, 0x881A8834920DBC88,
-0x9A529AA4C8293E9A, 0x2698262DBE4C0B26, 0x32C8328DFA64BF32, 0xB0FAB0E94A7D59B0,
-0xE983E91B6ACFF2E9, 0x0F3C0F78331E770F, 0xD573D5E6A6B733D5, 0x803A8074BA1DF480,
-0xBEC2BE997C6127BE, 0xCD13CD26DE87EBCD, 0x34D034BDE4688934, 0x483D487A75903248,
-0xFFDBFFAB24E354FF, 0x7AF57AF78FF48D7A, 0x907A90F4EA3D6490, 0x5F615FC23EBE9D5F,
-0x2080201DA0403D20, 0x68BD6867D5D00F68, 0x1A681AD07234CA1A, 0xAE82AE192C41B7AE,
-0xB4EAB4C95E757DB4, 0x544D549A19A8CE54, 0x937693ECE53B7F93, 0x2288220DAA442F22,
-0x648D6407E9C86364, 0xF1E3F1DB12FF2AF1, 0x73D173BFA2E6CC73, 0x124812905A248212,
-0x401D403A5D807A40, 0x0820084028104808, 0xC32BC356E89B95C3, 0xEC97EC337BC5DFEC,
-0xDB4BDB9690AB4DDB, 0xA1BEA1611F5FC0A1, 0x8D0E8D1C8307918D, 0x3DF43DF5C97AC83D,
-0x976697CCF1335B97, 0x0000000000000000, 0xCF1BCF36D483F9CF, 0x2BAC2B4587566E2B,
-0x76C57697B3ECE176, 0x82328264B019E682, 0xD67FD6FEA9B128D6, 0x1B6C1BD87736C31B,
-0xB5EEB5C15B7774B5, 0xAF86AF112943BEAF, 0x6AB56A77DFD41D6A, 0x505D50BA0DA0EA50,
-0x450945124C8A5745, 0xF3EBF3CB18FB38F3, 0x30C0309DF060AD30, 0xEF9BEF2B74C3C4EF,
-0x3FFC3FE5C37EDA3F, 0x554955921CAAC755, 0xA2B2A2791059DBA2, 0xEA8FEA0365C9E9EA,
-0x6589650FECCA6A65, 0xBAD2BAB9686903BA, 0x2FBC2F65935E4A2F, 0xC027C04EE79D8EC0,
-0xDE5FDEBE81A160DE, 0x1C701CE06C38FC1C, 0xFDD3FDBB2EE746FD, 0x4D294D52649A1F4D,
-0x927292E4E0397692, 0x75C9758FBCEAFA75, 0x061806301E0C3606, 0x8A128A249809AE8A,
-0xB2F2B2F940794BB2, 0xE6BFE66359D185E6, 0x0E380E70361C7E0E, 0x1F7C1FF8633EE71F,
-0x62956237F7C45562, 0xD477D4EEA3B53AD4, 0xA89AA829324D81A8, 0x966296C4F4315296,
-0xF9C3F99B3AEF62F9, 0xC533C566F697A3C5, 0x25942535B14A1025, 0x597959F220B2AB59,
-0x842A8454AE15D084, 0x72D572B7A7E4C572, 0x39E439D5DD72EC39, 0x4C2D4C5A6198164C,
-0x5E655ECA3BBC945E, 0x78FD78E785F09F78, 0x38E038DDD870E538, 0x8C0A8C148605988C,
-0xD163D1C6B2BF17D1, 0xA5AEA5410B57E4A5, 0xE2AFE2434DD9A1E2, 0x6199612FF8C24E61,
-0xB3F6B3F1457B42B3, 0x21842115A5423421, 0x9C4A9C94D625089C, 0x1E781EF0663CEE1E,
-0x4311432252866143, 0xC73BC776FC93B1C7, 0xFCD7FCB32BE54FFC, 0x0410042014082404,
-0x515951B208A2E351, 0x995E99BCC72F2599, 0x6DA96D4FC4DA226D, 0x0D340D68391A650D,
-0xFACFFA8335E979FA, 0xDF5BDFB684A369DF, 0x7EE57ED79BFCA97E, 0x2490243DB4481924,
-0x3BEC3BC5D776FE3B, 0xAB96AB313D4B9AAB, 0xCE1FCE3ED181F0CE, 0x1144118855229911,
-0x8F068F0C8903838F, 0x4E254E4A6B9C044E, 0xB7E6B7D1517366B7, 0xEB8BEB0B60CBE0EB,
-0x3CF03CFDCC78C13C, 0x813E817CBF1FFD81, 0x946A94D4FE354094, 0xF7FBF7EB0CF31CF7,
-0xB9DEB9A1676F18B9, 0x134C13985F268B13, 0x2CB02C7D9C58512C, 0xD36BD3D6B8BB05D3,
-0xE7BBE76B5CD38CE7, 0x6EA56E57CBDC396E, 0xC437C46EF395AAC4, 0x030C03180F061B03,
-0x5645568A13ACDC56, 0x440D441A49885E44, 0x7FE17FDF9EFEA07F, 0xA99EA921374F88A9,
-0x2AA82A4D8254672A, 0xBBD6BBB16D6B0ABB, 0xC123C146E29F87C1, 0x535153A202A6F153,
-0xDC57DCAE8BA572DC, 0x0B2C0B582716530B, 0x9D4E9D9CD327019D, 0x6CAD6C47C1D82B6C,
-0x31C43195F562A431, 0x74CD7487B9E8F374, 0xF6FFF6E309F115F6, 0x4605460A438C4C46,
-0xAC8AAC092645A5AC, 0x891E893C970FB589, 0x145014A04428B414, 0xE1A3E15B42DFBAE1,
-0x165816B04E2CA616, 0x3AE83ACDD274F73A, 0x69B9696FD0D20669, 0x092409482D124109,
-0x70DD70A7ADE0D770, 0xB6E2B6D954716FB6, 0xD067D0CEB7BD1ED0, 0xED93ED3B7EC7D6ED,
-0xCC17CC2EDB85E2CC, 0x4215422A57846842, 0x985A98B4C22D2C98, 0xA4AAA4490E55EDA4,
-0x28A0285D88507528, 0x5C6D5CDA31B8865C, 0xF8C7F8933FED6BF8, 0x86228644A411C286 
};
+0x186018C07830D818ull, 0x238C2305AF462623ull, 0xC63FC67EF991B8C6ull, 
0xE887E8136FCDFBE8ull,
+0x8726874CA113CB87ull, 0xB8DAB8A9626D11B8ull, 0x0104010805020901ull, 
0x4F214F426E9E0D4Full,
+0x36D836ADEE6C9B36ull, 0xA6A2A6590451FFA6ull, 0xD26FD2DEBDB90CD2ull, 
0xF5F3F5FB06F70EF5ull,
+0x79F979EF80F29679ull, 0x6FA16F5FCEDE306Full, 0x917E91FCEF3F6D91ull, 
0x525552AA07A4F852ull,
+0x609D6027FDC04760ull, 0xBCCABC89766535BCull, 0x9B569BACCD2B379Bull, 
0x8E028E048C018A8Eull,
+0xA3B6A371155BD2A3ull, 0x0C300C603C186C0Cull, 0x7BF17BFF8AF6847Bull, 
0x35D435B5E16A8035ull,
+0x1D741DE8693AF51Dull, 0xE0A7E05347DDB3E0ull, 0xD77BD7F6ACB321D7ull, 
0xC22FC25EED999CC2ull,
+0x2EB82E6D965C432Eull, 0x4B314B627A96294Bull, 0xFEDFFEA321E15DFEull, 
0x5741578216AED557ull,
+0x155415A8412ABD15ull, 0x77C1779FB6EEE877ull, 0x37DC37A5EB6E9237ull, 
0xE5B3E57B56D79EE5ull,
+0x9F469F8CD923139Full, 0xF0E7F0D317FD23F0ull, 0x4A354A6A7F94204Aull, 
0xDA4FDA9E95A944DAull,
+0x587D58FA25B0A258ull, 0xC903C906CA8FCFC9ull, 0x29A429558D527C29ull, 
0x0A280A5022145A0Aull,
+0xB1FEB1E14F7F50B1ull, 0xA0BAA0691A5DC9A0ull, 0x6BB16B7FDAD6146Bull, 
0x852E855CAB17D985ull,
+0xBDCEBD8173673CBDull, 0x5D695DD234BA8F5Dull, 0x1040108050209010ull, 
0xF4F7F4F303F507F4ull,
+0xCB0BCB16C08BDDCBull, 0x3EF83EEDC67CD33Eull, 0x05140528110A2D05ull, 
0x6781671FE6CE7867ull,
+0xE4B7E47353D597E4ull, 0x279C2725BB4E0227ull, 0x4119413258827341ull, 
0x8B168B2C9D0BA78Bull,
+0xA7A6A7510153F6A7ull, 0x7DE97DCF94FAB27Dull, 0x956E95DCFB374995ull, 
0xD847D88E9FAD56D8ull,
+0xFBCBFB8B30EB70FBull, 0xEE9FEE2371C1CDEEull, 0x7CED7CC791F8BB7Cull, 
0x66856617E3CC7166ull,
+0xDD53DDA68EA77BDDull, 0x175C17B84B2EAF17ull, 0x47014702468E4547ull, 
0x9E429E84DC211A9Eull,
+0xCA0FCA1EC589D4CAull, 0x2DB42D75995A582Dull, 0xBFC6BF9179632EBFull, 
0x071C07381B0E3F07ull,
+0xAD8EAD012347ACADull, 0x5A755AEA2FB4B05Aull, 0x8336836CB51BEF83ull, 
0x33CC3385FF66B633ull,
+0x6391633FF2C65C63ull, 0x020802100A041202ull, 0xAA92AA39384993AAull, 
0x71D971AFA8E2DE71ull,
+0xC807C80ECF8DC6C8ull, 0x196419C87D32D119ull, 0x4939497270923B49ull, 
0xD943D9869AAF5FD9ull,
+0xF2EFF2C31DF931F2ull, 0xE3ABE34B48DBA8E3ull, 0x5B715BE22AB6B95Bull, 
0x881A8834920DBC88ull,
+0x9A529AA4C8293E9Aull, 0x2698262DBE4C0B26ull, 0x32C8328DFA64BF32ull, 
0xB0FAB0E94A7D59B0ull,
+0xE983E91B6ACFF2E9ull, 0x0F3C0F78331E770Full, 0xD573D5E6A6B733D5ull, 
0x803A8074BA1DF480ull,
+0xBEC2BE997C6127BEull, 0xCD13CD26DE87EBCDull, 0x34D034BDE4688934ull, 
0x483D487A75903248ull,
+0xFFDBFFAB24E354FFull, 0x7AF57AF78FF48D7Aull, 0x907A90F4EA3D6490ull, 
0x5F615FC23EBE9D5Full,
+0x2080201DA0403D20ull, 0x68BD6867D5D00F68ull, 0x1A681AD07234CA1Aull, 
0xAE82AE192C41B7AEull,
+0xB4EAB4C95E757DB4ull, 0x544D549A19A8CE54ull, 0x937693ECE53B7F93ull, 
0x2288220DAA442F22ull,
+0x648D6407E9C86364ull, 0xF1E3F1DB12FF2AF1ull, 0x73D173BFA2E6CC73ull, 
0x124812905A248212ull,
+0x401D403A5D807A40ull, 0x0820084028104808ull, 0xC32BC356E89B95C3ull, 
0xEC97EC337BC5DFECull,
+0xDB4BDB9690AB4DDBull, 0xA1BEA1611F5FC0A1ull, 0x8D0E8D1C8307918Dull, 
0x3DF43DF5C97AC83Dull,
+0x976697CCF1335B97ull, 0x0000000000000000ull, 0xCF1BCF36D483F9CFull, 
0x2BAC2B4587566E2Bull,
+0x76C57697B3ECE176ull, 0x82328264B019E682ull, 0xD67FD6FEA9B128D6ull, 
0x1B6C1BD87736C31Bull,
+0xB5EEB5C15B7774B5ull, 0xAF86AF112943BEAFull, 0x6AB56A77DFD41D6Aull, 
0x505D50BA0DA0EA50ull,
+0x450945124C8A5745ull, 0xF3EBF3CB18FB38F3ull, 0x30C0309DF060AD30ull, 
0xEF9BEF2B74C3C4EFull,
+0x3FFC3FE5C37EDA3Full, 0x554955921CAAC755ull, 0xA2B2A2791059DBA2ull, 
0xEA8FEA0365C9E9EAull,
+0x6589650FECCA6A65ull, 0xBAD2BAB9686903BAull, 0x2FBC2F65935E4A2Full, 
0xC027C04EE79D8EC0ull,
+0xDE5FDEBE81A160DEull, 0x1C701CE06C38FC1Cull, 0xFDD3FDBB2EE746FDull, 
0x4D294D52649A1F4Dull,
+0x927292E4E0397692ull, 0x75C9758FBCEAFA75ull, 0x061806301E0C3606ull, 
0x8A128A249809AE8Aull,
+0xB2F2B2F940794BB2ull, 0xE6BFE66359D185E6ull, 0x0E380E70361C7E0Eull, 
0x1F7C1FF8633EE71Full,
+0x62956237F7C45562ull, 0xD477D4EEA3B53AD4ull, 0xA89AA829324D81A8ull, 
0x966296C4F4315296ull,
+0xF9C3F99B3AEF62F9ull, 0xC533C566F697A3C5ull, 0x25942535B14A1025ull, 
0x597959F220B2AB59ull,
+0x842A8454AE15D084ull, 0x72D572B7A7E4C572ull, 0x39E439D5DD72EC39ull, 
0x4C2D4C5A6198164Cull,
+0x5E655ECA3BBC945Eull, 0x78FD78E785F09F78ull, 0x38E038DDD870E538ull, 
0x8C0A8C148605988Cull,
+0xD163D1C6B2BF17D1ull, 0xA5AEA5410B57E4A5ull, 0xE2AFE2434DD9A1E2ull, 
0x6199612FF8C24E61ull,
+0xB3F6B3F1457B42B3ull, 0x21842115A5423421ull, 0x9C4A9C94D625089Cull, 
0x1E781EF0663CEE1Eull,
+0x4311432252866143ull, 0xC73BC776FC93B1C7ull, 0xFCD7FCB32BE54FFCull, 
0x0410042014082404ull,
+0x515951B208A2E351ull, 0x995E99BCC72F2599ull, 0x6DA96D4FC4DA226Dull, 
0x0D340D68391A650Dull,
+0xFACFFA8335E979FAull, 0xDF5BDFB684A369DFull, 0x7EE57ED79BFCA97Eull, 
0x2490243DB4481924ull,
+0x3BEC3BC5D776FE3Bull, 0xAB96AB313D4B9AABull, 0xCE1FCE3ED181F0CEull, 
0x1144118855229911ull,
+0x8F068F0C8903838Full, 0x4E254E4A6B9C044Eull, 0xB7E6B7D1517366B7ull, 
0xEB8BEB0B60CBE0EBull,
+0x3CF03CFDCC78C13Cull, 0x813E817CBF1FFD81ull, 0x946A94D4FE354094ull, 
0xF7FBF7EB0CF31CF7ull,
+0xB9DEB9A1676F18B9ull, 0x134C13985F268B13ull, 0x2CB02C7D9C58512Cull, 
0xD36BD3D6B8BB05D3ull,
+0xE7BBE76B5CD38CE7ull, 0x6EA56E57CBDC396Eull, 0xC437C46EF395AAC4ull, 
0x030C03180F061B03ull,
+0x5645568A13ACDC56ull, 0x440D441A49885E44ull, 0x7FE17FDF9EFEA07Full, 
0xA99EA921374F88A9ull,
+0x2AA82A4D8254672Aull, 0xBBD6BBB16D6B0ABBull, 0xC123C146E29F87C1ull, 
0x535153A202A6F153ull,
+0xDC57DCAE8BA572DCull, 0x0B2C0B582716530Bull, 0x9D4E9D9CD327019Dull, 
0x6CAD6C47C1D82B6Cull,
+0x31C43195F562A431ull, 0x74CD7487B9E8F374ull, 0xF6FFF6E309F115F6ull, 
0x4605460A438C4C46ull,
+0xAC8AAC092645A5ACull, 0x891E893C970FB589ull, 0x145014A04428B414ull, 
0xE1A3E15B42DFBAE1ull,
+0x165816B04E2CA616ull, 0x3AE83ACDD274F73Aull, 0x69B9696FD0D20669ull, 
0x092409482D124109ull,
+0x70DD70A7ADE0D770ull, 0xB6E2B6D954716FB6ull, 0xD067D0CEB7BD1ED0ull, 
0xED93ED3B7EC7D6EDull,
+0xCC17CC2EDB85E2CCull, 0x4215422A57846842ull, 0x985A98B4C22D2C98ull, 
0xA4AAA4490E55EDA4ull,
+0x28A0285D88507528ull, 0x5C6D5CDA31B8865Cull, 0xF8C7F8933FED6BF8ull, 
0x86228644A411C286ull };
 
 }
============================================================
--- src/whrlpool.cpp    4a32aea5d26b0f68b4871144deb63c7c4ca59732
+++ src/whrlpool.cpp    945c451a7883a236ddd7c3d70767b36892487ccc
@@ -14,11 +14,11 @@ void Whirlpool::hash(const byte in[])
 void Whirlpool::hash(const byte in[])
    {
    static const u64bit RC[10] = {
-      0x1823C6E887B8014F, 0x36A6D2F5796F9152,
-      0x60BC9B8EA30C7B35, 0x1DE0D7C22E4BFE57,
-      0x157737E59FF04ADA, 0x58C9290AB1A06B85,
-      0xBD5D10F4CB3E0567, 0xE427418BA77D95D8,
-      0xFBEE7C66DD17479E, 0xCA2DBF07AD5A8333
+      0x1823C6E887B8014Full, 0x36A6D2F5796F9152ull,
+      0x60BC9B8EA30C7B35ull, 0x1DE0D7C22E4BFE57ull,
+      0x157737E59FF04ADAull, 0x58C9290AB1A06B85ull,
+      0xBD5D10F4CB3E0567ull, 0xE427418BA77D95D8ull,
+      0xFBEE7C66DD17479Eull, 0xCA2DBF07AD5A8333ull
    };
 
    for(u32bit j = 0; j != 8; ++j)
[pubkey address@hidden
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl2JfTQQSnq4T/ABP39Vb8+N2j5tmU/e5E
Lt9ipl4HxVtzeEZmc2ICosDcF5fAqpPSTy9zb8f3vXjbr9GPjKADKfqVFEqcYlCus+trgT1p
cxregk65qzd61S2ae4yUQP+PwcCWKFFp3785ByOGmEftsYjYxQQig4l+INMj3IXc8QIDAQAB
[end]

reply via email to

[Prev in Thread] Current Thread [Next in Thread]