Included picnic directly (vs. as cmake-built 3rd party lib).

Now uses OQS's rand; modified to avoid pedantic warnning; modified build and CI scripts.
This commit is contained in:
Christian Paquin 2018-02-15 20:07:23 -05:00
parent d50ce6fd91
commit baabaf7772
21 changed files with 532 additions and 519 deletions

View File

@ -52,8 +52,6 @@ fi
if [[ ${ENABLE_SIG_PICNIC} == 0 ]];then
enable_disable_str+=" --disable-sig-picnic"
else
cd src/sig_picnic;sh ./build_picnic.sh;cd ../..;
fi
if [[ ${ENABLE_KEX_RLWE_NEWHOPE_AVX2} == 1 ]];then

View File

@ -19,7 +19,6 @@ matrix:
- ubuntu-toolchain-r-test
before_install:
- sh .travis/install-clang-format-linux.sh
- sh .travis/install_cmake3_8.sh
- os: linux
compiler: gcc
env:
@ -33,7 +32,6 @@ matrix:
- gcc-4.9
before_install:
- sh .travis/install-clang-format-linux.sh
- sh .travis/install_cmake3_8.sh
- os: linux
compiler: gcc
env: CC_OQS=gcc-5
@ -45,7 +43,6 @@ matrix:
- gcc-5
before_install:
- sh .travis/install-clang-format-linux.sh
- sh .travis/install_cmake3_8.sh
- os: linux
compiler: gcc
env:
@ -60,7 +57,6 @@ matrix:
- libssl-dev
before_install:
- sh .travis/install-clang-format-linux.sh
- sh .travis/install_cmake3_8.sh
- os: osx
compiler: clang
env:

View File

@ -1,10 +0,0 @@
#!/bin/sh
echo "Installing CMake 3.8 ..."
wget http://www.cmake.org/files/v3.8/cmake-3.8.0.tar.gz
tar zxf cmake-3.8.0.tar.gz
cd cmake-3.8.0
./configure > /dev/null 2>&1
make > /dev/null 2>&1
sudo make install > /dev/null 2>&1
echo "Done installing CMake 3.8"

View File

@ -43,15 +43,15 @@ Builds have been tested on Mac OS X 10.11.6, macOS 10.12.5, Ubuntu 16.04.1.
### Install dependencies for macOS
You need to install autoconf, automake, cmake, and libtool:
You need to install autoconf, automake, and libtool:
brew install autoconf automake cmake libtool
brew install autoconf automake libtool
### Install dependencies for Ubuntu
You need to install autoconf, automake, cmake, and libtool:
You need to install autoconf, automake, and libtool:
sudo apt install autoconf automake cmake libtool
sudo apt install autoconf automake libtool
### Building
@ -173,8 +173,6 @@ Building and running on Windows
Windows binaries can be generated using the Visual Studio solution in the VisualStudio folder. Builds have been tested on Windows 10.
CMake (https://cmake.org/download/) is required and must be installed before building the Visual Studio solution.
The supported schemes are defined in the projects' winconfig.h file.
McBits is disabled by default in the Visual Studio build; follow these steps to enable it:

View File

@ -66,7 +66,26 @@
<ClInclude Include="..\..\src\kex_sidh_msr\sha3\fips202.h" />
<ClInclude Include="..\..\src\kex_sidh_msr\windows_undef.h" />
<ClInclude Include="..\..\src\sig\sig.h" />
<ClInclude Include="..\..\src\sig_picnic\external\bitstream.h" />
<ClInclude Include="..\..\src\sig_picnic\external\compat.h" />
<ClInclude Include="..\..\src\sig_picnic\external\cpu.h" />
<ClInclude Include="..\..\src\sig_picnic\external\crypto_sign.h" />
<ClInclude Include="..\..\src\sig_picnic\external\endian_compat.h" />
<ClInclude Include="..\..\src\sig_picnic\external\io.h" />
<ClInclude Include="..\..\src\sig_picnic\external\kdf_shake.h" />
<ClInclude Include="..\..\src\sig_picnic\external\lowmc.h" />
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_128_128_20.h" />
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_192_192_30.h" />
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_256_256_38.h" />
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_pars.h" />
<ClInclude Include="..\..\src\sig_picnic\external\macros.h" />
<ClInclude Include="..\..\src\sig_picnic\external\mpc.h" />
<ClInclude Include="..\..\src\sig_picnic\external\mpc_lowmc.h" />
<ClInclude Include="..\..\src\sig_picnic\external\mzd_additional.h" />
<ClInclude Include="..\..\src\sig_picnic\external\picnic.h" />
<ClInclude Include="..\..\src\sig_picnic\external\picnic_impl.h" />
<ClInclude Include="..\..\src\sig_picnic\external\sha3\KeccakHash.h" />
<ClInclude Include="..\..\src\sig_picnic\external\sha3\KeccakSponge.h" />
<ClInclude Include="..\..\src\sig_picnic\sig_picnic.h" />
<ClInclude Include="..\winconfig.h" />
</ItemGroup>
@ -99,6 +118,24 @@
<ClCompile Include="..\..\src\kex_sidh_msr\P751\P751.c" />
<ClCompile Include="..\..\src\kex_sidh_msr\sha3\fips202.c" />
<ClCompile Include="..\..\src\sig\sig.c" />
<ClCompile Include="..\..\src\sig_picnic\external\aligned_alloc.c" />
<ClCompile Include="..\..\src\sig_picnic\external\bitstream.c" />
<ClCompile Include="..\..\src\sig_picnic\external\cpu.c" />
<ClCompile Include="..\..\src\sig_picnic\external\io.c" />
<ClCompile Include="..\..\src\sig_picnic\external\kdf_shake.c" />
<ClCompile Include="..\..\src\sig_picnic\external\lowmc.c" />
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_128_128_20.c" />
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_192_192_30.c" />
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_256_256_38.c" />
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_pars.c" />
<ClCompile Include="..\..\src\sig_picnic\external\mpc.c" />
<ClCompile Include="..\..\src\sig_picnic\external\mpc_lowmc.c" />
<ClCompile Include="..\..\src\sig_picnic\external\mzd_additional.c" />
<ClCompile Include="..\..\src\sig_picnic\external\picnic.c" />
<ClCompile Include="..\..\src\sig_picnic\external\picnic_impl.c" />
<ClCompile Include="..\..\src\sig_picnic\external\sha3\KeccakHash.c" />
<ClCompile Include="..\..\src\sig_picnic\external\sha3\KeccakSponge.c" />
<ClCompile Include="..\..\src\sig_picnic\external\sha3\opt64\KeccakP-1600-opt64.c" />
<ClCompile Include="..\..\src\sig_picnic\sig_picnic.c" />
</ItemGroup>
<ItemGroup>
@ -210,16 +247,16 @@
<IntDir>$(Platform)\$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;</LibraryPath>
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;</LibraryPath>
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;</LibraryPath>
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\;</LibraryPath>
<LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64;</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@ -227,9 +264,9 @@
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
</ClCompile>
<Link>
@ -265,9 +302,9 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
@ -304,9 +341,9 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;PICNIC_STATIC;PICNIC_STATIC_DEFINE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
@ -334,16 +371,12 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cd "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\"
msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln"</Command>
</Command>
</PreBuildEvent>
<Lib>
<AdditionalOptions>/ignore:4006 %(AdditionalOptions)</AdditionalOptions>
</Lib>
<PostBuildEvent>
<Command>lib /out:"$(OutDir)oqs.lib" "$(OutDir)oqs.lib" "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\libpicnic_static.lib"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDLL|x64'">
@ -352,16 +385,16 @@ msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\e
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>inline=__inline;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
<Link>
<SubSystem>Windows</SubSystem>
<ModuleDefinitionFile>dll.def</ModuleDefinitionFile>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libpicnic.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PreBuildEvent>
<Command>mkdir "$(SolutionDir)include\oqs"
@ -384,10 +417,7 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cd "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\"
msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln"</Command>
</Command>
</PreBuildEvent>
<Lib>
<AdditionalOptions>/ignore:4006 %(AdditionalOptions)</AdditionalOptions>
@ -401,9 +431,9 @@ msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\e
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
</ClCompile>
<Link>
@ -432,7 +462,7 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
</Command>
</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|Win32'">
@ -443,9 +473,9 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;AES_DISABLE_NI;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
</ClCompile>
<Link>
@ -475,7 +505,7 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
</Command>
</Command>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
@ -486,9 +516,9 @@ copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;PICNIC_STATIC;PICNIC_STATIC_DEFINE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
@ -518,16 +548,12 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cd "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\"
msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln"</Command>
</Command>
</PreBuildEvent>
<Lib>
<AdditionalOptions>/ignore:4006 %(AdditionalOptions)</AdditionalOptions>
</Lib>
<PostBuildEvent>
<Command>lib /out:"$(OutDir)oqs.lib" "$(OutDir)oqs.lib" "$(SolutionDir)..\src\sig_picnic\external\msbuild\Release\libpicnic_static.lib"</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseDLL|x64'">
@ -538,9 +564,9 @@ msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\e
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>inline=__inline;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>inline=__inline;WITH_LOWMC_128_128_20;WITH_LOWMC_192_192_30;WITH_LOWMC_256_256_38;WITH_OPT;WITH_SSE2;WITH_SSE4_1;WITH_AVX2;MUL_M4RI;REDUCED_LINEAR_LAYER;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;DISABLE_NTRU_ON_WINDOWS_BY_DEFAULT;OQS_RAND_DEFAULT_URANDOM_CHACHA20;OQS_KEX_DEFAULT_BCNS15;CONSTANT_TIME;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>false</SDLCheck>
<AdditionalIncludeDirectories>$(SolutionDir)include</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(SolutionDir)include;$(SolutionDir)..\src\sig_picnic\external\;$(SolutionDir)..\src\sig_picnic\external\sha3\;$(SolutionDir)..\src\sig_picnic\external\sha3\opt64\</AdditionalIncludeDirectories>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<TreatWarningAsError>false</TreatWarningAsError>
</ClCompile>
@ -549,7 +575,7 @@ msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\e
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<ModuleDefinitionFile>dll.def</ModuleDefinitionFile>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libpicnic.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<PreBuildEvent>
<Command>mkdir "$(SolutionDir)include\oqs"
@ -572,10 +598,7 @@ copy "$(SolutionDir)..\src\kex_ntru\kex_ntru.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\kex_sidh_msr\kex_sidh_msr.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig\sig.h" "$(SolutionDir)include\oqs\"
copy "$(SolutionDir)..\src\sig_picnic\sig_picnic.h" "$(SolutionDir)include\oqs\"
mkdir "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cd "$(SolutionDir)..\src\sig_picnic\external\msbuild"
cmake -G "Visual Studio 15 2017 Win64" "$(SolutionDir)..\src\sig_picnic\external\"
msbuild /p:Configuration=Release;Platform=x64 "$(SolutionDir)..\src\sig_picnic\external\msbuild\picnic.sln"</Command>
</Command>
</PreBuildEvent>
<Lib>
<AdditionalOptions>/ignore:4006 %(AdditionalOptions)</AdditionalOptions>

View File

@ -88,6 +88,60 @@
<ClCompile Include="..\..\src\kex_sidh_msr\sha3\fips202.c">
<Filter>KEX_SIDH_MSR</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\aligned_alloc.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\bitstream.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\cpu.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\io.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\kdf_shake.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\lowmc.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_128_128_20.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_192_192_30.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_256_256_38.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\lowmc_pars.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\mpc.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\mpc_lowmc.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\mzd_additional.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\picnic.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\picnic_impl.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\sha3\KeccakHash.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\sha3\KeccakSponge.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sig_picnic\external\sha3\opt64\KeccakP-1600-opt64.c">
<Filter>Sig_Picnic</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\kex_lwe_frodo\kex_lwe_frodo.h">
@ -190,6 +244,63 @@
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="..\winconfig.h" />
<ClInclude Include="..\..\src\sig_picnic\external\bitstream.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\compat.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\cpu.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\crypto_sign.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\endian_compat.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\io.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\kdf_shake.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\lowmc.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_128_128_20.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_192_192_30.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_256_256_38.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\lowmc_pars.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\macros.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\mpc.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\mpc_lowmc.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\mzd_additional.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\picnic_impl.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\sha3\KeccakHash.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
<ClInclude Include="..\..\src\sig_picnic\external\sha3\KeccakSponge.h">
<Filter>Sig_Picnic</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="Common">

View File

@ -226,10 +226,7 @@ SRCDIR=${SRCDIR}" src/sig"
if test x"$sig_picnic" = x"true"; then
SRCDIR=${SRCDIR}" src/sig_picnic"
AM_CPPFLAGS=${AM_CPPFLAGS}" -DENABLE_SIG_PICNIC"
AC_CONFIG_COMMANDS_POST([echo Building Picnic library])
AC_CONFIG_COMMANDS_POST([cd src/sig_picnic])
AC_CONFIG_COMMANDS_POST([./build_picnic.sh])
AC_CONFIG_COMMANDS_POST([cd ../..])
AC_DEFINE(ENABLE_SIG_PICNIC, 1, "Define to 1 when PICNIC enabled")
fi
# Flags

View File

@ -1,6 +1,8 @@
AUTOMAKE_OPTIONS = foreign
noinst_LTLIBRARIES = libpicnic_i.la
libpicnic_i_la_SOURCES = sig_picnic.c
libpicnic_i_la_CPPFLAGS = -march=native -I../../include -Iexternal -Iexternal/build
libpicnic_i_la_SOURCES = sig_picnic.c external/aligned_alloc.c external/bitstream.c external/cpu.c external/io.c external/kdf_shake.c external/lowmc.c external/lowmc_pars.c external/lowmc_128_128_20.c external/lowmc_192_192_30.c external/lowmc_256_256_38.c external/mpc.c external/mpc_lowmc.c external/mzd_additional.c external/picnic.c external/picnic_impl.c external/sha3/KeccakHash.c external/sha3/KeccakSponge.c external/sha3/opt64/KeccakP-1600-opt64.c
# TODO: enable the other picnic flags? See external/README.md
libpicnic_i_la_CPPFLAGS = -fPIC -march=native -I../../include -Iexternal -Iexternal/sha3 -Iexternal/sha3/opt64 -DMUL_M4RI -DREDUCED_LINEAR_LAYER -DHAVE_ALIGNED_ALLOC -DHAVE_POSIX_MEMALIGN -DWITH_LOWMC_128_128_20 -DWITH_LOWMC_192_192_30 -DWITH_LOWMC_256_256_38 -DWITH_OPT -DWITH_SSE2 -DWITH_SSE4_1
libpicnic_i_la_CPPFLAGS += $(AM_CPPFLAGS)

View File

@ -1,8 +0,0 @@
#!/bin/bash
mkdir -p external/build
cd external/build
# make picnic
cmake -UWITH_LTO -DWITH_LTO:BOOL=OFF ..
make

View File

@ -6,7 +6,14 @@
#include "lowmc_128_128_20.h"
static const mzd_local_t L_128_128_20_0 = { 128, 128, 2, 2, { 0 }, {
/* The GCC_EXT macro is to prevent a warning from the pedantic flag */
#if defined(_WIN32)
#define GCC_EXT
#else
#define GCC_EXT __extension__
#endif
GCC_EXT static const mzd_local_t L_128_128_20_0 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xde3547d35d776373), UINT64_C(0x7b6ec5825f32786d),
UINT64_C(0xa1bf2597d8732f36), UINT64_C(0x7e52b8560916d23a),
UINT64_C(0xf72e3cc9bdb8a5c0), UINT64_C(0xe4aaae0160b2b5e0),
@ -137,7 +144,7 @@ static const mzd_local_t L_128_128_20_0 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xf43a4253f3c3fd59), UINT64_C(0x7cdacbe067e296da),
}};
static const mzd_local_t L_128_128_20_1 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_1 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x21b3a1c46e48a328), UINT64_C(0x01c316793b2b7d67),
UINT64_C(0x7a3b61b10b91fd11), UINT64_C(0x9aa9fb13bbcf104d),
UINT64_C(0x59069bd39e126650), UINT64_C(0x4b4f8ec667b4198a),
@ -268,7 +275,7 @@ static const mzd_local_t L_128_128_20_1 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x4d95a6a8a1609f3d), UINT64_C(0x11c18ffc05c5687e),
}};
static const mzd_local_t L_128_128_20_2 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_2 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xd5d1bd1a15015242), UINT64_C(0xdd2f8c435feb822a),
UINT64_C(0x93d275c3b0f36de0), UINT64_C(0x4789356426dd4209),
UINT64_C(0xf7a89f938342d90c), UINT64_C(0x9768f14467164881),
@ -399,7 +406,7 @@ static const mzd_local_t L_128_128_20_2 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xa582cdc21d3ea764), UINT64_C(0xb6913b42382635f3),
}};
static const mzd_local_t L_128_128_20_3 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_3 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x66d8eff0cf1df924), UINT64_C(0x46dce135c250e1a2),
UINT64_C(0x05c22ccc74636d46), UINT64_C(0x1c06a1fe8448e243),
UINT64_C(0xcd7067f9dbf1ef70), UINT64_C(0x4b89f7f8e18a342d),
@ -530,7 +537,7 @@ static const mzd_local_t L_128_128_20_3 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x5a0be1e3d31e7021), UINT64_C(0x626e4cea81d6db74),
}};
static const mzd_local_t L_128_128_20_4 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_4 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xf30e7d1c82d94a98), UINT64_C(0x79077e2ccc57508c),
UINT64_C(0x020f19051e2f586d), UINT64_C(0x6d5226589f1bc780),
UINT64_C(0x0513dae08bf040d0), UINT64_C(0x98ab122b422caa10),
@ -661,7 +668,7 @@ static const mzd_local_t L_128_128_20_4 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x3667468ed996c441), UINT64_C(0xce4612ffa027ee75),
}};
static const mzd_local_t L_128_128_20_5 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_5 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x80f9f5cb3bd2b6ff), UINT64_C(0x0c79dc219d51f29e),
UINT64_C(0xd3da1f610332842b), UINT64_C(0xb9a2725376b3c2d7),
UINT64_C(0x6313d8af383a5f08), UINT64_C(0x59e71d36a006616f),
@ -792,7 +799,7 @@ static const mzd_local_t L_128_128_20_5 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xe39dd0b0856b5eba), UINT64_C(0x676722bb3fab6c28),
}};
static const mzd_local_t L_128_128_20_6 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_6 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x66fa78de21fdbb6f), UINT64_C(0xf35d670df356b976),
UINT64_C(0x927ad2cf75afd588), UINT64_C(0x2425b523a36b63bf),
UINT64_C(0xed0d4c421b44be3d), UINT64_C(0x893576b7f17649a2),
@ -923,7 +930,7 @@ static const mzd_local_t L_128_128_20_6 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x58810e1c31237c37), UINT64_C(0xd11609a147979378),
}};
static const mzd_local_t L_128_128_20_7 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_7 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xd8efc1f6ca1e5296), UINT64_C(0x051c94c2d993306c),
UINT64_C(0xb983f4f437dd3ce7), UINT64_C(0x25d290d11db6a42b),
UINT64_C(0x083dea17fe5af57c), UINT64_C(0x83eda818e40b8cce),
@ -1054,7 +1061,7 @@ static const mzd_local_t L_128_128_20_7 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xe1a8b6ec4859ccd4), UINT64_C(0x69a00cc7e3cc0fb7),
}};
static const mzd_local_t L_128_128_20_8 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_8 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x0d07edb58fc35569), UINT64_C(0x76f7d5ff22f29adb),
UINT64_C(0x93162fcfe260da7b), UINT64_C(0x965053a2a35ffb16),
UINT64_C(0x7864e4125fb6592c), UINT64_C(0x763b32d1d67b1df3),
@ -1185,7 +1192,7 @@ static const mzd_local_t L_128_128_20_8 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xe8868be592eaef97), UINT64_C(0x29ec962cb52d1c72),
}};
static const mzd_local_t L_128_128_20_9 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_9 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x021ba01c87a3a119), UINT64_C(0xeb208d5d6adba04e),
UINT64_C(0x5da14401b3a65c02), UINT64_C(0x0060ed2146ca3756),
UINT64_C(0x67e9fdfd65d2416b), UINT64_C(0xb0b7ce3ebcb1dfa0),
@ -1316,7 +1323,7 @@ static const mzd_local_t L_128_128_20_9 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x6d624b4d8ec7c548), UINT64_C(0x7eabe70ad49ed633),
}};
static const mzd_local_t L_128_128_20_10 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_10 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x48a1fd2dc36799f9), UINT64_C(0xe55ef5d130c15d83),
UINT64_C(0xc6be807aefe52864), UINT64_C(0x01f1749c64c57866),
UINT64_C(0xf0ce17f1250ee961), UINT64_C(0x3028fe3689131029),
@ -1447,7 +1454,7 @@ static const mzd_local_t L_128_128_20_10 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x05f8943225073a24), UINT64_C(0xd598f3580d8e8ebd),
}};
static const mzd_local_t L_128_128_20_11 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_11 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xe9c618ad81cec0fe), UINT64_C(0xf69f43aac68a42d2),
UINT64_C(0x9945e6ec6e5ba4ca), UINT64_C(0x16df65607eb76740),
UINT64_C(0xa8e7b58c27f7bec0), UINT64_C(0x0b2bf9cb423329b5),
@ -1578,7 +1585,7 @@ static const mzd_local_t L_128_128_20_11 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x664b889ff9582afb), UINT64_C(0x0949f529795da267),
}};
static const mzd_local_t L_128_128_20_12 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_12 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x729935f2bff09648), UINT64_C(0x0ee43dab6827b77a),
UINT64_C(0xafbbc06360765ba2), UINT64_C(0xc9b3237e5f435b73),
UINT64_C(0xb60b5cd59df2d833), UINT64_C(0xccf042fc2c9dae79),
@ -1709,7 +1716,7 @@ static const mzd_local_t L_128_128_20_12 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x80425b5c638ebad2), UINT64_C(0xa78861812360c8d8),
}};
static const mzd_local_t L_128_128_20_13 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_13 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x4ee286722a63dd7c), UINT64_C(0xca2e5c2b936fc504),
UINT64_C(0x7acf6bb18a16b1d7), UINT64_C(0x9db48267d55c4198),
UINT64_C(0x1cf6c14f7ccdb3cc), UINT64_C(0xf5509b77f6ca6fca),
@ -1840,7 +1847,7 @@ static const mzd_local_t L_128_128_20_13 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xe2c605ddcc0f4811), UINT64_C(0xb21917a5320d8f96),
}};
static const mzd_local_t L_128_128_20_14 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_14 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xef49e8994e6bce23), UINT64_C(0x5eda7a68454b46e0),
UINT64_C(0xdba8c9962ffe7bb2), UINT64_C(0x72d0e4c871166a32),
UINT64_C(0xfe636470fd543c32), UINT64_C(0x5489154c34e11b94),
@ -1971,7 +1978,7 @@ static const mzd_local_t L_128_128_20_14 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x4b7089360debad77), UINT64_C(0x21e392d3347f5016),
}};
static const mzd_local_t L_128_128_20_15 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_15 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x98fddb30e5cb9038), UINT64_C(0xe303b3cd7a65923b),
UINT64_C(0x586bb4231c40673d), UINT64_C(0xcf7ebc923a9b7131),
UINT64_C(0x560c8741f6fdf054), UINT64_C(0xace36e0c2bf83c46),
@ -2102,7 +2109,7 @@ static const mzd_local_t L_128_128_20_15 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x276e9aa3ad29fd2b), UINT64_C(0xb0ad99098f7f2270),
}};
static const mzd_local_t L_128_128_20_16 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_16 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x33c7edf6f1b4446c), UINT64_C(0x3ac0d509ddb2efb4),
UINT64_C(0xd1786ea519de10b6), UINT64_C(0xea9518db6a003325),
UINT64_C(0x73b951265316fb35), UINT64_C(0x715d046b24c3c3fb),
@ -2233,7 +2240,7 @@ static const mzd_local_t L_128_128_20_16 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xa064ab5ad44e507f), UINT64_C(0x544b4fb2ea261fc7),
}};
static const mzd_local_t L_128_128_20_17 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_17 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xbfc221f0dd573805), UINT64_C(0x1f8dca4176fb73ea),
UINT64_C(0x02aa6988e669953b), UINT64_C(0x04964ee0c47b98aa),
UINT64_C(0x02ac68bb231a7067), UINT64_C(0x230846f006aa1a90),
@ -2364,7 +2371,7 @@ static const mzd_local_t L_128_128_20_17 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xd20ae97e6d8b8f1b), UINT64_C(0x6130a1d8b1bdbb1b),
}};
static const mzd_local_t L_128_128_20_18 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_18 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x00d9e44c7053f87c), UINT64_C(0xb98ab179c9fdbebb),
UINT64_C(0x9f2fcaebf6ace40a), UINT64_C(0xedb0eeaaeb993d64),
UINT64_C(0x7665217aa484da84), UINT64_C(0xb9a554c5d5d96c9f),
@ -2495,7 +2502,7 @@ static const mzd_local_t L_128_128_20_18 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x5e2af266d60e6d4c), UINT64_C(0xd9d99ede23a399ca),
}};
static const mzd_local_t L_128_128_20_19 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t L_128_128_20_19 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xb3e3e0d606d92ada), UINT64_C(0xe3bb242edd66ad8e),
UINT64_C(0x2c282a054b19ee2a), UINT64_C(0x28d9ff97414d30be),
UINT64_C(0xe41db7123482ca22), UINT64_C(0xd7087ddac6b5d1a0),
@ -2627,7 +2634,7 @@ static const mzd_local_t L_128_128_20_19 = { 128, 128, 2, 2, { 0 }, {
}};
#if !defined(REDUCED_LINEAR_LAYER)
static const mzd_local_t K_128_128_20_0 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_0 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xfc6e5633b1b14b6b), UINT64_C(0x76818985a86a01e2),
UINT64_C(0x0fb016685c4614be), UINT64_C(0xab372846fb6e0100),
UINT64_C(0x0f73306f3e2ac52f), UINT64_C(0xbab30ef81fb688fc),
@ -2758,7 +2765,7 @@ static const mzd_local_t K_128_128_20_0 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xfa15fa6a32fcaaa7), UINT64_C(0x2e42f81b55f8c96b),
}};
static const mzd_local_t K_128_128_20_1 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_1 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xf6f2fda07013db30), UINT64_C(0x084b3bb6fb95e14f),
UINT64_C(0xbe1cbb21c4d1e505), UINT64_C(0x2c6a77d8604ccc4e),
UINT64_C(0x712f6264a2c85436), UINT64_C(0xdd77318ff3263f00),
@ -2889,7 +2896,7 @@ static const mzd_local_t K_128_128_20_1 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x07bd438c8d494610), UINT64_C(0x4f5042a5f8e17d48),
}};
static const mzd_local_t K_128_128_20_2 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_2 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xb0cb4b10806533ad), UINT64_C(0x360752761f687343),
UINT64_C(0xe226d03f0c89c109), UINT64_C(0x7c021b086de1bb79),
UINT64_C(0xe0bc98a58dc2deb3), UINT64_C(0x990ab16158b8d111),
@ -3020,7 +3027,7 @@ static const mzd_local_t K_128_128_20_2 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x17867468a677149b), UINT64_C(0x3a2558d419c3b77d),
}};
static const mzd_local_t K_128_128_20_3 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_3 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x923854c060dee9d4), UINT64_C(0xf875733d270d07f7),
UINT64_C(0xe33f56494921a9ba), UINT64_C(0x96deecc8de70b770),
UINT64_C(0x46aeaf688ac48fef), UINT64_C(0xb21d1aca2847667c),
@ -3151,7 +3158,7 @@ static const mzd_local_t K_128_128_20_3 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x9bab4c12c99c3cb3), UINT64_C(0x5838b6f5b8a1bdd9),
}};
static const mzd_local_t K_128_128_20_4 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_4 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x616238d8159d90af), UINT64_C(0x608c33242646aed3),
UINT64_C(0x1e66899faf8567b9), UINT64_C(0xfd535b638940037b),
UINT64_C(0x71adf9e13c08c004), UINT64_C(0x2b16248906cad908),
@ -3282,7 +3289,7 @@ static const mzd_local_t K_128_128_20_4 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x7f26584b4ce7e7b9), UINT64_C(0xaaee3353e3947079),
}};
static const mzd_local_t K_128_128_20_5 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_5 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xf02eca7f77344754), UINT64_C(0x3dd13b9202c36309),
UINT64_C(0x4ac8eb8d5311eb40), UINT64_C(0x6a11f7d565ceeb82),
UINT64_C(0x95b9976bb69b9e9a), UINT64_C(0xb50e9b7e70f9f260),
@ -3413,7 +3420,7 @@ static const mzd_local_t K_128_128_20_5 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xe10522e1d13fa7f7), UINT64_C(0xfa13c5926edfc95e),
}};
static const mzd_local_t K_128_128_20_6 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_6 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x93713a8ce1a2fd5c), UINT64_C(0x19c334b384c60207),
UINT64_C(0x4a68de1eaad2bc01), UINT64_C(0x5c607d4da7059171),
UINT64_C(0x56f53f9cdc6b296b), UINT64_C(0x580bf3b687eb9cde),
@ -3544,7 +3551,7 @@ static const mzd_local_t K_128_128_20_6 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x5214886730aba192), UINT64_C(0x3f6bbc3ecdea1ab7),
}};
static const mzd_local_t K_128_128_20_7 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_7 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x2cd810c94f7cdb49), UINT64_C(0xe3ebf3503868217d),
UINT64_C(0x2be4a69c22173e2c), UINT64_C(0x2bdf5710cbbd00cc),
UINT64_C(0xe9655a74c663f692), UINT64_C(0xe16e99ca7f5143ac),
@ -3675,7 +3682,7 @@ static const mzd_local_t K_128_128_20_7 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xc0577af0d46d01bc), UINT64_C(0xd2356b5babd02bf6),
}};
static const mzd_local_t K_128_128_20_8 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_8 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x71e2edad322f534c), UINT64_C(0xb590fa9a49263d02),
UINT64_C(0x976827ac89a9eeb1), UINT64_C(0xbce0bc49eb826da7),
UINT64_C(0x25c1bb7a7076ab4c), UINT64_C(0x4500b1f77d242614),
@ -3806,7 +3813,7 @@ static const mzd_local_t K_128_128_20_8 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x4fbea9ba857171d6), UINT64_C(0xb8fadddd1c35e8c3),
}};
static const mzd_local_t K_128_128_20_9 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_9 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xb16908851d359a9b), UINT64_C(0x758df6ff439a3d4b),
UINT64_C(0x5b0905255b9eac62), UINT64_C(0xc172d16dd93f3a7d),
UINT64_C(0x3bfc42e8c1daaebf), UINT64_C(0xa363ac8b525cb596),
@ -3937,7 +3944,7 @@ static const mzd_local_t K_128_128_20_9 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xfb84a1a85e5e2716), UINT64_C(0x68a85826dc14f77a),
}};
static const mzd_local_t K_128_128_20_10 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_10 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x8a77b375ec2f2748), UINT64_C(0xeb6b6e8c276fff92),
UINT64_C(0x8fcefd58b5413227), UINT64_C(0x31cceb6cb9e52ee2),
UINT64_C(0xcc7d262fa006424f), UINT64_C(0x04a96181f92582d4),
@ -4068,7 +4075,7 @@ static const mzd_local_t K_128_128_20_10 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x6c2ad338ce69e82a), UINT64_C(0x22801bed07ad21df),
}};
static const mzd_local_t K_128_128_20_11 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_11 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x75c308a1b05badc3), UINT64_C(0xc9faf54cfbe196d8),
UINT64_C(0xe12fa3909779016b), UINT64_C(0xaf7ecdffd5b1e030),
UINT64_C(0x8ffeddf6f3b3c6dd), UINT64_C(0xc29c566a2ad11677),
@ -4199,7 +4206,7 @@ static const mzd_local_t K_128_128_20_11 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xf8cd220fce341c5d), UINT64_C(0xcf734df406769425),
}};
static const mzd_local_t K_128_128_20_12 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_12 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x454b866a93f04a78), UINT64_C(0x91114c4759cc5b81),
UINT64_C(0xe63ab0619612dcc2), UINT64_C(0xdeb7cf8a8173857a),
UINT64_C(0xa6a84e129e430c5f), UINT64_C(0x65ea3e81a3e27bf8),
@ -4330,7 +4337,7 @@ static const mzd_local_t K_128_128_20_12 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xb4d7f1ceb15a85d3), UINT64_C(0x680b244aa01ea220),
}};
static const mzd_local_t K_128_128_20_13 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_13 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x7b6971a1214c2b44), UINT64_C(0xab117f26d3037707),
UINT64_C(0x97dd02dde6fe345b), UINT64_C(0x6c32ad53962ef6ce),
UINT64_C(0x52c8e1c0dc344c56), UINT64_C(0x37b10feb2d0131c2),
@ -4461,7 +4468,7 @@ static const mzd_local_t K_128_128_20_13 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x0eb1b3d4848d495d), UINT64_C(0x41624b9efdb86aee),
}};
static const mzd_local_t K_128_128_20_14 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_14 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x81f315a97e148f7a), UINT64_C(0xb25c726e74429046),
UINT64_C(0x59d7a72298943fa6), UINT64_C(0x8d8c1bc68e3c91af),
UINT64_C(0xfd9df160d26e7c66), UINT64_C(0x6fa0ca60af3a2b65),
@ -4592,7 +4599,7 @@ static const mzd_local_t K_128_128_20_14 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x102aed0209e08fc9), UINT64_C(0x98c501a244d15b1d),
}};
static const mzd_local_t K_128_128_20_15 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_15 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x3f496cdabdfc013e), UINT64_C(0x11030f752917225f),
UINT64_C(0x1a39a4cc364eee62), UINT64_C(0x1c415e4a2d46c430),
UINT64_C(0x46bb557dc0d119b2), UINT64_C(0xbca3de3eca3f6fd1),
@ -4723,7 +4730,7 @@ static const mzd_local_t K_128_128_20_15 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x99f1ce5815f02150), UINT64_C(0xa28507afb25e89b5),
}};
static const mzd_local_t K_128_128_20_16 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_16 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x202b8e4850eed0d8), UINT64_C(0x5eed9c7c62a5ff8e),
UINT64_C(0xe12dfd60c1e70d32), UINT64_C(0xbf2e9af809df40c4),
UINT64_C(0x5b32f35fcebaf094), UINT64_C(0x095ecef0b6f92f90),
@ -4854,7 +4861,7 @@ static const mzd_local_t K_128_128_20_16 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xfff5b212eff4a860), UINT64_C(0x247ca765c40ce65b),
}};
static const mzd_local_t K_128_128_20_17 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_17 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x8970acb4f7f73185), UINT64_C(0x5a41ed5e4c0b8285),
UINT64_C(0x267e5c3132b1ede0), UINT64_C(0x7940146dec066c75),
UINT64_C(0x8eb467692cb4d8c2), UINT64_C(0x5bfcf7d09b28fe00),
@ -4985,7 +4992,7 @@ static const mzd_local_t K_128_128_20_17 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x72ab0e1f9a6559c2), UINT64_C(0x0753d2db3051ac2f),
}};
static const mzd_local_t K_128_128_20_18 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_18 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xc490a55a6f86e8be), UINT64_C(0x832e942367808289),
UINT64_C(0x3e085b69d9408a86), UINT64_C(0xd50722868fdf3ab1),
UINT64_C(0x2609d553b8285b2e), UINT64_C(0x810f45f3d80ad931),
@ -5116,7 +5123,7 @@ static const mzd_local_t K_128_128_20_18 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xd0e038258c634c61), UINT64_C(0xf8a9190265184265),
}};
static const mzd_local_t K_128_128_20_19 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_19 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x551f904c9d6d2917), UINT64_C(0x9e59a52c78851ab5),
UINT64_C(0x4b0b284e01613b6c), UINT64_C(0x256ce96da8eae1ca),
UINT64_C(0x7ae06fdb85a84e7f), UINT64_C(0x345b12d8ca731516),
@ -5247,7 +5254,7 @@ static const mzd_local_t K_128_128_20_19 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x0f38368763c2beb2), UINT64_C(0x63070b5cd19b9d11),
}};
static const mzd_local_t K_128_128_20_20 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t K_128_128_20_20 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0xd19ee0537a5188f1), UINT64_C(0x385aa601aa44f469),
UINT64_C(0x9956f02c187a93ca), UINT64_C(0x16e6655f7c461e1a),
UINT64_C(0xa1a2cec0bbc1be9d), UINT64_C(0xd324018faa7e20cb),
@ -5379,88 +5386,88 @@ static const mzd_local_t K_128_128_20_20 = { 128, 128, 2, 2, { 0 }, {
}};
#endif
static const mzd_local_t C_128_128_20_0 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_0 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x4070873bab23733b), UINT64_C(0x59040f95a862ef07),
}};
static const mzd_local_t C_128_128_20_1 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_1 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xfc9e64eed6d0b860), UINT64_C(0x2d01e35ba7798b0b),
}};
static const mzd_local_t C_128_128_20_2 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_2 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x469ade2665ed09c9), UINT64_C(0x9e1d7d81662171c1),
}};
static const mzd_local_t C_128_128_20_3 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_3 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xd57367d77f65776e), UINT64_C(0xe52b290cd4777fd1),
}};
static const mzd_local_t C_128_128_20_4 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_4 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x43e690e7db0794b3), UINT64_C(0xe736398e9dbc19aa),
}};
static const mzd_local_t C_128_128_20_5 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_5 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x5790e68e21a63443), UINT64_C(0xebd4295a40958c00),
}};
static const mzd_local_t C_128_128_20_6 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_6 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xd6a43e8b12a5f970), UINT64_C(0xbc926ff297ff38b7),
}};
static const mzd_local_t C_128_128_20_7 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_7 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xfd72831d77189159), UINT64_C(0x8aeaf21272172815),
}};
static const mzd_local_t C_128_128_20_8 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_8 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xc2e2b5739b72813e), UINT64_C(0x5246977e3d29c34c),
}};
static const mzd_local_t C_128_128_20_9 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_9 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x88cbeb2662b4e088), UINT64_C(0x008c852e93631bc6),
}};
static const mzd_local_t C_128_128_20_10 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_10 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x903864bfc5b4a497), UINT64_C(0x114c84d88bbd88c9),
}};
static const mzd_local_t C_128_128_20_11 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_11 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xc82dc0b34ca72c00), UINT64_C(0xb77e1861f8827d6d),
}};
static const mzd_local_t C_128_128_20_12 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_12 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xa15f67ff468f9e9c), UINT64_C(0x02d5b975bd3428b3),
}};
static const mzd_local_t C_128_128_20_13 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_13 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x99f13e1f346d0304), UINT64_C(0x4e7a7374cc63fe6c),
}};
static const mzd_local_t C_128_128_20_14 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_14 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x490ee16c7852d04c), UINT64_C(0xb41f0dece52390a5),
}};
static const mzd_local_t C_128_128_20_15 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_15 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xf6ee3eaa57265ad8), UINT64_C(0x2ada2f0a778fd874),
}};
static const mzd_local_t C_128_128_20_16 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_16 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xa371f5d894a21004), UINT64_C(0x0cdddf9097484762),
}};
static const mzd_local_t C_128_128_20_17 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_17 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xaa15b47962c277a9), UINT64_C(0x26d212246cd00ac8),
}};
static const mzd_local_t C_128_128_20_18 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_18 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0xe813787d61a1c30a), UINT64_C(0x1c2933d55e2300bf),
}};
static const mzd_local_t C_128_128_20_19 = { 1, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t C_128_128_20_19 = { 1, 128, 2, 2, { 0 }, {
UINT64_C(0x2678a63bf4f438b2), UINT64_C(0x7c778776bab589d1),
}};
#if defined(REDUCED_LINEAR_LAYER)
static const mzd_local_t precomputed_round_key_matrix_linear_part_128_128_20 = { 128, 128, 2, 2, { 0 }, {
GCC_EXT static const mzd_local_t precomputed_round_key_matrix_linear_part_128_128_20 = { 128, 128, 2, 2, { 0 }, {
UINT64_C(0x7f6e7b7adabc4318), UINT64_C(0x76818984b3248786),
UINT64_C(0x3a3cd67b6c4c501d), UINT64_C(0xab37284643366193),
UINT64_C(0x5c1db5cfccda9501), UINT64_C(0xbab30ef977432daa),
@ -5591,7 +5598,7 @@ static const mzd_local_t precomputed_round_key_matrix_linear_part_128_128_20 = {
UINT64_C(0x998d749e77deb823), UINT64_C(0x2e42f818624b95bf),
}};
static const mzd_local_t precomputed_round_key_matrix_non_linear_part_128_128_20 = { 128, 640, 10, 12, { 0 }, {
GCC_EXT static const mzd_local_t precomputed_round_key_matrix_non_linear_part_128_128_20 = { 128, 640, 10, 12, { 0 }, {
UINT64_C(0x01d9067a1067d3c3), UINT64_C(0x37280b69301c0e4c), UINT64_C(0x2b77688738074854), UINT64_C(0x238ef1f42ada6bab), UINT64_C(0x295399513f769231), UINT64_C(0x1462252d11ef29d4), UINT64_C(0x199a14fb138632ab), UINT64_C(0x3a9a7a4c3d1ab39a), UINT64_C(0x35804798281fbfba), UINT64_C(0x38f1410926ca6a1a), UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
UINT64_C(0x2ae660cb1030ec90), UINT64_C(0x26b145da0ae68546), UINT64_C(0x17e8a5052e5d361a), UINT64_C(0x07abb4ce196a7949), UINT64_C(0x2e4b27e106962d6b), UINT64_C(0x3b4a700a0ef465d7), UINT64_C(0x00bde7ec0ce06782), UINT64_C(0x21ecea8d1d761ff9), UINT64_C(0x3e8c344d33c912bb), UINT64_C(0x248b1d261e38a9d7), UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),
UINT64_C(0x1ba1e6f516386dbd), UINT64_C(0x0952a3f90c277c0c), UINT64_C(0x375c18551a215ad9), UINT64_C(0x3a6d535b1751614a), UINT64_C(0x0b74deca3dd2b628), UINT64_C(0x3a4950451b0f2b90), UINT64_C(0x12060e772a5f0411), UINT64_C(0x21996fa41ae43a0f), UINT64_C(0x138e5f191232919f), UINT64_C(0x2425f93d2f2b2939), UINT64_C(0x0000000000000000), UINT64_C(0x0000000000000000),

View File

@ -6,7 +6,14 @@
#include "lowmc_192_192_30.h"
static const mzd_local_t L_192_192_30_0 = { 192, 192, 3, 4, { 0 }, {
/* The GCC_EXT macro is to prevent a warning from the pedantic flag */
#if defined(_WIN32)
#define GCC_EXT
#else
#define GCC_EXT __extension__
#endif
GCC_EXT static const mzd_local_t L_192_192_30_0 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x91d895ecdb28884c), UINT64_C(0x759546c7eab5b1c6), UINT64_C(0x32382adc69b20600), UINT64_C(0x0000000000000000),
UINT64_C(0x99f9026f002451b7), UINT64_C(0x96ce1991fa7d0a5e), UINT64_C(0xe55d63824542a451), UINT64_C(0x0000000000000000),
UINT64_C(0x820e88818e8f42ba), UINT64_C(0xbb1bcdf1d104c9cf), UINT64_C(0x28d59a65573baba5), UINT64_C(0x0000000000000000),
@ -201,7 +208,7 @@ static const mzd_local_t L_192_192_30_0 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x846b605e09c5ff55), UINT64_C(0x68e9de2320361c5f), UINT64_C(0x21db535a07d0bbae), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_1 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_1 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x44fc0f57d887c3fa), UINT64_C(0x481495d2da5f3c04), UINT64_C(0x8ed5ba66172c39e9), UINT64_C(0x0000000000000000),
UINT64_C(0xf7c334185b9b0fa2), UINT64_C(0xee0ea8268d4b3428), UINT64_C(0xb1d6d4d22edfb82b), UINT64_C(0x0000000000000000),
UINT64_C(0x18579b5c37334162), UINT64_C(0x71e2a7a727d5ebb1), UINT64_C(0x0a3f7a40fd5a76b0), UINT64_C(0x0000000000000000),
@ -396,7 +403,7 @@ static const mzd_local_t L_192_192_30_1 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xc12ad38c6739597a), UINT64_C(0xd7083259908b43e1), UINT64_C(0xb7f1768dd98e3737), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_2 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_2 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x4fe31784d0f9255b), UINT64_C(0xd991e9e2084a0efc), UINT64_C(0xbb51a0ec5f4bce47), UINT64_C(0x0000000000000000),
UINT64_C(0x5e37fe4f4981f789), UINT64_C(0x20a8d8c4e16db9ca), UINT64_C(0x72c17ac393e5e68b), UINT64_C(0x0000000000000000),
UINT64_C(0x6a9bc945e6f2e2b6), UINT64_C(0xfde2746a4378c37a), UINT64_C(0x5e65094dc3256832), UINT64_C(0x0000000000000000),
@ -591,7 +598,7 @@ static const mzd_local_t L_192_192_30_2 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x848a34f7110b4691), UINT64_C(0xb7637b5121f980f6), UINT64_C(0x9e4bfdc614191bc4), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_3 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_3 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x2ee637cd06f00878), UINT64_C(0x83de691082849931), UINT64_C(0x76ef555fa1ae11b0), UINT64_C(0x0000000000000000),
UINT64_C(0xf929f375583c505a), UINT64_C(0xabbe82439f3f29d3), UINT64_C(0x0fd06f74ee9ef0e6), UINT64_C(0x0000000000000000),
UINT64_C(0x8f0e70474cda4023), UINT64_C(0xd98eed07f731e8a4), UINT64_C(0xb72e2681b2090174), UINT64_C(0x0000000000000000),
@ -786,7 +793,7 @@ static const mzd_local_t L_192_192_30_3 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xbdec5cf5a4ed704a), UINT64_C(0xf22138d19dfbbee6), UINT64_C(0xe62429296ebbcc1d), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_4 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_4 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x0f3cff19cd6fbf91), UINT64_C(0xc629d284bab00165), UINT64_C(0xa5e18dc691ab3154), UINT64_C(0x0000000000000000),
UINT64_C(0x04a60fa513632335), UINT64_C(0x1c30d29d3aab94d4), UINT64_C(0x326e072a95338afe), UINT64_C(0x0000000000000000),
UINT64_C(0xcbe7bc6bce0839ac), UINT64_C(0xf90ae427a7e7f442), UINT64_C(0xea0b8020589565bd), UINT64_C(0x0000000000000000),
@ -981,7 +988,7 @@ static const mzd_local_t L_192_192_30_4 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x7824f7e060d7e844), UINT64_C(0x65dd218e805d9bd4), UINT64_C(0xf5b59b65a416948d), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_5 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_5 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x48dc9a4951b5c8e3), UINT64_C(0x6d639cf09ed211ae), UINT64_C(0x31f7dcfd939a1380), UINT64_C(0x0000000000000000),
UINT64_C(0xd77231b578234fc3), UINT64_C(0x77abc0dcc080df19), UINT64_C(0x7329dea77db297d1), UINT64_C(0x0000000000000000),
UINT64_C(0x2f3947a22bf00722), UINT64_C(0x0cdea5ff0d9a168c), UINT64_C(0x98d4507e34b5416d), UINT64_C(0x0000000000000000),
@ -1176,7 +1183,7 @@ static const mzd_local_t L_192_192_30_5 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x0483c1786f3e6d29), UINT64_C(0xa9e67b6afccb01ba), UINT64_C(0x618984632421048c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_6 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_6 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x6145b43bc168ffa1), UINT64_C(0xce57057e100e23e8), UINT64_C(0xda1bb106edd65b76), UINT64_C(0x0000000000000000),
UINT64_C(0xc3284232bc1124b5), UINT64_C(0xc957a45a0f7a10ca), UINT64_C(0xb4205290b0a5b5f2), UINT64_C(0x0000000000000000),
UINT64_C(0xec52d9486c6c8f1d), UINT64_C(0x7101dc722e4af695), UINT64_C(0x0cc3865979b636a8), UINT64_C(0x0000000000000000),
@ -1371,7 +1378,7 @@ static const mzd_local_t L_192_192_30_6 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x850fd7ef89a5ce81), UINT64_C(0x5cac4e065b1e9472), UINT64_C(0x6d50f080b6bd3581), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_7 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_7 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf32d8c83517af2aa), UINT64_C(0xe62b07064d0b4a0e), UINT64_C(0xdae024ea029ed362), UINT64_C(0x0000000000000000),
UINT64_C(0xd708dcce3b8e5a42), UINT64_C(0x4d1e41dd1c25d156), UINT64_C(0x9ff5b302e7aa5fb2), UINT64_C(0x0000000000000000),
UINT64_C(0x38450f90caafccfc), UINT64_C(0x954b8400a135f6c5), UINT64_C(0x4b424a7c880706e4), UINT64_C(0x0000000000000000),
@ -1566,7 +1573,7 @@ static const mzd_local_t L_192_192_30_7 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xb52b734f71782e76), UINT64_C(0x550fdb9dbc6f251b), UINT64_C(0x4695df3f3da61d28), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_8 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_8 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xb549f7362e7986a2), UINT64_C(0x660b3c4e237aaed5), UINT64_C(0x39104c2474080665), UINT64_C(0x0000000000000000),
UINT64_C(0xd8aecd927436c157), UINT64_C(0x39ab4186a148fee6), UINT64_C(0xb8d6704a69c534b3), UINT64_C(0x0000000000000000),
UINT64_C(0xcb5edf65918c15ba), UINT64_C(0x9e622e594bdc57fa), UINT64_C(0xf57cd58beb2075e3), UINT64_C(0x0000000000000000),
@ -1761,7 +1768,7 @@ static const mzd_local_t L_192_192_30_8 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x2314403ef73f8a19), UINT64_C(0x43ca7636c78f8421), UINT64_C(0x594c61b99195efdd), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_9 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_9 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x16ff98b39fe59444), UINT64_C(0xc1a5de627fefd69b), UINT64_C(0xd63855d7645f79fa), UINT64_C(0x0000000000000000),
UINT64_C(0xe59b6469af769f97), UINT64_C(0x0a501e165ee3fab2), UINT64_C(0x1fdf91f44d9f34d2), UINT64_C(0x0000000000000000),
UINT64_C(0xd10e83c3909bde4f), UINT64_C(0xd23a989b436774d1), UINT64_C(0x11a70b251652cd48), UINT64_C(0x0000000000000000),
@ -1956,7 +1963,7 @@ static const mzd_local_t L_192_192_30_9 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x1a7a19a1572aee5e), UINT64_C(0xb95a67912f12cd25), UINT64_C(0x45806f53ba5a78ce), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_10 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_10 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x824f0ad1a6ab88f9), UINT64_C(0x09a65fea9ef4220f), UINT64_C(0xe16ea6808705b907), UINT64_C(0x0000000000000000),
UINT64_C(0x4316adf9c1bc416e), UINT64_C(0x29eae6355bb6f961), UINT64_C(0x16aee3c4ec351738), UINT64_C(0x0000000000000000),
UINT64_C(0xccd354584f9221f4), UINT64_C(0xe12c6357722dffdc), UINT64_C(0x3c339ac4f09a34ed), UINT64_C(0x0000000000000000),
@ -2151,7 +2158,7 @@ static const mzd_local_t L_192_192_30_10 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xd0ec180efca6b4b4), UINT64_C(0x70a2b924d8c201f1), UINT64_C(0xad103cc6f5fb75da), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_11 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_11 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x27e383338f387778), UINT64_C(0x907b92aaebc9857b), UINT64_C(0x5331ffcca31a7041), UINT64_C(0x0000000000000000),
UINT64_C(0xaf79bbb0cf940a23), UINT64_C(0xafbc660e57b6e0a5), UINT64_C(0x5ab57da7b2531d9c), UINT64_C(0x0000000000000000),
UINT64_C(0x7cd7abb9fe7a731f), UINT64_C(0xb664ece89f1f322a), UINT64_C(0xa3895c461ed21a56), UINT64_C(0x0000000000000000),
@ -2346,7 +2353,7 @@ static const mzd_local_t L_192_192_30_11 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x42c1534dfd29ebb2), UINT64_C(0x609a053cf51fb112), UINT64_C(0x9cdcddfa02d2b7a7), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_12 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_12 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5213bddb9421426c), UINT64_C(0xc230cc6ec6dac7b1), UINT64_C(0x749ed6ca7767d115), UINT64_C(0x0000000000000000),
UINT64_C(0xa2fc9714963f2365), UINT64_C(0x82f304fb938550e3), UINT64_C(0x169509696e34c5f7), UINT64_C(0x0000000000000000),
UINT64_C(0xff2d7224e27f2beb), UINT64_C(0x3ba2ad9e67fcf98a), UINT64_C(0x8973066e3ff948ae), UINT64_C(0x0000000000000000),
@ -2541,7 +2548,7 @@ static const mzd_local_t L_192_192_30_12 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xa455a45a1cbca25f), UINT64_C(0x8be56f7055a43af2), UINT64_C(0x9e392a29c3237e1b), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_13 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_13 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf7d81271f5cf3575), UINT64_C(0x0e55757b56e54cd9), UINT64_C(0xb67854a8cf08654b), UINT64_C(0x0000000000000000),
UINT64_C(0x57769f75ee7a2e88), UINT64_C(0xb66642de09a34ef2), UINT64_C(0xec447119305659fc), UINT64_C(0x0000000000000000),
UINT64_C(0xf7d5b98cd279a60e), UINT64_C(0x0ec2e549f305bc58), UINT64_C(0xd452b8900331e9f1), UINT64_C(0x0000000000000000),
@ -2736,7 +2743,7 @@ static const mzd_local_t L_192_192_30_13 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xeb5f511d15b210d0), UINT64_C(0x5ef08c5559c85c1d), UINT64_C(0xbc4b36ba3d34b722), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_14 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_14 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf1df6909c363b0a3), UINT64_C(0x10a1efa07e05474f), UINT64_C(0x51dda36a1933677c), UINT64_C(0x0000000000000000),
UINT64_C(0x955d0b1904fbcd30), UINT64_C(0xd8d21d3fc3a7de39), UINT64_C(0x65abc64dbf0c0c96), UINT64_C(0x0000000000000000),
UINT64_C(0x9ccef138f7f0f6e9), UINT64_C(0x0de9739c54161642), UINT64_C(0x4f67f003e311894c), UINT64_C(0x0000000000000000),
@ -2931,7 +2938,7 @@ static const mzd_local_t L_192_192_30_14 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x458992f82ae9235e), UINT64_C(0xb6a5f6cffbfb6abb), UINT64_C(0x9ca9703330386b12), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_15 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_15 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xe06d705ebb7d26d8), UINT64_C(0x6865e1f39b8defb1), UINT64_C(0x1291402232415a87), UINT64_C(0x0000000000000000),
UINT64_C(0x531bac8620e57aa2), UINT64_C(0x7a5339d11a63677a), UINT64_C(0x36761fbaccab3d1c), UINT64_C(0x0000000000000000),
UINT64_C(0x48841f9538e3c8a9), UINT64_C(0x8c9ad20caa948500), UINT64_C(0x56a609a47240de59), UINT64_C(0x0000000000000000),
@ -3126,7 +3133,7 @@ static const mzd_local_t L_192_192_30_15 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xd25ce28f49de0ed3), UINT64_C(0xc946651b3cdebe4a), UINT64_C(0x56b487673d5b212a), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_16 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_16 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf1c453c5e3a8cf80), UINT64_C(0x1cf9e72760bd94af), UINT64_C(0xf3764176f7a055aa), UINT64_C(0x0000000000000000),
UINT64_C(0x30586987f9da5a95), UINT64_C(0xa4de8f436f46c1ec), UINT64_C(0xb962b2b762541396), UINT64_C(0x0000000000000000),
UINT64_C(0xbb87d79efa40afcb), UINT64_C(0x2bfed8eef3ad0952), UINT64_C(0x95dbecbd112635ab), UINT64_C(0x0000000000000000),
@ -3321,7 +3328,7 @@ static const mzd_local_t L_192_192_30_16 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xc75bba675110093e), UINT64_C(0x310029aa90e95bfd), UINT64_C(0x20ca404731fa951b), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_17 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_17 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x80ddc464bd441217), UINT64_C(0x1351f2fc2f1c2c9c), UINT64_C(0x8e841a4ab400036b), UINT64_C(0x0000000000000000),
UINT64_C(0x765116aa16238ed1), UINT64_C(0x0601bfe5b6b9d34d), UINT64_C(0x7eae048d5be6b9d5), UINT64_C(0x0000000000000000),
UINT64_C(0x660962c3ee718a02), UINT64_C(0xe915663ff5760038), UINT64_C(0x1f2e3ad7dfeb9ed6), UINT64_C(0x0000000000000000),
@ -3516,7 +3523,7 @@ static const mzd_local_t L_192_192_30_17 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x27478b0f7d26fa96), UINT64_C(0x91c22cdfcad544eb), UINT64_C(0x22dcc4c9b3afaebe), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_18 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_18 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xc995f8638d12dbb2), UINT64_C(0x1b685030b3938673), UINT64_C(0xf4e3f21a3110fd80), UINT64_C(0x0000000000000000),
UINT64_C(0x96d889fd1e132332), UINT64_C(0x7bbe2112df8b5a52), UINT64_C(0x9e580f97349ce0d9), UINT64_C(0x0000000000000000),
UINT64_C(0x41ae23c28161634d), UINT64_C(0xa8030f496f66aa3f), UINT64_C(0xd88bae1b5f1e3da8), UINT64_C(0x0000000000000000),
@ -3711,7 +3718,7 @@ static const mzd_local_t L_192_192_30_18 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x8b0af3bd6b5528f9), UINT64_C(0x1024b967ed3707f1), UINT64_C(0x255521e4d8fbaaf1), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_19 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_19 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x60c9171e5cd99a5f), UINT64_C(0x1c286d28a26128f4), UINT64_C(0xca148c7af4ac3d74), UINT64_C(0x0000000000000000),
UINT64_C(0xd251b4a022872306), UINT64_C(0xe6953b894b08fc68), UINT64_C(0xd898b3f5bca505b4), UINT64_C(0x0000000000000000),
UINT64_C(0xdb2a762f490e8d3e), UINT64_C(0x7082d3cf586d3bb6), UINT64_C(0xee0f1fbd78a4db6c), UINT64_C(0x0000000000000000),
@ -3906,7 +3913,7 @@ static const mzd_local_t L_192_192_30_19 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x54bb539e5a8180c5), UINT64_C(0x9269e8055a75eed4), UINT64_C(0x9d6cdaa60bf845bb), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_20 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_20 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x13615f154befc3ca), UINT64_C(0x2b9488f7acd41b90), UINT64_C(0x6d1179e3e1bc82a4), UINT64_C(0x0000000000000000),
UINT64_C(0x4cf93b1cef65a554), UINT64_C(0xa50565aea93eab54), UINT64_C(0xf4ea4e9e16581534), UINT64_C(0x0000000000000000),
UINT64_C(0xf9b00caf1f077477), UINT64_C(0xdd2727615c7cdc00), UINT64_C(0x79f4e7a47d7e70f8), UINT64_C(0x0000000000000000),
@ -4101,7 +4108,7 @@ static const mzd_local_t L_192_192_30_20 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x018f230af70fcddf), UINT64_C(0xed7b6abc2b6b4f33), UINT64_C(0x54dc38bf14663224), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_21 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_21 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x534fe315bfbc56ed), UINT64_C(0x00b4687e1e947595), UINT64_C(0x91fd9b9a09e6be7e), UINT64_C(0x0000000000000000),
UINT64_C(0x187a331b2e402a5c), UINT64_C(0x1f9983096f11ff80), UINT64_C(0x50d53f44822c60c9), UINT64_C(0x0000000000000000),
UINT64_C(0x0f5c7a859946a5e7), UINT64_C(0x96b4360e290800f6), UINT64_C(0x07a9fc06ae88c37c), UINT64_C(0x0000000000000000),
@ -4296,7 +4303,7 @@ static const mzd_local_t L_192_192_30_21 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x165309a36fc0f46b), UINT64_C(0x6dec301c720ebeaf), UINT64_C(0xabb324d7b1db2f62), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_22 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_22 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5425e37f2d44c6a9), UINT64_C(0x566af28c8a9b6d02), UINT64_C(0xbbeb7480d6b9bb45), UINT64_C(0x0000000000000000),
UINT64_C(0x524b7ae2d6d7b3d1), UINT64_C(0xa2a95e8ece3085f7), UINT64_C(0xc1d2ec05adfe6a76), UINT64_C(0x0000000000000000),
UINT64_C(0x4e3272096d8f42e3), UINT64_C(0xfad9cd263d28f5a9), UINT64_C(0x17c428301164524b), UINT64_C(0x0000000000000000),
@ -4491,7 +4498,7 @@ static const mzd_local_t L_192_192_30_22 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x766cd1287c43b169), UINT64_C(0x018bb1bab5959df3), UINT64_C(0xfe930c90508c50eb), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_23 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_23 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x10076a433fe35e4d), UINT64_C(0x9ef09a9db47ef051), UINT64_C(0xca7c188cd2be194b), UINT64_C(0x0000000000000000),
UINT64_C(0x9e0eb709d6bf04c2), UINT64_C(0xe9a780318ea1b29e), UINT64_C(0xe8b7419949792b1b), UINT64_C(0x0000000000000000),
UINT64_C(0x32bc226bd4c87703), UINT64_C(0xf301c8c169e10f3c), UINT64_C(0x148c0f746f1490f3), UINT64_C(0x0000000000000000),
@ -4686,7 +4693,7 @@ static const mzd_local_t L_192_192_30_23 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x272dc1a2bbc4f5de), UINT64_C(0x038a04791328cf25), UINT64_C(0xc686f8f5a64b7785), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_24 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_24 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x13e8f1def2440527), UINT64_C(0x1e043b2fe45d600e), UINT64_C(0x46d9d592c4da407d), UINT64_C(0x0000000000000000),
UINT64_C(0xe667b4f9ceab998b), UINT64_C(0x5025a3ee3c27b381), UINT64_C(0xd7147783a61a3c46), UINT64_C(0x0000000000000000),
UINT64_C(0x5d1efcbe8841b1aa), UINT64_C(0xb3ef1103ad445c8c), UINT64_C(0xba788d9f45adfe38), UINT64_C(0x0000000000000000),
@ -4881,7 +4888,7 @@ static const mzd_local_t L_192_192_30_24 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5ae9c4f8b3619051), UINT64_C(0xc03f478f6263e0d5), UINT64_C(0x56d85fd8217b03f1), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_25 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_25 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xacec0bf1ff04da9a), UINT64_C(0x39a53ab7b529d691), UINT64_C(0x4d1f85905d38b1fc), UINT64_C(0x0000000000000000),
UINT64_C(0x791c555e3c1f4dc2), UINT64_C(0xb80affaceb8dd132), UINT64_C(0x6dc3a069b948f485), UINT64_C(0x0000000000000000),
UINT64_C(0x406620010e04b0c5), UINT64_C(0x4c0729a8e4f10cc5), UINT64_C(0x45837f1eaeb24d54), UINT64_C(0x0000000000000000),
@ -5076,7 +5083,7 @@ static const mzd_local_t L_192_192_30_25 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x7fec3b9461db903c), UINT64_C(0xc393367848e2a01f), UINT64_C(0x2cc10734efba3534), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_26 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_26 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x8dc3b3f1947d8ef8), UINT64_C(0x8e75b5ac5720838a), UINT64_C(0xfacea32219052da5), UINT64_C(0x0000000000000000),
UINT64_C(0x25d62716140e98cf), UINT64_C(0x2c73073f8f599818), UINT64_C(0xdba379f7cf3470e6), UINT64_C(0x0000000000000000),
UINT64_C(0xfca5dab34fc12586), UINT64_C(0x1cbc080fde5c7c9b), UINT64_C(0x9320836518f258ba), UINT64_C(0x0000000000000000),
@ -5271,7 +5278,7 @@ static const mzd_local_t L_192_192_30_26 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xfd710985b437e7f6), UINT64_C(0x85daf854f8d91d63), UINT64_C(0xaf7af4ebed96ed60), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_27 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_27 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xc47251c6f3473fcd), UINT64_C(0x34bfca94680d4958), UINT64_C(0xa9e1615f530e342a), UINT64_C(0x0000000000000000),
UINT64_C(0xdd02738f9a8e54e6), UINT64_C(0x8d38d1462f5d8c35), UINT64_C(0x1e19e51691d69b26), UINT64_C(0x0000000000000000),
UINT64_C(0x0e6603cb77c19514), UINT64_C(0xf7c4733571f2b3b2), UINT64_C(0x4807db3cfa56b339), UINT64_C(0x0000000000000000),
@ -5466,7 +5473,7 @@ static const mzd_local_t L_192_192_30_27 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xcacd35cff7e00c3c), UINT64_C(0x96ef0ca8a4f916d8), UINT64_C(0xc3c0317220588aa0), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_28 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_28 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x63e2ceaa46dd2ac8), UINT64_C(0x8cf2a0b35126c4a6), UINT64_C(0x582ad076fbdb07b5), UINT64_C(0x0000000000000000),
UINT64_C(0xd5357a50fc874654), UINT64_C(0x838c0b51d0a00496), UINT64_C(0x5db4c3df1ee7fda3), UINT64_C(0x0000000000000000),
UINT64_C(0x23e91f9de1bea5df), UINT64_C(0x9d65d7f7b6532f95), UINT64_C(0xcc36abb04d0d77c4), UINT64_C(0x0000000000000000),
@ -5661,7 +5668,7 @@ static const mzd_local_t L_192_192_30_28 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x33a056cc963437db), UINT64_C(0x0f910494f90b7b1f), UINT64_C(0x0d057ffcaf65c534), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t L_192_192_30_29 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_192_192_30_29 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x595afe7a1b9ee2fe), UINT64_C(0x5e80374ec9cb109a), UINT64_C(0x070b6f2b89c2f258), UINT64_C(0x0000000000000000),
UINT64_C(0x61cb85894f20a688), UINT64_C(0xd99813e3fda9fdf2), UINT64_C(0xbdf60ab855c7e21e), UINT64_C(0x0000000000000000),
UINT64_C(0x3b51b717bb2f9887), UINT64_C(0x226479348854f7fb), UINT64_C(0x1ba03e70db985a15), UINT64_C(0x0000000000000000),
@ -5857,7 +5864,7 @@ static const mzd_local_t L_192_192_30_29 = { 192, 192, 3, 4, { 0 }, {
}};
#if !defined(REDUCED_LINEAR_LAYER)
static const mzd_local_t K_192_192_30_0 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_0 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x2b9584031f1ae852), UINT64_C(0x7fe87ddbd9042d5a), UINT64_C(0xde60453dbecc79ec), UINT64_C(0x0000000000000000),
UINT64_C(0x4b9b8a54fd50d845), UINT64_C(0xfd6a2cf9ce225edf), UINT64_C(0x558cf933bebf0001), UINT64_C(0x0000000000000000),
UINT64_C(0xdcd38ede24b98f81), UINT64_C(0xe36f96fec8a2e8f7), UINT64_C(0x9500a9158b7c7cfd), UINT64_C(0x0000000000000000),
@ -6052,7 +6059,7 @@ static const mzd_local_t K_192_192_30_0 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x2ed5ba387e6c857e), UINT64_C(0xfccee575a4173bb0), UINT64_C(0x885209562ca5ce15), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_1 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_1 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x0d92c628ce687edf), UINT64_C(0xfd0055071c88f046), UINT64_C(0x262188ded960c0d3), UINT64_C(0x0000000000000000),
UINT64_C(0xbf0dfe051cb030e4), UINT64_C(0xd385e041c2cec701), UINT64_C(0x9d7575400ad45bc6), UINT64_C(0x0000000000000000),
UINT64_C(0x33b5d49238630cf7), UINT64_C(0xbb045c493e0816c0), UINT64_C(0x169ceb28c8041cf6), UINT64_C(0x0000000000000000),
@ -6247,7 +6254,7 @@ static const mzd_local_t K_192_192_30_1 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x2e6f005e1ec2aa06), UINT64_C(0xc9bad2995c225aa9), UINT64_C(0xcdc97956ecaa1b51), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_2 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_2 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xc6fd359030e051ed), UINT64_C(0xc6ab295488456593), UINT64_C(0xe4825286aa72ded8), UINT64_C(0x0000000000000000),
UINT64_C(0xd25b9feac9ff24f7), UINT64_C(0x314a4bf9b7f0d81f), UINT64_C(0x64a9b4fcdc59be47), UINT64_C(0x0000000000000000),
UINT64_C(0xb316919a88a2f144), UINT64_C(0xb8b63abaa3d9742b), UINT64_C(0x45d1c62fe8ecc158), UINT64_C(0x0000000000000000),
@ -6442,7 +6449,7 @@ static const mzd_local_t K_192_192_30_2 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xba716ed2b9f4e379), UINT64_C(0xc443cececb901fd0), UINT64_C(0xf2c667e5f9a6347a), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_3 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_3 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x8aa710fae17bdff7), UINT64_C(0x0f0e87a6c3362313), UINT64_C(0x59c0435eccb25ade), UINT64_C(0x0000000000000000),
UINT64_C(0x3ab656e34485ffa7), UINT64_C(0x11331a6c3db0ca94), UINT64_C(0xfbb5c326b91ba02e), UINT64_C(0x0000000000000000),
UINT64_C(0x588b3ee80f1fd49f), UINT64_C(0xf7482fb6fc69cb65), UINT64_C(0x35b3a3d925225cc4), UINT64_C(0x0000000000000000),
@ -6637,7 +6644,7 @@ static const mzd_local_t K_192_192_30_3 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xdbd0848188ed4370), UINT64_C(0xa14a76e2ecb36efc), UINT64_C(0x934cdd2e497dd37f), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_4 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_4 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xd4fc78f3f3925614), UINT64_C(0xc18a134ec6ff52ce), UINT64_C(0xdf9527ed2182cc1f), UINT64_C(0x0000000000000000),
UINT64_C(0x348fd61f34d3d6bc), UINT64_C(0x301d7a57b64671a1), UINT64_C(0x9a17bcee6c22ab6d), UINT64_C(0x0000000000000000),
UINT64_C(0xa6dbe509e02100ef), UINT64_C(0xf3125e8ef98bb2ac), UINT64_C(0xe381e23603238560), UINT64_C(0x0000000000000000),
@ -6832,7 +6839,7 @@ static const mzd_local_t K_192_192_30_4 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x38df5f9b3533063e), UINT64_C(0xa5cd3fff05bf0333), UINT64_C(0x3a550833e4c9aa67), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_5 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_5 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x553419cd1cd1548f), UINT64_C(0x71ce1ef4a7c3e37c), UINT64_C(0x3e3efa59629f0c67), UINT64_C(0x0000000000000000),
UINT64_C(0x16e3ab4dc7f70ee0), UINT64_C(0x18eb33026bb617e4), UINT64_C(0x05330db3a4e6137f), UINT64_C(0x0000000000000000),
UINT64_C(0xd2947efbad976fb9), UINT64_C(0x1fb602c5f2cc5ea5), UINT64_C(0x39029ae2c105f7e1), UINT64_C(0x0000000000000000),
@ -7027,7 +7034,7 @@ static const mzd_local_t K_192_192_30_5 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x76a2e28b4f067989), UINT64_C(0x141ce56d70b0469c), UINT64_C(0xd045310797f27fea), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_6 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_6 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf012252d1f0f0252), UINT64_C(0x7c284302bc15208f), UINT64_C(0xdb1fb5e8f6dfdf0f), UINT64_C(0x0000000000000000),
UINT64_C(0xcc096be8bf0f9da3), UINT64_C(0x09d83788f1226221), UINT64_C(0x3478da0d23fce990), UINT64_C(0x0000000000000000),
UINT64_C(0xa713e649d70267f6), UINT64_C(0xa5bb272caf0357ef), UINT64_C(0x2f2f33b6fd4dbf3b), UINT64_C(0x0000000000000000),
@ -7222,7 +7229,7 @@ static const mzd_local_t K_192_192_30_6 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x7dd4d09da8f13631), UINT64_C(0xc71034999cd49ef1), UINT64_C(0xd9e37952984a6bb0), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_7 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_7 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x65b26cf0b152f9c5), UINT64_C(0x74293abf430f0a04), UINT64_C(0xe36ba79c70ff96b8), UINT64_C(0x0000000000000000),
UINT64_C(0xafa0249787369c58), UINT64_C(0x28f452d9258d3529), UINT64_C(0xcc86f6828c2897e3), UINT64_C(0x0000000000000000),
UINT64_C(0xdf61bf2fa337ba97), UINT64_C(0xf282371e94b264af), UINT64_C(0x06116aa9781e1ebd), UINT64_C(0x0000000000000000),
@ -7417,7 +7424,7 @@ static const mzd_local_t K_192_192_30_7 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x7e78aaf0fef407f8), UINT64_C(0x7bf170e11f1e1764), UINT64_C(0x57cdb60223081b12), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_8 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_8 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xbc56c5ac22c978e3), UINT64_C(0xb32f836f62094d19), UINT64_C(0x142444f49650629b), UINT64_C(0x0000000000000000),
UINT64_C(0x42c64093ce2d434f), UINT64_C(0x0ee7551df49c502a), UINT64_C(0x124bbb9b23cc7e88), UINT64_C(0x0000000000000000),
UINT64_C(0xe6924ac5fe053b4a), UINT64_C(0xee41a85bb276a46f), UINT64_C(0x53581a63cf558e76), UINT64_C(0x0000000000000000),
@ -7612,7 +7619,7 @@ static const mzd_local_t K_192_192_30_8 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x09974726bf9deeef), UINT64_C(0xdc0ed58acb8f1434), UINT64_C(0x74d28f790952d433), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_9 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_9 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf097f3af6ea0ef09), UINT64_C(0xf1e98c4ecd0721c9), UINT64_C(0xf07bfc95047c2a0d), UINT64_C(0x0000000000000000),
UINT64_C(0x17402009a40d9175), UINT64_C(0x0aede7a809de740a), UINT64_C(0x1ff019a505158fa6), UINT64_C(0x0000000000000000),
UINT64_C(0xbaaa17f35f678c38), UINT64_C(0xdf740c4736532fc3), UINT64_C(0xa3f70cf305246de2), UINT64_C(0x0000000000000000),
@ -7807,7 +7814,7 @@ static const mzd_local_t K_192_192_30_9 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x381596405f71fed3), UINT64_C(0xefe628b2bb7049c3), UINT64_C(0x69ada0c326569f11), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_10 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_10 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xaac82f089ec8fe13), UINT64_C(0x253d4836f91adeac), UINT64_C(0x95b531fe18c205aa), UINT64_C(0x0000000000000000),
UINT64_C(0xc097962ba0788a8d), UINT64_C(0x2fd6bd3990dbcb36), UINT64_C(0x7ad2959cab4e9249), UINT64_C(0x0000000000000000),
UINT64_C(0x50302828be51d6ed), UINT64_C(0x0b6b1fe771e77a01), UINT64_C(0x4e689a4e7dc382aa), UINT64_C(0x0000000000000000),
@ -8002,7 +8009,7 @@ static const mzd_local_t K_192_192_30_10 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x27d7d2349fd4f475), UINT64_C(0x25b8a3070baa63f6), UINT64_C(0x4f74f991138d026e), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_11 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_11 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf27275524402db48), UINT64_C(0x71afa200a15d69d2), UINT64_C(0xc14f6d5697b37903), UINT64_C(0x0000000000000000),
UINT64_C(0x3f340ed86d2d1282), UINT64_C(0x5caf3ceaf03a8167), UINT64_C(0x77412f89ba1dd328), UINT64_C(0x0000000000000000),
UINT64_C(0x6a59514d06dab8f5), UINT64_C(0xc57cd0848f6ad1a7), UINT64_C(0x2305f4115e1fb6b5), UINT64_C(0x0000000000000000),
@ -8197,7 +8204,7 @@ static const mzd_local_t K_192_192_30_11 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xd0fcf873d4c6b64d), UINT64_C(0xd3359f8f397babcf), UINT64_C(0x1c81c71b65c34752), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_12 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_12 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xbed0519bb919b819), UINT64_C(0x2fe004305a15944a), UINT64_C(0x758f440b95b25ffa), UINT64_C(0x0000000000000000),
UINT64_C(0xcbf81dd044e130f6), UINT64_C(0xf8f103814514ddb3), UINT64_C(0xd0d0ce4e4014af3f), UINT64_C(0x0000000000000000),
UINT64_C(0x0074ab3f266a3684), UINT64_C(0xbe3a7c68c2451153), UINT64_C(0xdd7e1b1a46a878d5), UINT64_C(0x0000000000000000),
@ -8392,7 +8399,7 @@ static const mzd_local_t K_192_192_30_12 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x147d767780213b9d), UINT64_C(0x8baee3aeadd5b93f), UINT64_C(0xb6003911d9cb1ddc), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_13 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_13 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5eab1786924cc760), UINT64_C(0xbe48d364f715000f), UINT64_C(0x533c857a23adb72a), UINT64_C(0x0000000000000000),
UINT64_C(0x97966c03986fd73d), UINT64_C(0x8d26dc914709a1e5), UINT64_C(0x18a7543130f549f3), UINT64_C(0x0000000000000000),
UINT64_C(0x0d14cf851b07f359), UINT64_C(0x6d3fde08121d632b), UINT64_C(0x5964cfc65204a742), UINT64_C(0x0000000000000000),
@ -8587,7 +8594,7 @@ static const mzd_local_t K_192_192_30_13 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xfb89648f51c32d47), UINT64_C(0x2faa25065cf7750c), UINT64_C(0xf799ea9de9c8e63c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_14 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_14 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x4d9f4d26018caeeb), UINT64_C(0xeb966387392dafa5), UINT64_C(0x68fa8ad74606f53a), UINT64_C(0x0000000000000000),
UINT64_C(0x57accc5c6cfb2a62), UINT64_C(0xed8e0b87a53d5a3e), UINT64_C(0xc52b524cf63597f5), UINT64_C(0x0000000000000000),
UINT64_C(0x11c5dc7ff969112f), UINT64_C(0xd020edacb269a442), UINT64_C(0x9122b226ff6851eb), UINT64_C(0x0000000000000000),
@ -8782,7 +8789,7 @@ static const mzd_local_t K_192_192_30_14 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x1bec3afddc1c7342), UINT64_C(0x48bb7a2181143db9), UINT64_C(0xf3cc1095f9a8831f), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_15 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_15 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x878b37b83cebcbbb), UINT64_C(0x5d3d551a8d7106ad), UINT64_C(0xa26de24dde4a324a), UINT64_C(0x0000000000000000),
UINT64_C(0x14bf18eacc0ae01f), UINT64_C(0x2d9cd5057cacf8bb), UINT64_C(0x0369cfe4862ff315), UINT64_C(0x0000000000000000),
UINT64_C(0xed1999d81dd4cc7f), UINT64_C(0xa63be3b8017c5472), UINT64_C(0x71ba05777f591566), UINT64_C(0x0000000000000000),
@ -8977,7 +8984,7 @@ static const mzd_local_t K_192_192_30_15 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x931635ebd238d3fd), UINT64_C(0xc346e40bd4727217), UINT64_C(0x94155dc6a3383e8c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_16 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_16 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x01a9428bb6e7d89e), UINT64_C(0x2be63b8f8c78fa64), UINT64_C(0xa941233822c39ba0), UINT64_C(0x0000000000000000),
UINT64_C(0x9f3c8fdd423622c5), UINT64_C(0xc93eaae835c45718), UINT64_C(0x5c07971d7cf284bd), UINT64_C(0x0000000000000000),
UINT64_C(0x1767b50814daac27), UINT64_C(0x05060ecf7f7f5c57), UINT64_C(0xb6f91d5cf0b6cb38), UINT64_C(0x0000000000000000),
@ -9172,7 +9179,7 @@ static const mzd_local_t K_192_192_30_16 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x22ff5d0c1fa482cf), UINT64_C(0x89717337e28d9f61), UINT64_C(0x4a8338972e740a04), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_17 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_17 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xcd6d34c1d13b8b6c), UINT64_C(0xa9e2225a59f72cd2), UINT64_C(0x3c3259c379da78f7), UINT64_C(0x0000000000000000),
UINT64_C(0xb4c3322fe8220f70), UINT64_C(0xe2fbeeeeca68fd71), UINT64_C(0x5d9cc5cd48bb8d53), UINT64_C(0x0000000000000000),
UINT64_C(0xc05b87373696d993), UINT64_C(0x688a98d749c13ee2), UINT64_C(0x1f3e6b2ef33a79e6), UINT64_C(0x0000000000000000),
@ -9367,7 +9374,7 @@ static const mzd_local_t K_192_192_30_17 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xdc7b2ac7cce03956), UINT64_C(0x9a436d0bfa9191a9), UINT64_C(0x4852cce31836b7ca), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_18 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_18 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5e80320d38401810), UINT64_C(0xa25a471f03b83cb9), UINT64_C(0x2b64f61498cb746e), UINT64_C(0x0000000000000000),
UINT64_C(0x17cea9379202c9ef), UINT64_C(0x216b8a3c2f2013a7), UINT64_C(0x99f5ae297be7c3bd), UINT64_C(0x0000000000000000),
UINT64_C(0x82577f6b26f40ecc), UINT64_C(0xde20e4d6917be59e), UINT64_C(0x802f0270647da394), UINT64_C(0x0000000000000000),
@ -9562,7 +9569,7 @@ static const mzd_local_t K_192_192_30_18 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xda43ac51555b9f5d), UINT64_C(0xe23fda69ba647f0c), UINT64_C(0xe363416a393c013b), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_19 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_19 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xce1e25beb2822874), UINT64_C(0x47c3b81e7111c4b7), UINT64_C(0xcf6112493f597159), UINT64_C(0x0000000000000000),
UINT64_C(0xce354510452666ad), UINT64_C(0xef76654f7bcc8e64), UINT64_C(0xcb60de1edb46d6ec), UINT64_C(0x0000000000000000),
UINT64_C(0xf92bf6a7b2d85b3b), UINT64_C(0x89b6c5586ec26261), UINT64_C(0x9b58e4e936028270), UINT64_C(0x0000000000000000),
@ -9757,7 +9764,7 @@ static const mzd_local_t K_192_192_30_19 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf5a90e0f2a082165), UINT64_C(0x16593b19c9c05460), UINT64_C(0x65ac1ec737efc604), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_20 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_20 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xb75d2c251dd92237), UINT64_C(0x0ae1487124316cc1), UINT64_C(0xb5b13606ea499b11), UINT64_C(0x0000000000000000),
UINT64_C(0x1ab9952615824b36), UINT64_C(0x385ef3bf6b968fd7), UINT64_C(0x91f5a461e32bc046), UINT64_C(0x0000000000000000),
UINT64_C(0xb395a2cb8d9d4cad), UINT64_C(0x47a6cf3762f861d6), UINT64_C(0xaf8940f9ce02e76c), UINT64_C(0x0000000000000000),
@ -9952,7 +9959,7 @@ static const mzd_local_t K_192_192_30_20 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x45cf47927fdc0e40), UINT64_C(0xc2205b9213b6f0d7), UINT64_C(0xa74ecaefb488387d), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_21 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_21 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xe24fa6b42efa3fcc), UINT64_C(0x2b03e2f9fa670e56), UINT64_C(0xc6ebf903bb12a6dd), UINT64_C(0x0000000000000000),
UINT64_C(0x4daa8c2a6d9245b6), UINT64_C(0xe39bfb252d411ab8), UINT64_C(0xda2afc3183a113be), UINT64_C(0x0000000000000000),
UINT64_C(0xb03ff2362ae0bb54), UINT64_C(0xde306c892cf4499d), UINT64_C(0xcd88ede4eef0dc96), UINT64_C(0x0000000000000000),
@ -10147,7 +10154,7 @@ static const mzd_local_t K_192_192_30_21 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5f38789766236e9b), UINT64_C(0x908ba0d2e73ece3a), UINT64_C(0x727f833740f4a963), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_22 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_22 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x7ecda23bc1135ab9), UINT64_C(0x8df4960f143e7cd6), UINT64_C(0xda0aabcaddd646b2), UINT64_C(0x0000000000000000),
UINT64_C(0xaea21de263b584dd), UINT64_C(0xbd44127706d18a02), UINT64_C(0x5531990d82f91243), UINT64_C(0x0000000000000000),
UINT64_C(0x759a77beae1cc500), UINT64_C(0x491472ef897b3578), UINT64_C(0x9952d3a60ca478ba), UINT64_C(0x0000000000000000),
@ -10342,7 +10349,7 @@ static const mzd_local_t K_192_192_30_22 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x5a17877d05efb738), UINT64_C(0x624c92c0e2b30b47), UINT64_C(0x92d9c2e4a445d69c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_23 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_23 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x92f79426502c0207), UINT64_C(0xb142fde4d8452414), UINT64_C(0x91932071629b9406), UINT64_C(0x0000000000000000),
UINT64_C(0x93b7828197919446), UINT64_C(0xb1ee5e2e155cc326), UINT64_C(0x0e254e3165b8dfc1), UINT64_C(0x0000000000000000),
UINT64_C(0x6f746ad01df59fc7), UINT64_C(0x6fb26b0cd032e72c), UINT64_C(0x33019c3ac0e586d7), UINT64_C(0x0000000000000000),
@ -10537,7 +10544,7 @@ static const mzd_local_t K_192_192_30_23 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x9e5c3156551c3339), UINT64_C(0xbd12c0bd03fffe29), UINT64_C(0x59387087bbae2bb2), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_24 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_24 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x6a2614ffa327d0df), UINT64_C(0xd1fd02698f5a5f9e), UINT64_C(0x5beb09d39f8420ae), UINT64_C(0x0000000000000000),
UINT64_C(0xcacd5fee3ab61d31), UINT64_C(0xb27ba1205e15b033), UINT64_C(0x1b5be3e7e5c55d16), UINT64_C(0x0000000000000000),
UINT64_C(0x677b5c0ed1858626), UINT64_C(0xa5c92d5d54e45a4e), UINT64_C(0xea45f8bbd12c1724), UINT64_C(0x0000000000000000),
@ -10732,7 +10739,7 @@ static const mzd_local_t K_192_192_30_24 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xa79de73235185a84), UINT64_C(0x929a17134d8b5ae3), UINT64_C(0xc900f1fe4c07c4cc), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_25 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_25 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xd41b0cfaaf9403cf), UINT64_C(0x53b16093b6b6ab38), UINT64_C(0x831ed35e39b61ecd), UINT64_C(0x0000000000000000),
UINT64_C(0xfdb6588d9c29f1ee), UINT64_C(0x421028b9d2953174), UINT64_C(0x86f1c1b91beac6ce), UINT64_C(0x0000000000000000),
UINT64_C(0xe11e77a75e4725ad), UINT64_C(0xc4eccfe630c66f8b), UINT64_C(0x7129c19d40a65280), UINT64_C(0x0000000000000000),
@ -10927,7 +10934,7 @@ static const mzd_local_t K_192_192_30_25 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xc7923a9df19fb117), UINT64_C(0x6c285d5961ec6306), UINT64_C(0xb144d7a702493503), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_26 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_26 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x95d8a17a5ebb52f2), UINT64_C(0x49947fbad9af97c6), UINT64_C(0xc096934d1b445d01), UINT64_C(0x0000000000000000),
UINT64_C(0xa6dc4fc173fd7219), UINT64_C(0x63cbdd89d4184607), UINT64_C(0xdabec763b45bea17), UINT64_C(0x0000000000000000),
UINT64_C(0xc35d7bb98e045167), UINT64_C(0x0a0ef363e707b32f), UINT64_C(0xa1136fef62ce1975), UINT64_C(0x0000000000000000),
@ -11122,7 +11129,7 @@ static const mzd_local_t K_192_192_30_26 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xf1a3c6130932564f), UINT64_C(0x0e3e577260f5f1dc), UINT64_C(0x4262cf4199fd4fc4), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_27 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_27 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xe0ed42ef085cb4ed), UINT64_C(0x3d57e4513eb04e06), UINT64_C(0x604bf8581fa32ac0), UINT64_C(0x0000000000000000),
UINT64_C(0x15d408a8a1c46444), UINT64_C(0xd17a05bae2eece46), UINT64_C(0x2f1467f85dfc1a97), UINT64_C(0x0000000000000000),
UINT64_C(0xad4dc367c93799b5), UINT64_C(0x019d58356bc6240f), UINT64_C(0xdd3d9bb7f2197aa8), UINT64_C(0x0000000000000000),
@ -11317,7 +11324,7 @@ static const mzd_local_t K_192_192_30_27 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xd68e23244f61131b), UINT64_C(0x5a26271a90537ce3), UINT64_C(0x245d77e0b470451c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_28 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_28 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xba79fd2b27ce760a), UINT64_C(0xf2da4c07af16b7b4), UINT64_C(0xe518e236613d4ddd), UINT64_C(0x0000000000000000),
UINT64_C(0xf605fb0db126d856), UINT64_C(0xc838e42a33984c62), UINT64_C(0x1e32177fb03f788d), UINT64_C(0x0000000000000000),
UINT64_C(0x996c10bba2a217c7), UINT64_C(0xda3e1faf1bb1e501), UINT64_C(0xe2373280edc8734f), UINT64_C(0x0000000000000000),
@ -11512,7 +11519,7 @@ static const mzd_local_t K_192_192_30_28 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x806f8873c9d67207), UINT64_C(0x7c9d4a27ad90019a), UINT64_C(0x1d6df44fab1ee253), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_29 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_29 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x397008ca8e1863b9), UINT64_C(0x19ba40397773a777), UINT64_C(0x267183063dc76f2e), UINT64_C(0x0000000000000000),
UINT64_C(0xb5c5403881606fb9), UINT64_C(0x177efb23db489b84), UINT64_C(0x62b36433752f4578), UINT64_C(0x0000000000000000),
UINT64_C(0x91fffd0ab878fae8), UINT64_C(0x725b8d50a8d63f19), UINT64_C(0xe0834828a0b19a9a), UINT64_C(0x0000000000000000),
@ -11707,7 +11714,7 @@ static const mzd_local_t K_192_192_30_29 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0x9d3b6031c1ebba81), UINT64_C(0xc774844720b3d1a4), UINT64_C(0xeea807c6be47fc00), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t K_192_192_30_30 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_192_192_30_30 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xeaaeb060bd0c5861), UINT64_C(0x59ed0fc623844fa3), UINT64_C(0xf7033505bac35b39), UINT64_C(0x0000000000000000),
UINT64_C(0xc9ebc1d89b9a8d1f), UINT64_C(0xa08a3390027e0b35), UINT64_C(0x10d40360a8fe554a), UINT64_C(0x0000000000000000),
UINT64_C(0xb2289f2704fd7331), UINT64_C(0x4ca869593feb954e), UINT64_C(0x39e6880889c157c6), UINT64_C(0x0000000000000000),
@ -11903,128 +11910,128 @@ static const mzd_local_t K_192_192_30_30 = { 192, 192, 3, 4, { 0 }, {
}};
#endif
static const mzd_local_t C_192_192_30_0 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_0 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x39ed9ab4578fe9c0), UINT64_C(0x6165aa5450e33391), UINT64_C(0x2850d26a385f1724), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_1 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_1 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x669de0bc674ca32e), UINT64_C(0xfa8bb6f8862dc9a3), UINT64_C(0x62bf4711940b3036), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_2 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_2 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x653d333839fe0178), UINT64_C(0xf0a10eb8e6cb2438), UINT64_C(0x81e2475b40c43261), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_3 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_3 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x5929080d4b1bb09a), UINT64_C(0xecea8f8a5dbbd129), UINT64_C(0xb1e08d59618bcfff), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_4 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_4 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xa563d3dd9e185ddc), UINT64_C(0xc070fd06da8c29ca), UINT64_C(0x4a44174369eb5cf1), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_5 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_5 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x30612be6f92eb1b4), UINT64_C(0x7450f3493b0ea4bb), UINT64_C(0x9eed749d2e2dc99c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_6 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_6 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x9fe0e286c2ededc6), UINT64_C(0xfead19e9057c6d48), UINT64_C(0xa757202e864deb0a), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_7 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_7 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x00ee1b0bfcea13bf), UINT64_C(0xa69500079ef19ffc), UINT64_C(0x796717e0710c607c), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_8 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_8 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x9283390ae5fb1e17), UINT64_C(0x9e7c9fa6b90acfdd), UINT64_C(0x971de625d1d9d468), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_9 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_9 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xea491c55f9dc27a6), UINT64_C(0x6b2675d51f68d736), UINT64_C(0x32355d3ab29ce0d4), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_10 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_10 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xcb7fc3a5b295551f), UINT64_C(0x630b1e1c5873ce40), UINT64_C(0xc6ac59a35f847db7), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_11 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_11 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xee89104966fe254e), UINT64_C(0x3395b3c7f093cfa2), UINT64_C(0x5140ba8c8b16eb09), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_12 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_12 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xae0db5d8dae7d4ac), UINT64_C(0xa43724b4939997b8), UINT64_C(0x1a9d5cbc7d777625), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_13 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_13 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x04c4816d74996ac3), UINT64_C(0x0c808666deeb5717), UINT64_C(0x0ec90097813a6547), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_14 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_14 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x05ccef4084f3ff50), UINT64_C(0x6256764646221d78), UINT64_C(0x7278e5ca479349af), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_15 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_15 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xd1137789bc5926ce), UINT64_C(0xdeb7cceaedcf7923), UINT64_C(0x1fa17d6a1bbaed1f), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_16 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_16 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xadd6d4f0a1f11a9a), UINT64_C(0x489f00183f40b1d7), UINT64_C(0x5c50f8fa6c3d9cf1), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_17 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_17 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x11ff14f9d25bfc71), UINT64_C(0x504be337454451b1), UINT64_C(0x509d2eb6f94f0c65), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_18 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_18 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x212b8c89d94eab71), UINT64_C(0x9fa2335074b1bca2), UINT64_C(0x7c5b9581204acaf8), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_19 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_19 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x52dc4945de8eb31f), UINT64_C(0xd07bad83868c54af), UINT64_C(0x12dde15f74f99024), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_20 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_20 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xf7727110a449fb47), UINT64_C(0xee9fa42d1f536b07), UINT64_C(0xa5a17315c405aef7), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_21 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_21 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xc35bcd88d1293622), UINT64_C(0x7f21c32a7aff6130), UINT64_C(0x071bf2655c2f2272), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_22 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_22 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x48713a2eaf1cb75b), UINT64_C(0x9e8f318447d13af8), UINT64_C(0xe54704753244ce3f), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_23 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_23 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xd670b000e18a8979), UINT64_C(0x943d365e65c1c223), UINT64_C(0x56531d426a153fad), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_24 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_24 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0xb6573ed4caffb0fc), UINT64_C(0xb347c75be4fd5608), UINT64_C(0xf0e6738dd3ee5300), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_25 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_25 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x5db096a54b25fa6f), UINT64_C(0x08ed68fb1846b0a3), UINT64_C(0x2c52ce5610871daa), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_26 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_26 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x01008977bf519ebd), UINT64_C(0xc58cb013c602ca15), UINT64_C(0xb54f9c08d6ed86f6), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_27 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_27 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x29cf50335cbf3c16), UINT64_C(0xd4377a68b5d31bce), UINT64_C(0xc7be30335cbf9070), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_28 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_28 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x8e92c5c1da09cd2c), UINT64_C(0x4bfdea26d0f05075), UINT64_C(0x43e327b7c4db48bf), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t C_192_192_30_29 = { 1, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_192_192_30_29 = { 1, 192, 3, 4, { 0 }, {
UINT64_C(0x505284085463fe5e), UINT64_C(0x9e9cf33d0019b2c5), UINT64_C(0xe34b4bf6e6dc0859), UINT64_C(0x0000000000000000),
}};
#if defined(REDUCED_LINEAR_LAYER)
static const mzd_local_t precomputed_round_key_matrix_linear_part_192_192_30 = { 192, 192, 3, 4, { 0 }, {
GCC_EXT static const mzd_local_t precomputed_round_key_matrix_linear_part_192_192_30 = { 192, 192, 3, 4, { 0 }, {
UINT64_C(0xfaa97030b5e13d54), UINT64_C(0x71f180540b8394be), UINT64_C(0xde60453ea0d0ff6b), UINT64_C(0x0000000000000000),
UINT64_C(0xe215921eeefa56ff), UINT64_C(0xf6feb5d775a51c50), UINT64_C(0x558cf93355448248), UINT64_C(0x0000000000000000),
UINT64_C(0x7d5041f1a76673d2), UINT64_C(0x7dffd6a64dc54a95), UINT64_C(0x9500a9145e3aea16), UINT64_C(0x0000000000000000),
@ -12219,7 +12226,7 @@ static const mzd_local_t precomputed_round_key_matrix_linear_part_192_192_30 = {
UINT64_C(0x7f2bbfa8d34e9e02), UINT64_C(0xa07f4ac34485a930), UINT64_C(0x88520954dd34879e), UINT64_C(0x0000000000000000),
}};
static const mzd_local_t precomputed_round_key_matrix_non_linear_part_192_192_30 = { 192, 960, 15, 16, { 0 }, {
GCC_EXT static const mzd_local_t precomputed_round_key_matrix_non_linear_part_192_192_30 = { 192, 960, 15, 16, { 0 }, {
UINT64_C(0x1a6b7cbd16d18ec4), UINT64_C(0x180228ca073bd4be), UINT64_C(0x1013d3bc16d545ef), UINT64_C(0x3543fddd0db1ff71), UINT64_C(0x01dff25d2965a805), UINT64_C(0x3d380f313523278f), UINT64_C(0x1bf5e2c93a7fc691), UINT64_C(0x3dc8aa2705d64fff), UINT64_C(0x1c425a7a149b2ea0), UINT64_C(0x24fa9e273bc09e8c), UINT64_C(0x099800b93f216716), UINT64_C(0x27c914061b645671), UINT64_C(0x02d6508d309d57d7), UINT64_C(0x022dd41538672337), UINT64_C(0x174fe819061f8744), UINT64_C(0x0000000000000000),
UINT64_C(0x1d52749101ae89d6), UINT64_C(0x2329c1b12bddb0fc), UINT64_C(0x2dc9e5601f75bfc2), UINT64_C(0x0197cc330e5ab395), UINT64_C(0x2f82de4b05f63dfe), UINT64_C(0x00df92da1ecd7bc9), UINT64_C(0x0f82b3dd194c9d37), UINT64_C(0x3cba97a02149f5bf), UINT64_C(0x0f577e982a9b3b9d), UINT64_C(0x34b1ed3c18e046e5), UINT64_C(0x27c69f4d3f3f75f6), UINT64_C(0x1da237da17882e37), UINT64_C(0x08b517c2199b9903), UINT64_C(0x0929d05c07df215d), UINT64_C(0x1dbe22a03042124b), UINT64_C(0x0000000000000000),
UINT64_C(0x3f3853da1ba1ba8a), UINT64_C(0x3bcb607823d2892f), UINT64_C(0x2b5a041634a8b231), UINT64_C(0x23ce4a2b329822a0), UINT64_C(0x28f97d6f22bf722e), UINT64_C(0x055699c32dcae372), UINT64_C(0x186699b51dcf7264), UINT64_C(0x266d90182695036f), UINT64_C(0x056ddd1b30946bd5), UINT64_C(0x0fbe2220388894ce), UINT64_C(0x1e6f99eb16103df2), UINT64_C(0x004f62550a1cf4a7), UINT64_C(0x0c4a2f35109f5f81), UINT64_C(0x07179b8f00d1e6ff), UINT64_C(0x21f591bd24b3f78c), UINT64_C(0x0000000000000000),

View File

@ -6,7 +6,14 @@
#include "lowmc_256_256_38.h"
static const mzd_local_t L_256_256_38_0 = { 256, 256, 4, 4, { 0 }, {
/* The GCC_EXT macro is to prevent a warning from the pedantic flag */
#if defined(_WIN32)
#define GCC_EXT
#else
#define GCC_EXT __extension__
#endif
GCC_EXT static const mzd_local_t L_256_256_38_0 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xae978c90acbcb7d2), UINT64_C(0xf329f900fd7471c8), UINT64_C(0x196d51fb151aa810), UINT64_C(0xa3ee2402aca98dee),
UINT64_C(0x621e2889382ae9ba), UINT64_C(0xb17a2f815cf94db8), UINT64_C(0x41d55b4bc59515f5), UINT64_C(0xc1be206b1e9c56f6),
UINT64_C(0x91fc9063bcbdddbc), UINT64_C(0x78dab681f07518d2), UINT64_C(0x9b2ab650d25d64ac), UINT64_C(0x75d8571ebfa33f5d),
@ -265,7 +272,7 @@ static const mzd_local_t L_256_256_38_0 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x572f89b433cd9344), UINT64_C(0xd871654dc9a927d4), UINT64_C(0x08be086728dec4b6), UINT64_C(0x5e11342d92675f09),
}};
static const mzd_local_t L_256_256_38_1 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_1 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x76c98a03dd62152d), UINT64_C(0x7103eeb3466a68ca), UINT64_C(0x2bc6ad62a40b2539), UINT64_C(0x7fcbcc6fa811fba9),
UINT64_C(0x4c9ef8703a4ec0db), UINT64_C(0x35ded9d2b83720da), UINT64_C(0x7c43677ff8d69561), UINT64_C(0x84fe45ee52faf0fe),
UINT64_C(0x0253343f3fee6ec0), UINT64_C(0x2dc06ed2dd70cd54), UINT64_C(0x27a2d1b6e1e979f3), UINT64_C(0xa1ff2765433b0be0),
@ -524,7 +531,7 @@ static const mzd_local_t L_256_256_38_1 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x828ddda09f3e480d), UINT64_C(0x3883a6d11bb5f529), UINT64_C(0x5f35aab2c6848f62), UINT64_C(0x4464ff9aadc13324),
}};
static const mzd_local_t L_256_256_38_2 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_2 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe790a08c9a431a8e), UINT64_C(0x0ec4de89067b426b), UINT64_C(0xf46de932d91e435e), UINT64_C(0xd2c145ba0d1a563b),
UINT64_C(0x6fb8e7b85baaad28), UINT64_C(0x17849365f5fbec33), UINT64_C(0x1ed747acfedbc680), UINT64_C(0x965677d462be371d),
UINT64_C(0x11d985170b723f68), UINT64_C(0x2e0c65feb8320c23), UINT64_C(0xc118e424a5e179da), UINT64_C(0x92c7c45c18946593),
@ -783,7 +790,7 @@ static const mzd_local_t L_256_256_38_2 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x22c662d553abe27f), UINT64_C(0xadb1e8bfd92bb2d3), UINT64_C(0xf6688411cc5be9cd), UINT64_C(0x110edee186e66241),
}};
static const mzd_local_t L_256_256_38_3 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_3 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc11a32f28c450e8a), UINT64_C(0xf4651e7d447e3ffe), UINT64_C(0x2f32b6949926ae0e), UINT64_C(0xecc8b9a8b985a9a1),
UINT64_C(0x78839bf233b81805), UINT64_C(0x57cde10554efdc2e), UINT64_C(0x9a92f21fe58a763d), UINT64_C(0xcca8d684d0963ed4),
UINT64_C(0xa40c375f5fa2c53f), UINT64_C(0x23c15351966098d9), UINT64_C(0x4eebb71d895b42d1), UINT64_C(0xe17a6956e9acfe64),
@ -1042,7 +1049,7 @@ static const mzd_local_t L_256_256_38_3 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x4270eda95f28719a), UINT64_C(0xadf3cbbfc2c11caf), UINT64_C(0xf8d1e2d6dbba1ad6), UINT64_C(0x4d99470134a52fe5),
}};
static const mzd_local_t L_256_256_38_4 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_4 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x505d9f650daacdce), UINT64_C(0xa473e5bc65ed298c), UINT64_C(0x3942e6d45c772736), UINT64_C(0x7389edd8781cff43),
UINT64_C(0xb4a0957a7389e2a0), UINT64_C(0x185b0ce13d9fac89), UINT64_C(0xfee9fdda86190f60), UINT64_C(0x26a8ad400090a975),
UINT64_C(0x53ebfda7eb1c22c2), UINT64_C(0xc549dc8f3a5d02cf), UINT64_C(0x972910ec40aa7df5), UINT64_C(0x10ac2044028514cb),
@ -1301,7 +1308,7 @@ static const mzd_local_t L_256_256_38_4 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xaabb5dab37d59362), UINT64_C(0x4cad1270538c23cf), UINT64_C(0x4032f689565ca591), UINT64_C(0x44cacef393e76bb3),
}};
static const mzd_local_t L_256_256_38_5 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_5 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x30975687ea4cd9b5), UINT64_C(0x9522fa32598e2d0c), UINT64_C(0x6ee9988d842b2e90), UINT64_C(0x8888ab0e2a372317),
UINT64_C(0x606aa83b7e7e54f9), UINT64_C(0x0df79b46200395a0), UINT64_C(0xa9c0218ed5e5bf4c), UINT64_C(0x77abdcdb331d36e7),
UINT64_C(0x42340df5c2a4343b), UINT64_C(0xf0fca7d0a7746080), UINT64_C(0x6df1fa50b42c73fb), UINT64_C(0x10268aebe1422d3a),
@ -1560,7 +1567,7 @@ static const mzd_local_t L_256_256_38_5 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x7128338f74b87353), UINT64_C(0x70a6f5e861294b38), UINT64_C(0x508a34d1e4c66e08), UINT64_C(0x5ebcae738dc160d3),
}};
static const mzd_local_t L_256_256_38_6 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_6 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x38570c3f280d44b1), UINT64_C(0xa79239d3a1539e87), UINT64_C(0xd4f3f5cccfd13a23), UINT64_C(0xdad8f39e36526502),
UINT64_C(0x33265e1cf7b38681), UINT64_C(0x4508940146666e0e), UINT64_C(0x645baa3b1f25fa64), UINT64_C(0xb938142e5760b1c8),
UINT64_C(0xecea39ac9e7cbde3), UINT64_C(0x8eddfa13dd58fff5), UINT64_C(0x3951d202eba88e02), UINT64_C(0x26941671356190ce),
@ -1819,7 +1826,7 @@ static const mzd_local_t L_256_256_38_6 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb95aea6933cb0e73), UINT64_C(0x9b748c1aaeb807b6), UINT64_C(0x42c9b73b3aafc86a), UINT64_C(0xb25d0a0a758651b5),
}};
static const mzd_local_t L_256_256_38_7 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_7 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xf6be21acd60c3bbb), UINT64_C(0x0bdd31249c362cd0), UINT64_C(0x234fcb7697ca644c), UINT64_C(0xb67c7d0b506d6a7e),
UINT64_C(0x6964ed8d5bda6b45), UINT64_C(0x219a1a642cde0c84), UINT64_C(0x0b032536866831f1), UINT64_C(0xd88d928d9b7b00ea),
UINT64_C(0x868ec4bf3ef142f2), UINT64_C(0xf6ec17fc898e5733), UINT64_C(0x14f698355a70d3ea), UINT64_C(0x7927a88f1b777bac),
@ -2078,7 +2085,7 @@ static const mzd_local_t L_256_256_38_7 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x127d322d46308fa6), UINT64_C(0x8b7bea893a4ffbe1), UINT64_C(0xb5b13acc9d632e1c), UINT64_C(0x838a16a327cf9ba6),
}};
static const mzd_local_t L_256_256_38_8 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_8 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2ef3948c9039c6c7), UINT64_C(0x02320e49b3cb80ae), UINT64_C(0xbe4ef9f8666af521), UINT64_C(0x4353ae7052d86081),
UINT64_C(0x992f32699496a68c), UINT64_C(0x77be6079e3c52fd0), UINT64_C(0x44a217ed7c64900d), UINT64_C(0x161f38dc5905c3ae),
UINT64_C(0x20d153cd98dc0c7f), UINT64_C(0xb2843d219292cf6a), UINT64_C(0x680a728719575165), UINT64_C(0x59dadf45f7d34cde),
@ -2337,7 +2344,7 @@ static const mzd_local_t L_256_256_38_8 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xfdd693a1704922d5), UINT64_C(0x4beca62163f5d012), UINT64_C(0x076b22d704e50ed4), UINT64_C(0xe0711f7bacbd3ce3),
}};
static const mzd_local_t L_256_256_38_9 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_9 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x82a6b7fa107cadbb), UINT64_C(0x4b522e13d3dd7b09), UINT64_C(0x3b5b0e3f7cf4ea00), UINT64_C(0xe96b5cbdeca7bd6f),
UINT64_C(0x6954cbad3fc845fb), UINT64_C(0x9adecc012647bce1), UINT64_C(0xa5b0684f3ed7a848), UINT64_C(0x8847348c7faff9c0),
UINT64_C(0xfdfe0185ec246f5b), UINT64_C(0x36f7eb9eb6eea29a), UINT64_C(0xb410b478a272715b), UINT64_C(0xd3ff770a7d9354aa),
@ -2596,7 +2603,7 @@ static const mzd_local_t L_256_256_38_9 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xec111fd7c382bc5d), UINT64_C(0x7e4dc2a828489ec7), UINT64_C(0x8632fe51627a36b5), UINT64_C(0x513ec5cfb8649642),
}};
static const mzd_local_t L_256_256_38_10 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_10 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x387954305973ecf1), UINT64_C(0xddf6fdd952f5d4de), UINT64_C(0xfe2090ad1c8b86ef), UINT64_C(0xffe7230bbb5a7cf2),
UINT64_C(0x6bca7f15771fa6d5), UINT64_C(0x4dd8147421a52d2c), UINT64_C(0x618f1f9d6f3f9c2e), UINT64_C(0x39697372873b72a0),
UINT64_C(0xc677ee28af10e34f), UINT64_C(0x050ddf1285cd9144), UINT64_C(0x4bea27bc80fb0f20), UINT64_C(0xa5f0041376a71407),
@ -2855,7 +2862,7 @@ static const mzd_local_t L_256_256_38_10 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc78cb79e677e2ec8), UINT64_C(0x5a3db3d40948f103), UINT64_C(0x7b48a525a80389f5), UINT64_C(0xa41ddb7c3791af97),
}};
static const mzd_local_t L_256_256_38_11 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_11 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc60d01444f4def15), UINT64_C(0xceb7899f475483cb), UINT64_C(0xcab40c4a4aaf3e25), UINT64_C(0xe1153e37eff86842),
UINT64_C(0x85f0f69e319c7555), UINT64_C(0x875a89d027d49468), UINT64_C(0x336ee0f7fb833093), UINT64_C(0xe90998ded0e459db),
UINT64_C(0x8e22069541c8772b), UINT64_C(0x9d68aa05d9c7b6f2), UINT64_C(0xa6792ad18463978d), UINT64_C(0xfca6cea595166a2d),
@ -3114,7 +3121,7 @@ static const mzd_local_t L_256_256_38_11 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x0f29569cd9e458eb), UINT64_C(0x5bada95c265d7cea), UINT64_C(0xd4eac08718fc37ff), UINT64_C(0x2e5ee00c50315193),
}};
static const mzd_local_t L_256_256_38_12 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_12 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x1a9c3d8fd9fabefe), UINT64_C(0xef4b5e72713dae08), UINT64_C(0x8afdb59a8286e7f2), UINT64_C(0x19587fac316b9b57),
UINT64_C(0x3192f3a3f4bcb784), UINT64_C(0xc2ef40618e0448fd), UINT64_C(0x02d332864299bed9), UINT64_C(0xe0faf9f078eeeedc),
UINT64_C(0x6ffc159e278c911e), UINT64_C(0x18d25ceb0d6000dd), UINT64_C(0x5ff2718501e2863c), UINT64_C(0x13af9681e1f45927),
@ -3373,7 +3380,7 @@ static const mzd_local_t L_256_256_38_12 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x5a6b1c34745b6337), UINT64_C(0x82114d992aae4be8), UINT64_C(0xa713457821c743e3), UINT64_C(0xf116dd336b1eedf8),
}};
static const mzd_local_t L_256_256_38_13 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_13 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xbbf763279188f439), UINT64_C(0xe96cf7ef79912e6c), UINT64_C(0x744f9b4904778d90), UINT64_C(0xa8ecc0ec2ae9f8ae),
UINT64_C(0xad5192a0d64e53f5), UINT64_C(0x7b672738856a9ad5), UINT64_C(0xea96c1b58e139651), UINT64_C(0x00a3080acd263fad),
UINT64_C(0x4558dd318aa903f2), UINT64_C(0x4340ea29d5712572), UINT64_C(0xf79c6e44c46d7a93), UINT64_C(0xfeb8c92bcaa2bc0e),
@ -3632,7 +3639,7 @@ static const mzd_local_t L_256_256_38_13 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x0cb3ff9bd65a5f95), UINT64_C(0xdcb687eaf07e69ca), UINT64_C(0x38265e0b0276bf53), UINT64_C(0x03d547894109709d),
}};
static const mzd_local_t L_256_256_38_14 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_14 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x54e6c9849a7966ee), UINT64_C(0xa3615f831dae57a0), UINT64_C(0x7ef606c21daa4d22), UINT64_C(0x6cd1881083c96738),
UINT64_C(0xe35ab2c7fff051dc), UINT64_C(0x5cab19a6ca5e93bb), UINT64_C(0xb13873450323a92c), UINT64_C(0x743779de5df0d436),
UINT64_C(0x5a9a41526b7326e2), UINT64_C(0xeb269a3d724087e4), UINT64_C(0xfadc5c617cb8a5e7), UINT64_C(0x19876f0f41e8e107),
@ -3891,7 +3898,7 @@ static const mzd_local_t L_256_256_38_14 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x03e5fd4db053602c), UINT64_C(0xc12467da509123a3), UINT64_C(0xe341310b30cf4dd9), UINT64_C(0x4008dfe75d058035),
}};
static const mzd_local_t L_256_256_38_15 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_15 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb1060a9b7ea825f9), UINT64_C(0xc80b33824b653dc2), UINT64_C(0xa7b32f3326aa538d), UINT64_C(0x14783b45a8a3b198),
UINT64_C(0x7aefe77bf15b525f), UINT64_C(0x676711a8a27446f6), UINT64_C(0xbe0fb9f2cd03b96f), UINT64_C(0x1fd0c083a57ab2bc),
UINT64_C(0x8b977946ce8f1f7e), UINT64_C(0xb5f837652362a035), UINT64_C(0xc3a78ef5cc34fc81), UINT64_C(0x0a0f6f0198d941c9),
@ -4150,7 +4157,7 @@ static const mzd_local_t L_256_256_38_15 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x1c74a069358f53e3), UINT64_C(0x4b99cd05bb69448e), UINT64_C(0x4d3ce62be3479a3c), UINT64_C(0x901e7f2c9bfdef23),
}};
static const mzd_local_t L_256_256_38_16 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_16 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe9d7229263ed25a0), UINT64_C(0x7fc41b93a6d89765), UINT64_C(0xa38db9f9fe0b571e), UINT64_C(0xa907986e9a58bea2),
UINT64_C(0x200c86f5083fb0a2), UINT64_C(0xa5d0e3008c109f61), UINT64_C(0xfa95e839eb361667), UINT64_C(0x286f369610cf8720),
UINT64_C(0x76df0342d94252c3), UINT64_C(0xb1706d4ff0fd3f4a), UINT64_C(0xc2f261978552bfd1), UINT64_C(0xef9b467d679993ca),
@ -4409,7 +4416,7 @@ static const mzd_local_t L_256_256_38_16 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x682caac80a2b06e8), UINT64_C(0xd67ebfedaabf5eb5), UINT64_C(0x7c110befefd2ef79), UINT64_C(0xd1eaccd7bd1dc398),
}};
static const mzd_local_t L_256_256_38_17 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_17 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x246baa51a0a69931), UINT64_C(0xddf8703e12e580a7), UINT64_C(0x2571d86674554fb3), UINT64_C(0x9574d3ebbf80ccf6),
UINT64_C(0xf90698ef8675add1), UINT64_C(0xdddc6e292e8e09b0), UINT64_C(0x35b28bf4c786226f), UINT64_C(0x360cc79cefe0a3e6),
UINT64_C(0xfcd7e72be41035de), UINT64_C(0x83b28e6d8c7fa049), UINT64_C(0xda2d253999a64f29), UINT64_C(0x30c37cbdf05c52a1),
@ -4668,7 +4675,7 @@ static const mzd_local_t L_256_256_38_17 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa2e850b32b725d44), UINT64_C(0xe2f42c13aed6c33d), UINT64_C(0x38d7b676a091c4a0), UINT64_C(0x0ca1afbc5586c623),
}};
static const mzd_local_t L_256_256_38_18 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_18 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x130cb4ba6c62e7d0), UINT64_C(0xe9fae5862acc82be), UINT64_C(0xa1e4203092790ce7), UINT64_C(0x0b1cece93e37962f),
UINT64_C(0x97d6488ad1fb71d6), UINT64_C(0x64e8584089f635d0), UINT64_C(0xebc112db4b5b97f9), UINT64_C(0xb4520c669edad247),
UINT64_C(0xd4e78a2941971376), UINT64_C(0x0ce8158e8de66215), UINT64_C(0x78bb2824d7d6f2f8), UINT64_C(0x2293d8b5216143a8),
@ -4927,7 +4934,7 @@ static const mzd_local_t L_256_256_38_18 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe2ab4d4a43bc3234), UINT64_C(0xdb6708898c3f3200), UINT64_C(0xc65c70b239e8c012), UINT64_C(0x68c6c66690ab7636),
}};
static const mzd_local_t L_256_256_38_19 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_19 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x5aaff7fdd351ed68), UINT64_C(0xb25ff39da729ab0b), UINT64_C(0xf77a0f043ff80cb6), UINT64_C(0xb7c8697d3d2fc84f),
UINT64_C(0xe4e12a3801b74911), UINT64_C(0x9a4c5cd4aa5be4e6), UINT64_C(0x11ddf776ced3811f), UINT64_C(0x2b8aafec12a19064),
UINT64_C(0xf141b55edf9a929f), UINT64_C(0xf5d29961f44c729c), UINT64_C(0x20c9c56073f5df6a), UINT64_C(0x6385bb75a67af2b2),
@ -5186,7 +5193,7 @@ static const mzd_local_t L_256_256_38_19 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x7edfda2006f35133), UINT64_C(0x80fe71ef51540f87), UINT64_C(0x51bb3f69de1214cf), UINT64_C(0x92a4d98b55067408),
}};
static const mzd_local_t L_256_256_38_20 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_20 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x735d6f2e7127445f), UINT64_C(0x0c21a69bf8340450), UINT64_C(0xf8ff0aa519be4192), UINT64_C(0x017924baf2069ab6),
UINT64_C(0x8c26748cb68f4334), UINT64_C(0xfcd288b811aeecc5), UINT64_C(0x73c15d485930040a), UINT64_C(0x0239903376ecdd23),
UINT64_C(0x8e2ce70d0b435a92), UINT64_C(0x171aeb4ec9d93f03), UINT64_C(0x5bc2363f4f29fdfb), UINT64_C(0x204fa8ea13a54ec4),
@ -5445,7 +5452,7 @@ static const mzd_local_t L_256_256_38_20 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xbbfd938fcb0fc317), UINT64_C(0x63847e8504a7adb4), UINT64_C(0x3ac33a36b0b9534e), UINT64_C(0x507f18f2589566dd),
}};
static const mzd_local_t L_256_256_38_21 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_21 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc284fb3d65ce2cff), UINT64_C(0x493413610b8344c0), UINT64_C(0x044a552e162cfe95), UINT64_C(0x1e9e7cc68e6ce49a),
UINT64_C(0x095b6410cc05e86f), UINT64_C(0x95f462c36b737bd1), UINT64_C(0xa4d729a8f18460e4), UINT64_C(0x7aced61141472832),
UINT64_C(0x2fceeb27a6f185d3), UINT64_C(0xef468f4b1271c926), UINT64_C(0x96da1aea408a5d9f), UINT64_C(0xc6ffa7b2ebb53b11),
@ -5704,7 +5711,7 @@ static const mzd_local_t L_256_256_38_21 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x1d339e06fd20f5c8), UINT64_C(0x13a84873e8ff6391), UINT64_C(0x46812264f64fc221), UINT64_C(0xbc0862d3211925f4),
}};
static const mzd_local_t L_256_256_38_22 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_22 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xbdb4dfdff4319aef), UINT64_C(0x4f68241b1f29a1c9), UINT64_C(0xc4fbf5f492034b0d), UINT64_C(0xfe7c3f3995751cf4),
UINT64_C(0x39485ebe014fac26), UINT64_C(0x6c74bcc364299c43), UINT64_C(0xd99299d703e9d27c), UINT64_C(0x6885045353db29d2),
UINT64_C(0x68a8f66c64ee99a3), UINT64_C(0x23f6728128f4824a), UINT64_C(0x469a55d7ef245ada), UINT64_C(0x15647d80df8b753e),
@ -5963,7 +5970,7 @@ static const mzd_local_t L_256_256_38_22 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa2e1f31d2ef1efe5), UINT64_C(0xab4aaadf81d3066d), UINT64_C(0x4bf751e937e24515), UINT64_C(0xbf4d82e963195b50),
}};
static const mzd_local_t L_256_256_38_23 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_23 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6a893bc2efb6bbcc), UINT64_C(0x1d33cb4137fec49c), UINT64_C(0xb10326ad3d2d011e), UINT64_C(0x31f919dd64aff609),
UINT64_C(0x5874e374323adb2a), UINT64_C(0x79899304525b90af), UINT64_C(0x1cbc7a153fd548c3), UINT64_C(0xd25d50f8731481b1),
UINT64_C(0xf0cf1334c371131f), UINT64_C(0xd9350feeae857e68), UINT64_C(0x9e30d3d86d1c7add), UINT64_C(0xffbac530e8a9151b),
@ -6222,7 +6229,7 @@ static const mzd_local_t L_256_256_38_23 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8ced4ba1d3a87b8e), UINT64_C(0xfa8bbb3e7f63ea06), UINT64_C(0x57c0db18016c2029), UINT64_C(0xb0f9bb7603868628),
}};
static const mzd_local_t L_256_256_38_24 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_24 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8e0045584f9e1ddf), UINT64_C(0xd1e2687e5c9e23bc), UINT64_C(0x1e70a57b70088d5f), UINT64_C(0xd107d851ade28358),
UINT64_C(0x43f705e75dd8d43c), UINT64_C(0xcc8f3cc27c340b45), UINT64_C(0x6f96a92366ef6d0b), UINT64_C(0x1db5c7b8ba0cd83e),
UINT64_C(0xe9304b11cae80c54), UINT64_C(0x7418e824965aa289), UINT64_C(0x2731ef7e7bbd46dd), UINT64_C(0x5a68ce1c2f1db625),
@ -6481,7 +6488,7 @@ static const mzd_local_t L_256_256_38_24 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x39c7a31d2b59b43d), UINT64_C(0xa62c758c3001189f), UINT64_C(0x715d6395db61835c), UINT64_C(0x5245b1e8700e201b),
}};
static const mzd_local_t L_256_256_38_25 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_25 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x11719eb2dd4ff5c7), UINT64_C(0x50056b2d397dacd3), UINT64_C(0x8b7ea3d9ba19e0f3), UINT64_C(0x5132cb3efe3d81a2),
UINT64_C(0x77bfd659111a6e91), UINT64_C(0xe2b27c1aa5734bc1), UINT64_C(0x6af0c7b77181dbf3), UINT64_C(0x6aa0bae210a35f75),
UINT64_C(0x0186b6f80345a134), UINT64_C(0x8914a1c3a392acf2), UINT64_C(0x7023a7be252493a7), UINT64_C(0x966b5c80f7777e72),
@ -6740,7 +6747,7 @@ static const mzd_local_t L_256_256_38_25 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x0ce945dc2e2ea3dd), UINT64_C(0xdecb7e2b1d64152f), UINT64_C(0x06dd000bc6b51f95), UINT64_C(0xf08df922578905b1),
}};
static const mzd_local_t L_256_256_38_26 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_26 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x7b5fd34d399d63d3), UINT64_C(0x889dbf4ab398d53e), UINT64_C(0x92b5f8310df11e39), UINT64_C(0x26b7fd95f1a1383b),
UINT64_C(0x1d93c69806a54be2), UINT64_C(0xf9897807052bd47a), UINT64_C(0xb60ce597bc7b7543), UINT64_C(0xc64ce00eaf4cf8ee),
UINT64_C(0xd4235510d20a1ddf), UINT64_C(0x199e2510d6c4d8a5), UINT64_C(0xd65ad8173e657b55), UINT64_C(0xf032c5bbae981402),
@ -6999,7 +7006,7 @@ static const mzd_local_t L_256_256_38_26 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x48502e4956157f15), UINT64_C(0x3508b99991362ff0), UINT64_C(0xb987626dcec757d0), UINT64_C(0xdb96dad7e52a8325),
}};
static const mzd_local_t L_256_256_38_27 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_27 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6ce9bfca6d58868b), UINT64_C(0x12c09fb15bd09414), UINT64_C(0x4eab878f15292189), UINT64_C(0x53b403d2d2166d96),
UINT64_C(0xd25700308cf6243c), UINT64_C(0xf98a36e02ebea2eb), UINT64_C(0x9f36fa467656b9d0), UINT64_C(0xca4c49551bda756a),
UINT64_C(0x0d066153acef5bf6), UINT64_C(0x335a8ff54b9ed1e0), UINT64_C(0x1033d1eb3f080b3c), UINT64_C(0x02f0b1cd4271a4f0),
@ -7258,7 +7265,7 @@ static const mzd_local_t L_256_256_38_27 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa0c5e5214050f524), UINT64_C(0x11f56bd60da2dab7), UINT64_C(0x3b56f925049f2a29), UINT64_C(0xb8d4ca4b55f09118),
}};
static const mzd_local_t L_256_256_38_28 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_28 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x047bcc41399d8c12), UINT64_C(0x6303e640d1a27560), UINT64_C(0xd0b3d6535e7b5ed4), UINT64_C(0x4c0ce2601625acb4),
UINT64_C(0xbc36607472cb3973), UINT64_C(0xdefa82517736659e), UINT64_C(0x4bd7581ea7cbb283), UINT64_C(0x2e15c8042ee1e482),
UINT64_C(0x32714c8b8c40a95b), UINT64_C(0x57b6735936165328), UINT64_C(0x66378beac7afcf22), UINT64_C(0xfd1f4b4a728e5463),
@ -7517,7 +7524,7 @@ static const mzd_local_t L_256_256_38_28 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xf9b9e0b80b1b77c6), UINT64_C(0xd69879e924e997e4), UINT64_C(0x72aeeadf6f9cd68b), UINT64_C(0xf6922ce3b29976af),
}};
static const mzd_local_t L_256_256_38_29 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_29 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa65ab3feb132f066), UINT64_C(0xd9cddc892bb826d1), UINT64_C(0xba1f1f90b40a72ae), UINT64_C(0x63d598f6003979b9),
UINT64_C(0x6b21077c85dc1063), UINT64_C(0x885e3acff8809ec3), UINT64_C(0x86a9679a42ba4a89), UINT64_C(0x35025ea3f0f0f53e),
UINT64_C(0xf99d9320f792e12e), UINT64_C(0xbdc2dae370629275), UINT64_C(0xc4fa7e74702b721c), UINT64_C(0x6700f1d99c6299d1),
@ -7776,7 +7783,7 @@ static const mzd_local_t L_256_256_38_29 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8ef6be449f75b069), UINT64_C(0x4f357fb8d37828aa), UINT64_C(0x68f1369acf92db01), UINT64_C(0x0c6cb2167478e869),
}};
static const mzd_local_t L_256_256_38_30 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_30 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x5d460270623cb77e), UINT64_C(0xfc3d1e9ff68b6229), UINT64_C(0x403451b458209251), UINT64_C(0x383b54ff2bb3c3a7),
UINT64_C(0xd55c57d3d948ed9a), UINT64_C(0x05b1b73480f01612), UINT64_C(0xb3454fe53765fcb1), UINT64_C(0x02c60d9640a5209e),
UINT64_C(0x469bd285c9f2cccd), UINT64_C(0x7d9410ac111e645e), UINT64_C(0xd65ec93c3642bcd3), UINT64_C(0x6238fca017e59fa9),
@ -8035,7 +8042,7 @@ static const mzd_local_t L_256_256_38_30 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6bb8fb1e6a79c9fd), UINT64_C(0x3ec9eeeb211e43c2), UINT64_C(0xee6b09be279d186b), UINT64_C(0x01e2407ff924ed1e),
}};
static const mzd_local_t L_256_256_38_31 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_31 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6c6b7bb6a7cbb10e), UINT64_C(0x50c303110537c316), UINT64_C(0x5ffdcc222f630da7), UINT64_C(0x4b03d59c3803505c),
UINT64_C(0x315979ce7f30e4b8), UINT64_C(0x6293ba3b7e34a128), UINT64_C(0x11a108d597d8ec7a), UINT64_C(0x88323c20546c1d0c),
UINT64_C(0x409d3538511a772a), UINT64_C(0xe40886e51948320b), UINT64_C(0x6c090d7d4806fbce), UINT64_C(0xffb5b4aa0244bd24),
@ -8294,7 +8301,7 @@ static const mzd_local_t L_256_256_38_31 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2482a381c54f4db8), UINT64_C(0xef6741c40cea61f0), UINT64_C(0x535334c301308add), UINT64_C(0x66eb02ac46ced322),
}};
static const mzd_local_t L_256_256_38_32 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_32 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xcce514e6deb17204), UINT64_C(0x8249cd87cdebb8cf), UINT64_C(0xa7104b4ead2e39a0), UINT64_C(0xb87aa62e8a65138c),
UINT64_C(0x94b29f96300f2d3b), UINT64_C(0xe8f1b37ffe8a9a53), UINT64_C(0x6622ba40612a362c), UINT64_C(0xcef60cb97b93533a),
UINT64_C(0x018430405644407d), UINT64_C(0x30fc5881ed8f2576), UINT64_C(0x88ba4823fa265532), UINT64_C(0xa88034c0d2b04ea0),
@ -8553,7 +8560,7 @@ static const mzd_local_t L_256_256_38_32 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x56456c7945c99054), UINT64_C(0xeecd238b8edcfea0), UINT64_C(0xe5b1198f4b7362c6), UINT64_C(0x13b8dc3064727ae2),
}};
static const mzd_local_t L_256_256_38_33 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_33 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2e0cf228551ff8cd), UINT64_C(0xc78df1b5e2b68d56), UINT64_C(0x3a01f9f3d801f770), UINT64_C(0xe36786c1882c6f02),
UINT64_C(0x24958f93969c0ede), UINT64_C(0x1e6571ea50b1fe7b), UINT64_C(0x13f9e849d17076e3), UINT64_C(0xd46c492f110be476),
UINT64_C(0xc048c9f5ada00d79), UINT64_C(0x590ea3e32cac3b41), UINT64_C(0x9982e884b3ef6aa2), UINT64_C(0xf79e0b386ad8860b),
@ -8812,7 +8819,7 @@ static const mzd_local_t L_256_256_38_33 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x28db4477aa22e6b2), UINT64_C(0x437c5cfc43a76c0c), UINT64_C(0x2bd45cc9639e9fd5), UINT64_C(0xe302590c620884d8),
}};
static const mzd_local_t L_256_256_38_34 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_34 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x78160346ec431577), UINT64_C(0x6435eb1eb7048db7), UINT64_C(0x1f6db2071874e013), UINT64_C(0xf114ec8e2ce2222b),
UINT64_C(0x7e1658651f8b758e), UINT64_C(0x58020e1ae8510f42), UINT64_C(0x59546ad6dd8989c2), UINT64_C(0x894e5f4a784ece75),
UINT64_C(0x774df41739e83eb2), UINT64_C(0xfa98c54629f799aa), UINT64_C(0xe932fb219e9f1c11), UINT64_C(0xb7fbc662c6231dc3),
@ -9071,7 +9078,7 @@ static const mzd_local_t L_256_256_38_34 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe73506382621fc1c), UINT64_C(0x8629d594bc0309f7), UINT64_C(0xe5aa2a73819d5eee), UINT64_C(0xbc95bee91191c5ae),
}};
static const mzd_local_t L_256_256_38_35 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_35 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x1fa559dff9ae31be), UINT64_C(0x058e084ce68d50a5), UINT64_C(0x0cf102662cdc33db), UINT64_C(0xceca692dda00f4c0),
UINT64_C(0xeb706682e98bfb1f), UINT64_C(0xfcf50cdbe0243b03), UINT64_C(0xf285b85f52cc9aaa), UINT64_C(0x806e0e0efedb98e1),
UINT64_C(0x5b06df08e734b30d), UINT64_C(0x0a728be6b8443dca), UINT64_C(0x2b0317e2fd61381d), UINT64_C(0xc564e32b09754ad2),
@ -9330,7 +9337,7 @@ static const mzd_local_t L_256_256_38_35 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xaa2288a3228064e4), UINT64_C(0x7bc9ba191cc769ad), UINT64_C(0xae959eed7e81f073), UINT64_C(0xec12480430752f6e),
}};
static const mzd_local_t L_256_256_38_36 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_36 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6cee805b41707457), UINT64_C(0x4241604538d6d275), UINT64_C(0xe68515fa42db3f7a), UINT64_C(0x0fd27a442896187f),
UINT64_C(0x8c6bc8cf6714d2e2), UINT64_C(0x462c18a3ba8c1784), UINT64_C(0x42bb51d26f0bae7e), UINT64_C(0x7eb90d3a411ec85d),
UINT64_C(0x33614f456e8b93ae), UINT64_C(0xa89df099cee1b7aa), UINT64_C(0xb117a500218ad60a), UINT64_C(0x65e17dd736a8bc90),
@ -9589,7 +9596,7 @@ static const mzd_local_t L_256_256_38_36 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa37cf2163eb36831), UINT64_C(0x6e7775a68407e557), UINT64_C(0x71b02393fa58adf5), UINT64_C(0xcd1316c338ce445b),
}};
static const mzd_local_t L_256_256_38_37 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t L_256_256_38_37 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x1e38d12c93cc94e0), UINT64_C(0xb03c3f201dc64682), UINT64_C(0xad967f15ca2ac1d9), UINT64_C(0x277dd6cb6755a2ea),
UINT64_C(0xbf9dfbeaf08d5ace), UINT64_C(0xd0f7eaa4d8a78a97), UINT64_C(0xfbf14baa4b00bdfb), UINT64_C(0x0d35aefd079589b2),
UINT64_C(0xdea2f6647873d6f6), UINT64_C(0x734b1efe20a95b09), UINT64_C(0x63dde58e69258e66), UINT64_C(0xf74111f1936ad6ef),
@ -9849,7 +9856,7 @@ static const mzd_local_t L_256_256_38_37 = { 256, 256, 4, 4, { 0 }, {
}};
#if !defined(REDUCED_LINEAR_LAYER)
static const mzd_local_t K_256_256_38_0 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_0 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2ecbc97e010f28f6), UINT64_C(0xf6ae999ee000bab1), UINT64_C(0x1a4a5e7707fb8fbe), UINT64_C(0xee51da95ffd0357a),
UINT64_C(0xe7ff833b9260505e), UINT64_C(0xb42752eb014efcd7), UINT64_C(0x9c47fee54514ea45), UINT64_C(0x4e764d8a4e48c37e),
UINT64_C(0x3dfe0493c94805ee), UINT64_C(0x26f418f1547693d6), UINT64_C(0xe5dc8f879933fce7), UINT64_C(0x67ce702079ff826b),
@ -10108,7 +10115,7 @@ static const mzd_local_t K_256_256_38_0 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x0148327190b6ef97), UINT64_C(0x36e68e04ad8db967), UINT64_C(0x76054fe164791675), UINT64_C(0x2f33a4335698bd6c),
}};
static const mzd_local_t K_256_256_38_1 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_1 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xadea969f89f331ba), UINT64_C(0xf2a28a6c7b5616b7), UINT64_C(0xa9db534273dfc6d7), UINT64_C(0xd144fcc76068ce9f),
UINT64_C(0xc7db4b5db5b966a2), UINT64_C(0x8612e463e60a90f8), UINT64_C(0x12aaa92877546755), UINT64_C(0x9d7c221447a909cb),
UINT64_C(0x904af3d20a501528), UINT64_C(0xc2056f557f7a2830), UINT64_C(0xd9d0b44a5bf848b7), UINT64_C(0x25741e882ec9ea96),
@ -10367,7 +10374,7 @@ static const mzd_local_t K_256_256_38_1 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x68f53b9224d8256b), UINT64_C(0x29248598d0581273), UINT64_C(0x1f653f0594f8111c), UINT64_C(0x4fcce409a1bfba24),
}};
static const mzd_local_t K_256_256_38_2 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_2 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x03cd99d82e0974c3), UINT64_C(0x6603022fb2c7122d), UINT64_C(0xb033e2ded107a61c), UINT64_C(0xe0b740d6dfff7157),
UINT64_C(0x7900420ca9fa2fdd), UINT64_C(0x4573c910667384a4), UINT64_C(0xfda96eab362fc12a), UINT64_C(0xbade58444b0c560f),
UINT64_C(0x8ce2440f49340140), UINT64_C(0xd49b4a9d95ac31ae), UINT64_C(0x4e05b4a662261cbc), UINT64_C(0xb55020ac7f71683f),
@ -10626,7 +10633,7 @@ static const mzd_local_t K_256_256_38_2 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa2b134e5f7ad3e30), UINT64_C(0x27a70d1a9c2fe8fe), UINT64_C(0x879e3af0d03ebf10), UINT64_C(0xbe3cda64a4587d6c),
}};
static const mzd_local_t K_256_256_38_3 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_3 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x53fefd48f6ddec7f), UINT64_C(0xd89be9aa377af5c5), UINT64_C(0x161cb05b5f9a17a2), UINT64_C(0x02fa69ee0d0bc361),
UINT64_C(0xe2bb18ecc287d679), UINT64_C(0xe3196a92635d46cc), UINT64_C(0xe492ca503131c5ce), UINT64_C(0x8989459545254dd1),
UINT64_C(0xf07c73309fea24fe), UINT64_C(0x8ff9f8ea9ab7968a), UINT64_C(0xbd4224fd283f453d), UINT64_C(0xaf80bedb80727dbb),
@ -10885,7 +10892,7 @@ static const mzd_local_t K_256_256_38_3 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2c658c0f2d944491), UINT64_C(0x03433d4601403e7d), UINT64_C(0xca2455c5dbaa5d65), UINT64_C(0xbd9c0c4af82f77ae),
}};
static const mzd_local_t K_256_256_38_4 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_4 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc4edf52b69e6cc49), UINT64_C(0xba7d22ed3953c080), UINT64_C(0x7a651e4ccd62cd83), UINT64_C(0x6689a39a87c3bdd0),
UINT64_C(0x07d7e726284cbc1b), UINT64_C(0x643e40f7b36ca0bf), UINT64_C(0xed1427ef7c00a086), UINT64_C(0xf7a18d763a668e3f),
UINT64_C(0x39be39ce98b71d02), UINT64_C(0x2fbedb3bd664c1e6), UINT64_C(0x5b10e6dbc17c3160), UINT64_C(0x81d0e26de2dfbd01),
@ -11144,7 +11151,7 @@ static const mzd_local_t K_256_256_38_4 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x62044f30c22b560c), UINT64_C(0x64dfdd1b452af689), UINT64_C(0x1528e9d6b8fdbe09), UINT64_C(0xdc2a9ad646f7ee36),
}};
static const mzd_local_t K_256_256_38_5 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_5 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xcb899b7602867aef), UINT64_C(0xb1fb7adfac86203f), UINT64_C(0x63fb8a8bcf820bf3), UINT64_C(0xeb6324bdbbd1f1a2),
UINT64_C(0x465c554d64d100c9), UINT64_C(0x227b05daf129770a), UINT64_C(0x1477b4eb46feebcb), UINT64_C(0x89331a6d01d3a29a),
UINT64_C(0x961c1387adfe04b5), UINT64_C(0x367b75bbfcda69f5), UINT64_C(0xa33139fdbeb5a2c9), UINT64_C(0x9b8a341529a608ca),
@ -11403,7 +11410,7 @@ static const mzd_local_t K_256_256_38_5 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x366be76dfbc24427), UINT64_C(0x66613f363049a1b8), UINT64_C(0x2fa52584a7f0c70d), UINT64_C(0x73ac397c4d78f215),
}};
static const mzd_local_t K_256_256_38_6 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_6 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8c5cce9b87e28240), UINT64_C(0x622329b3b2dbde94), UINT64_C(0xea49b79c80b25de7), UINT64_C(0x9d4ea430d460ea03),
UINT64_C(0x9d2e2fea2e372243), UINT64_C(0xb3df3dab9cd8726c), UINT64_C(0x75867ed6da9cd04f), UINT64_C(0x2b1c56f5dca45e3a),
UINT64_C(0x9c11390183440d44), UINT64_C(0x760bb3cca612c576), UINT64_C(0xb3fb64c7a174596e), UINT64_C(0xf231cca371715fcf),
@ -11662,7 +11669,7 @@ static const mzd_local_t K_256_256_38_6 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6aac334fbd39710b), UINT64_C(0x453728645b87ff30), UINT64_C(0xb338be81adba00d8), UINT64_C(0xb15f55bb193ff3ba),
}};
static const mzd_local_t K_256_256_38_7 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_7 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x0a890ac202789851), UINT64_C(0x2609d46942ac4305), UINT64_C(0xb87a76500c79104e), UINT64_C(0x382ae4f26e5e7cbe),
UINT64_C(0x5474c53454475fac), UINT64_C(0xbfbd69510062f486), UINT64_C(0x0b852cf3a4d2450a), UINT64_C(0xf9183a6c778bd493),
UINT64_C(0x85e9d41062de43ae), UINT64_C(0x20664c0f76813781), UINT64_C(0xcdce50c44d117d6d), UINT64_C(0x4b0e8b833c1cb9f2),
@ -11921,7 +11928,7 @@ static const mzd_local_t K_256_256_38_7 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xffbc3660196bec4a), UINT64_C(0x5113c20032f8bb73), UINT64_C(0x31dd018671ac6571), UINT64_C(0x84497f6bc2145d49),
}};
static const mzd_local_t K_256_256_38_8 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_8 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe02593b020e24e80), UINT64_C(0x5697dc420bd12e3f), UINT64_C(0xc4881301de2bb43f), UINT64_C(0xb999cf9df3515754),
UINT64_C(0xecb0f9505028e239), UINT64_C(0x80a755cad8d1005c), UINT64_C(0x638bf7a08aed9b20), UINT64_C(0x79ac29cfcb15dbfc),
UINT64_C(0xae595a172efa80d8), UINT64_C(0x06d6a1418610a95f), UINT64_C(0xea104c5d80fe91bf), UINT64_C(0x0215ca962192b63a),
@ -12180,7 +12187,7 @@ static const mzd_local_t K_256_256_38_8 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x97a0b0c774b416e8), UINT64_C(0x13eed0854c265769), UINT64_C(0xd2615aa1b7c5aaa4), UINT64_C(0xd105e091cfefd0a8),
}};
static const mzd_local_t K_256_256_38_9 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_9 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6447aa636cba497b), UINT64_C(0x30a58d8b052dd3ef), UINT64_C(0x4c2ead07f5a4e00c), UINT64_C(0xd34ad29bf59a7d8f),
UINT64_C(0xdb01840693e2930d), UINT64_C(0x503f2e0322adb4d3), UINT64_C(0x8ea7cb880584b807), UINT64_C(0xd6b876caf096a6ef),
UINT64_C(0x1d76aca636e8f0f5), UINT64_C(0x5adc52cd63f14efc), UINT64_C(0xa7519ebb63b404e9), UINT64_C(0xb8a3b3d1d87ccd54),
@ -12439,7 +12446,7 @@ static const mzd_local_t K_256_256_38_9 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x48006f03e130ddfb), UINT64_C(0x711fda57cd3077e3), UINT64_C(0xb67e345583df924b), UINT64_C(0x75f41e929ee1d627),
}};
static const mzd_local_t K_256_256_38_10 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_10 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb73c2da201d8d635), UINT64_C(0x12401b18efbbfd76), UINT64_C(0x406ec25a3c8f32ad), UINT64_C(0x77970268b1771795),
UINT64_C(0x340279dcfe16c7b8), UINT64_C(0x96a06b99a36caeac), UINT64_C(0xcf51600ab34339e4), UINT64_C(0xfad1000767908905),
UINT64_C(0x7446f956a53cb7a0), UINT64_C(0x7ad667d7ed4cc92f), UINT64_C(0xe2840b8087dc269a), UINT64_C(0x04563318d3b5e9f5),
@ -12698,7 +12705,7 @@ static const mzd_local_t K_256_256_38_10 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xadb812c0077200f2), UINT64_C(0xbebb990a5952f727), UINT64_C(0x5f282da802f4f9d0), UINT64_C(0x816620559713d026),
}};
static const mzd_local_t K_256_256_38_11 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_11 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x15a54b8d0c1d9f89), UINT64_C(0x471af61fe32d995b), UINT64_C(0xdac3d07879fe9f0c), UINT64_C(0xa18b476058d5a1e0),
UINT64_C(0x72b32cd5ab314dcb), UINT64_C(0xfa757e2e5b9b4ea6), UINT64_C(0xd5317c6ac84a0b4b), UINT64_C(0xf04a4b2396068f30),
UINT64_C(0x37216f9f58c2824a), UINT64_C(0x381e2c8ea5d4c2fb), UINT64_C(0xa8cccd93227dda55), UINT64_C(0xf2f065593be05abf),
@ -12957,7 +12964,7 @@ static const mzd_local_t K_256_256_38_11 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2561577e9fab58cd), UINT64_C(0x2f13119d8078f0c8), UINT64_C(0x86140d6452eac560), UINT64_C(0x04eac59bc467a487),
}};
static const mzd_local_t K_256_256_38_12 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_12 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6894ee6c9eaf4928), UINT64_C(0xdc3de15455a52359), UINT64_C(0x5aa12ad6abc3666d), UINT64_C(0xbf8bb63848202792),
UINT64_C(0xf9c81b9703d3040f), UINT64_C(0x8bd2725eb874692d), UINT64_C(0x7c2ef32351edd7e4), UINT64_C(0xff52079aa9e846b7),
UINT64_C(0x9244af10491a1db7), UINT64_C(0xa836c35066e97f56), UINT64_C(0x64cc9c23aff9094d), UINT64_C(0x9381fc342d0d02d3),
@ -13216,7 +13223,7 @@ static const mzd_local_t K_256_256_38_12 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8f03d6cd5dda0a6a), UINT64_C(0x206dccc21e37ad55), UINT64_C(0xba46ba5c8c5b1811), UINT64_C(0x63982a09084218fb),
}};
static const mzd_local_t K_256_256_38_13 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_13 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb0e2bfe31dd6e368), UINT64_C(0x6e01fecd5b3910b8), UINT64_C(0x2353555d77815dcd), UINT64_C(0x6929c7ba58b55c26),
UINT64_C(0xd4b400443d04315f), UINT64_C(0x9881bc19566e12b0), UINT64_C(0x0e0561913c314046), UINT64_C(0xe1196010e2ee185c),
UINT64_C(0x955ec4c4a83a8a88), UINT64_C(0x5a4ea47b9c3fe5d5), UINT64_C(0x7cfdd22d6393f21e), UINT64_C(0xd70b14c8903ae7b7),
@ -13475,7 +13482,7 @@ static const mzd_local_t K_256_256_38_13 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xff19817c0997554b), UINT64_C(0xdd38fe78e9c613c8), UINT64_C(0x3fe9949db4f8b891), UINT64_C(0x449d3369468552e3),
}};
static const mzd_local_t K_256_256_38_14 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_14 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x99f99cf509b75f97), UINT64_C(0xa74c3fccef4ffba1), UINT64_C(0xbf354ad7a082cacd), UINT64_C(0x8abbf606334fe5e3),
UINT64_C(0xfc11b4dced5f36e7), UINT64_C(0x28b667fc5442624d), UINT64_C(0xfa6a66df0186e085), UINT64_C(0x73de35db94b44f23),
UINT64_C(0xa6489d749bca36ad), UINT64_C(0xf6aef2a1f8ccc3a0), UINT64_C(0xabf842e3ba01d704), UINT64_C(0xfd49a941482ba457),
@ -13734,7 +13741,7 @@ static const mzd_local_t K_256_256_38_14 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x12270440b31b8ace), UINT64_C(0xdb1033a464fe6e3d), UINT64_C(0xfd6761fde549a078), UINT64_C(0x3a706b251d099626),
}};
static const mzd_local_t K_256_256_38_15 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_15 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x5f7fb7dd31dd0fa5), UINT64_C(0xe4546d5196eba79e), UINT64_C(0x7779c3e3b9ec1140), UINT64_C(0x8db3b1bf592a5429),
UINT64_C(0xfc12f0776665fd1a), UINT64_C(0xe7fa8548e96f50ef), UINT64_C(0xe2997846d672ce44), UINT64_C(0xde9c66c96ff7703c),
UINT64_C(0x052ea2838bd43bb1), UINT64_C(0x6aab59d3d09cf0dc), UINT64_C(0x056d9e69d9b22476), UINT64_C(0xcb27d32d73413b46),
@ -13993,7 +14000,7 @@ static const mzd_local_t K_256_256_38_15 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x001cc203e0eaa4ec), UINT64_C(0x8488e156943c8924), UINT64_C(0x1a7951d41b7b137a), UINT64_C(0x20f0ba11f5cf0154),
}};
static const mzd_local_t K_256_256_38_16 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_16 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x930763cf104ab687), UINT64_C(0x70e4faa169073fba), UINT64_C(0xc2c0c8675287ee9b), UINT64_C(0x986c070f991de5b9),
UINT64_C(0x19edd58465bb2985), UINT64_C(0x8c57bc32928551de), UINT64_C(0x64ee5ecc9857d8e2), UINT64_C(0x013f206ab3bf2ead),
UINT64_C(0x8be52fa07a0eba12), UINT64_C(0xfdbd36f0f514f873), UINT64_C(0xea4d7455586d8fb5), UINT64_C(0xa70d86f119a87b1e),
@ -14252,7 +14259,7 @@ static const mzd_local_t K_256_256_38_16 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xd9b60ce4471ca22d), UINT64_C(0x2bbb44d613690976), UINT64_C(0x14e79d2e398e0a77), UINT64_C(0xde2e4138f5378de9),
}};
static const mzd_local_t K_256_256_38_17 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_17 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xedfdeeb9ecf52892), UINT64_C(0x80599fe94e884756), UINT64_C(0x733ea73fa6dcc041), UINT64_C(0xf30d721e5edfa0bd),
UINT64_C(0xa279c626a123a8e5), UINT64_C(0x0dae1c55729a2c24), UINT64_C(0xb6156cc40ce77147), UINT64_C(0x3ca98c689d3dddd3),
UINT64_C(0x8a688b7e2bf72927), UINT64_C(0x52b9cfa36dd2342a), UINT64_C(0x60aaad86dd8df43b), UINT64_C(0x548e4bc7aeb71b8c),
@ -14511,7 +14518,7 @@ static const mzd_local_t K_256_256_38_17 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x82c8ae12ba8937f0), UINT64_C(0x38e7f3db36584e22), UINT64_C(0x03d782ea5d0304c6), UINT64_C(0x7eacdedbf6dd9926),
}};
static const mzd_local_t K_256_256_38_18 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_18 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe09ca24608cc6c89), UINT64_C(0xae72154e73063407), UINT64_C(0xae96a024282955cd), UINT64_C(0x899bd586e2a79961),
UINT64_C(0xc8f0e06c4e89eb53), UINT64_C(0xd241a4ae2d46ef75), UINT64_C(0x7fb7e5bea11c5db1), UINT64_C(0x4136b3795d6dbff4),
UINT64_C(0xed1ac611dc2ece11), UINT64_C(0x276da6c6e03b2b82), UINT64_C(0x5db8a92d52144150), UINT64_C(0x504ff9a9e6d80321),
@ -14770,7 +14777,7 @@ static const mzd_local_t K_256_256_38_18 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2f2a2a49f8a79600), UINT64_C(0x02145868e3b7ed78), UINT64_C(0xe74fdec17e6c31d9), UINT64_C(0x24aa0eb29551151b),
}};
static const mzd_local_t K_256_256_38_19 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_19 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x7a9e58a8543d5908), UINT64_C(0x26c031ca5384dd73), UINT64_C(0x6176f6a14f3330fe), UINT64_C(0x2bf7414ccdda4ed4),
UINT64_C(0xe9e9bc2ae9d2398e), UINT64_C(0x64c63d9447dd3385), UINT64_C(0xc96bb8578e0c3ad3), UINT64_C(0xb64d9592218f8b22),
UINT64_C(0xedc1839b0513f41b), UINT64_C(0x4dd6a3bed935e983), UINT64_C(0xaad4379479a75724), UINT64_C(0xbf467df81f5392cb),
@ -15029,7 +15036,7 @@ static const mzd_local_t K_256_256_38_19 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x30b7b147f1f3918d), UINT64_C(0x53758c1d61e90a32), UINT64_C(0x59bb3815022eae54), UINT64_C(0xf06ade3d09da822a),
}};
static const mzd_local_t K_256_256_38_20 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_20 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x828bb66f14c50207), UINT64_C(0x353c8209108c6666), UINT64_C(0x6b0be266e1a20622), UINT64_C(0xb033bfedde1b431a),
UINT64_C(0xe0545359e0150d9b), UINT64_C(0xf8e75381907354e5), UINT64_C(0xfa6f0626a3582ea3), UINT64_C(0xf579a9a08b7ae5d4),
UINT64_C(0xf5e1518d9b31f3e1), UINT64_C(0x0c1172fed0d99af0), UINT64_C(0x3a00ea39eadf1dc4), UINT64_C(0x9e40ef192724279a),
@ -15288,7 +15295,7 @@ static const mzd_local_t K_256_256_38_20 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa49b867bd6e0ad96), UINT64_C(0xab4a28cd8222c78d), UINT64_C(0x0feea90fa0b7ac19), UINT64_C(0x6daf4941b5d0ca21),
}};
static const mzd_local_t K_256_256_38_21 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_21 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x2879b43360c35334), UINT64_C(0x2656060cfb479d15), UINT64_C(0x081ae132f54f2fe3), UINT64_C(0x7d6df1f7e7611699),
UINT64_C(0x29f59f74a0aa1f4f), UINT64_C(0xb1d8f9f272a0400e), UINT64_C(0xbe723d712c75ab62), UINT64_C(0x614a710f5319a7cb),
UINT64_C(0xcc28d72b9b5b057c), UINT64_C(0xff498f7a4c9bd155), UINT64_C(0x7fb4eb735579047b), UINT64_C(0xaaefafb121ab17c4),
@ -15547,7 +15554,7 @@ static const mzd_local_t K_256_256_38_21 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb09be27ecdb4852e), UINT64_C(0x5d681791c9db951b), UINT64_C(0xdf66356ad94b63a8), UINT64_C(0x0e5b27616621f3b5),
}};
static const mzd_local_t K_256_256_38_22 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_22 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x37c44a3c127bb944), UINT64_C(0xa2fc920813b8715e), UINT64_C(0x55a248e262fc6e58), UINT64_C(0x75b1d52ae6407fcc),
UINT64_C(0xf5f46dc3068a57e9), UINT64_C(0x58ab56730893ee68), UINT64_C(0x380358f3e5b0909e), UINT64_C(0xb0f5eefa621e4c72),
UINT64_C(0xe727bfa4629bd2db), UINT64_C(0x139244922e91a121), UINT64_C(0xd0d290a6d37cce3c), UINT64_C(0xe67bc0ffec452bcf),
@ -15806,7 +15813,7 @@ static const mzd_local_t K_256_256_38_22 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x746128cd59b7e53d), UINT64_C(0xe69ef28b9a23440c), UINT64_C(0x6318ea3b6daa0204), UINT64_C(0xcec9a8fdc0ebc051),
}};
static const mzd_local_t K_256_256_38_23 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_23 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8c8acf3f3f91314b), UINT64_C(0x53bf1e0a9b1ab864), UINT64_C(0x784a8a4ff81e026e), UINT64_C(0xfa8cf1f855ac1430),
UINT64_C(0x5c1681bd9772f5fe), UINT64_C(0xef81a581aab27ba1), UINT64_C(0xee72f578c9a10d97), UINT64_C(0x3390a02a309c3025),
UINT64_C(0x68ac44e4987f4aff), UINT64_C(0x23022627a2ec51fd), UINT64_C(0x068cda3f89463a60), UINT64_C(0x2257fa66fd3724c0),
@ -16065,7 +16072,7 @@ static const mzd_local_t K_256_256_38_23 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc1f5acb9ec8a92f2), UINT64_C(0xd2dc117c94a60471), UINT64_C(0xab19ca593f7efb74), UINT64_C(0x93a6e499b73df1d1),
}};
static const mzd_local_t K_256_256_38_24 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_24 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc74e051c1cafca99), UINT64_C(0xbcc6a8f13228c24e), UINT64_C(0xbfeab0fa0e89c61b), UINT64_C(0x45edb1840aa25f42),
UINT64_C(0x2b354422c259a492), UINT64_C(0xfd860262787b4a04), UINT64_C(0x2f1bc281cb95cbb9), UINT64_C(0x93608b5477c384b1),
UINT64_C(0xb1cef2b942d8676f), UINT64_C(0x3e2eeef618831c69), UINT64_C(0x1f6c198b32bcb339), UINT64_C(0x4f2eb17a99b2a997),
@ -16324,7 +16331,7 @@ static const mzd_local_t K_256_256_38_24 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x98723ced1a14ec8e), UINT64_C(0x3019e2e45e644768), UINT64_C(0x8cc53ac6352101ad), UINT64_C(0x9041fdf3c5f7046c),
}};
static const mzd_local_t K_256_256_38_25 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_25 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x226e62e1aeace1ca), UINT64_C(0xc60278674b10455e), UINT64_C(0x4b1f751206d34d41), UINT64_C(0xa551926cd1844dc8),
UINT64_C(0xce140a3e23adf4bd), UINT64_C(0x8dead6c836affc50), UINT64_C(0xcc19f8f8e12b55c7), UINT64_C(0x2df3c503e664ef56),
UINT64_C(0xfcd66e6f9ddea9d0), UINT64_C(0x0b504b1bdb6b25e1), UINT64_C(0xd0517e5e4b5b7d2b), UINT64_C(0xa2d601f1699aadb8),
@ -16583,7 +16590,7 @@ static const mzd_local_t K_256_256_38_25 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x5a4f53636a32748d), UINT64_C(0xfd1a08d67a46244b), UINT64_C(0xa4ea2cdfa358809b), UINT64_C(0x0407938dbb13d854),
}};
static const mzd_local_t K_256_256_38_26 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_26 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x1ad163701f360c3c), UINT64_C(0xc89a953c7725330d), UINT64_C(0xe2f2ee02dfc06919), UINT64_C(0x5ef19df5e66023bd),
UINT64_C(0x42e7f75d9fb33c47), UINT64_C(0x9bcd6d2274b0cbb6), UINT64_C(0x918f5d479612d7f8), UINT64_C(0xecf685a421d3bf5d),
UINT64_C(0x17f1fdce85eec282), UINT64_C(0x52273adba10b8af3), UINT64_C(0x9651c826bc73617a), UINT64_C(0x1cce0365bab6d874),
@ -16842,7 +16849,7 @@ static const mzd_local_t K_256_256_38_26 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb5889a129aa07b6f), UINT64_C(0x834aa380c079fb05), UINT64_C(0x7074de5e798821f7), UINT64_C(0x15831b72825af038),
}};
static const mzd_local_t K_256_256_38_27 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_27 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x49bf129580b8d073), UINT64_C(0x8c0ac6b093d55e71), UINT64_C(0xa9339fcdcd0e417e), UINT64_C(0x75937e8632750c1e),
UINT64_C(0x6cc0984f181ad3c5), UINT64_C(0xac8d49b6d6f5daec), UINT64_C(0x63d1d54103fc58d3), UINT64_C(0x7385521b275ac2bd),
UINT64_C(0x7221ae0e0d7eb879), UINT64_C(0x70a8be46585ab257), UINT64_C(0xc4c0106b7697d68e), UINT64_C(0x7bc6e4b3ee04a727),
@ -17101,7 +17108,7 @@ static const mzd_local_t K_256_256_38_27 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x27ff593d147280c6), UINT64_C(0x5ef537cc59b9c5de), UINT64_C(0x18fda24be2a82b27), UINT64_C(0x146227e84a5b511d),
}};
static const mzd_local_t K_256_256_38_28 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_28 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x597cd5406b06c48f), UINT64_C(0x047d4644e4fe4011), UINT64_C(0x29247706dd97841e), UINT64_C(0x14e4f69ecda3ade7),
UINT64_C(0x3e36947a25ff2f08), UINT64_C(0x8b930505bd9c365a), UINT64_C(0x5bfd44bfe04261aa), UINT64_C(0x75a46ae1613ad7b4),
UINT64_C(0xe48ffa38bf9a3e8d), UINT64_C(0x8a17562c3df771a8), UINT64_C(0xdf9e399137f80ffe), UINT64_C(0x9c793987eed745c9),
@ -17360,7 +17367,7 @@ static const mzd_local_t K_256_256_38_28 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x7bb8759ebf351775), UINT64_C(0x1b1dab031a94a830), UINT64_C(0x6ab9bf4e8bdf9ad4), UINT64_C(0x77848503d40e77db),
}};
static const mzd_local_t K_256_256_38_29 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_29 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xab7757fab8efefad), UINT64_C(0x0cdc0ee961f32d39), UINT64_C(0xa6fcc07be6b98e81), UINT64_C(0xc30caf37ecafd8b7),
UINT64_C(0x33056f830044e7ed), UINT64_C(0x3bb876bd93c195ef), UINT64_C(0xe498d49d5a76987e), UINT64_C(0xb84c11f2739ef78f),
UINT64_C(0xf29b399d38add92e), UINT64_C(0x61df50a8acb085d5), UINT64_C(0x7d62486142bf0af4), UINT64_C(0xa06fb6d57810cbb3),
@ -17619,7 +17626,7 @@ static const mzd_local_t K_256_256_38_29 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x724db7ff3c6ce34b), UINT64_C(0xf3dfb8f4359217e0), UINT64_C(0x801908a29e67d15b), UINT64_C(0xbd2487b69e1b5ecf),
}};
static const mzd_local_t K_256_256_38_30 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_30 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x25c1383e89b95bde), UINT64_C(0x0ac3c1e18dcbf6c7), UINT64_C(0x35ce472f0751fcee), UINT64_C(0x4ba37cd4097c332a),
UINT64_C(0x2734f819683ef3cf), UINT64_C(0x12ee500be0911d43), UINT64_C(0x245c2ec883a24720), UINT64_C(0x3b93194bc7792e49),
UINT64_C(0x5742cb8b3a75474f), UINT64_C(0xcc90f80481638010), UINT64_C(0x721a4c836ac25ac3), UINT64_C(0xf52394f7c62e4396),
@ -17878,7 +17885,7 @@ static const mzd_local_t K_256_256_38_30 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x80403a0dfb8e963b), UINT64_C(0xfa7f54c1d28f48f6), UINT64_C(0x47425e9a93ac58f1), UINT64_C(0x5119faa7f97e317b),
}};
static const mzd_local_t K_256_256_38_31 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_31 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x30ffd9c40347a3ad), UINT64_C(0xfa36ada8945b562f), UINT64_C(0x0d926337826f6067), UINT64_C(0xf38066569c7e9a4c),
UINT64_C(0x468ee6af99e40d3f), UINT64_C(0xbcb01799799c2883), UINT64_C(0x23c26520c6664cf0), UINT64_C(0xc914f360dd59c6fc),
UINT64_C(0xd8c1a3774a4469ae), UINT64_C(0x267819bac5dd8a4b), UINT64_C(0xac3d32e7c7b2b65c), UINT64_C(0x5fbec30c577b6525),
@ -18137,7 +18144,7 @@ static const mzd_local_t K_256_256_38_31 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe56f4dd4af5a170a), UINT64_C(0x5907ce9559d480bc), UINT64_C(0xbab646d6bc146d31), UINT64_C(0x676a3d5f66a2fb2b),
}};
static const mzd_local_t K_256_256_38_32 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_32 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xa85ce6f3793a53b9), UINT64_C(0xcdc36ab9552d3506), UINT64_C(0x8ada2cd92d3192d2), UINT64_C(0xeb8a1ebb3e055469),
UINT64_C(0xef5ecaf32f36b1d0), UINT64_C(0x2bc70b06b3642c33), UINT64_C(0xcd8cbd4a4c0cddbb), UINT64_C(0x49218775f28fcdee),
UINT64_C(0x351c28b794ee042d), UINT64_C(0x8e22d17bb172c663), UINT64_C(0xc4802bdb50f92c54), UINT64_C(0x9b23fb02856d755a),
@ -18396,7 +18403,7 @@ static const mzd_local_t K_256_256_38_32 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x8b1c7d107ab867cd), UINT64_C(0x2aa02d4a1d1318d2), UINT64_C(0x642102386bcd43b9), UINT64_C(0x7032f6b73b8c6ec5),
}};
static const mzd_local_t K_256_256_38_33 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_33 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x32a155c3782ef52b), UINT64_C(0xf8366a1ef0359ff3), UINT64_C(0x2a15a503e67f3e65), UINT64_C(0xde01f802abbbc5bb),
UINT64_C(0x0bc14ee010d5358b), UINT64_C(0xdb4b02ddb7056936), UINT64_C(0x8891e107b922e605), UINT64_C(0x8d9d694ec57485a4),
UINT64_C(0x07892f19aadf5ea8), UINT64_C(0xfaa7c29a601de00d), UINT64_C(0x802817bc3e7e72ac), UINT64_C(0xa19d33ab60d37a77),
@ -18655,7 +18662,7 @@ static const mzd_local_t K_256_256_38_33 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xc26c894bc34af628), UINT64_C(0x68eacd6e50b238f3), UINT64_C(0x799a4979ccb5113b), UINT64_C(0xc1b927a898bb55cb),
}};
static const mzd_local_t K_256_256_38_34 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_34 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6d0fa1d72e102f4f), UINT64_C(0x7c76c29aa5492040), UINT64_C(0xdfdec0a1c353f82f), UINT64_C(0xddd97e4f6137e5a1),
UINT64_C(0xd8e10878eef70171), UINT64_C(0x90c573d7fc29fc2c), UINT64_C(0x85ff26b7eae7abb7), UINT64_C(0x943d39c3b293a12e),
UINT64_C(0x63fcc88139f335e8), UINT64_C(0xc3f3fd5847aa8383), UINT64_C(0x4ea87bb38ce397a0), UINT64_C(0xc6195654fcd11d3d),
@ -18914,7 +18921,7 @@ static const mzd_local_t K_256_256_38_34 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x0a226547a50efae1), UINT64_C(0xd298e966839bd1c0), UINT64_C(0x8b6422460583f528), UINT64_C(0x1469eecda828c175),
}};
static const mzd_local_t K_256_256_38_35 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_35 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x72d3925cf6183051), UINT64_C(0xabcf9ada80bba6f8), UINT64_C(0x840a28dece6ec024), UINT64_C(0xcdd40c6a4d730e03),
UINT64_C(0x6195bfca521b5380), UINT64_C(0xcba9049e262a2104), UINT64_C(0xe81043b24bcfc80b), UINT64_C(0xe0a0f88e1c86b944),
UINT64_C(0xa9aa3bd3176397fc), UINT64_C(0x1ba59ab82c758fb9), UINT64_C(0xebffa608708814c8), UINT64_C(0x849ef20a30f43cd1),
@ -19173,7 +19180,7 @@ static const mzd_local_t K_256_256_38_35 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xcfc615e7f9e41c02), UINT64_C(0x157b3bddd350d819), UINT64_C(0x4f549bc5c330a75e), UINT64_C(0xe5e7722c23f93e11),
}};
static const mzd_local_t K_256_256_38_36 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_36 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xe550077c9ff1caaa), UINT64_C(0x975a694aea5036c9), UINT64_C(0xc9330dd037e7f48f), UINT64_C(0xacbbbee502d388b2),
UINT64_C(0x4ae433c224b068a2), UINT64_C(0xd47c2649a8312921), UINT64_C(0x4adb4929664351ed), UINT64_C(0xf98fd2662dddf09b),
UINT64_C(0xaf39bc1be7dadf81), UINT64_C(0xe0fa1c2a6c7ce69e), UINT64_C(0xb3e1f6ad9bd54a75), UINT64_C(0x99219f44ee646975),
@ -19432,7 +19439,7 @@ static const mzd_local_t K_256_256_38_36 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x6e7971397020d4d2), UINT64_C(0xfbf7b92a30a0faa4), UINT64_C(0x50fb544e08cf41ed), UINT64_C(0x336f08d549389443),
}};
static const mzd_local_t K_256_256_38_37 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_37 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x74a25f6480639686), UINT64_C(0xe538fbc1978f4055), UINT64_C(0x3faf8a1d2add8030), UINT64_C(0x279b79c7ef5e2fff),
UINT64_C(0x99f689a49818e5ed), UINT64_C(0x9525f14d3afe13c8), UINT64_C(0xc167acd22781d8c2), UINT64_C(0xe102df34feb24909),
UINT64_C(0xc73c3e16eb21164f), UINT64_C(0xcb795bcb7c9e7d4d), UINT64_C(0x04685e37ca21ff4c), UINT64_C(0xa4a9e3cecc1ba35e),
@ -19691,7 +19698,7 @@ static const mzd_local_t K_256_256_38_37 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0x25756011a39b3f8b), UINT64_C(0x22d9360f289b855f), UINT64_C(0xc7502bc7c14ab42e), UINT64_C(0x3569f1a7fb64d6bd),
}};
static const mzd_local_t K_256_256_38_38 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t K_256_256_38_38 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xb2c8e55b2070f979), UINT64_C(0xf283524a39737c46), UINT64_C(0x4c07e3acc849d40f), UINT64_C(0x1dbbb431984632d8),
UINT64_C(0xf1d456565bcfc3af), UINT64_C(0x70cb9e0f67268821), UINT64_C(0x1cd6320032143040), UINT64_C(0x5a6e2fcfea60359c),
UINT64_C(0x272bf18103e10039), UINT64_C(0x1d427ab3dc895424), UINT64_C(0x84d5e1a65ec56abd), UINT64_C(0x3c23d2ae84bb7f93),
@ -19951,160 +19958,160 @@ static const mzd_local_t K_256_256_38_38 = { 256, 256, 4, 4, { 0 }, {
}};
#endif
static const mzd_local_t C_256_256_38_0 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_0 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x1b9aa03b391fc5b3), UINT64_C(0x317f22e97ece6a70), UINT64_C(0x3b1efede9f52aec6), UINT64_C(0xb859e57097151099),
}};
static const mzd_local_t C_256_256_38_1 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_1 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xbc40e75240fe9768), UINT64_C(0x290a7477b06bd094), UINT64_C(0xfb00267326d0e54b), UINT64_C(0x6a7de920e6783f77),
}};
static const mzd_local_t C_256_256_38_2 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_2 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x93d378fc9000ba6a), UINT64_C(0x945b827dab9134a0), UINT64_C(0xbae90c646094cd82), UINT64_C(0x9717e94d18eb0d1e),
}};
static const mzd_local_t C_256_256_38_3 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_3 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x662b62f6834e1902), UINT64_C(0xe2df0243ab1a52e9), UINT64_C(0xab61cda664f101be), UINT64_C(0xe5e631cf32c45a11),
}};
static const mzd_local_t C_256_256_38_4 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_4 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xa08ba6e84c50e20c), UINT64_C(0x9878adbbd8e06620), UINT64_C(0xd325364fef815acc), UINT64_C(0xd72771b87ccaf4bd),
}};
static const mzd_local_t C_256_256_38_5 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_5 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xce12bc46d2151b0e), UINT64_C(0xf4c13971a4e5e4d1), UINT64_C(0x9d7cd9abd91ba569), UINT64_C(0xbeeb199c0235d359),
}};
static const mzd_local_t C_256_256_38_6 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_6 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xdb6aedb4d3446775), UINT64_C(0x19bc3d8179318903), UINT64_C(0xbb21fbd60b4ec682), UINT64_C(0x78d8dd1117615d56),
}};
static const mzd_local_t C_256_256_38_7 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_7 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x72697c5ccbee1061), UINT64_C(0xdfbd72494b185860), UINT64_C(0x5c34315fc3b1bf9d), UINT64_C(0x1751848b1d2cfe23),
}};
static const mzd_local_t C_256_256_38_8 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_8 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x2ef0458b002884e2), UINT64_C(0xd02b40e55225e7af), UINT64_C(0xbe92741053f00b15), UINT64_C(0x027bc3351a8bccd1),
}};
static const mzd_local_t C_256_256_38_9 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_9 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xb4d829599eb9a550), UINT64_C(0xa8e0c96b8764b7f4), UINT64_C(0x609da65ae8fad578), UINT64_C(0x9eda84baefc7fdad),
}};
static const mzd_local_t C_256_256_38_10 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_10 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x1bc0268deef2af0e), UINT64_C(0xc8dd5390f1a4f981), UINT64_C(0x80529fb78fe2230b), UINT64_C(0xdab9e022a1780169),
}};
static const mzd_local_t C_256_256_38_11 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_11 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x9f4ef5c2486e13e8), UINT64_C(0x3cafa63ecd4420f9), UINT64_C(0xf9373796f7d7bc0b), UINT64_C(0xfe2aaf4114b0d880),
}};
static const mzd_local_t C_256_256_38_12 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_12 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xc015fc0c3faef14e), UINT64_C(0x9981333d2dccfd8f), UINT64_C(0xd4520264a0804b42), UINT64_C(0xe99e5ca88a7eae4e),
}};
static const mzd_local_t C_256_256_38_13 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_13 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x5366da5c820277c8), UINT64_C(0x8c28e2c69b191998), UINT64_C(0xcce423483ffdbf9d), UINT64_C(0x14a0c980b3ace167),
}};
static const mzd_local_t C_256_256_38_14 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_14 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xfe5709c406173ad4), UINT64_C(0x7bdf32db15963569), UINT64_C(0xe854ba67c9f0ee01), UINT64_C(0x877c0bcc7f0330e3),
}};
static const mzd_local_t C_256_256_38_15 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_15 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x0a304a9a0d2c93a9), UINT64_C(0x30e25094477ee678), UINT64_C(0xfa6668222b1bef74), UINT64_C(0x8497e477cb047d4b),
}};
static const mzd_local_t C_256_256_38_16 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_16 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xcac4e02b819d178d), UINT64_C(0xb468910e8bd48326), UINT64_C(0xd20be626829c874c), UINT64_C(0xbdbb9eec310a7c63),
}};
static const mzd_local_t C_256_256_38_17 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_17 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xe249dd5e95028943), UINT64_C(0x2c9f7da01d253c53), UINT64_C(0xb91142cf39eb550d), UINT64_C(0xd33dba8fdef952b1),
}};
static const mzd_local_t C_256_256_38_18 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_18 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xe68f9ee0b152eb92), UINT64_C(0x77c1744a11eeb6ba), UINT64_C(0x005531df780a2e4a), UINT64_C(0xe487bf8dc388df6f),
}};
static const mzd_local_t C_256_256_38_19 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_19 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x634eff226d94d763), UINT64_C(0xe53cd24379e46efb), UINT64_C(0x22dff9067ade2d1a), UINT64_C(0xc079bf395dc7dd16),
}};
static const mzd_local_t C_256_256_38_20 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_20 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x5eaa0fb1146ec381), UINT64_C(0xa90b0d7c8e06995c), UINT64_C(0x09ff77ab33630ae3), UINT64_C(0x9e1cde55030dd841),
}};
static const mzd_local_t C_256_256_38_21 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_21 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xcc96da78eafc91cf), UINT64_C(0xc812c720fc6363ed), UINT64_C(0x5aba0f79ea0e2011), UINT64_C(0x28dd1a2df6472470),
}};
static const mzd_local_t C_256_256_38_22 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_22 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x42a698a9be1e6c94), UINT64_C(0x266ebb7af2dbe7c9), UINT64_C(0xfc003d64cc6f4747), UINT64_C(0x010dce8ff735d722),
}};
static const mzd_local_t C_256_256_38_23 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_23 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xbf088fb1773dd3eb), UINT64_C(0xddd11efd1a963f73), UINT64_C(0x03ed7ee9cc26e4fc), UINT64_C(0x68f9fb092ab39494),
}};
static const mzd_local_t C_256_256_38_24 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_24 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x5ed84a2cdaa9750c), UINT64_C(0xd07db0af6476dbde), UINT64_C(0x044e10ca97307de6), UINT64_C(0x1a3ae097a90367df),
}};
static const mzd_local_t C_256_256_38_25 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_25 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x12d0f0076232315e), UINT64_C(0xba8586e8e8d49023), UINT64_C(0xa4df76779e176a26), UINT64_C(0x11e0ebe1f9b4656b),
}};
static const mzd_local_t C_256_256_38_26 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_26 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xd0f94fcedbc6e7e0), UINT64_C(0x0aef4db1eda1ca19), UINT64_C(0xf73f4c249c26cd87), UINT64_C(0x46bae123efbda268),
}};
static const mzd_local_t C_256_256_38_27 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_27 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xe83ee49867ba5098), UINT64_C(0x515a7a0166241471), UINT64_C(0xc0f09d1b02f58c2b), UINT64_C(0x39d85bacba7dc1db),
}};
static const mzd_local_t C_256_256_38_28 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_28 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x371430caf54f0ea6), UINT64_C(0x5689eb6e11a81631), UINT64_C(0x5de835629ca1584f), UINT64_C(0x0535cabfb3ff28ca),
}};
static const mzd_local_t C_256_256_38_29 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_29 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xef0f62e083311c2e), UINT64_C(0x750c1cd23ffbde16), UINT64_C(0xb9bc10c824e974d0), UINT64_C(0xef6ba88ac9c0278d),
}};
static const mzd_local_t C_256_256_38_30 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_30 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x32ba36b15029b83d), UINT64_C(0x80266c4961810254), UINT64_C(0xf61bed73337b7575), UINT64_C(0xf5ee8613cf30b114),
}};
static const mzd_local_t C_256_256_38_31 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_31 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x87e4fd1c2afdce0d), UINT64_C(0x225432d8dc0bb846), UINT64_C(0x158207e21b56b8e7), UINT64_C(0xc506004643dfbaff),
}};
static const mzd_local_t C_256_256_38_32 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_32 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x00d5b47b249ee641), UINT64_C(0x9ce5966d2089cd32), UINT64_C(0xe5645ae46c213907), UINT64_C(0x1ffb0517b69df1ba),
}};
static const mzd_local_t C_256_256_38_33 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_33 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xa389ef4e7aa15550), UINT64_C(0x66461a1ea3ea1e23), UINT64_C(0x1247c9f905fd31d0), UINT64_C(0x7073397635ca74e5),
}};
static const mzd_local_t C_256_256_38_34 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_34 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xaecdae71088d9dc7), UINT64_C(0xe20e9e479729ad0d), UINT64_C(0xa950553fe6d7c64b), UINT64_C(0x0902c65590de7e1b),
}};
static const mzd_local_t C_256_256_38_35 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_35 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x4fd6135025582c42), UINT64_C(0x40f6efbfc6903ba4), UINT64_C(0x4bea42489b3788e3), UINT64_C(0xb07e4232b139fe0d),
}};
static const mzd_local_t C_256_256_38_36 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_36 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0xde003a05c7ac1580), UINT64_C(0x659338e74651e2e4), UINT64_C(0xcd2d44db3683c8a5), UINT64_C(0x1ae20fda24fff251),
}};
static const mzd_local_t C_256_256_38_37 = { 1, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t C_256_256_38_37 = { 1, 256, 4, 4, { 0 }, {
UINT64_C(0x48313ca7e2fe392e), UINT64_C(0x28f84164c80159f5), UINT64_C(0xa10f9636f42d47e1), UINT64_C(0x970da1e6f421ad87),
}};
#if defined(REDUCED_LINEAR_LAYER)
static const mzd_local_t precomputed_round_key_matrix_linear_part_256_256_38 = { 256, 256, 4, 4, { 0 }, {
GCC_EXT static const mzd_local_t precomputed_round_key_matrix_linear_part_256_256_38 = { 256, 256, 4, 4, { 0 }, {
UINT64_C(0xfc104fadfd8e1d30), UINT64_C(0x4f792ab4bfd126f1), UINT64_C(0x2e1f9b288edc0fec), UINT64_C(0xee51da9710ed3d32),
UINT64_C(0xe1d5d3bc4539f88f), UINT64_C(0x01dc73f3f9adfddc), UINT64_C(0x180e119999fe6e1d), UINT64_C(0x4e764d8b68a90ff1),
UINT64_C(0x6cf699744c0b7c12), UINT64_C(0xd3f807dcf9763819), UINT64_C(0xa9f86ef26748ac21), UINT64_C(0x67ce7020163d2ce8),
@ -20363,7 +20370,7 @@ static const mzd_local_t precomputed_round_key_matrix_linear_part_256_256_38 = {
UINT64_C(0x6e07332082a3813b), UINT64_C(0xf43c8d076fe58932), UINT64_C(0x0e6d6105f0d87b0a), UINT64_C(0x2f33a43241c08531),
}};
static const mzd_local_t precomputed_round_key_matrix_non_linear_part_256_256_38 = { 256, 1216, 19, 20, { 0 }, {
GCC_EXT static const mzd_local_t precomputed_round_key_matrix_non_linear_part_256_256_38 = { 256, 1216, 19, 20, { 0 }, {
UINT64_C(0x12725a610949e302), UINT64_C(0x0a4d9af73a06ad8f), UINT64_C(0x332cd75e247aec2e), UINT64_C(0x15640c71018f9ca0), UINT64_C(0x35e3600a387e483b), UINT64_C(0x336a1c8517349e74), UINT64_C(0x0eff185f375c6f7c), UINT64_C(0x0f5b119315cdcfc5), UINT64_C(0x3949b84011c32e17), UINT64_C(0x358e2bc63362c4b2), UINT64_C(0x0ebfd6dd2dfc90c2), UINT64_C(0x1d10010f086d27c8), UINT64_C(0x30cd68ed3c01eec9), UINT64_C(0x2b45cb6314863e83), UINT64_C(0x3fe7573e186c2f32), UINT64_C(0x1f5d8a2706181c52), UINT64_C(0x0cae9cef10dc18ff), UINT64_C(0x1fbc372d0c8eecd9), UINT64_C(0x0fd97d8639dc2556), UINT64_C(0x0000000000000000),
UINT64_C(0x1550da27250cf225), UINT64_C(0x00c112d71359e04a), UINT64_C(0x249bfcee35569a2a), UINT64_C(0x184907e9211ced09), UINT64_C(0x12d4f8e122f8a7cf), UINT64_C(0x240e160112bcc48a), UINT64_C(0x0781bba81e11870f), UINT64_C(0x11477a99235e80c9), UINT64_C(0x06720d923e38a13c), UINT64_C(0x1eb3b17b20237f9b), UINT64_C(0x1a3b92cb3ae8ec6d), UINT64_C(0x22fa50993d025c74), UINT64_C(0x027e7211296a3648), UINT64_C(0x3371db3d3896d271), UINT64_C(0x0d94a7541d032f81), UINT64_C(0x0ed231fa1ae2c7b8), UINT64_C(0x1c599ca932c4f4f2), UINT64_C(0x108e7dd720989540), UINT64_C(0x17259dfd0ce741b1), UINT64_C(0x0000000000000000),
UINT64_C(0x1757c6b63b088ad7), UINT64_C(0x040594ff3825aa6d), UINT64_C(0x2f5a1c8d26ff9ff6), UINT64_C(0x01e169f118726582), UINT64_C(0x183448301c5e1f38), UINT64_C(0x3de3fe081284f9e8), UINT64_C(0x146b718019c2741c), UINT64_C(0x070595cc2f83963e), UINT64_C(0x099d43162a258bed), UINT64_C(0x2830d1fa3c82ca8f), UINT64_C(0x3fb56aff00e51ce9), UINT64_C(0x3ac0f60626f093d2), UINT64_C(0x1e0784333539807e), UINT64_C(0x353afc191b7e7a60), UINT64_C(0x3fc0a5c915ba8c56), UINT64_C(0x138ac5520781205e), UINT64_C(0x0317ffd3200c4975), UINT64_C(0x0fa9f7490ee848cd), UINT64_C(0x0014bb8407939086), UINT64_C(0x0000000000000000),

View File

@ -170,7 +170,7 @@ void oqs_sig_picnic_mpc_and_512_neon(uint32x4_t res[SC_PROOF][4], uint32x4_t con
#endif
#if defined(WITH_CUSTOM_INSTANCES)
void mpc_and(mzd_local_t* const* res, mzd_local_t* const* first, mzd_local_t* const* second,
void oqs_sig_picnic_mpc_and(mzd_local_t* const* res, mzd_local_t* const* first, mzd_local_t* const* second,
mzd_local_t* const* r, view_t* view, unsigned viewshift, mzd_local_t* const* buffer) {
mzd_local_t* b = buffer[0];

View File

@ -86,13 +86,13 @@ static void _mpc_sbox_layer_bitsliced(mzd_local_t** out, mzd_local_t* const* in,
sbox_vars_t const* vars) {
bitsliced_step_1(SC_PROOF);
mpc_clear(view->s, SC_PROOF);
oqs_sig_picnic_mpc_clear(view->s, SC_PROOF);
// a & b
mpc_and(vars->r0m, vars->x0s, vars->x1s, vars->r2m, view, 0, vars->v);
oqs_sig_picnic_mpc_and(vars->r0m, vars->x0s, vars->x1s, vars->r2m, view, 0, vars->v);
// b & c
mpc_and(vars->r2m, vars->x1s, vars->x2m, vars->r1s, view, 1, vars->v);
oqs_sig_picnic_mpc_and(vars->r2m, vars->x1s, vars->x2m, vars->r1s, view, 1, vars->v);
// c & a
mpc_and(vars->r1m, vars->x0s, vars->x2m, vars->r0s, view, 2, vars->v);
oqs_sig_picnic_mpc_and(vars->r1m, vars->x0s, vars->x2m, vars->r0s, view, 2, vars->v);
bitsliced_step_2(SC_PROOF);
}
@ -722,7 +722,7 @@ static void _mpc_sbox_layer_bitsliced_verify_512_neon(mzd_local_t** out, mzd_loc
for (unsigned i = 0; i < lowmc->r; ++i, ++views, ++round) { \
R(sbox_selector, shares); \
SBOX(sbox_args, sbox, sbox_selector, y, x, views, r, &lowmc->mask, &vars, lowmc->n, shares); \
mpc_clear(x, shares); \
oqs_sig_picnic_mpc_clear(x, shares); \
MPC_LOOP(const_mat_mul_func, x, y, round->l_##no_scr, shares); \
MPC_IF_ELSE(add_func, x, x, round->constant, shares, ch); \
no_scr_active(const_mat_mul_func, add_func, const_addmat_mul_func, shares); \
@ -787,25 +787,25 @@ static void mpc_lowmc_call(lowmc_t const* lowmc, mpc_lowmc_key_t* lowmc_key, mzd
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced(0, 6, _mpc_sbox_layer_bitsliced, mzd, lookup, noscr, _optimize,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_xor_general, oqs_sig_picnic_mzd_mul_vl_general,
mzd_addmul_vl_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced(0, 6, , uint64, lookup, noscr, _optimize, oqs_sig_picnic_mzd_mul_vl_general,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general, mzd_addmul_vl_general);
oqs_sig_picnic_mzd_xor_general, oqs_sig_picnic_mzd_mul_vl_general, mzd_addmul_vl_general);
}
#else
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced(0, 6, _mpc_sbox_layer_bitsliced, mzd, matrix, scr, _optimize,
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_v_general,
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_xor_general, oqs_sig_picnic_mzd_mul_v_general,
oqs_sig_picnic_mzd_addmul_v_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced(0, 6, , uint64, matrix, scr, _optimize, oqs_sig_picnic_mzd_mul_v_general,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_addmul_v_general);
oqs_sig_picnic_mzd_xor_general, oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_addmul_v_general);
}
#endif
#else
@ -813,22 +813,22 @@ static void mpc_lowmc_call(lowmc_t const* lowmc, mpc_lowmc_key_t* lowmc_key, mzd
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced(0, 6, _mpc_sbox_layer_bitsliced, mzd, lookup, noscr, ,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general, , mzd_addmul_vl_general);
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_xor_general, , mzd_addmul_vl_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced(0, 6, , uint64, lookup, noscr, , oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general,
_mpc_lowmc_call_bitsliced(0, 6, , uint64, lookup, noscr, , oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_xor_general,
, mzd_addmul_vl_general);
}
#else
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced(0, 6, _mpc_sbox_layer_bitsliced, mzd, matrix, scr, ,
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_mul_vl_general, , oqs_sig_picnic_mzd_addmul_v_general);
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_xor_general, , oqs_sig_picnic_mzd_addmul_v_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced(0, 6, , uint64, matrix, scr, , oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_mul_vl_general, ,
_mpc_lowmc_call_bitsliced(0, 6, , uint64, matrix, scr, , oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_xor_general, ,
oqs_sig_picnic_mzd_addmul_v_general);
}
#endif
@ -842,26 +842,26 @@ static void mpc_lowmc_call_verify(lowmc_t const* lowmc, mzd_local_t const* p, vi
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, _mpc_sbox_layer_bitsliced_verify, mzd, lookup, noscr,
_optimize, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general,
_optimize, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_xor_general,
oqs_sig_picnic_mzd_mul_vl_general, mzd_addmul_vl_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, , uint64, lookup, noscr, _optimize,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_xor_general, oqs_sig_picnic_mzd_mul_vl_general,
mzd_addmul_vl_general);
}
#else
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, _mpc_sbox_layer_bitsliced_verify, mzd, matrix, scr,
_optimize, oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_mul_vl_general,
_optimize, oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_xor_general,
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_addmul_v_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, , uint64, matrix, scr, _optimize, oqs_sig_picnic_mzd_mul_v_general,
oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_addmul_v_general);
oqs_sig_picnic_mzd_xor_general, oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_addmul_v_general);
}
#endif
#else
@ -869,24 +869,24 @@ static void mpc_lowmc_call_verify(lowmc_t const* lowmc, mzd_local_t const* p, vi
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, _mpc_sbox_layer_bitsliced_verify, mzd, lookup, noscr,
, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_mul_vl_general, ,
, oqs_sig_picnic_mzd_mul_vl_general, oqs_sig_picnic_mzd_xor_general, ,
mzd_addmul_vl_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, , uint64, lookup, noscr, , oqs_sig_picnic_mzd_mul_vl_general,
oqs_sig_picnic_mzd_mul_vl_general, , mzd_addmul_vl_general);
oqs_sig_picnic_mzd_xor_general, , mzd_addmul_vl_general);
}
#else
#ifdef WITH_CUSTOM_INSTANCES
if (lowmc->m != 10) {
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, _mpc_sbox_layer_bitsliced_verify, mzd, matrix, scr, ,
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_mul_vl_general, , oqs_sig_picnic_mzd_addmul_v_general);
oqs_sig_picnic_mzd_mul_v_general, oqs_sig_picnic_mzd_xor_general, , oqs_sig_picnic_mzd_addmul_v_general);
} else
#endif
{
_mpc_lowmc_call_bitsliced_verify_m(ch, 6, , uint64, matrix, scr, , oqs_sig_picnic_mzd_mul_v_general,
mzd_xor_general, , oqs_sig_picnic_mzd_addmul_v_general);
oqs_sig_picnic_mzd_xor_general, , oqs_sig_picnic_mzd_addmul_v_general);
}
#endif
#endif
@ -1012,14 +1012,14 @@ static void mpc_lowmc_call_verify(lowmc_t const* lowmc, mzd_local_t const* p, vi
#define mpc_lowmc_call_def(N_SIGN, N_VERIFY, SBOX_SIGN, SBOX_VERIFY, MUL, MUL_L, XOR, XOR_L, \
MUL_MC, MUL_MC_L, ADDMUL, ADDMUL_L) \
mpc_lowmc_call_def_gen(N_SIGN, N_VERIFY, SBOX_SIGN, SBOX_VERIFY, MUL, MUL_L, XOR, XOR_L, MUL_MC, \
MUL_MC_L, ADDMUL, ADDMUL_L); \
MUL_MC_L, ADDMUL, ADDMUL_L) \
mpc_lowmc_call_def_10(N_SIGN, N_VERIFY, SBOX_SIGN, SBOX_VERIFY, MUL, MUL_L, XOR, XOR_L, MUL_MC, \
MUL_MC_L, ADDMUL, ADDMUL_L);
MUL_MC_L, ADDMUL, ADDMUL_L)
#else
#define mpc_lowmc_call_def(N_SIGN, N_VERIFY, SBOX_SIGN, SBOX_VERIFY, MUL, MUL_L, XOR, XOR_L, \
MUL_MC, MUL_MC_L, ADDMUL, ADDMUL_L) \
mpc_lowmc_call_def_10(N_SIGN, N_VERIFY, SBOX_SIGN, SBOX_VERIFY, MUL, MUL_L, XOR, XOR_L, MUL_MC, \
MUL_MC_L, ADDMUL, ADDMUL_L);
MUL_MC_L, ADDMUL, ADDMUL_L)
#endif
#ifdef WITH_OPT
@ -1027,59 +1027,59 @@ static void mpc_lowmc_call_verify(lowmc_t const* lowmc, mzd_local_t const* p, vi
mpc_lowmc_call_def(mpc_lowmc_call_128_sse, mpc_lowmc_call_verify_128_sse,
_mpc_sbox_layer_bitsliced_128_sse, _mpc_sbox_layer_bitsliced_verify_128_sse,
oqs_sig_picnic_mzd_mul_v_sse, oqs_sig_picnic_mzd_mul_vl_sse_128, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_mul_v_sse,
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse_128);
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse_128)
mpc_lowmc_call_def(mpc_lowmc_call_256_sse, mpc_lowmc_call_verify_256_sse,
_mpc_sbox_layer_bitsliced_256_sse, _mpc_sbox_layer_bitsliced_verify_256_sse,
oqs_sig_picnic_mzd_mul_v_sse, oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_mul_v_sse,
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse);
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse)
#ifdef WITH_CUSTOM_INSTANCES
mpc_lowmc_call_def(mpc_lowmc_call_384_sse, mpc_lowmc_call_verify_384_sse,
_mpc_sbox_layer_bitsliced_384_sse, _mpc_sbox_layer_bitsliced_verify_384_sse,
oqs_sig_picnic_mzd_mul_v_sse, oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_mul_v_sse,
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse);
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse)
mpc_lowmc_call_def(mpc_lowmc_call_512_sse, mpc_lowmc_call_verify_512_sse,
_mpc_sbox_layer_bitsliced_512_sse, _mpc_sbox_layer_bitsliced_verify_512_sse,
oqs_sig_picnic_mzd_mul_v_sse, oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_xor_sse, oqs_sig_picnic_mzd_mul_v_sse,
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse);
oqs_sig_picnic_mzd_mul_vl_sse, oqs_sig_picnic_mzd_addmul_v_sse, oqs_sig_picnic_mzd_addmul_vl_sse)
#endif
#endif
#ifdef WITH_AVX2
mpc_lowmc_call_def(mpc_lowmc_call_256_avx, mpc_lowmc_call_verify_256_avx,
_mpc_sbox_layer_bitsliced_256_avx, _mpc_sbox_layer_bitsliced_verify_256_avx,
oqs_sig_picnic_mzd_mul_v_avx, oqs_sig_picnic_mzd_mul_vl_avx_256, oqs_sig_picnic_mzd_xor_avx, oqs_sig_picnic_mzd_xor_avx, oqs_sig_picnic_mzd_mul_v_avx,
oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_addmul_v_avx, oqs_sig_picnic_mzd_addmul_vl_avx_256);
oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_addmul_v_avx, oqs_sig_picnic_mzd_addmul_vl_avx_256)
#ifdef WITH_CUSTOM_INSTANCES
mpc_lowmc_call_def(mpc_lowmc_call_384_avx, mpc_lowmc_call_verify_384_avx,
_mpc_sbox_layer_bitsliced_512_avx, _mpc_sbox_layer_bitsliced_verify_512_avx,
oqs_sig_picnic_mzd_mul_v_avx, oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_xor_avx, oqs_sig_picnic_mzd_xor_avx, oqs_sig_picnic_mzd_mul_v_avx,
oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_addmul_v_avx, oqs_sig_picnic_mzd_addmul_vl_avx);
oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_addmul_v_avx, oqs_sig_picnic_mzd_addmul_vl_avx)
mpc_lowmc_call_def(mpc_lowmc_call_512_avx, mpc_lowmc_call_verify_512_avx,
_mpc_sbox_layer_bitsliced_512_avx, _mpc_sbox_layer_bitsliced_verify_512_avx,
oqs_sig_picnic_mzd_mul_v_avx, oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_xor_avx, oqs_sig_picnic_mzd_xor_avx, oqs_sig_picnic_mzd_mul_v_avx,
oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_addmul_v_avx, oqs_sig_picnic_mzd_addmul_vl_avx);
oqs_sig_picnic_mzd_mul_vl_avx, oqs_sig_picnic_mzd_addmul_v_avx, oqs_sig_picnic_mzd_addmul_vl_avx)
#endif
#endif
#ifdef WITH_NEON
mpc_lowmc_call_def(mpc_lowmc_call_128_neon, mpc_lowmc_call_verify_128_neon,
_mpc_sbox_layer_bitsliced_128_neon, _mpc_sbox_layer_bitsliced_verify_128_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_128, oqs_sig_picnic_mzd_xor_neon, oqs_sig_picnic_mzd_xor_neon, oqs_sig_picnic_mzd_mul_v_neon,
oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_addmul_v_neon, oqs_sig_picnic_mzd_addmul_vl_neon_128);
oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_addmul_v_neon, oqs_sig_picnic_mzd_addmul_vl_neon_128)
mpc_lowmc_call_def(mpc_lowmc_call_256_neon, mpc_lowmc_call_verify_256_neon,
_mpc_sbox_layer_bitsliced_256_neon, _mpc_sbox_layer_bitsliced_verify_256_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_xor_neon, oqs_sig_picnic_mzd_xor_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_addmul_v_neon,
oqs_sig_picnic_mzd_addmul_vl_neon);
oqs_sig_picnic_mzd_addmul_vl_neon)
#ifdef WITH_CUSTOM_INSTANCES
mpc_lowmc_call_def(mpc_lowmc_call_384_neon, mpc_lowmc_call_verify_384_neon,
_mpc_sbox_layer_bitsliced_384_neon, _mpc_sbox_layer_bitsliced_verify_384_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_xor_neon, oqs_sig_picnic_mzd_xor_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_addmul_v_neon,
oqs_sig_picnic_mzd_addmul_vl_neon);
oqs_sig_picnic_mzd_addmul_vl_neon)
mpc_lowmc_call_def(mpc_lowmc_call_512_neon, mpc_lowmc_call_verify_512_neon,
_mpc_sbox_layer_bitsliced_512_neon, _mpc_sbox_layer_bitsliced_verify_512_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_xor_neon, oqs_sig_picnic_mzd_xor_neon,
oqs_sig_picnic_mzd_mul_v_neon, oqs_sig_picnic_mzd_mul_vl_neon_multiple_of_128, oqs_sig_picnic_mzd_addmul_v_neon,
oqs_sig_picnic_mzd_addmul_vl_neon);
oqs_sig_picnic_mzd_addmul_vl_neon)
#endif
#endif
#endif

View File

@ -19,7 +19,7 @@
#include "io.h"
#include "lowmc.h"
#include "picnic_impl.h"
#include "randomness.h"
#include <oqs/rand.h>
const picnic_instance_t* picnic_instance_get(picnic_params_t param) {
return oqs_sig_picnic_get_instance(param);
@ -53,7 +53,7 @@ size_t PICNIC_CALLING_CONVENTION picnic_get_public_key_size(picnic_params_t para
}
int PICNIC_CALLING_CONVENTION picnic_keygen(picnic_params_t param, picnic_publickey_t* pk,
picnic_privatekey_t* sk) {
picnic_privatekey_t* sk, OQS_RAND* rand) {
if (!pk || !sk) {
return -1;
@ -74,13 +74,9 @@ int PICNIC_CALLING_CONVENTION picnic_keygen(picnic_params_t param, picnic_public
// generate private key
sk->data[0] = param;
// random secret key
if (!rand_bytes(sk_sk, input_size)) {
return -1;
}
OQS_RAND_n(rand, sk_sk, input_size);
// random plain text
if (!rand_bytes(pk_pt, output_size)) {
return -1;
}
OQS_RAND_n(rand, pk_pt, output_size);
// encrypt plaintext under secret key
if (picnic_sk_to_pk(sk, pk)) {
return -1;

View File

@ -10,6 +10,8 @@
#ifndef PICNIC_H
#define PICNIC_H
#define PICNIC_STATIC /* in OQS */
#if !defined(PICNIC_EXPORT)
#if !defined(PICNIC_STATIC) && (defined(_WIN16) || defined(_WIN32) || defined(_WIN64))
#define PICNIC_EXPORT __declspec(dllimport)
@ -27,6 +29,7 @@
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <oqs/rand.h>
#ifdef __cplusplus
extern "C" {
@ -102,7 +105,7 @@ picnic_get_param_name(picnic_params_t parameters);
*/
PICNIC_EXPORT int PICNIC_CALLING_CONVENTION picnic_keygen(picnic_params_t parameters,
picnic_publickey_t* pk,
picnic_privatekey_t* sk);
picnic_privatekey_t* sk, OQS_RAND* rand);
/**
* Signature function.

View File

@ -21,7 +21,6 @@
#include "mpc_lowmc.h"
#include "picnic_impl.h"
#include "randomness.h"
#include "timing.h"
#include <limits.h>
#include <math.h>
@ -366,8 +365,6 @@ static bool sign_impl(const picnic_instance_t* pp, const uint8_t* private_key,
const lowmc_key_t* lowmc_key, const uint8_t* plaintext, const mzd_local_t* p,
const uint8_t* public_key, const uint8_t* m, size_t m_len, uint8_t* sig,
size_t* siglen) {
TIME_FUNCTION;
const lowmc_t* lowmc = &pp->lowmc;
const lowmc_implementation_f lowmc_impl = pp->lowmc_impl;
const size_t seed_size = pp->seed_size;
@ -396,7 +393,6 @@ static bool sign_impl(const picnic_instance_t* pp, const uint8_t* private_key,
oqs_sig_picnic_mzd_local_init_multiple_ex(in_out_shares[1].s, SC_PROOF, 1, lowmc_n, false);
// Generate seeds
START_TIMING;
{
kdf_shake_t ctx;
kdf_shake_init(&ctx, pp);
@ -413,14 +409,9 @@ static bool sign_impl(const picnic_instance_t* pp, const uint8_t* private_key,
kdf_shake_get_randomness(&ctx, prf->round[0].seeds[0], seed_size * num_rounds * SC_PROOF);
kdf_shake_clear(&ctx);
}
END_TIMING(timing_and_size->sign.rand);
START_TIMING;
mzd_local_t* shared_key[SC_PROOF];
oqs_sig_picnic_mzd_local_init_multiple(shared_key, SC_PROOF, 1, lowmc_k);
END_TIMING(timing_and_size->sign.secret_sharing);
// START_TIMING; TODO: I guess this shouldn't be here
rvec_t* rvec = calloc(sizeof(rvec_t), lowmc_r); // random tapes for and-gates
#if defined(WITH_CUSTOM_INSTANCES)
@ -432,7 +423,6 @@ static bool sign_impl(const picnic_instance_t* pp, const uint8_t* private_key,
#endif
uint8_t* tape_bytes = malloc(view_size);
START_TIMING;
proof_round_t* round = prf->round;
for (unsigned int i = 0; i < num_rounds; ++i, ++round) {
@ -477,9 +467,7 @@ static bool sign_impl(const picnic_instance_t* pp, const uint8_t* private_key,
}
}
}
END_TIMING(timing_and_size->sign.lowmc_enc);
START_TIMING;
fs_H3(pp, prf, public_key, plaintext, m, m_len);
const bool ret = sig_proof_to_char_array(pp, prf, sig, siglen);
@ -503,16 +491,12 @@ static bool sign_impl(const picnic_instance_t* pp, const uint8_t* private_key,
oqs_sig_picnic_mzd_local_free_multiple(in_out_shares[0].s);
proof_free(prf);
END_TIMING(timing_and_size->sign.challenge);
return ret;
}
static bool verify_impl(const picnic_instance_t* pp, const uint8_t* plaintext, mzd_local_t const* p,
const uint8_t* ciphertext, mzd_local_t const* c, const uint8_t* m,
unsigned m_len, const uint8_t* sig, size_t siglen) {
TIME_FUNCTION;
const size_t num_rounds = pp->num_rounds;
const lowmc_t* lowmc = &pp->lowmc;
const transform_t transform = pp->transform;
@ -542,8 +526,6 @@ static bool verify_impl(const picnic_instance_t* pp, const uint8_t* plaintext, m
}
#endif
START_TIMING;
rvec_t* rvec = calloc(sizeof(rvec_t), lowmc_r); // random tapes for and-gates
#if defined(WITH_CUSTOM_INSTANCES)
if (lowmc->m != 10) {
@ -612,7 +594,6 @@ static bool verify_impl(const picnic_instance_t* pp, const uint8_t* plaintext, m
unsigned char challenge[MAX_NUM_ROUNDS] = {0};
fs_H3_verify(pp, prf, ciphertext, plaintext, m, m_len, challenge);
const int success_status = memcmp(challenge, prf->challenge, pp->num_rounds);
END_TIMING(timing_and_size->verify.verify);
// clean up
free(tape_bytes);
@ -1132,8 +1113,6 @@ static transform_t param_to_transform(picnic_params_t param) {
static bool create_instance(picnic_instance_t* pp, picnic_params_t param, uint32_t m, uint32_t n,
uint32_t r, uint32_t k) {
TIME_FUNCTION;
#if defined(WITH_CUSTOM_INSTANCES)
bool known_instance = true;
#endif
@ -1182,7 +1161,6 @@ static bool create_instance(picnic_instance_t* pp, picnic_params_t param, uint32
digest_size = MAX(32, (4 * pq_security_level + 7) / 8);
seed_size = (2 * pq_security_level + 7) / 8;
START_TIMING;
bool have_instance = false;
#if defined(WITH_CUSTOM_INSTANCES)
if (!known_instance) {
@ -1230,8 +1208,6 @@ static bool create_instance(picnic_instance_t* pp, picnic_params_t param, uint32
2 * pp->seed_size + pp->unruh_without_input_bytes_size;
pp->max_signature_size = pp->collapsed_challenge_size + num_rounds * per_round_size;
END_TIMING(timing_and_size->gen.lowmc_init);
return true;
}

View File

@ -326,16 +326,16 @@ static inline void FN_ATTRIBUTES_SSE2_NP mm512_shift_left_sse(__m128i res[4], __
res[2] = _mm_or_si128(res[2], total_carry);
}
apply_region(mm128_xor_region, __m128i, _mm_xor_si128, FN_ATTRIBUTES_SSE2_NP);
apply_region(mm128_xor_region, __m128i, _mm_xor_si128, FN_ATTRIBUTES_SSE2_NP)
apply_mask_region(mm128_xor_mask_region, __m128i, _mm_xor_si128, _mm_and_si128,
FN_ATTRIBUTES_SSE2_NP);
apply_array(mm256_xor_sse, __m128i, _mm_xor_si128, 2, FN_ATTRIBUTES_SSE2_NP);
apply_array(mm256_and_sse, __m128i, _mm_and_si128, 2, FN_ATTRIBUTES_SSE2_NP);
FN_ATTRIBUTES_SSE2_NP)
apply_array(mm256_xor_sse, __m128i, _mm_xor_si128, 2, FN_ATTRIBUTES_SSE2_NP)
apply_array(mm256_and_sse, __m128i, _mm_and_si128, 2, FN_ATTRIBUTES_SSE2_NP)
#ifdef WITH_CUSTOM_INSTANCES
apply_array(mm384_xor_sse, __m128i, _mm_xor_si128, 3, FN_ATTRIBUTES_SSE2_NP);
apply_array(mm384_and_sse, __m128i, _mm_and_si128, 3, FN_ATTRIBUTES_SSE2_NP);
apply_array(mm512_xor_sse, __m128i, _mm_xor_si128, 4, FN_ATTRIBUTES_SSE2_NP);
apply_array(mm512_and_sse, __m128i, _mm_and_si128, 4, FN_ATTRIBUTES_SSE2_NP);
apply_array(mm384_xor_sse, __m128i, _mm_xor_si128, 3, FN_ATTRIBUTES_SSE2_NP)
apply_array(mm384_and_sse, __m128i, _mm_and_si128, 3, FN_ATTRIBUTES_SSE2_NP)
apply_array(mm512_xor_sse, __m128i, _mm_xor_si128, 4, FN_ATTRIBUTES_SSE2_NP)
apply_array(mm512_and_sse, __m128i, _mm_and_si128, 4, FN_ATTRIBUTES_SSE2_NP)
#endif
#endif

View File

@ -1,15 +0,0 @@
/*
* This file is part of the optimized implementation of the Picnic signature scheme.
* See the accompanying documentation for complete details.
*
* The code is provided under the MIT license, see LICENSE for
* more details.
* SPDX-License-Identifier: MIT
*/
#include "timing.h"
#ifdef WITH_DETAILED_TIMING
static timing_and_size_t storage;
timing_and_size_t* timing_and_size = &storage;
#endif

View File

@ -1,75 +0,0 @@
/*
* This file is part of the optimized implementation of the Picnic signature scheme.
* See the accompanying documentation for complete details.
*
* The code is provided under the MIT license, see LICENSE for
* more details.
* SPDX-License-Identifier: MIT
*/
#ifndef TIMING_H
#define TIMING_H
#include <stdint.h>
#include <time.h>
typedef union {
#ifdef WITH_DETAILED_TIMING
struct {
struct {
uint64_t lowmc_init, keygen, pubkey;
} gen;
struct {
uint64_t rand, secret_sharing, lowmc_enc, views, challenge, hash;
} sign;
struct {
uint64_t challenge, output_shares, output_views, verify, hash;
} verify;
uint64_t size;
};
#else
struct {
uint64_t keygen, sign, verify, size, max_size;
};
#endif
uint64_t data[0];
} timing_and_size_t;
#define gettime gettime_clock
#define TIMING_SCALE (1000000 / CLOCKS_PER_SEC);
#ifdef WITH_OPENMP
#include <omp.h>
static inline uint64_t gettime_clock(void) {
return omp_get_wtime() * 1000 * 1000;
}
#else
static inline uint64_t gettime_clock(void) {
return clock() * TIMING_SCALE;
}
#endif
#ifdef WITH_DETAILED_TIMING
extern timing_and_size_t* timing_and_size;
#define TIME_FUNCTION uint64_t start_time
#define START_TIMING start_time = gettime()
#define END_TIMING(dst) dst = gettime() - start_time
#else
#define TIME_FUNCTION \
do { \
} while (0)
#define START_TIMING \
do { \
} while (0)
#define END_TIMING(dst) \
do { \
} while (0)
#endif
#endif

View File

@ -117,7 +117,7 @@ OQS_STATUS OQS_SIG_picnic_keygen(const OQS_SIG *s, uint8_t *priv, uint8_t *pub)
picnic_publickey_t pk;
picnic_privatekey_t sk;
picnic_params_t parameters = ((PICNIC_CTX *) s->ctx)->params;
int ret = picnic_keygen(parameters, &pk, &sk);
int ret = picnic_keygen(parameters, &pk, &sk, s->rand);
if (ret != 0) { // DO NOT modify this return code to OQS_SUCCESS/OQS_ERROR
return OQS_ERROR;
}